|
23722
|
fix(trends): allow vertical scrolling in the fixed fix(trends): allow vertical scrolling in the fixed workspace...
|
57
|
5
|
governance.yml
|
93
|
5
|
0
|
refs/heads/main
|
e47221e4088fcbd22b6581846a9bfc8db5428256
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"3338f1f47fc3a3579811531c9f75120b9bff50f7","after":"e47221e4088fcbd22b6581846a9bfc8db5428256","compare_url":"https://gitea.g-hi.com/luoanwu/image-generation/compare/3338f1f47fc3a3579811531c9f75120b9bff50f7...e47221e4088fcbd22b6581846a9bfc8db5428256","commits":[{"id":"e47221e4088fcbd22b6581846a9bfc8db5428256","message":"fix(trends): allow vertical scrolling in the fixed workspace\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/e47221e4088fcbd22b6581846a9bfc8db5428256","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-08T11:49:34-07:00","added":["docs/governance/log/2026-09-08-industry-trends-scroll.md","reports/industry-trends-scroll-2026-09-08/README.md","reports/industry-trends-scroll-2026-09-08/validation.json"],"removed":[],"modified":["CLAUDE.md","apps/web/src/components/material-factory/factory-shell.module.css","reports/contract-consumers.latest.json","reports/dependency-audit.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/inference-acceptance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/production-acceptance.latest.json","reports/production-security.latest.json","reports/public-file-acceptance.latest.json","reports/public-file-integration.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/script-acceptance.latest.json","reports/sidecar-tests.latest.json","reports/storyboard-director-guard.latest.json","reports/toolchain.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json"]}],"total_commits":0,"head_commit":{"id":"e47221e4088fcbd22b6581846a9bfc8db5428256","message":"fix(trends): allow vertical scrolling in the fixed workspace\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/e47221e4088fcbd22b6581846a9bfc8db5428256","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-08T11:49:34-07:00","added":["docs/governance/log/2026-09-08-industry-trends-scroll.md","reports/industry-trends-scroll-2026-09-08/README.md","reports/industry-trends-scroll-2026-09-08/validation.json"],"removed":[],"modified":["CLAUDE.md","apps/web/src/components/material-factory/factory-shell.module.css","reports/contract-consumers.latest.json","reports/dependency-audit.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/inference-acceptance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/production-acceptance.latest.json","reports/production-security.latest.json","reports/public-file-acceptance.latest.json","reports/public-file-integration.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/script-acceptance.latest.json","reports/sidecar-tests.latest.json","reports/storyboard-director-guard.latest.json","reports/toolchain.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json"]},"repository":{"id":57,"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":"image-generation","full_name":"luoanwu/image-generation","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":674613,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation/languages","html_url":"https://gitea.g-hi.com/luoanwu/image-generation","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/image-generation.git","clone_url":"https://gitea.g-hi.com/luoanwu/image-generation.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":7,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-06T17:04:22+08:00","updated_at":"2026-09-09T02:37: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":true,"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
|
1788893431
|
1788893470
|
0
|
1788893431
|
1788893470
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23508
|
docs(governance): 发布状态快照更新为远端三级门禁第二次全绿(run 3235586 docs(governance): 发布状态快照更新为远端三级门禁第二次全绿(run 32355865911)...
|
76
|
5
|
governance.yml
|
9
|
5
|
0
|
refs/heads/main
|
e4b6a5e4925ba1a7234be9035af63c53fd77b945
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"5e0044558f1104cbbaefb759bd0d70c3a5049418","after":"e4b6a5e4925ba1a7234be9035af63c53fd77b945","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/5e0044558f1104cbbaefb759bd0d70c3a5049418...e4b6a5e4925ba1a7234be9035af63c53fd77b945","commits":[{"id":"e4b6a5e4925ba1a7234be9035af63c53fd77b945","message":"docs(governance): 发布状态快照更新为远端三级门禁第二次全绿(run 32355865911)\n\n5e00445 已对齐 GitHub/Gitea 双远端;static + runtime/UI 两 job 干净 checkout 全绿\n(368 tests 地板硬校验 + 13 Playwright 用例,含技能目录治理与响应式用例)。\nG14 收尾项不变:branch protection / required checks 与受控失败 PR 拦截证据仍缺。\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/e4b6a5e4925ba1a7234be9035af63c53fd77b945","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-20T03:03:03-07:00","added":[],"removed":[],"modified":["CLAUDE.md"]}],"total_commits":0,"head_commit":{"id":"e4b6a5e4925ba1a7234be9035af63c53fd77b945","message":"docs(governance): 发布状态快照更新为远端三级门禁第二次全绿(run 32355865911)\n\n5e00445 已对齐 GitHub/Gitea 双远端;static + runtime/UI 两 job 干净 checkout 全绿\n(368 tests 地板硬校验 + 13 Playwright 用例,含技能目录治理与响应式用例)。\nG14 收尾项不变:branch protection / required checks 与受控失败 PR 拦截证据仍缺。\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/e4b6a5e4925ba1a7234be9035af63c53fd77b945","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-20T03:03:03-07:00","added":[],"removed":[],"modified":["CLAUDE.md"]},"repository":{"id":76,"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":"digital-employee-os","full_name":"luoanwu/digital-employee-os","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1550,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os/languages","html_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/digital-employee-os.git","clone_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-20T14:46:28+08:00","updated_at":"2026-08-20T17:50:02+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"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
|
8
|
1787220188
|
1787220255
|
0
|
1787220188
|
1787220255
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23404
|
feat: initialize SiteScout workspace
|
56
|
5
|
governance.yml
|
1
|
5
|
0
|
refs/heads/main
|
e65fc3036083a4118e0c909bd6a58914e6b33fef
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"0000000000000000000000000000000000000000","after":"e65fc3036083a4118e0c909bd6a58914e6b33fef","compare_url":"https://gitea.g-hi.com/","commits":[{"id":"e65fc3036083a4118e0c909bd6a58914e6b33fef","message":"feat: initialize SiteScout workspace\n","url":"https://gitea.g-hi.com/luoanwu/hidian-site-selection/commit/e65fc3036083a4118e0c909bd6a58914e6b33fef","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-07-06T01:31:18-07:00","added":[".agents/skills/frontend-api-react/SKILL.md",".agents/skills/frontend-view-react/SKILL.md",".agents/skills/frontend-view-react/references/view-templates.md",".agents/skills/fullstack-7layer-react/SKILL.md",".agents/skills/fullstack-7layer-react/references/fullstack-react-templates.md",".agents/skills/zustand-store/SKILL.md",".claude/agents/acceptance-runner.md",".claude/agents/module-blueprint.md",".claude/launch.json",".claude/skills/business-module-intake/SKILL.md",".claude/skills/frontend-api-react/SKILL.md",".claude/skills/frontend-view-react/SKILL.md",".claude/skills/frontend-view-react/references/view-templates.md",".claude/skills/fullstack-7layer-react/SKILL.md",".claude/skills/fullstack-7layer-react/references/fullstack-react-templates.md",".claude/skills/zustand-store/SKILL.md",".github/pull_request_template.md",".github/workflows/governance.yml",".gitignore","AGENTS.md","CLAUDE.md","README.md","apps/api-fastify/.env.example","apps/api-fastify/.gitignore","apps/api-fastify/package.json","apps/api-fastify/pnpm-lock.yaml","apps/api-fastify/prisma/migrations/20260608150500_init/migration.sql","apps/api-fastify/prisma/migrations/20260705000100_add_site_selection/migration.sql","apps/api-fastify/prisma/migrations/migration_lock.toml","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/app.ts","apps/api-fastify/src/lib/orderMachine.ts","apps/api-fastify/src/lib/statemachine.ts","apps/api-fastify/src/modules/orders/orders.service.ts","apps/api-fastify/src/modules/sites/sites.service.ts","apps/api-fastify/src/modules/tenant.ts","apps/api-fastify/src/modules/users/users.service.ts","apps/api-fastify/src/plugins/events.ts","apps/api-fastify/src/plugins/outbox.ts","apps/api-fastify/src/plugins/prisma.ts","apps/api-fastify/src/plugins/queue.ts","apps/api-fastify/src/plugins/redis.ts","apps/api-fastify/src/routes/health.ts","apps/api-fastify/src/routes/jobs.ts","apps/api-fastify/src/routes/orders.ts","apps/api-fastify/src/routes/sites.ts","apps/api-fastify/src/routes/sse.ts","apps/api-fastify/src/routes/users.ts","apps/api-fastify/src/routes/ws.ts","apps/api-fastify/src/server.ts","apps/api-fastify/src/types.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-fastify/test/orders.integration.test.ts","apps/api-fastify/test/realtime.tenant.test.ts","apps/api-fastify/test/sites.integration.test.ts","apps/api-fastify/tsconfig.json","apps/api-fastify/vitest.config.ts","apps/api-nestjs/.env.example","apps/api-nestjs/.gitignore","apps/api-nestjs/docker-compose.yml","apps/api-nestjs/nest-cli.json","apps/api-nestjs/package.json","apps/api-nestjs/pnpm-lock.yaml","apps/api-nestjs/prisma/migrations/20260608150500_init/migration.sql","apps/api-nestjs/prisma/migrations/20260705000100_add_site_selection/migration.sql","apps/api-nestjs/prisma/migrations/migration_lock.toml","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/prisma/seed.ts","apps/api-nestjs/src/app.module.ts","apps/api-nestjs/src/common/envelope.ts","apps/api-nestjs/src/common/tenant.decorator.ts","apps/api-nestjs/src/common/zod-validation.pipe.ts","apps/api-nestjs/src/create-app.ts","apps/api-nestjs/src/events/event-bus.service.ts","apps/api-nestjs/src/events/events.gateway.ts","apps/api-nestjs/src/events/events.module.ts","apps/api-nestjs/src/events/fanout.service.ts","apps/api-nestjs/src/events/outbox-dispatcher.service.ts","apps/api-nestjs/src/health/health.controller.ts","apps/api-nestjs/src/health/health.module.ts","apps/api-nestjs/src/main.ts","apps/api-nestjs/src/orders/orders.controller.ts","apps/api-nestjs/src/orders/orders.module.ts","apps/api-nestjs/src/orders/orders.service.ts","apps/api-nestjs/src/prisma/prisma.module.ts","apps/api-nestjs/src/prisma/prisma.service.ts","apps/api-nestjs/src/queue/jobs.controller.ts","apps/api-nestjs/src/queue/jobs.processor.ts","apps/api-nestjs/src/queue/queue.module.ts","apps/api-nestjs/src/queue/queue.types.ts","apps/api-nestjs/src/redis/redis.module.ts","apps/api-nestjs/src/sites/sites.controller.ts","apps/api-nestjs/src/sites/sites.module.ts","apps/api-nestjs/src/sites/sites.service.ts","apps/api-nestjs/src/sse/sse.controller.ts","apps/api-nestjs/src/sse/sse.module.ts","apps/api-nestjs/src/statemachine/index.ts","apps/api-nestjs/src/statemachine/order.machine.ts","apps/api-nestjs/src/statemachine/statemachine.engine.ts","apps/api-nestjs/src/statemachine/statemachine.types.ts","apps/api-nestjs/src/users/users.controller.ts","apps/api-nestjs/src/users/users.module.ts","apps/api-nestjs/src/users/users.service.ts","apps/api-nestjs/test/http.acceptance.test.ts","apps/api-nestjs/test/orders.integration.test.ts","apps/api-nestjs/test/realtime.tenant.test.ts","apps/api-nestjs/test/sites.integration.test.ts","apps/api-nestjs/tsconfig.build.json","apps/api-nestjs/tsconfig.json","apps/api-nestjs/vitest.config.ts","apps/web/.env.example","apps/web/.gitignore","apps/web/components.json","apps/web/e2e/acceptance.spec.ts","apps/web/eslint.config.mjs","apps/web/next.config.ts","apps/web/package.json","apps/web/playwright.config.ts","apps/web/pnpm-lock.yaml","apps/web/postcss.config.js","apps/web/public/fonts/sitescout/Inter-400-0000-f6cd3edd.woff2","apps/web/public/fonts/sitescout/Inter-400-0100-61bfcdb2.woff2","apps/web/public/fonts/sitescout/Inter-400-0102-d53fe561.woff2","apps/web/public/fonts/sitescout/Inter-400-0301-502cf6f3.woff2","apps/web/public/fonts/sitescout/Inter-400-0370-d3230b38.woff2","apps/web/public/fonts/sitescout/Inter-400-0460-f617bd9e.woff2","apps/web/public/fonts/sitescout/Inter-400-1F00-89268580.woff2","apps/web/public/fonts/sitescout/Inter-500-0000-f6cd3edd.woff2","apps/web/public/fonts/sitescout/Inter-500-0100-61bfcdb2.woff2","apps/web/public/fonts/sitescout/Inter-500-0102-d53fe561.woff2","apps/web/public/fonts/sitescout/Inter-500-0301-502cf6f3.woff2","apps/web/public/fonts/sitescout/Inter-500-0370-d3230b38.woff2","apps/web/public/fonts/sitescout/Inter-500-0460-f617bd9e.woff2","apps/web/public/fonts/sitescout/Inter-500-1F00-89268580.woff2","apps/web/public/fonts/sitescout/Inter-600-0000-f6cd3edd.woff2","apps/web/public/fonts/sitescout/Inter-600-0100-61bfcdb2.woff2","apps/web/public/fonts/sitescout/Inter-600-0102-d53fe561.woff2","apps/web/public/fonts/sitescout/Inter-600-0301-502cf6f3.woff2","apps/web/public/fonts/sitescout/Inter-600-0370-d3230b38.woff2","apps/web/public/fonts/sitescout/Inter-600-0460-f617bd9e.woff2","apps/web/public/fonts/sitescout/Inter-600-1F00-89268580.woff2","apps/web/public/fonts/sitescout/Inter-700-0000-f6cd3edd.woff2","apps/web/public/fonts/sitescout/Inter-700-0100-61bfcdb2.woff2","apps/web/public/fonts/sitescout/Inter-700-0102-d53fe561.woff2","apps/web/public/fonts/sitescout/Inter-700-0301-502cf6f3.woff2","apps/web/public/fonts/sitescout/Inter-700-0370-d3230b38.woff2","apps/web/public/fonts/sitescout/Inter-700-0460-f617bd9e.woff2","apps/web/public/fonts/sitescout/Inter-700-1F00-89268580.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-400-0000-d60a3608.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-400-0100-58d40118.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-400-0102-5731ccc1.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-400-0301-933d4a8c.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-400-0370-7e45a756.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-400-0460-c34028be.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-500-0000-d60a3608.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-500-0100-58d40118.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-500-0102-5731ccc1.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-500-0301-933d4a8c.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-500-0370-7e45a756.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-500-0460-c34028be.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-600-0000-d60a3608.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-600-0100-58d40118.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-600-0102-5731ccc1.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-600-0301-933d4a8c.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-600-0370-7e45a756.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-600-0460-c34028be.woff2","apps/web/src/app/console/page.tsx","apps/web/src/app/globals.css","apps/web/src/app/layout.tsx","apps/web/src/app/page.tsx","apps/web/src/components/EventFeed.tsx","apps/web/src/components/OrdersPanel.tsx","apps/web/src/components/RealtimeBar.tsx","apps/web/src/components/UsersPanel.tsx","apps/web/src/components/sitescout/AcceptanceCenter.tsx","apps/web/src/components/sitescout/CityMap.tsx","apps/web/src/components/sitescout/CompareModal.tsx","apps/web/src/components/sitescout/CompetitorSection.tsx","apps/web/src/components/sitescout/ComplianceSection.tsx","apps/web/src/components/sitescout/ScoreSection.tsx","apps/web/src/components/sitescout/SiteScoutApp.tsx","apps/web/src/components/sitescout/StakeoutSection.tsx","apps/web/src/components/sitescout/TierSection.tsx","apps/web/src/components/sitescout/sitescout.css","apps/web/src/components/ui/badge.tsx","apps/web/src/components/ui/button.tsx","apps/web/src/components/ui/card.tsx","apps/web/src/components/ui/input.tsx","apps/web/src/components/ui/label.tsx","apps/web/src/components/ui/separator.tsx","apps/web/src/hooks/useRealtime.ts","apps/web/src/hooks/useSSE.ts","apps/web/src/hooks/useWebSocket.ts","apps/web/src/lib/api.ts","apps/web/src/lib/providers.tsx","apps/web/src/lib/sitescout-labels.ts","apps/web/src/lib/sitescout-types.ts","apps/web/src/lib/types.ts","apps/web/src/lib/utils.ts","apps/web/src/store/realtime.ts","apps/web/src/store/useAppStore.ts","apps/web/tailwind.config.ts","apps/web/tsconfig.json","docs/README.md","docs/adr/0001-use-typescript-fullstack.md","docs/adr/0002-use-nextjs-app-router.md","docs/adr/0003-use-nestjs-with-fastify-adapter.md","docs/adr/0004-use-postgresql.md","docs/adr/0005-use-prisma.md","docs/adr/0006-realtime-sse-and-websocket.md","docs/adr/0007-use-bullmq-queue.md","docs/adr/0008-monorepo-pnpm-turborepo.md","docs/adr/0009-dual-backend-governance-parity.md","docs/adr/README.md","docs/base-framework-migration.md","docs/domain-glossary.md","docs/domain/owner-matrix.md","docs/domain/site-selection-blueprint.md","docs/standards/api-standard.md","docs/standards/backend-standard.md","docs/standards/database-standard.md","docs/standards/frontend-standard.md","docs/standards/git-standard.md","docs/standards/naming-standard.md","docs/standards/review-standard.md","package.json","packages/config/eslint/base.mjs","packages/config/package.json","packages/config/prettier/index.json","packages/config/tsconfig/base.json","packages/config/tsconfig/nextjs.json","packages/config/tsconfig/node.json","packages/contracts/package.json","packages/contracts/src/contracts.test.ts","packages/contracts/src/index.ts","packages/contracts/src/order.ts","packages/contracts/src/realtime.ts","packages/contracts/src/site-fixtures.ts","packages/contracts/src/site.test.ts","packages/contracts/src/site.ts","packages/contracts/src/statemachine.test.ts","packages/contracts/src/statemachine.ts","packages/contracts/src/tenant.ts","packages/contracts/src/user.ts","packages/contracts/tsconfig.json","pnpm-lock.yaml","pnpm-workspace.yaml","reports/baseline.json","reports/contract-consumers.latest.json","reports/dual-backend-parity.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-contract-consumers.mjs","scripts/check-dual-backend-parity.mjs","scripts/check-governance-docs.mjs","scripts/check-migrations.mjs","scripts/check-naming.mjs","scripts/check-order-concurrency-guard.mjs","scripts/check-runtime-acceptance.mjs","scripts/check-schema-sync.mjs","scripts/check-ui-acceptance.mjs","scripts/check-validation-source.mjs","scripts/governance-report.mjs","tsconfig.base.json","turbo.json"],"removed":[],"modified":[]}],"total_commits":0,"head_commit":{"id":"e65fc3036083a4118e0c909bd6a58914e6b33fef","message":"feat: initialize SiteScout workspace\n","url":"https://gitea.g-hi.com/luoanwu/hidian-site-selection/commit/e65fc3036083a4118e0c909bd6a58914e6b33fef","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-07-06T01:31:18-07:00","added":[".agents/skills/frontend-api-react/SKILL.md",".agents/skills/frontend-view-react/SKILL.md",".agents/skills/frontend-view-react/references/view-templates.md",".agents/skills/fullstack-7layer-react/SKILL.md",".agents/skills/fullstack-7layer-react/references/fullstack-react-templates.md",".agents/skills/zustand-store/SKILL.md",".claude/agents/acceptance-runner.md",".claude/agents/module-blueprint.md",".claude/launch.json",".claude/skills/business-module-intake/SKILL.md",".claude/skills/frontend-api-react/SKILL.md",".claude/skills/frontend-view-react/SKILL.md",".claude/skills/frontend-view-react/references/view-templates.md",".claude/skills/fullstack-7layer-react/SKILL.md",".claude/skills/fullstack-7layer-react/references/fullstack-react-templates.md",".claude/skills/zustand-store/SKILL.md",".github/pull_request_template.md",".github/workflows/governance.yml",".gitignore","AGENTS.md","CLAUDE.md","README.md","apps/api-fastify/.env.example","apps/api-fastify/.gitignore","apps/api-fastify/package.json","apps/api-fastify/pnpm-lock.yaml","apps/api-fastify/prisma/migrations/20260608150500_init/migration.sql","apps/api-fastify/prisma/migrations/20260705000100_add_site_selection/migration.sql","apps/api-fastify/prisma/migrations/migration_lock.toml","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/app.ts","apps/api-fastify/src/lib/orderMachine.ts","apps/api-fastify/src/lib/statemachine.ts","apps/api-fastify/src/modules/orders/orders.service.ts","apps/api-fastify/src/modules/sites/sites.service.ts","apps/api-fastify/src/modules/tenant.ts","apps/api-fastify/src/modules/users/users.service.ts","apps/api-fastify/src/plugins/events.ts","apps/api-fastify/src/plugins/outbox.ts","apps/api-fastify/src/plugins/prisma.ts","apps/api-fastify/src/plugins/queue.ts","apps/api-fastify/src/plugins/redis.ts","apps/api-fastify/src/routes/health.ts","apps/api-fastify/src/routes/jobs.ts","apps/api-fastify/src/routes/orders.ts","apps/api-fastify/src/routes/sites.ts","apps/api-fastify/src/routes/sse.ts","apps/api-fastify/src/routes/users.ts","apps/api-fastify/src/routes/ws.ts","apps/api-fastify/src/server.ts","apps/api-fastify/src/types.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-fastify/test/orders.integration.test.ts","apps/api-fastify/test/realtime.tenant.test.ts","apps/api-fastify/test/sites.integration.test.ts","apps/api-fastify/tsconfig.json","apps/api-fastify/vitest.config.ts","apps/api-nestjs/.env.example","apps/api-nestjs/.gitignore","apps/api-nestjs/docker-compose.yml","apps/api-nestjs/nest-cli.json","apps/api-nestjs/package.json","apps/api-nestjs/pnpm-lock.yaml","apps/api-nestjs/prisma/migrations/20260608150500_init/migration.sql","apps/api-nestjs/prisma/migrations/20260705000100_add_site_selection/migration.sql","apps/api-nestjs/prisma/migrations/migration_lock.toml","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/prisma/seed.ts","apps/api-nestjs/src/app.module.ts","apps/api-nestjs/src/common/envelope.ts","apps/api-nestjs/src/common/tenant.decorator.ts","apps/api-nestjs/src/common/zod-validation.pipe.ts","apps/api-nestjs/src/create-app.ts","apps/api-nestjs/src/events/event-bus.service.ts","apps/api-nestjs/src/events/events.gateway.ts","apps/api-nestjs/src/events/events.module.ts","apps/api-nestjs/src/events/fanout.service.ts","apps/api-nestjs/src/events/outbox-dispatcher.service.ts","apps/api-nestjs/src/health/health.controller.ts","apps/api-nestjs/src/health/health.module.ts","apps/api-nestjs/src/main.ts","apps/api-nestjs/src/orders/orders.controller.ts","apps/api-nestjs/src/orders/orders.module.ts","apps/api-nestjs/src/orders/orders.service.ts","apps/api-nestjs/src/prisma/prisma.module.ts","apps/api-nestjs/src/prisma/prisma.service.ts","apps/api-nestjs/src/queue/jobs.controller.ts","apps/api-nestjs/src/queue/jobs.processor.ts","apps/api-nestjs/src/queue/queue.module.ts","apps/api-nestjs/src/queue/queue.types.ts","apps/api-nestjs/src/redis/redis.module.ts","apps/api-nestjs/src/sites/sites.controller.ts","apps/api-nestjs/src/sites/sites.module.ts","apps/api-nestjs/src/sites/sites.service.ts","apps/api-nestjs/src/sse/sse.controller.ts","apps/api-nestjs/src/sse/sse.module.ts","apps/api-nestjs/src/statemachine/index.ts","apps/api-nestjs/src/statemachine/order.machine.ts","apps/api-nestjs/src/statemachine/statemachine.engine.ts","apps/api-nestjs/src/statemachine/statemachine.types.ts","apps/api-nestjs/src/users/users.controller.ts","apps/api-nestjs/src/users/users.module.ts","apps/api-nestjs/src/users/users.service.ts","apps/api-nestjs/test/http.acceptance.test.ts","apps/api-nestjs/test/orders.integration.test.ts","apps/api-nestjs/test/realtime.tenant.test.ts","apps/api-nestjs/test/sites.integration.test.ts","apps/api-nestjs/tsconfig.build.json","apps/api-nestjs/tsconfig.json","apps/api-nestjs/vitest.config.ts","apps/web/.env.example","apps/web/.gitignore","apps/web/components.json","apps/web/e2e/acceptance.spec.ts","apps/web/eslint.config.mjs","apps/web/next.config.ts","apps/web/package.json","apps/web/playwright.config.ts","apps/web/pnpm-lock.yaml","apps/web/postcss.config.js","apps/web/public/fonts/sitescout/Inter-400-0000-f6cd3edd.woff2","apps/web/public/fonts/sitescout/Inter-400-0100-61bfcdb2.woff2","apps/web/public/fonts/sitescout/Inter-400-0102-d53fe561.woff2","apps/web/public/fonts/sitescout/Inter-400-0301-502cf6f3.woff2","apps/web/public/fonts/sitescout/Inter-400-0370-d3230b38.woff2","apps/web/public/fonts/sitescout/Inter-400-0460-f617bd9e.woff2","apps/web/public/fonts/sitescout/Inter-400-1F00-89268580.woff2","apps/web/public/fonts/sitescout/Inter-500-0000-f6cd3edd.woff2","apps/web/public/fonts/sitescout/Inter-500-0100-61bfcdb2.woff2","apps/web/public/fonts/sitescout/Inter-500-0102-d53fe561.woff2","apps/web/public/fonts/sitescout/Inter-500-0301-502cf6f3.woff2","apps/web/public/fonts/sitescout/Inter-500-0370-d3230b38.woff2","apps/web/public/fonts/sitescout/Inter-500-0460-f617bd9e.woff2","apps/web/public/fonts/sitescout/Inter-500-1F00-89268580.woff2","apps/web/public/fonts/sitescout/Inter-600-0000-f6cd3edd.woff2","apps/web/public/fonts/sitescout/Inter-600-0100-61bfcdb2.woff2","apps/web/public/fonts/sitescout/Inter-600-0102-d53fe561.woff2","apps/web/public/fonts/sitescout/Inter-600-0301-502cf6f3.woff2","apps/web/public/fonts/sitescout/Inter-600-0370-d3230b38.woff2","apps/web/public/fonts/sitescout/Inter-600-0460-f617bd9e.woff2","apps/web/public/fonts/sitescout/Inter-600-1F00-89268580.woff2","apps/web/public/fonts/sitescout/Inter-700-0000-f6cd3edd.woff2","apps/web/public/fonts/sitescout/Inter-700-0100-61bfcdb2.woff2","apps/web/public/fonts/sitescout/Inter-700-0102-d53fe561.woff2","apps/web/public/fonts/sitescout/Inter-700-0301-502cf6f3.woff2","apps/web/public/fonts/sitescout/Inter-700-0370-d3230b38.woff2","apps/web/public/fonts/sitescout/Inter-700-0460-f617bd9e.woff2","apps/web/public/fonts/sitescout/Inter-700-1F00-89268580.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-400-0000-d60a3608.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-400-0100-58d40118.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-400-0102-5731ccc1.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-400-0301-933d4a8c.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-400-0370-7e45a756.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-400-0460-c34028be.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-500-0000-d60a3608.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-500-0100-58d40118.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-500-0102-5731ccc1.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-500-0301-933d4a8c.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-500-0370-7e45a756.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-500-0460-c34028be.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-600-0000-d60a3608.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-600-0100-58d40118.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-600-0102-5731ccc1.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-600-0301-933d4a8c.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-600-0370-7e45a756.woff2","apps/web/public/fonts/sitescout/JetBrainsMono-600-0460-c34028be.woff2","apps/web/src/app/console/page.tsx","apps/web/src/app/globals.css","apps/web/src/app/layout.tsx","apps/web/src/app/page.tsx","apps/web/src/components/EventFeed.tsx","apps/web/src/components/OrdersPanel.tsx","apps/web/src/components/RealtimeBar.tsx","apps/web/src/components/UsersPanel.tsx","apps/web/src/components/sitescout/AcceptanceCenter.tsx","apps/web/src/components/sitescout/CityMap.tsx","apps/web/src/components/sitescout/CompareModal.tsx","apps/web/src/components/sitescout/CompetitorSection.tsx","apps/web/src/components/sitescout/ComplianceSection.tsx","apps/web/src/components/sitescout/ScoreSection.tsx","apps/web/src/components/sitescout/SiteScoutApp.tsx","apps/web/src/components/sitescout/StakeoutSection.tsx","apps/web/src/components/sitescout/TierSection.tsx","apps/web/src/components/sitescout/sitescout.css","apps/web/src/components/ui/badge.tsx","apps/web/src/components/ui/button.tsx","apps/web/src/components/ui/card.tsx","apps/web/src/components/ui/input.tsx","apps/web/src/components/ui/label.tsx","apps/web/src/components/ui/separator.tsx","apps/web/src/hooks/useRealtime.ts","apps/web/src/hooks/useSSE.ts","apps/web/src/hooks/useWebSocket.ts","apps/web/src/lib/api.ts","apps/web/src/lib/providers.tsx","apps/web/src/lib/sitescout-labels.ts","apps/web/src/lib/sitescout-types.ts","apps/web/src/lib/types.ts","apps/web/src/lib/utils.ts","apps/web/src/store/realtime.ts","apps/web/src/store/useAppStore.ts","apps/web/tailwind.config.ts","apps/web/tsconfig.json","docs/README.md","docs/adr/0001-use-typescript-fullstack.md","docs/adr/0002-use-nextjs-app-router.md","docs/adr/0003-use-nestjs-with-fastify-adapter.md","docs/adr/0004-use-postgresql.md","docs/adr/0005-use-prisma.md","docs/adr/0006-realtime-sse-and-websocket.md","docs/adr/0007-use-bullmq-queue.md","docs/adr/0008-monorepo-pnpm-turborepo.md","docs/adr/0009-dual-backend-governance-parity.md","docs/adr/README.md","docs/base-framework-migration.md","docs/domain-glossary.md","docs/domain/owner-matrix.md","docs/domain/site-selection-blueprint.md","docs/standards/api-standard.md","docs/standards/backend-standard.md","docs/standards/database-standard.md","docs/standards/frontend-standard.md","docs/standards/git-standard.md","docs/standards/naming-standard.md","docs/standards/review-standard.md","package.json","packages/config/eslint/base.mjs","packages/config/package.json","packages/config/prettier/index.json","packages/config/tsconfig/base.json","packages/config/tsconfig/nextjs.json","packages/config/tsconfig/node.json","packages/contracts/package.json","packages/contracts/src/contracts.test.ts","packages/contracts/src/index.ts","packages/contracts/src/order.ts","packages/contracts/src/realtime.ts","packages/contracts/src/site-fixtures.ts","packages/contracts/src/site.test.ts","packages/contracts/src/site.ts","packages/contracts/src/statemachine.test.ts","packages/contracts/src/statemachine.ts","packages/contracts/src/tenant.ts","packages/contracts/src/user.ts","packages/contracts/tsconfig.json","pnpm-lock.yaml","pnpm-workspace.yaml","reports/baseline.json","reports/contract-consumers.latest.json","reports/dual-backend-parity.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-contract-consumers.mjs","scripts/check-dual-backend-parity.mjs","scripts/check-governance-docs.mjs","scripts/check-migrations.mjs","scripts/check-naming.mjs","scripts/check-order-concurrency-guard.mjs","scripts/check-runtime-acceptance.mjs","scripts/check-schema-sync.mjs","scripts/check-ui-acceptance.mjs","scripts/check-validation-source.mjs","scripts/governance-report.mjs","tsconfig.base.json","turbo.json"],"removed":[],"modified":[]},"repository":{"id":56,"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":"hidian-site-selection","full_name":"luoanwu/hidian-site-selection","description":"嗨点选址 / SiteScout monorepo","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":27,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/hidian-site-selection/languages","html_url":"https://gitea.g-hi.com/luoanwu/hidian-site-selection","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/hidian-site-selection","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/hidian-site-selection.git","clone_url":"https://gitea.g-hi.com/luoanwu/hidian-site-selection.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-06T16:32:39+08:00","updated_at":"2026-07-06T16:33:03+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"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
|
8
|
1783326795
|
1783326922
|
0
|
1783326783
|
1783326922
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23514
|
feat(studio): connect script storyboard and video feat(studio): connect script storyboard and video workflow...
|
57
|
5
|
governance.yml
|
1
|
5
|
0
|
refs/heads/main
|
e759f5e4509e93cc4968259cc6d6a64bc73c09f1
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"eb6483fa7aadc8d2d4e715274c2519f67005e135","after":"e759f5e4509e93cc4968259cc6d6a64bc73c09f1","compare_url":"https://gitea.g-hi.com/luoanwu/image-generation/compare/eb6483fa7aadc8d2d4e715274c2519f67005e135...e759f5e4509e93cc4968259cc6d6a64bc73c09f1","commits":[{"id":"e759f5e4509e93cc4968259cc6d6a64bc73c09f1","message":"feat(studio): connect script storyboard and video workflow\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/e759f5e4509e93cc4968259cc6d6a64bc73c09f1","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-24T01:26:47-07:00","added":["apps/web/src/components/material-factory/PipelineFlow.tsx","packages/contracts/src/script-to-storyboard.test.ts","packages/contracts/src/script-to-storyboard.ts"],"removed":[],"modified":[".claude/launch.json","CLAUDE.md","apps/api-fastify/src/modules/material-factory/material-factory.service.ts","apps/api-fastify/test/material-inference.acceptance.test.ts","apps/api-nestjs/src/material-factory/material-factory.service.ts","apps/api-nestjs/test/material-inference.acceptance.test.ts","apps/web/src/components/material-factory/BrandHub.tsx","apps/web/src/components/material-factory/CreateStudio.tsx","apps/web/src/components/material-factory/FactoryShell.tsx","apps/web/src/components/material-factory/ScriptStudio.tsx","apps/web/src/components/material-factory/StoryboardStudio.tsx","apps/web/src/components/material-factory/VideoStudio.tsx","apps/web/src/components/material-factory/constants.ts","apps/web/src/components/material-factory/storyboard-director.ts","apps/web/src/store/useFactoryStore.ts","apps/web/tsconfig.json","packages/contracts/src/index.ts","packages/contracts/src/material-brand.test.ts","packages/contracts/src/material.ts","packages/contracts/src/storyboard.test.ts","packages/contracts/src/storyboard.ts","reports/contract-consumers.latest.json","reports/full-transformation-completion-audit.latest.md","reports/governance-docs.latest.json","reports/governance.latest.json","reports/inference-acceptance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/production-acceptance.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/script-acceptance.latest.json","reports/ui-acceptance.desktop.png","reports/ui-acceptance.latest.json","reports/ui-acceptance.mobile.png","reports/ui-acceptance.production.png","reports/validation-source.latest.json","scripts/check-naming.mjs","services/model-sidecar/main.py"]},{"id":"553239d8af8a5f7a56988fa913deaecd5f154121","message":"feat(studio): complete live Bailian production workflow\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/553239d8af8a5f7a56988fa913deaecd5f154121","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-23T19:25:55-07:00","added":["apps/api-fastify/prisma/migrations/20260823220000_script_scenario_modes/migration.sql","apps/api-fastify/prisma/migrations/20260823230000_storyboard_video/migration.sql","apps/api-nestjs/prisma/migrations/20260823220000_script_scenario_modes/migration.sql","apps/api-nestjs/prisma/migrations/20260823230000_storyboard_video/migration.sql","apps/web/src/components/material-factory/VideoStudio.tsx","packages/contracts/src/script-scenario.test.ts","packages/contracts/src/script-sidecar.test.ts","packages/contracts/src/storyboard-video.test.ts"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/modules/material-factory/material-factory.service.ts","apps/api-fastify/src/modules/material-factory/material-sidecar.client.ts","apps/api-fastify/src/modules/material-factory/shooting-script.service.ts","apps/api-fastify/src/routes/material-factory.ts","apps/api-fastify/test/material-inference.acceptance.test.ts","apps/api-fastify/test/material-script.acceptance.test.ts","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/src/material-factory/material-factory.controller.ts","apps/api-nestjs/src/material-factory/material-factory.service.ts","apps/api-nestjs/src/material-factory/shooting-script.service.ts","apps/api-nestjs/test/material-inference.acceptance.test.ts","apps/api-nestjs/test/material-script.acceptance.test.ts","apps/web/src/app/globals.css","apps/web/src/app/layout.tsx","apps/web/src/components/EventFeed.tsx","apps/web/src/components/RealtimeBar.tsx","apps/web/src/components/material-factory/BlockedResolutionPanel.tsx","apps/web/src/components/material-factory/BrandHub.tsx","apps/web/src/components/material-factory/CreateStudio.tsx","apps/web/src/components/material-factory/DeliveryCenter.tsx","apps/web/src/components/material-factory/DemoExportModal.tsx","apps/web/src/components/material-factory/EditStudio.tsx","apps/web/src/components/material-factory/ExportModal.tsx","apps/web/src/components/material-factory/FactoryShell.tsx","apps/web/src/components/material-factory/InpaintStudio.tsx","apps/web/src/components/material-factory/InstanceGallery.tsx","apps/web/src/components/material-factory/LandingGate.tsx","apps/web/src/components/material-factory/MasterCanvas.tsx","apps/web/src/components/material-factory/ModelConnectionsStudio.tsx","apps/web/src/components/material-factory/ModelOperationsDashboard.tsx","apps/web/src/components/material-factory/ProductionDetail.tsx","apps/web/src/components/material-factory/ReviewCenter.tsx","apps/web/src/components/material-factory/RoleConfirmPanel.tsx","apps/web/src/components/material-factory/ScriptStudio.tsx","apps/web/src/components/material-factory/ShotBoard.tsx","apps/web/src/components/material-factory/StillVersionBar.tsx","apps/web/src/components/material-factory/StoryboardStudio.tsx","apps/web/src/components/material-factory/TaskCenter.tsx","apps/web/src/components/material-factory/TemplateStudio.tsx","apps/web/src/components/material-factory/ui.tsx","apps/web/src/lib/api.ts","apps/web/src/lib/types.ts","apps/web/src/store/useFactoryStore.ts","packages/contracts/src/material.ts","packages/contracts/src/production.ts","packages/contracts/src/script.ts","packages/contracts/src/storyboard.ts","reports/baseline.json","reports/contract-consumers.latest.json","reports/full-transformation-completion-audit.latest.md","reports/governance-docs.latest.json","reports/governance.latest.json","reports/inference-acceptance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/production-acceptance.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/script-acceptance.latest.json","reports/ui-acceptance.desktop.png","reports/ui-acceptance.latest.json","reports/ui-acceptance.mobile.png","reports/ui-acceptance.production.png","reports/validation-source.latest.json","scripts/check-inference-acceptance.mjs","scripts/check-script-acceptance.mjs","services/model-sidecar/main.py"]},{"id":"69d9525d1e38cdb9da1db02f2e25411d2bd4b891","message":"feat(models): route image generation through Bailian Wan 2.7 Pro\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/69d9525d1e38cdb9da1db02f2e25411d2bd4b891","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-23T17:25:44-07:00","added":[".github/workflows/governance.yml","docs/domain/module-boundary.md","reports/module-boundary.latest.json","scripts/check-module-boundary.mjs"],"removed":[],"modified":[".github/pull_request_template.md","CLAUDE.md","apps/api-fastify/.env.example","apps/api-fastify/src/modules/material-factory/material-factory.service.ts","apps/api-fastify/src/modules/material-factory/material-sidecar.client.ts","apps/api-fastify/src/modules/material-factory/model-connector.client.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-fastify/test/material-inference.acceptance.test.ts","apps/api-fastify/test/material-script.acceptance.test.ts","apps/api-fastify/test/model-connector.client.test.ts","apps/api-nestjs/.env.example","apps/api-nestjs/src/material-factory/material-factory.service.ts","apps/api-nestjs/src/material-factory/material-sidecar.client.ts","apps/api-nestjs/src/material-factory/model-connector.client.ts","apps/api-nestjs/test/http.acceptance.test.ts","apps/api-nestjs/test/material-inference.acceptance.test.ts","apps/api-nestjs/test/material-production-worker.integration.test.ts","apps/api-nestjs/test/material-script.acceptance.test.ts","apps/api-nestjs/test/model-connector.client.test.ts","apps/web/eslint.config.mjs","apps/web/src/components/material-factory/CreateStudio.tsx","apps/web/src/components/material-factory/ModelConnectionsStudio.tsx","apps/web/src/components/material-factory/ProductionDetail.tsx","deploy/vm/.env.example","deploy/vm/docker-compose.yml","docs/product/controlled-ai-material-factory.md","package.json","packages/contracts/src/material-brand.test.ts","packages/contracts/src/material.test.ts","packages/contracts/src/material.ts","reports/baseline.json","reports/contract-consumers.latest.json","reports/full-transformation-completion-audit.latest.md","reports/governance-docs.latest.json","reports/governance.latest.json","reports/inference-acceptance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/production-acceptance.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/script-acceptance.latest.json","reports/ui-acceptance.latest.json","reports/ui-acceptance.mobile.png","reports/validation-source.latest.json","scripts/check-inference-acceptance.mjs","scripts/check-ui-acceptance.mjs","scripts/governance-report.mjs","services/model-sidecar/README.md","services/model-sidecar/main.py"]},{"id":"1bc728c529ae21297108ec097f939ce72e77c3c5","message":"feat(storyboard): persist immutable project history\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/1bc728c529ae21297108ec097f939ce72e77c3c5","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-23T11:49:04-07:00","added":["apps/api-fastify/prisma/migrations/20260823212000_add_storyboard_version_snapshots/migration.sql","apps/api-nestjs/prisma/migrations/20260823212000_add_storyboard_version_snapshots/migration.sql"],"removed":[],"modified":[".gitignore","CLAUDE.md","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/modules/material-factory/material-factory.service.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/src/material-factory/material-factory.service.ts","apps/api-nestjs/test/http.acceptance.test.ts","apps/web/next.config.ts","apps/web/src/components/material-factory/StoryboardStudio.tsx","apps/web/src/lib/api.ts","apps/web/src/lib/types.ts","reports/contract-consumers.latest.json","reports/full-transformation-completion-audit.latest.md","reports/governance-docs.latest.json","reports/governance.latest.json","reports/inference-acceptance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/production-acceptance.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/script-acceptance.latest.json","reports/ui-acceptance.desktop.png","reports/ui-acceptance.latest.json","reports/ui-acceptance.mobile.png","reports/validation-source.latest.json","scripts/check-ui-acceptance.mjs"]},{"id":"753d41978517db6031c10afef2a9a1897f6f7481","message":"fix(models): restore OCR inference and reject LFS pointers\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/753d41978517db6031c10afef2a9a1897f6f7481","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-23T11:35:43-07:00","added":[],"removed":[],"modified":["CLAUDE.md","models/material-factory/manifest.json","reports/contract-consumers.latest.json","reports/full-transformation-completion-audit.latest.md","reports/governance-docs.latest.json","reports/governance.latest.json","reports/inference-acceptance.latest.json","reports/material-models.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/validation-source.latest.json","scripts/download-material-models.mjs"]}],"total_commits":0,"head_commit":{"id":"e759f5e4509e93cc4968259cc6d6a64bc73c09f1","message":"feat(studio): connect script storyboard and video workflow\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/e759f5e4509e93cc4968259cc6d6a64bc73c09f1","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-24T01:26:47-07:00","added":["apps/web/src/components/material-factory/PipelineFlow.tsx","packages/contracts/src/script-to-storyboard.test.ts","packages/contracts/src/script-to-storyboard.ts"],"removed":[],"modified":[".claude/launch.json","CLAUDE.md","apps/api-fastify/src/modules/material-factory/material-factory.service.ts","apps/api-fastify/test/material-inference.acceptance.test.ts","apps/api-nestjs/src/material-factory/material-factory.service.ts","apps/api-nestjs/test/material-inference.acceptance.test.ts","apps/web/src/components/material-factory/BrandHub.tsx","apps/web/src/components/material-factory/CreateStudio.tsx","apps/web/src/components/material-factory/FactoryShell.tsx","apps/web/src/components/material-factory/ScriptStudio.tsx","apps/web/src/components/material-factory/StoryboardStudio.tsx","apps/web/src/components/material-factory/VideoStudio.tsx","apps/web/src/components/material-factory/constants.ts","apps/web/src/components/material-factory/storyboard-director.ts","apps/web/src/store/useFactoryStore.ts","apps/web/tsconfig.json","packages/contracts/src/index.ts","packages/contracts/src/material-brand.test.ts","packages/contracts/src/material.ts","packages/contracts/src/storyboard.test.ts","packages/contracts/src/storyboard.ts","reports/contract-consumers.latest.json","reports/full-transformation-completion-audit.latest.md","reports/governance-docs.latest.json","reports/governance.latest.json","reports/inference-acceptance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/production-acceptance.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/script-acceptance.latest.json","reports/ui-acceptance.desktop.png","reports/ui-acceptance.latest.json","reports/ui-acceptance.mobile.png","reports/ui-acceptance.production.png","reports/validation-source.latest.json","scripts/check-naming.mjs","services/model-sidecar/main.py"]},"repository":{"id":57,"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":"image-generation","full_name":"luoanwu/image-generation","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":8098,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation/languages","html_url":"https://gitea.g-hi.com/luoanwu/image-generation","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/image-generation.git","clone_url":"https://gitea.g-hi.com/luoanwu/image-generation.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":5,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-06T17:04:22+08:00","updated_at":"2026-08-18T16:58:47+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":true,"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
|
1787560925
|
1787561016
|
0
|
1787560925
|
1787561016
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23426
|
feat: harden voiceprint deployment and profile wor feat: harden voiceprint deployment and profile workflow...
|
62
|
5
|
governance.yml
|
3
|
5
|
0
|
refs/heads/main
|
e795edf9d8130692c02ac8d6083ddbd41edcdc0c
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"64bd1beaac8e1a4c1063707c3d0bbf5f7e466c76","after":"e795edf9d8130692c02ac8d6083ddbd41edcdc0c","compare_url":"https://gitea.g-hi.com/luoanwu/voiceprint-recognition/compare/64bd1beaac8e1a4c1063707c3d0bbf5f7e466c76...e795edf9d8130692c02ac8d6083ddbd41edcdc0c","commits":[{"id":"e795edf9d8130692c02ac8d6083ddbd41edcdc0c","message":"feat: harden voiceprint deployment and profile workflow\n","url":"https://gitea.g-hi.com/luoanwu/voiceprint-recognition/commit/e795edf9d8130692c02ac8d6083ddbd41edcdc0c","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-07-14T20:24:11-07:00","added":["apps/api-fastify/src/lib/redis-connection.ts","apps/api-fastify/test/redis-connection.test.ts","apps/web/src/components/voiceprint/VoiceProfileCard.tsx","deploy/vm/Dockerfile.sidecar","deploy/vm/requirements-sidecar.txt","scripts/voiceprint-sidecar-ui-stub.mjs"],"removed":[],"modified":["CLAUDE.md","README.md","apps/api-fastify/src/modules/voiceprint/sidecar-client.ts","apps/api-fastify/src/plugins/queue.ts","apps/api-fastify/src/plugins/voiceprint.ts","apps/api-fastify/src/routes/health.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-fastify/test/voiceprint.acceptance.test.ts","apps/api-nestjs/src/health/health.controller.ts","apps/api-nestjs/src/health/health.module.ts","apps/api-nestjs/src/voiceprint/sidecar.client.ts","apps/api-nestjs/src/voiceprint/voiceprint.controller.ts","apps/api-nestjs/src/voiceprint/voiceprint.module.ts","apps/api-nestjs/src/voiceprint/voiceprint.processor.ts","apps/api-nestjs/test/http.acceptance.test.ts","apps/api-nestjs/test/voiceprint.acceptance.test.ts","apps/web/e2e/acceptance.spec.ts","apps/web/src/components/voiceprint/AudioPicker.tsx","apps/web/src/components/voiceprint/EnrollPanel.tsx","apps/web/src/components/voiceprint/IdentifyPanel.tsx","apps/web/src/components/voiceprint/SpeakersPanel.tsx","deploy/vm/compose.yaml","deploy/vm/systemd/voiceprint-compose.service","docs/deployment-vm.md","docs/domain/voiceprint-blueprint.md","docs/karaoke-singer-personalized-dsp-system-design.md","docs/product-prd.md","packages/contracts/src/index.ts","packages/contracts/src/voiceprint.test.ts","packages/contracts/src/voiceprint.ts","reports/baseline.json","reports/contract-consumers.latest.json","reports/dual-backend-parity.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","reports/voiceprint-real-acceptance.latest.json","scripts/check-ui-acceptance.mjs","scripts/deploy-vm.sh","scripts/vm-status.sh","src/speaker_embedding/sidecar.py","src/speaker_embedding/speaker_db.py","tests/test_sidecar.py","tests/test_speaker_db.py"]}],"total_commits":0,"head_commit":{"id":"e795edf9d8130692c02ac8d6083ddbd41edcdc0c","message":"feat: harden voiceprint deployment and profile workflow\n","url":"https://gitea.g-hi.com/luoanwu/voiceprint-recognition/commit/e795edf9d8130692c02ac8d6083ddbd41edcdc0c","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-07-14T20:24:11-07:00","added":["apps/api-fastify/src/lib/redis-connection.ts","apps/api-fastify/test/redis-connection.test.ts","apps/web/src/components/voiceprint/VoiceProfileCard.tsx","deploy/vm/Dockerfile.sidecar","deploy/vm/requirements-sidecar.txt","scripts/voiceprint-sidecar-ui-stub.mjs"],"removed":[],"modified":["CLAUDE.md","README.md","apps/api-fastify/src/modules/voiceprint/sidecar-client.ts","apps/api-fastify/src/plugins/queue.ts","apps/api-fastify/src/plugins/voiceprint.ts","apps/api-fastify/src/routes/health.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-fastify/test/voiceprint.acceptance.test.ts","apps/api-nestjs/src/health/health.controller.ts","apps/api-nestjs/src/health/health.module.ts","apps/api-nestjs/src/voiceprint/sidecar.client.ts","apps/api-nestjs/src/voiceprint/voiceprint.controller.ts","apps/api-nestjs/src/voiceprint/voiceprint.module.ts","apps/api-nestjs/src/voiceprint/voiceprint.processor.ts","apps/api-nestjs/test/http.acceptance.test.ts","apps/api-nestjs/test/voiceprint.acceptance.test.ts","apps/web/e2e/acceptance.spec.ts","apps/web/src/components/voiceprint/AudioPicker.tsx","apps/web/src/components/voiceprint/EnrollPanel.tsx","apps/web/src/components/voiceprint/IdentifyPanel.tsx","apps/web/src/components/voiceprint/SpeakersPanel.tsx","deploy/vm/compose.yaml","deploy/vm/systemd/voiceprint-compose.service","docs/deployment-vm.md","docs/domain/voiceprint-blueprint.md","docs/karaoke-singer-personalized-dsp-system-design.md","docs/product-prd.md","packages/contracts/src/index.ts","packages/contracts/src/voiceprint.test.ts","packages/contracts/src/voiceprint.ts","reports/baseline.json","reports/contract-consumers.latest.json","reports/dual-backend-parity.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","reports/voiceprint-real-acceptance.latest.json","scripts/check-ui-acceptance.mjs","scripts/deploy-vm.sh","scripts/vm-status.sh","src/speaker_embedding/sidecar.py","src/speaker_embedding/speaker_db.py","tests/test_sidecar.py","tests/test_speaker_db.py"]},"repository":{"id":62,"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":"voiceprint-recognition","full_name":"luoanwu/voiceprint-recognition","description":"ECAPA+WavLM 声纹注册识别、1:N ANN 检索与声音特征画像平台","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":747,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/voiceprint-recognition/languages","html_url":"https://gitea.g-hi.com/luoanwu/voiceprint-recognition","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/voiceprint-recognition","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/voiceprint-recognition.git","clone_url":"https://gitea.g-hi.com/luoanwu/voiceprint-recognition.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-15T08:42:42+08:00","updated_at":"2026-07-15T09:11: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":true,"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
|
8
|
1784085875
|
1784085931
|
0
|
1784085873
|
1784085931
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23688
|
Merge branch 'main' into audit/grill-accep Merge branch 'main' into audit/grill-acceptance-20260908...
|
57
|
5
|
governance.yml
|
59
|
5
|
0
|
refs/heads/main
|
e831a73b46891ca7b86a44fa67605510f9272232
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"c29d59318105847c5b0f0792d78bdb44ed012814","after":"e831a73b46891ca7b86a44fa67605510f9272232","compare_url":"https://gitea.g-hi.com/luoanwu/image-generation/compare/c29d59318105847c5b0f0792d78bdb44ed012814...e831a73b46891ca7b86a44fa67605510f9272232","commits":[{"id":"e831a73b46891ca7b86a44fa67605510f9272232","message":"Merge branch 'main' into audit/grill-acceptance-20260908\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/e831a73b46891ca7b86a44fa67605510f9272232","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-08T07:37:15-07:00","added":["docs/releases/2026-09-08-r39.md"],"removed":[],"modified":["CLAUDE.md","docs/governance/log/2026-09-08-production-access-pagination.md","docs/releases/current.md"]},{"id":"a0c7a9c45cf62adb3ec35695c4156709c2dc8ac3","message":"fix(acceptance): prevent repeated paid submissions and classify brand conflicts\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/a0c7a9c45cf62adb3ec35695c4156709c2dc8ac3","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-08T07:37:15-07:00","added":["docs/governance/log/2026-09-08-grill-acceptance.md","reports/grill-acceptance-2026-09-08/README.md","reports/grill-acceptance-2026-09-08/verification.json","services/model-sidecar/test_hosted_submission.py"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/src/modules/creative-project/creative-project.service.ts","apps/api-fastify/src/modules/material-factory/material-factory.service.ts","apps/api-fastify/test/brand-profile-concurrency.integration.test.ts","apps/api-fastify/test/creative-project.integration.test.ts","apps/api-nestjs/src/creative-project/creative-project.service.ts","apps/api-nestjs/src/material-factory/material-factory.service.ts","apps/api-nestjs/test/brand-profile-concurrency.integration.test.ts","apps/api-nestjs/test/creative-project.integration.test.ts","reports/contract-consumers.latest.json","reports/dependency-audit.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/inference-acceptance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/production-acceptance.latest.json","reports/production-security.latest.json","reports/public-file-acceptance.latest.json","reports/public-file-integration.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/script-acceptance.latest.json","reports/sidecar-tests.latest.json","reports/storyboard-director-guard.latest.json","reports/toolchain.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","services/model-sidecar/main.py","services/model-sidecar/test_async_recovery.py"]}],"total_commits":0,"head_commit":{"id":"e831a73b46891ca7b86a44fa67605510f9272232","message":"Merge branch 'main' into audit/grill-acceptance-20260908\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/e831a73b46891ca7b86a44fa67605510f9272232","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-08T07:37:15-07:00","added":["docs/releases/2026-09-08-r39.md"],"removed":[],"modified":["CLAUDE.md","docs/governance/log/2026-09-08-production-access-pagination.md","docs/releases/current.md"]},"repository":{"id":57,"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":"image-generation","full_name":"luoanwu/image-generation","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":636709,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation/languages","html_url":"https://gitea.g-hi.com/luoanwu/image-generation","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/image-generation.git","clone_url":"https://gitea.g-hi.com/luoanwu/image-generation.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":5,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-06T17:04:22+08:00","updated_at":"2026-09-08T22:19:15+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":true,"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
|
1788878306
|
1788878336
|
0
|
1788878304
|
1788878336
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23750
|
docs(video): record timeline4 release evidence and docs(video): record timeline4 release evidence and remaining platform scope...
|
57
|
5
|
governance.yml
|
121
|
5
|
0
|
refs/heads/main
|
e8c059aa0cf828e4922ec7fd58429272e2e93719
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"70fcc5c3d059656592fb2f434163184c84a4f5ea","after":"e8c059aa0cf828e4922ec7fd58429272e2e93719","compare_url":"https://gitea.g-hi.com/luoanwu/image-generation/compare/70fcc5c3d059656592fb2f434163184c84a4f5ea...e8c059aa0cf828e4922ec7fd58429272e2e93719","commits":[{"id":"e8c059aa0cf828e4922ec7fd58429272e2e93719","message":"docs(video): record timeline4 release evidence and remaining platform scope\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/e8c059aa0cf828e4922ec7fd58429272e2e93719","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-08T18:55:57-07:00","added":["docs/releases/2026-09-08-timeline4.md","reports/video-range-preview-2026-09-08/backup-verification.json","reports/video-range-preview-2026-09-08/build-interruption.json","reports/video-range-preview-2026-09-08/deployed-verify.json","reports/video-range-preview-2026-09-08/deployment.json","reports/video-range-preview-2026-09-08/live-browser-verification.json","reports/video-range-preview-2026-09-08/post-deployment-smoke.json"],"removed":[],"modified":["docs/governance/log/2026-09-08-video-range-preview.md","docs/product/pro-video-platform-progress.md","docs/releases/current.md","reports/video-range-preview-2026-09-08/README.md","reports/video-range-preview-2026-09-08/validation.json"]}],"total_commits":0,"head_commit":{"id":"e8c059aa0cf828e4922ec7fd58429272e2e93719","message":"docs(video): record timeline4 release evidence and remaining platform scope\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/e8c059aa0cf828e4922ec7fd58429272e2e93719","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-08T18:55:57-07:00","added":["docs/releases/2026-09-08-timeline4.md","reports/video-range-preview-2026-09-08/backup-verification.json","reports/video-range-preview-2026-09-08/build-interruption.json","reports/video-range-preview-2026-09-08/deployed-verify.json","reports/video-range-preview-2026-09-08/deployment.json","reports/video-range-preview-2026-09-08/live-browser-verification.json","reports/video-range-preview-2026-09-08/post-deployment-smoke.json"],"removed":[],"modified":["docs/governance/log/2026-09-08-video-range-preview.md","docs/product/pro-video-platform-progress.md","docs/releases/current.md","reports/video-range-preview-2026-09-08/README.md","reports/video-range-preview-2026-09-08/validation.json"]},"repository":{"id":57,"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":"image-generation","full_name":"luoanwu/image-generation","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":748306,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation/languages","html_url":"https://gitea.g-hi.com/luoanwu/image-generation","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/image-generation.git","clone_url":"https://gitea.g-hi.com/luoanwu/image-generation.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":7,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-06T17:04:22+08:00","updated_at":"2026-09-09T09:47:43+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"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
|
1788918963
|
1788919004
|
0
|
1788918962
|
1788919004
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23832
|
chore(reports): refresh clean static evidence @ b1 chore(reports): refresh clean static evidence @ b1f2d1c...
|
54
|
5
|
governance.yml
|
34
|
5
|
0
|
refs/heads/main
|
e8d262220de86b35614cdeb27802673a82930ffa
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"ab054bc1433dbfb7a9834ac77c7e0eba0e81cabc","after":"e8d262220de86b35614cdeb27802673a82930ffa","compare_url":"https://gitea.g-hi.com/luoanwu/base-framework/compare/ab054bc1433dbfb7a9834ac77c7e0eba0e81cabc...e8d262220de86b35614cdeb27802673a82930ffa","commits":[{"id":"e8d262220de86b35614cdeb27802673a82930ffa","message":"chore(reports): refresh clean static evidence @ b1f2d1c\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/base-framework/commit/e8d262220de86b35614cdeb27802673a82930ffa","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-10T06:38:07-07:00","added":[],"removed":[],"modified":["reports/agent-adapters.latest.json","reports/conformance-matrix.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-rules.latest.json","reports/governance-status.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},{"id":"b1f2d1cf6c4651611763dd9e4a11045bf9a6478c","message":"docs: record clean commit acceptance @ 36bd170(v0.16.0 @juhai/kernel 拆包:runtime 288 / 差分 10×2 / tenantRlsEnforced=1;UI 4×11)\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/base-framework/commit/b1f2d1cf6c4651611763dd9e4a11045bf9a6478c","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-10T06:37:21-07:00","added":[],"removed":[],"modified":["CLAUDE.md","reports/conformance-differential.latest.json","reports/runtime-acceptance.latest.json","reports/ui-acceptance.latest.json"]},{"id":"36bd170ad4ddc011d55f87a90e880fc053e205b0","message":"feat(kernel): 内核成为独立可发布包 @juhai/kernel,源码留框架仓(0.16.0)\n\n- packages/kernel(@juhai/kernel):15 个内核模块与单测自 packages/contracts/src 整体移入;只依赖 zod;版本随框架;\n files=[dist]、sideEffects:false、publishConfig 指向 Gitea luoanwu npm registry;.npmrc 配 @juhai 作用域\n- @repo/contracts 依赖 @juhai/kernel 并只转发(kernel.ts = export * from);根入口/子路径与应用 import 不变;order.ts 改从内核取 MachineDefinition\n- contracts 单测拆分:内核契约单测随模块入内核包,contracts 留 layering.test.ts(F10)与 order.test.ts\n- F10 改校验内核包(不 import 示例域/@repo/contracts、不内嵌域事件字面量、contracts kernel.ts 只转发);F11 新增内核包形状断言\n- 差分与 UI runner 经 turbo 按依赖序构建内核→contracts;contract-consumers job 断言指向 packages/kernel;docs 路径同步\n- framework:pack 双制品(juhai-kernel / repo-contracts)、framework:publish;CHANGELOG/COMPATIBILITY 0.16.0;pnpm-lock 更新\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/base-framework/commit/36bd170ad4ddc011d55f87a90e880fc053e205b0","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-10T06:34:14-07:00","added":[".npmrc","packages/contracts/src/layering.test.ts","packages/kernel/package.json","packages/kernel/src/alert.test.ts","packages/kernel/src/alert.ts","packages/kernel/src/api-error.ts","packages/kernel/src/health.ts","packages/kernel/src/index.ts","packages/kernel/src/job.test.ts","packages/kernel/src/job.ts","packages/kernel/src/kernel-contracts.test.ts","packages/kernel/src/platform-ports.test.ts","packages/kernel/src/platform-ports.ts","packages/kernel/src/realtime-command.test.ts","packages/kernel/src/realtime-command.ts","packages/kernel/src/realtime-stats.ts","packages/kernel/src/realtime.ts","packages/kernel/src/replay-buffer.test.ts","packages/kernel/src/replay-buffer.ts","packages/kernel/src/replay.test.ts","packages/kernel/src/replay.ts","packages/kernel/src/request-context.test.ts","packages/kernel/src/request-context.ts","packages/kernel/src/statemachine.test.ts","packages/kernel/src/statemachine.ts","packages/kernel/src/subscription.test.ts","packages/kernel/src/subscription.ts","packages/kernel/src/tenant-rls.test.ts","packages/kernel/src/tenant-rls.ts","packages/kernel/src/tenant.ts","packages/kernel/tsconfig.json"],"removed":["packages/contracts/src/alert.test.ts","packages/contracts/src/alert.ts","packages/contracts/src/api-error.ts","packages/contracts/src/contracts.test.ts","packages/contracts/src/health.ts","packages/contracts/src/job.test.ts","packages/contracts/src/job.ts","packages/contracts/src/platform-ports.test.ts","packages/contracts/src/platform-ports.ts","packages/contracts/src/realtime-command.test.ts","packages/contracts/src/realtime-command.ts","packages/contracts/src/realtime-stats.ts","packages/contracts/src/realtime.ts","packages/contracts/src/replay-buffer.test.ts","packages/contracts/src/replay-buffer.ts","packages/contracts/src/replay.test.ts","packages/contracts/src/replay.ts","packages/contracts/src/request-context.test.ts","packages/contracts/src/request-context.ts","packages/contracts/src/statemachine.test.ts","packages/contracts/src/statemachine.ts","packages/contracts/src/subscription.test.ts","packages/contracts/src/subscription.ts","packages/contracts/src/tenant-rls.test.ts","packages/contracts/src/tenant-rls.ts","packages/contracts/src/tenant.ts"],"modified":["CHANGELOG.md","CLAUDE.md","COMPATIBILITY.md","README.md","docs/README.md","docs/standards/api-standard.md","docs/standards/review-standard.md","docs/tenant-rls.md","package.json","packages/contracts/package.json","packages/contracts/src/index.ts","packages/contracts/src/kernel.ts","packages/contracts/src/order.ts","pnpm-lock.yaml","scripts/check-conformance-differential.mjs","scripts/check-contract-consumers.mjs","scripts/check-fork-readiness.mjs","scripts/check-ui-acceptance.mjs"]}],"total_commits":0,"head_commit":{"id":"e8d262220de86b35614cdeb27802673a82930ffa","message":"chore(reports): refresh clean static evidence @ b1f2d1c\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/base-framework/commit/e8d262220de86b35614cdeb27802673a82930ffa","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-10T06:38:07-07:00","added":[],"removed":[],"modified":["reports/agent-adapters.latest.json","reports/conformance-matrix.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-rules.latest.json","reports/governance-status.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},"repository":{"id":54,"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":"base-framework","full_name":"luoanwu/base-framework","description":"基础框架 monorepo","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":4737,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/base-framework/languages","html_url":"https://gitea.g-hi.com/luoanwu/base-framework","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/base-framework","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/base-framework.git","clone_url":"https://gitea.g-hi.com/luoanwu/base-framework.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-03T12:24:18+08:00","updated_at":"2026-09-10T19:09:15+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":true,"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
|
10
|
1789047500
|
1789047591
|
0
|
1789047498
|
1789048636
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
...
|
governance-governance.yml-refs/heads/main
|
0
|
Edit
Delete
|
|
23225
|
Merge remote-tracking branch 'origin/main' Merge remote-tracking branch 'origin/main' into claude/bold-raman-0239cc...
|
6
|
5
|
migration-safety.yml
|
23143
|
5
|
0
|
refs/heads/claude/bold-raman-0239cc
|
e8e3ea6b39e0d7d48f888052ef823f11e2327271
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/claude/bold-raman-0 {"ref":"refs/heads/claude/bold-raman-0239cc","before":"230f7616b5f0876ecd095ffd76c841876a8381ce","after":"e8e3ea6b39e0d7d48f888052ef823f11e2327271","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/230f7616b5f0876ecd095ffd76c841876a8381ce...e8e3ea6b39e0d7d48f888052ef823f11e2327271","commits":[{"id":"e8e3ea6b39e0d7d48f888052ef823f11e2327271","message":"Merge remote-tracking branch 'origin/main' into claude/bold-raman-0239cc\n\n# Conflicts:\n#\tfrontend/src/api/modules/course-marketplace.ts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e8e3ea6b39e0d7d48f888052ef823f11e2327271","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-15T06:23:04-07:00","added":["backend/prisma/migrations/20260525010000_add_predictive_analytics_models/migration.sql","e2e/.auth/backups/admin.finance-20260514T201242.json","e2e/.auth/backups/admin.finance-active-20260514T201242.json","e2e/playwright-report/data/00e381d1cb05fdf78e491b2aa1a73cf04f1ec164.json","e2e/playwright-report/data/061cf6904e321f7ae3c113cadbebbd6fd8a871a6.json","e2e/playwright-report/data/08232f62a9085d16a1613ba4c7e26315a40c7b88.json","e2e/playwright-report/data/0f2a6df6d50aa2eae86cf78fa0b9220643c81b91.json","e2e/playwright-report/data/0f9aec4029742041ac66011410f193339c445980.json","e2e/playwright-report/data/11ccab352e3bf269e50f6c02d273f76ee080b92a.json","e2e/playwright-report/data/13447a4dcba39b8b4dfcba9ca31bb2a1af0e432b.json","e2e/playwright-report/data/17e41f41aca98c96f274b0c109da7839d2b2cdd4.json","e2e/playwright-report/data/197860e14c9cc8eb33803d507832834ef63734eb.json","e2e/playwright-report/data/1c0b59810a3381535b6c0d7c4521be827302de6a.json","e2e/playwright-report/data/1e40a45d51c7bcbc84fede6fd89f1abec8347015.json","e2e/playwright-report/data/21d0d2e6791bd3ec0cdf861a4ebe11219530c7a0.json","e2e/playwright-report/data/22399dc887e7368bf398fa360d07e0455715af3c.json","e2e/playwright-report/data/26bbfdfd3545b2447af491d526e6f0d577152097.json","e2e/playwright-report/data/28647c54bac4fd2b7e92a5014c37bf2ebd8a106f.json","e2e/playwright-report/data/28cff9f50fa8ab8fc044d88af9557b4fe002be87.json","e2e/playwright-report/data/28fab73ae4f92e5218f7176647bb756d883db2b4.json","e2e/playwright-report/data/2df0cc801d205b47615d756d6da2a7311b60e1f8.json","e2e/playwright-report/data/2eebca5e935ebd809361b84b37b8bae67e4345ca.json","e2e/playwright-report/data/30403331f26cab9078cf6aa95eba21a055cfe472.json","e2e/playwright-report/data/307f2420a69888bb5b1c4c21fd329a70b46824d8.json","e2e/playwright-report/data/318816dc8ec2fdb25104653c96d4c3dc7657b297.json","e2e/playwright-report/data/31ec607a73a68e1f5601d26bc13ea11874fb5ce3.json","e2e/playwright-report/data/33f6412f2dbf6a90a0361edb401556546bbcfd23.json","e2e/playwright-report/data/35eb8b93d60f4d77b85b28ae26d386ed5c883622.json","e2e/playwright-report/data/37e36df5e5cb10655abf7901e6051c686b482b0f.json","e2e/playwright-report/data/3d6628857b08951df18550fb3eb12dba343338b0.json","e2e/playwright-report/data/4369b3a37802d8cfad8e930d8bd53f642a59b5c7.json","e2e/playwright-report/data/4745edf5567704fe0521fc20d31266aa79e83e87.json","e2e/playwright-report/data/555c0354a7d75b622f4e8c57fb12b7d9821c7df7.json","e2e/playwright-report/data/556b911a43bb0959963a6559ebbda6848f9f5fd2.json","e2e/playwright-report/data/58c416fcb4ffd9e5211cd2040bee91d75f2d3863.json","e2e/playwright-report/data/68edafd87f68764b794e126f646c9e376b2b0040.json","e2e/playwright-report/data/6bf721cd1683862d7fb9dc1dd092484d6bf7f43d.json","e2e/playwright-report/data/6f335a0d9dbb714f4ea8ba450d706af08c7c1752.json","e2e/playwright-report/data/6ffdede50d6a69ce0e6af6c6bc1e355b5bcc99ae.json","e2e/playwright-report/data/7d96dad60d9c8d17bc600f4b489628f79f93a2cc.json","e2e/playwright-report/data/7db5fb585db58db72c847254e5698e01ba814196.json","e2e/playwright-report/data/817b6dd7a3b5e6a9f053133ef5a966ae0357522b.json","e2e/playwright-report/data/837b258ffa22999b552bab1dc72eefb7bcc7fca1.json","e2e/playwright-report/data/86e779ac06ec1f6c9408d995aadc72eb59085af8.json","e2e/playwright-report/data/8ad95aa4269252c80c8515e252feee8c36c880b4.json","e2e/playwright-report/data/8f877ab763dc94bcb652114f00fefeece62de5e5.json","e2e/playwright-report/data/901a31131a6718a111aecacc6b0bce5e2f7cd4cb.json","e2e/playwright-report/data/9301e5ff43bd228cbd6a5622ea7ca16a629f6419.json","e2e/playwright-report/data/96903715869c7ac52a78478ad4d7cb880f9445fd.json","e2e/playwright-report/data/9b524f1f5c16b532d0a830b8e7cb17c54a8fd338.json","e2e/playwright-report/data/a51c88f6c3cee5dc563989cbeea0f8e6f5c957c6.json","e2e/playwright-report/data/a692e7634bc8636f6b97ba2d565b2e3c843a166a.json","e2e/playwright-report/data/a9a83d8d0fca1a3c5ce68b69df80ead85c6c6cf0.json","e2e/playwright-report/data/aa4ba212c01c02ce5410ab1f052fa7e84dcd2204.json","e2e/playwright-report/data/ac4ff8d59100c86ea4dc084aea8cefa47e6baab8.json","e2e/playwright-report/data/ad7918c033202e3263f9464d54c355a922925512.json","e2e/playwright-report/data/b4ba1159b638b4894775d963da1e32bbe7aca0d3.json","e2e/playwright-report/data/b5bf30bc96fe0a8ee2844b6f4686418fb017117d.json","e2e/playwright-report/data/b8cd0bb416c436db52825f69d0a1b7766ac9c523.json","e2e/playwright-report/data/bc1553608f948f62c264e17ea2f0644146fcf825.json","e2e/playwright-report/data/bcab3c3f639fdfb52914301dc23870e0391e27ee.json","e2e/playwright-report/data/bdad31c14fa11a635099c99a3bd228490dfaa9d6.json","e2e/playwright-report/data/bee6b1e5bf2e440d5d189ffe07aa395a28bfa77a.json","e2e/playwright-report/data/c0e94d0b7d003b5362ebdadbe5b0365cca908472.json","e2e/playwright-report/data/c0ee9127168a36e14288fced27491bfb142a7aaf.json","e2e/playwright-report/data/c886dbaf07a672df72bcc9dd72f5bcf9ac11a313.json","e2e/playwright-report/data/da10ca0e27291df7832087c7569303688a880777.json","e2e/playwright-report/data/dddaeb32974dc0a6d70d4cd9da341cce590d6e36.json","e2e/playwright-report/data/e1e9d601c3cc7fde890d8da2a98c15f20e173bb7.json","e2e/playwright-report/data/e311a05eb3ab7ce3435a8398cc039d1cf405ba3e.json","e2e/playwright-report/data/ecfea14c233d7f949034a294aa590ef8bf14986b.json","e2e/playwright-report/data/f0c7f784cca1bd6378e8c8bcd81d3402a95152e2.json","e2e/playwright-report/data/f5258def8e557b72443c36fdb638a548794aa60f.json","e2e/playwright-report/data/fc5a06dd26c6a4b6d82405bf2d35cc7c24d23caf.json","e2e/playwright-report/data/fd1950dbedcc3177af1cdee0ba75c156d0ef239e.json","e2e/playwright-report/data/feed8576478b002ab58be5e76c096a2b06d25c18.json","e2e/test-results/crud-00-crud-runner-CRUD-严-00c50--module-livestream-groupbuy-chromium/attachments/probe-U02-c3d03780711008e1499ef57e6ea5cfd6392aefcf.json","e2e/test-results/crud-00-crud-runner-CRUD-严-01031-e-C02-创建校验失败-module-expense-chromium/attachments/probe-C02-be66c12a21a608a7302f8ab2efc27b42671ddbb0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-062a1--U02-更新权限-冲突-module-revenue-chromium/attachments/probe-U02-cc9bd5c263b450974a9f899b0df9b33bb98750d4.json","e2e/test-results/crud-00-crud-runner-CRUD-严-08c60--hr-HR管理-P01-权限矩阵-module-hr-chromium/attachments/probe-P01-21c443a07127b9d0a4f6f66f6da806b0d0a5a0d7.json","e2e/test-results/crud-00-crud-runner-CRUD-严-0c744--module-livestream-groupbuy-chromium/attachments/probe-R01-347f123ff26940465bddbdda901bfcd3869202ba.json","e2e/test-results/crud-00-crud-runner-CRUD-严-0cb7d-权限-冲突-module-scheduled-jobs-chromium/attachments/probe-U02-1dcc0292e0c13fc1af36121231e39318df01a4f9.json","e2e/test-results/crud-00-crud-runner-CRUD-严-0da02--module-marketing-workflows-chromium/attachments/probe-U02-c810f048362694f759d0e49b75d8b3d26eb46fb6.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1cc86-nse-P01-权限矩阵-module-expense-chromium/attachments/probe-P01-20f0a6fb2888ef702ea606bfe47245a3c896918f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1f1fc-ess-C01-创建成功-module-process-chromium/attachments/probe-C01-dce15d16f321febe336e3462b618c6e22a006c6f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-20e0e--module-marketing-workflows-chromium/attachments/probe-R01-06e56e447a5e2255a0a94dd4d2b94541f18a4385.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2346a-ess-R03-详情可读-module-process-chromium/attachments/probe-R03-b17bd01b2d86948664199d87222eddb6698f49c7.json","e2e/test-results/crud-00-crud-runner-CRUD-严-25dfd-D02-恢复或不可见校验-module-revenue-chromium/attachments/probe-D02-ea1cc08fa0c3bca1e976cbb81bbcb4c67a4fba44.json","e2e/test-results/crud-00-crud-runner-CRUD-严-27b95--module-marketing-workflows-chromium/attachments/probe-D01-08d1d091246c2963a477a7f37a3611622e7cd7f4.json","e2e/test-results/crud-00-crud-runner-CRUD-严-28be2--module-livestream-groupbuy-chromium/attachments/probe-C02-53d2f446d32ec60e858914e76ca1cd16fc40ad3e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2f127--module-marketing-workflows-chromium/attachments/probe-C01-ecc99d26b6c20d2f8e5248444e0d132204d823c4.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2f802--module-marketing-workflows-chromium/attachments/probe-R03-79199c1c71f9937ef54c32f62a563c197e99ce5d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-307d0-不可见校验-module-scheduled-jobs-chromium/attachments/probe-D02-58b5bb5822028b8f43106a235e04bb292fc1078f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-36319--module-livestream-groupbuy-chromium/attachments/probe-R02-cf165397b37618df1184487bb8efc4682fa3d71d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-3847b--module-livestream-groupbuy-chromium/attachments/probe-P01-23198a34eb309f336f1578cd8d6987ad35cb295d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-39f88--module-marketing-workflows-chromium/attachments/probe-P01-8074ab0d4d06f6cf5747c9dee037535ba0bd2e9c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-3f077-ess-R01-列表可读-module-process-chromium/attachments/probe-R01-69a36a099bb268c94624fbc339eef9e765a14277.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4350e--U02-更新权限-冲突-module-expense-chromium/attachments/probe-U02-691c0e478ddd7fa07870fa5b22af204d347c8c51.json","e2e/test-results/crud-00-crud-runner-CRUD-严-45f32--module-marketing-workflows-chromium/attachments/probe-U01-3a6f218bc2abaccc24b2686c2b2d26f9c2dce11d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-539e3-ess-P01-权限矩阵-module-process-chromium/attachments/probe-P01-b07f24275e305a83fb3d5b3b81272116e0fec96c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-5915a--U02-更新权限-冲突-module-process-chromium/attachments/probe-U02-eda0b0c4614fe22d88b95ff47fc1d0385a9b400d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-69632-nue-P01-权限矩阵-module-revenue-chromium/attachments/probe-P01-b8c010f9af7ebf7e9744eabd987532919271d538.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6a8a6-nue-E01-异常恢复-module-revenue-chromium/attachments/probe-E01-312d34912b14ab7350f24bb59b4c763404959d9c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6b362--module-marketing-workflows-chromium/attachments/probe-D02-dc0d98f60a788dfcb7aaf09c08ba0e57715599ed.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6fb52--module-marketing-workflows-chromium/attachments/probe-R02-9372d481f12c8872e916186f5898a35287583f95.json","e2e/test-results/crud-00-crud-runner-CRUD-严-70e3c-e-R02-查询筛选分页-module-expense-chromium/attachments/probe-R02-161f349dd1425a2a58e5edb73e15f272d32d4c77.json","e2e/test-results/crud-00-crud-runner-CRUD-严-78db2-01-删除-软-硬-可用-module-process-chromium/attachments/probe-D01-f55b8f1d1f0206660c4a0f71838db108e73e0139.json","e2e/test-results/crud-00-crud-runner-CRUD-严-80eb9--module-livestream-groupbuy-chromium/attachments/probe-R03-620e7a4cc3ed246ae41d7aa9b3d3bf7014d75132.json","e2e/test-results/crud-00-crud-runner-CRUD-严-82c54-nue-U01-更新成功-module-revenue-chromium/attachments/probe-U01-3887ac65321b31f5f8a800593f89cba199df30ab.json","e2e/test-results/crud-00-crud-runner-CRUD-严-85f82--module-livestream-groupbuy-chromium/attachments/probe-E01-f306d3644fe829029ad3dc37c8717eb304095e50.json","e2e/test-results/crud-00-crud-runner-CRUD-严-87c71-01-删除-软-硬-可用-module-revenue-chromium/attachments/probe-D01-508209caf4130cc0cb089fa97147c1495119ed5b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-8c9a0--创建成功-module-scheduled-jobs-chromium/attachments/probe-C01-ac09e799e3f7665e1efdf0bd61c83fef04ec28af.json","e2e/test-results/crud-00-crud-runner-CRUD-严-92cb7-ess-U01-更新成功-module-process-chromium/attachments/probe-U01-9884da28f8d5b2c3093c3da9b986a2f934949595.json","e2e/test-results/crud-00-crud-runner-CRUD-严-9a045-s-R02-查询筛选分页-module-process-chromium/attachments/probe-R02-eb18491b106dc601e569f742c78c06aaa653f0e9.json","e2e/test-results/crud-00-crud-runner-CRUD-严-9cb36-nue-R03-详情可读-module-revenue-chromium/attachments/probe-R03-bb544af9fa07f54e092a504014189587253e5fef.json","e2e/test-results/crud-00-crud-runner-CRUD-严-9f43f--module-marketing-workflows-chromium/attachments/probe-C02-48de15c8c24ca5fe24b6f53142d0400691c8c042.json","e2e/test-results/crud-00-crud-runner-CRUD-严-a90c4--hr-HR管理-C01-创建成功-module-hr-chromium/attachments/probe-C01-f818831b38f2d4e3636d8f7dd76e495d182fb601.json","e2e/test-results/crud-00-crud-runner-CRUD-严-abcd6--module-livestream-groupbuy-chromium/attachments/probe-D02-eebbf9e1174cdae864be7eeee3a5788ffcf8cb62.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ac5c4-R管理-D01-删除-软-硬-可用-module-hr-chromium/attachments/probe-D01-3c71fad12d6286808f3e9c71d94288f229037ecf.json","e2e/test-results/crud-00-crud-runner-CRUD-严-acc0b--硬-可用-module-scheduled-jobs-chromium/attachments/probe-D01-85af9711d301ffcb44acd33384021ef037da1f13.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b2a67-权限矩阵-module-service-monitor-chromium/attachments/probe-P01-4af53bf12d378bc939cfc0a53be3e8d990d18dba.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b6f23--module-marketing-workflows-chromium/attachments/probe-E01-eda10ac82389df01d8f7cdc9dffb53666cd921b0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b9839-nse-E01-异常恢复-module-expense-chromium/attachments/probe-E01-3f84ff6f4268d3874c5036369de4e53783bfc37a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b9baf--hr-HR管理-U01-更新成功-module-hr-chromium/attachments/probe-U01-fe10685aa467ec104efcbae6e302be6136f9199b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-bb3b9--HR管理-U02-更新权限-冲突-module-hr-chromium/attachments/probe-U02-c2170f8cdefb41d0c6abb7b4154175453e2d9c0c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-be5a0-建校验失败-module-scheduled-jobs-chromium/attachments/probe-C02-ac2638b4015ec4938d89eb212a50ff880a1806a5.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c14e3-r-HR管理-C02-创建校验失败-module-hr-chromium/attachments/probe-C02-81afe0c0f8a2c9ab02a4d9e13f0c7a377115b839.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c4631-D02-恢复或不可见校验-module-process-chromium/attachments/probe-D02-701d651cb8ef1c54b8b2a206ba6c14b5aac9f055.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c888f-nse-R01-列表可读-module-expense-chromium/attachments/probe-R01-36e2399be38748a148955613be243f5dcf8607df.json","e2e/test-results/crud-00-crud-runner-CRUD-严-cb112-nue-R01-列表可读-module-revenue-chromium/attachments/probe-R01-501cd829befbdfa5e923560762b02617f0c09a46.json","e2e/test-results/crud-00-crud-runner-CRUD-严-cb57e-nse-R03-详情可读-module-expense-chromium/attachments/probe-R03-7418824d6fe12d76e108b8761b0b0436c8ea7703.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d4331-D02-恢复或不可见校验-module-expense-chromium/attachments/probe-D02-bd03007f12d1bd5559fda5084ea5d5ba37f1e608.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d7368--异常恢复-module-scheduled-jobs-chromium/attachments/probe-E01-2c8143fba9d8c78f2234730012b119f121992803.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d82a5-s-C02-创建校验失败-module-process-chromium/attachments/probe-C02-4c19484dc61fb155bdc2f0b210d020dc95920b51.json","e2e/test-results/crud-00-crud-runner-CRUD-严-dc55e--权限矩阵-module-scheduled-jobs-chromium/attachments/probe-P01-c2dfd61a5cb3446103b98aba740be4903cb90787.json","e2e/test-results/crud-00-crud-runner-CRUD-严-dca0b--module-livestream-groupbuy-chromium/attachments/probe-C01-6bf7bc683ad4a04e31438c3d359da10a532b9fce.json","e2e/test-results/crud-00-crud-runner-CRUD-严-dd0ab-异常恢复-module-service-monitor-chromium/attachments/probe-E01-e2c30ff70f9fe56863e337f1ad02350529661a0c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-de3c4-nse-U01-更新成功-module-expense-chromium/attachments/probe-U01-8389e985bca595d182f6a7023b2bdb1c917e336c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-e3cc6--module-livestream-groupbuy-chromium/attachments/probe-D01-a4c651e28f278863d39edb2c1825a3bb0cfb725c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ec85f-nue-C01-创建成功-module-revenue-chromium/attachments/probe-C01-6a9ef36d6de9a07007c027d4e5f55d972d005b77.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ef210-nse-C01-创建成功-module-expense-chromium/attachments/probe-C01-690c106a5a525320953c8a34450b711839dc75c3.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f702a--hr-HR管理-E01-异常恢复-module-hr-chromium/attachments/probe-E01-690953aac56aef8a6bedee0bc5f77fb119490888.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f885e-e-C02-创建校验失败-module-revenue-chromium/attachments/probe-C02-1fe53abd2096cc756472837b6fc61876d5c25c3a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fa9d7--module-livestream-groupbuy-chromium/attachments/probe-U01-5ef25a0886bd6972fd6083e3fb9fac205b1bcada.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fb79f--更新成功-module-scheduled-jobs-chromium/attachments/probe-U01-b339a2320bc3a51b6b82fbead9e1b4b866f6e817.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fc3c0-HR管理-D02-恢复或不可见校验-module-hr-chromium/attachments/probe-D02-5a0ab682e9a6d14387f871513f7e309667276477.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fcfb3-ess-E01-异常恢复-module-process-chromium/attachments/probe-E01-34ff57811356ce2d7aa30721572e65f4c46f32f2.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fd88c-e-R02-查询筛选分页-module-revenue-chromium/attachments/probe-R02-8cef2e4e24d044ffa41905ba5311d8a760246958.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fe272-01-删除-软-硬-可用-module-expense-chromium/attachments/probe-D01-f25aff1cf1f2343615d777cff993706d3e55530a.json","e2e/test-results/crud/probes/expense-C01-1778843481800.json","e2e/test-results/crud/probes/expense-C02-1778843483753.json","e2e/test-results/crud/probes/expense-D01-1778843501021.json","e2e/test-results/crud/probes/expense-D02-1778843503623.json","e2e/test-results/crud/probes/expense-E01-1778843494090.json","e2e/test-results/crud/probes/expense-P01-1778843491919.json","e2e/test-results/crud/probes/expense-R01-1778843485659.json","e2e/test-results/crud/probes/expense-R02-1778843487617.json","e2e/test-results/crud/probes/expense-R03-1778843489741.json","e2e/test-results/crud/probes/expense-U01-1778843496518.json","e2e/test-results/crud/probes/expense-U02-1778843498702.json","e2e/test-results/crud/probes/hr-C01-1778843457102.json","e2e/test-results/crud/probes/hr-C02-1778843459034.json","e2e/test-results/crud/probes/hr-D01-1778843477440.json","e2e/test-results/crud/probes/hr-D02-1778843479757.json","e2e/test-results/crud/probes/hr-E01-1778843470682.json","e2e/test-results/crud/probes/hr-P01-1778843468620.json","e2e/test-results/crud/probes/hr-U01-1778843473048.json","e2e/test-results/crud/probes/hr-U02-1778843475146.json","e2e/test-results/crud/probes/livestream-groupbuy-C01-1778843506522.json","e2e/test-results/crud/probes/livestream-groupbuy-C02-1778843508530.json","e2e/test-results/crud/probes/livestream-groupbuy-D01-1778843527950.json","e2e/test-results/crud/probes/livestream-groupbuy-D02-1778843530966.json","e2e/test-results/crud/probes/livestream-groupbuy-E01-1778843519744.json","e2e/test-results/crud/probes/livestream-groupbuy-P01-1778843517289.json","e2e/test-results/crud/probes/livestream-groupbuy-R01-1778843510619.json","e2e/test-results/crud/probes/livestream-groupbuy-R02-1778843512714.json","e2e/test-results/crud/probes/livestream-groupbuy-R03-1778843515051.json","e2e/test-results/crud/probes/livestream-groupbuy-U01-1778843522392.json","e2e/test-results/crud/probes/livestream-groupbuy-U02-1778843525115.json","e2e/test-results/crud/probes/marketing-workflows-C01-1778843533710.json","e2e/test-results/crud/probes/marketing-workflows-C02-1778843535920.json","e2e/test-results/crud/probes/marketing-workflows-D01-1778843556575.json","e2e/test-results/crud/probes/marketing-workflows-D02-1778843559847.json","e2e/test-results/crud/probes/marketing-workflows-E01-1778843548203.json","e2e/test-results/crud/probes/marketing-workflows-P01-1778843545636.json","e2e/test-results/crud/probes/marketing-workflows-R01-1778843538226.json","e2e/test-results/crud/probes/marketing-workflows-R02-1778843540557.json","e2e/test-results/crud/probes/marketing-workflows-R03-1778843543199.json","e2e/test-results/crud/probes/marketing-workflows-U01-1778843550955.json","e2e/test-results/crud/probes/marketing-workflows-U02-1778843553520.json","e2e/test-results/crud/probes/process-C01-1778843562669.json","e2e/test-results/crud/probes/process-C02-1778843565569.json","e2e/test-results/crud/probes/process-D01-1778843593120.json","e2e/test-results/crud/probes/process-D02-1778843597967.json","e2e/test-results/crud/probes/process-E01-1778843579914.json","e2e/test-results/crud/probes/process-P01-1778843576569.json","e2e/test-results/crud/probes/process-R01-1778843568100.json","e2e/test-results/crud/probes/process-R02-1778843570757.json","e2e/test-results/crud/probes/process-R03-1778843573566.json","e2e/test-results/crud/probes/process-U01-1778843584134.json","e2e/test-results/crud/probes/process-U02-1778843587668.json","e2e/test-results/crud/probes/revenue-C01-1778843601476.json","e2e/test-results/crud/probes/revenue-C02-1778843604481.json","e2e/test-results/crud/probes/revenue-D01-1778843634197.json","e2e/test-results/crud/probes/revenue-D02-1778843638058.json","e2e/test-results/crud/probes/revenue-E01-1778843622684.json","e2e/test-results/crud/probes/revenue-P01-1778843618368.json","e2e/test-results/crud/probes/revenue-R01-1778843607473.json","e2e/test-results/crud/probes/revenue-R02-1778843610470.json","e2e/test-results/crud/probes/revenue-R03-1778843613683.json","e2e/test-results/crud/probes/revenue-U01-1778843627021.json","e2e/test-results/crud/probes/revenue-U02-1778843630567.json","e2e/test-results/crud/probes/scheduled-jobs-C01-1778843641720.json","e2e/test-results/crud/probes/scheduled-jobs-C02-1778843645113.json","e2e/test-results/crud/probes/scheduled-jobs-D01-1778843674744.json","e2e/test-results/crud/probes/scheduled-jobs-D02-1778843678357.json","e2e/test-results/crud/probes/scheduled-jobs-E01-1778843664340.json","e2e/test-results/crud/probes/scheduled-jobs-P01-1778843661106.json","e2e/test-results/crud/probes/scheduled-jobs-U01-1778843667877.json","e2e/test-results/crud/probes/scheduled-jobs-U02-1778843671509.json","e2e/test-results/crud/probes/service-monitor-E01-1778843698784.json","e2e/test-results/crud/probes/service-monitor-P01-1778843695166.json","frontend/src/api/modules/agent-sessions.ts","frontend/src/views/ai-agents/AgentSessions.vue"],"removed":[],"modified":["backend/prisma/migrations/20260522000000_broaden_ai_agents_coach_agent_types/migration.sql","backend/prisma/schema.prisma","backend/prisma/schema/marketing.prisma","backend/src/modules/campaign-library/campaign-library.service.ts","backend/src/modules/contracts/payment-plan.service.ts","backend/src/modules/dimension-transform/dimension-transform.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/marketing-workflows/marketing-workflow.controller.ts","backend/src/modules/orders/order.service.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/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/sla/sla.service.ts","backend/src/modules/supply-chain/purchase-order.service.ts","backend/src/modules/supply-chain/supply-chain.controller.ts","backend/src/shared/utils/biz-code.test.ts","backend/src/shared/utils/biz-code.ts","e2e/.auth/admin.json","e2e/pages/ContractDetailPage.ts","e2e/playwright-report/index.html","e2e/scripts/verify-view-governance.mjs","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/auth/sales-mainline-flow-smoke.spec.ts","e2e/tests/business-flows/contract-signing-flow.spec.ts","e2e/tests/comprehensive-domain-tests.spec.ts","e2e/tests/comprehensive/13-centers-full-interaction.spec.ts","e2e/tests/comprehensive/all-menus-full-e2e.spec.ts","e2e/tests/comprehensive/all-menus-quick-smoke.spec.ts","e2e/tests/crud/00-crud-runner.spec.ts","e2e/tests/crud/module-catalog.overrides.ts","e2e/tests/fixtures/business-flow-api.ts","e2e/tests/fixtures/test-base.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/src/router/modules/ai-agents.ts","frontend/src/views/marketing-forms/Index.vue"]},{"id":"98bb2335db02b7b18a39302fdffdb672fabbbcaf","message":"Merge pull request #53 from laoluojuhai/claude/sweet-cray-375a44\n\nFix cross-tenant biz_code lookup 500 + contract signatory fixture + array-guard","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/98bb2335db02b7b18a39302fdffdb672fabbbcaf","author":{"name":"laoluojuhai","email":"158980461+laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"GitHub","email":"noreply@github.com","username":""},"verification":null,"timestamp":"2026-05-15T06:16:18-07:00","added":[],"removed":[],"modified":["e2e/pages/ContractDetailPage.ts","e2e/tests/business-flows/contract-signing-flow.spec.ts","e2e/tests/fixtures/business-flow-api.ts","frontend/src/api/modules/course-marketplace.ts","frontend/src/views/ai-agents/AgentSessions.vue","frontend/src/views/marketing-forms/Index.vue"]},{"id":"14e9a5340649ca0e32e72de6ebcec73ae3643029","message":"Merge remote-tracking branch 'origin/main' into claude/sweet-cray-375a44\n\n# Conflicts:\n#\tbackend/src/modules/contracts/payment-plan.service.ts\n#\tbackend/src/shared/utils/biz-code.test.ts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/14e9a5340649ca0e32e72de6ebcec73ae3643029","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-15T06:06:28-07:00","added":["e2e/playwright-report/data/00e381d1cb05fdf78e491b2aa1a73cf04f1ec164.json","e2e/playwright-report/data/061cf6904e321f7ae3c113cadbebbd6fd8a871a6.json","e2e/playwright-report/data/08232f62a9085d16a1613ba4c7e26315a40c7b88.json","e2e/playwright-report/data/0f2a6df6d50aa2eae86cf78fa0b9220643c81b91.json","e2e/playwright-report/data/0f9aec4029742041ac66011410f193339c445980.json","e2e/playwright-report/data/11ccab352e3bf269e50f6c02d273f76ee080b92a.json","e2e/playwright-report/data/13447a4dcba39b8b4dfcba9ca31bb2a1af0e432b.json","e2e/playwright-report/data/17e41f41aca98c96f274b0c109da7839d2b2cdd4.json","e2e/playwright-report/data/197860e14c9cc8eb33803d507832834ef63734eb.json","e2e/playwright-report/data/1c0b59810a3381535b6c0d7c4521be827302de6a.json","e2e/playwright-report/data/1e40a45d51c7bcbc84fede6fd89f1abec8347015.json","e2e/playwright-report/data/21d0d2e6791bd3ec0cdf861a4ebe11219530c7a0.json","e2e/playwright-report/data/22399dc887e7368bf398fa360d07e0455715af3c.json","e2e/playwright-report/data/26bbfdfd3545b2447af491d526e6f0d577152097.json","e2e/playwright-report/data/28647c54bac4fd2b7e92a5014c37bf2ebd8a106f.json","e2e/playwright-report/data/28cff9f50fa8ab8fc044d88af9557b4fe002be87.json","e2e/playwright-report/data/28fab73ae4f92e5218f7176647bb756d883db2b4.json","e2e/playwright-report/data/2df0cc801d205b47615d756d6da2a7311b60e1f8.json","e2e/playwright-report/data/2eebca5e935ebd809361b84b37b8bae67e4345ca.json","e2e/playwright-report/data/30403331f26cab9078cf6aa95eba21a055cfe472.json","e2e/playwright-report/data/307f2420a69888bb5b1c4c21fd329a70b46824d8.json","e2e/playwright-report/data/318816dc8ec2fdb25104653c96d4c3dc7657b297.json","e2e/playwright-report/data/31ec607a73a68e1f5601d26bc13ea11874fb5ce3.json","e2e/playwright-report/data/33f6412f2dbf6a90a0361edb401556546bbcfd23.json","e2e/playwright-report/data/35eb8b93d60f4d77b85b28ae26d386ed5c883622.json","e2e/playwright-report/data/37e36df5e5cb10655abf7901e6051c686b482b0f.json","e2e/playwright-report/data/3d6628857b08951df18550fb3eb12dba343338b0.json","e2e/playwright-report/data/4369b3a37802d8cfad8e930d8bd53f642a59b5c7.json","e2e/playwright-report/data/4745edf5567704fe0521fc20d31266aa79e83e87.json","e2e/playwright-report/data/555c0354a7d75b622f4e8c57fb12b7d9821c7df7.json","e2e/playwright-report/data/556b911a43bb0959963a6559ebbda6848f9f5fd2.json","e2e/playwright-report/data/58c416fcb4ffd9e5211cd2040bee91d75f2d3863.json","e2e/playwright-report/data/68edafd87f68764b794e126f646c9e376b2b0040.json","e2e/playwright-report/data/6bf721cd1683862d7fb9dc1dd092484d6bf7f43d.json","e2e/playwright-report/data/6f335a0d9dbb714f4ea8ba450d706af08c7c1752.json","e2e/playwright-report/data/6ffdede50d6a69ce0e6af6c6bc1e355b5bcc99ae.json","e2e/playwright-report/data/7d96dad60d9c8d17bc600f4b489628f79f93a2cc.json","e2e/playwright-report/data/7db5fb585db58db72c847254e5698e01ba814196.json","e2e/playwright-report/data/817b6dd7a3b5e6a9f053133ef5a966ae0357522b.json","e2e/playwright-report/data/837b258ffa22999b552bab1dc72eefb7bcc7fca1.json","e2e/playwright-report/data/86e779ac06ec1f6c9408d995aadc72eb59085af8.json","e2e/playwright-report/data/8ad95aa4269252c80c8515e252feee8c36c880b4.json","e2e/playwright-report/data/8f877ab763dc94bcb652114f00fefeece62de5e5.json","e2e/playwright-report/data/901a31131a6718a111aecacc6b0bce5e2f7cd4cb.json","e2e/playwright-report/data/9301e5ff43bd228cbd6a5622ea7ca16a629f6419.json","e2e/playwright-report/data/96903715869c7ac52a78478ad4d7cb880f9445fd.json","e2e/playwright-report/data/9b524f1f5c16b532d0a830b8e7cb17c54a8fd338.json","e2e/playwright-report/data/a51c88f6c3cee5dc563989cbeea0f8e6f5c957c6.json","e2e/playwright-report/data/a692e7634bc8636f6b97ba2d565b2e3c843a166a.json","e2e/playwright-report/data/a9a83d8d0fca1a3c5ce68b69df80ead85c6c6cf0.json","e2e/playwright-report/data/aa4ba212c01c02ce5410ab1f052fa7e84dcd2204.json","e2e/playwright-report/data/ac4ff8d59100c86ea4dc084aea8cefa47e6baab8.json","e2e/playwright-report/data/ad7918c033202e3263f9464d54c355a922925512.json","e2e/playwright-report/data/b4ba1159b638b4894775d963da1e32bbe7aca0d3.json","e2e/playwright-report/data/b5bf30bc96fe0a8ee2844b6f4686418fb017117d.json","e2e/playwright-report/data/b8cd0bb416c436db52825f69d0a1b7766ac9c523.json","e2e/playwright-report/data/bc1553608f948f62c264e17ea2f0644146fcf825.json","e2e/playwright-report/data/bcab3c3f639fdfb52914301dc23870e0391e27ee.json","e2e/playwright-report/data/bdad31c14fa11a635099c99a3bd228490dfaa9d6.json","e2e/playwright-report/data/bee6b1e5bf2e440d5d189ffe07aa395a28bfa77a.json","e2e/playwright-report/data/c0e94d0b7d003b5362ebdadbe5b0365cca908472.json","e2e/playwright-report/data/c0ee9127168a36e14288fced27491bfb142a7aaf.json","e2e/playwright-report/data/c886dbaf07a672df72bcc9dd72f5bcf9ac11a313.json","e2e/playwright-report/data/da10ca0e27291df7832087c7569303688a880777.json","e2e/playwright-report/data/dddaeb32974dc0a6d70d4cd9da341cce590d6e36.json","e2e/playwright-report/data/e1e9d601c3cc7fde890d8da2a98c15f20e173bb7.json","e2e/playwright-report/data/e311a05eb3ab7ce3435a8398cc039d1cf405ba3e.json","e2e/playwright-report/data/ecfea14c233d7f949034a294aa590ef8bf14986b.json","e2e/playwright-report/data/f0c7f784cca1bd6378e8c8bcd81d3402a95152e2.json","e2e/playwright-report/data/f5258def8e557b72443c36fdb638a548794aa60f.json","e2e/playwright-report/data/fc5a06dd26c6a4b6d82405bf2d35cc7c24d23caf.json","e2e/playwright-report/data/fd1950dbedcc3177af1cdee0ba75c156d0ef239e.json","e2e/playwright-report/data/feed8576478b002ab58be5e76c096a2b06d25c18.json","e2e/test-results/.last-run.json","e2e/test-results/crud-00-crud-runner-CRUD-严-00c50--module-livestream-groupbuy-chromium/attachments/probe-U02-c3d03780711008e1499ef57e6ea5cfd6392aefcf.json","e2e/test-results/crud-00-crud-runner-CRUD-严-01031-e-C02-创建校验失败-module-expense-chromium/attachments/probe-C02-be66c12a21a608a7302f8ab2efc27b42671ddbb0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-062a1--U02-更新权限-冲突-module-revenue-chromium/attachments/probe-U02-cc9bd5c263b450974a9f899b0df9b33bb98750d4.json","e2e/test-results/crud-00-crud-runner-CRUD-严-08c60--hr-HR管理-P01-权限矩阵-module-hr-chromium/attachments/probe-P01-21c443a07127b9d0a4f6f66f6da806b0d0a5a0d7.json","e2e/test-results/crud-00-crud-runner-CRUD-严-0c744--module-livestream-groupbuy-chromium/attachments/probe-R01-347f123ff26940465bddbdda901bfcd3869202ba.json","e2e/test-results/crud-00-crud-runner-CRUD-严-0cb7d-权限-冲突-module-scheduled-jobs-chromium/attachments/probe-U02-1dcc0292e0c13fc1af36121231e39318df01a4f9.json","e2e/test-results/crud-00-crud-runner-CRUD-严-0da02--module-marketing-workflows-chromium/attachments/probe-U02-c810f048362694f759d0e49b75d8b3d26eb46fb6.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1cc86-nse-P01-权限矩阵-module-expense-chromium/attachments/probe-P01-20f0a6fb2888ef702ea606bfe47245a3c896918f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1f1fc-ess-C01-创建成功-module-process-chromium/attachments/probe-C01-dce15d16f321febe336e3462b618c6e22a006c6f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-20e0e--module-marketing-workflows-chromium/attachments/probe-R01-06e56e447a5e2255a0a94dd4d2b94541f18a4385.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2346a-ess-R03-详情可读-module-process-chromium/attachments/probe-R03-b17bd01b2d86948664199d87222eddb6698f49c7.json","e2e/test-results/crud-00-crud-runner-CRUD-严-25dfd-D02-恢复或不可见校验-module-revenue-chromium/attachments/probe-D02-ea1cc08fa0c3bca1e976cbb81bbcb4c67a4fba44.json","e2e/test-results/crud-00-crud-runner-CRUD-严-27b95--module-marketing-workflows-chromium/attachments/probe-D01-08d1d091246c2963a477a7f37a3611622e7cd7f4.json","e2e/test-results/crud-00-crud-runner-CRUD-严-28be2--module-livestream-groupbuy-chromium/attachments/probe-C02-53d2f446d32ec60e858914e76ca1cd16fc40ad3e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2f127--module-marketing-workflows-chromium/attachments/probe-C01-ecc99d26b6c20d2f8e5248444e0d132204d823c4.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2f802--module-marketing-workflows-chromium/attachments/probe-R03-79199c1c71f9937ef54c32f62a563c197e99ce5d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-307d0-不可见校验-module-scheduled-jobs-chromium/attachments/probe-D02-58b5bb5822028b8f43106a235e04bb292fc1078f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-36319--module-livestream-groupbuy-chromium/attachments/probe-R02-cf165397b37618df1184487bb8efc4682fa3d71d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-3847b--module-livestream-groupbuy-chromium/attachments/probe-P01-23198a34eb309f336f1578cd8d6987ad35cb295d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-39f88--module-marketing-workflows-chromium/attachments/probe-P01-8074ab0d4d06f6cf5747c9dee037535ba0bd2e9c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-3f077-ess-R01-列表可读-module-process-chromium/attachments/probe-R01-69a36a099bb268c94624fbc339eef9e765a14277.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4350e--U02-更新权限-冲突-module-expense-chromium/attachments/probe-U02-691c0e478ddd7fa07870fa5b22af204d347c8c51.json","e2e/test-results/crud-00-crud-runner-CRUD-严-45f32--module-marketing-workflows-chromium/attachments/probe-U01-3a6f218bc2abaccc24b2686c2b2d26f9c2dce11d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-539e3-ess-P01-权限矩阵-module-process-chromium/attachments/probe-P01-b07f24275e305a83fb3d5b3b81272116e0fec96c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-5915a--U02-更新权限-冲突-module-process-chromium/attachments/probe-U02-eda0b0c4614fe22d88b95ff47fc1d0385a9b400d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-69632-nue-P01-权限矩阵-module-revenue-chromium/attachments/probe-P01-b8c010f9af7ebf7e9744eabd987532919271d538.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6a8a6-nue-E01-异常恢复-module-revenue-chromium/attachments/probe-E01-312d34912b14ab7350f24bb59b4c763404959d9c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6b362--module-marketing-workflows-chromium/attachments/probe-D02-dc0d98f60a788dfcb7aaf09c08ba0e57715599ed.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6fb52--module-marketing-workflows-chromium/attachments/probe-R02-9372d481f12c8872e916186f5898a35287583f95.json","e2e/test-results/crud-00-crud-runner-CRUD-严-70e3c-e-R02-查询筛选分页-module-expense-chromium/attachments/probe-R02-161f349dd1425a2a58e5edb73e15f272d32d4c77.json","e2e/test-results/crud-00-crud-runner-CRUD-严-78db2-01-删除-软-硬-可用-module-process-chromium/attachments/probe-D01-f55b8f1d1f0206660c4a0f71838db108e73e0139.json","e2e/test-results/crud-00-crud-runner-CRUD-严-80eb9--module-livestream-groupbuy-chromium/attachments/probe-R03-620e7a4cc3ed246ae41d7aa9b3d3bf7014d75132.json","e2e/test-results/crud-00-crud-runner-CRUD-严-82c54-nue-U01-更新成功-module-revenue-chromium/attachments/probe-U01-3887ac65321b31f5f8a800593f89cba199df30ab.json","e2e/test-results/crud-00-crud-runner-CRUD-严-85f82--module-livestream-groupbuy-chromium/attachments/probe-E01-f306d3644fe829029ad3dc37c8717eb304095e50.json","e2e/test-results/crud-00-crud-runner-CRUD-严-87c71-01-删除-软-硬-可用-module-revenue-chromium/attachments/probe-D01-508209caf4130cc0cb089fa97147c1495119ed5b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-8c9a0--创建成功-module-scheduled-jobs-chromium/attachments/probe-C01-ac09e799e3f7665e1efdf0bd61c83fef04ec28af.json","e2e/test-results/crud-00-crud-runner-CRUD-严-92cb7-ess-U01-更新成功-module-process-chromium/attachments/probe-U01-9884da28f8d5b2c3093c3da9b986a2f934949595.json","e2e/test-results/crud-00-crud-runner-CRUD-严-9a045-s-R02-查询筛选分页-module-process-chromium/attachments/probe-R02-eb18491b106dc601e569f742c78c06aaa653f0e9.json","e2e/test-results/crud-00-crud-runner-CRUD-严-9cb36-nue-R03-详情可读-module-revenue-chromium/attachments/probe-R03-bb544af9fa07f54e092a504014189587253e5fef.json","e2e/test-results/crud-00-crud-runner-CRUD-严-9f43f--module-marketing-workflows-chromium/attachments/probe-C02-48de15c8c24ca5fe24b6f53142d0400691c8c042.json","e2e/test-results/crud-00-crud-runner-CRUD-严-a90c4--hr-HR管理-C01-创建成功-module-hr-chromium/attachments/probe-C01-f818831b38f2d4e3636d8f7dd76e495d182fb601.json","e2e/test-results/crud-00-crud-runner-CRUD-严-abcd6--module-livestream-groupbuy-chromium/attachments/probe-D02-eebbf9e1174cdae864be7eeee3a5788ffcf8cb62.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ac5c4-R管理-D01-删除-软-硬-可用-module-hr-chromium/attachments/probe-D01-3c71fad12d6286808f3e9c71d94288f229037ecf.json","e2e/test-results/crud-00-crud-runner-CRUD-严-acc0b--硬-可用-module-scheduled-jobs-chromium/attachments/probe-D01-85af9711d301ffcb44acd33384021ef037da1f13.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b2a67-权限矩阵-module-service-monitor-chromium/attachments/probe-P01-4af53bf12d378bc939cfc0a53be3e8d990d18dba.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b6f23--module-marketing-workflows-chromium/attachments/probe-E01-eda10ac82389df01d8f7cdc9dffb53666cd921b0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b9839-nse-E01-异常恢复-module-expense-chromium/attachments/probe-E01-3f84ff6f4268d3874c5036369de4e53783bfc37a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b9baf--hr-HR管理-U01-更新成功-module-hr-chromium/attachments/probe-U01-fe10685aa467ec104efcbae6e302be6136f9199b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-bb3b9--HR管理-U02-更新权限-冲突-module-hr-chromium/attachments/probe-U02-c2170f8cdefb41d0c6abb7b4154175453e2d9c0c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-be5a0-建校验失败-module-scheduled-jobs-chromium/attachments/probe-C02-ac2638b4015ec4938d89eb212a50ff880a1806a5.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c14e3-r-HR管理-C02-创建校验失败-module-hr-chromium/attachments/probe-C02-81afe0c0f8a2c9ab02a4d9e13f0c7a377115b839.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c4631-D02-恢复或不可见校验-module-process-chromium/attachments/probe-D02-701d651cb8ef1c54b8b2a206ba6c14b5aac9f055.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c888f-nse-R01-列表可读-module-expense-chromium/attachments/probe-R01-36e2399be38748a148955613be243f5dcf8607df.json","e2e/test-results/crud-00-crud-runner-CRUD-严-cb112-nue-R01-列表可读-module-revenue-chromium/attachments/probe-R01-501cd829befbdfa5e923560762b02617f0c09a46.json","e2e/test-results/crud-00-crud-runner-CRUD-严-cb57e-nse-R03-详情可读-module-expense-chromium/attachments/probe-R03-7418824d6fe12d76e108b8761b0b0436c8ea7703.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d4331-D02-恢复或不可见校验-module-expense-chromium/attachments/probe-D02-bd03007f12d1bd5559fda5084ea5d5ba37f1e608.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d7368--异常恢复-module-scheduled-jobs-chromium/attachments/probe-E01-2c8143fba9d8c78f2234730012b119f121992803.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d82a5-s-C02-创建校验失败-module-process-chromium/attachments/probe-C02-4c19484dc61fb155bdc2f0b210d020dc95920b51.json","e2e/test-results/crud-00-crud-runner-CRUD-严-dc55e--权限矩阵-module-scheduled-jobs-chromium/attachments/probe-P01-c2dfd61a5cb3446103b98aba740be4903cb90787.json","e2e/test-results/crud-00-crud-runner-CRUD-严-dca0b--module-livestream-groupbuy-chromium/attachments/probe-C01-6bf7bc683ad4a04e31438c3d359da10a532b9fce.json","e2e/test-results/crud-00-crud-runner-CRUD-严-dd0ab-异常恢复-module-service-monitor-chromium/attachments/probe-E01-e2c30ff70f9fe56863e337f1ad02350529661a0c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-de3c4-nse-U01-更新成功-module-expense-chromium/attachments/probe-U01-8389e985bca595d182f6a7023b2bdb1c917e336c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-e3cc6--module-livestream-groupbuy-chromium/attachments/probe-D01-a4c651e28f278863d39edb2c1825a3bb0cfb725c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ec85f-nue-C01-创建成功-module-revenue-chromium/attachments/probe-C01-6a9ef36d6de9a07007c027d4e5f55d972d005b77.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ef210-nse-C01-创建成功-module-expense-chromium/attachments/probe-C01-690c106a5a525320953c8a34450b711839dc75c3.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f702a--hr-HR管理-E01-异常恢复-module-hr-chromium/attachments/probe-E01-690953aac56aef8a6bedee0bc5f77fb119490888.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f885e-e-C02-创建校验失败-module-revenue-chromium/attachments/probe-C02-1fe53abd2096cc756472837b6fc61876d5c25c3a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fa9d7--module-livestream-groupbuy-chromium/attachments/probe-U01-5ef25a0886bd6972fd6083e3fb9fac205b1bcada.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fb79f--更新成功-module-scheduled-jobs-chromium/attachments/probe-U01-b339a2320bc3a51b6b82fbead9e1b4b866f6e817.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fc3c0-HR管理-D02-恢复或不可见校验-module-hr-chromium/attachments/probe-D02-5a0ab682e9a6d14387f871513f7e309667276477.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fcfb3-ess-E01-异常恢复-module-process-chromium/attachments/probe-E01-34ff57811356ce2d7aa30721572e65f4c46f32f2.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fd88c-e-R02-查询筛选分页-module-revenue-chromium/attachments/probe-R02-8cef2e4e24d044ffa41905ba5311d8a760246958.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fe272-01-删除-软-硬-可用-module-expense-chromium/attachments/probe-D01-f25aff1cf1f2343615d777cff993706d3e55530a.json","e2e/test-results/crud/probes/expense-C01-1778843481800.json","e2e/test-results/crud/probes/expense-C02-1778843483753.json","e2e/test-results/crud/probes/expense-D01-1778843501021.json","e2e/test-results/crud/probes/expense-D02-1778843503623.json","e2e/test-results/crud/probes/expense-E01-1778843494090.json","e2e/test-results/crud/probes/expense-P01-1778843491919.json","e2e/test-results/crud/probes/expense-R01-1778843485659.json","e2e/test-results/crud/probes/expense-R02-1778843487617.json","e2e/test-results/crud/probes/expense-R03-1778843489741.json","e2e/test-results/crud/probes/expense-U01-1778843496518.json","e2e/test-results/crud/probes/expense-U02-1778843498702.json","e2e/test-results/crud/probes/hr-C01-1778843457102.json","e2e/test-results/crud/probes/hr-C02-1778843459034.json","e2e/test-results/crud/probes/hr-D01-1778843477440.json","e2e/test-results/crud/probes/hr-D02-1778843479757.json","e2e/test-results/crud/probes/hr-E01-1778843470682.json","e2e/test-results/crud/probes/hr-P01-1778843468620.json","e2e/test-results/crud/probes/hr-U01-1778843473048.json","e2e/test-results/crud/probes/hr-U02-1778843475146.json","e2e/test-results/crud/probes/livestream-groupbuy-C01-1778843506522.json","e2e/test-results/crud/probes/livestream-groupbuy-C02-1778843508530.json","e2e/test-results/crud/probes/livestream-groupbuy-D01-1778843527950.json","e2e/test-results/crud/probes/livestream-groupbuy-D02-1778843530966.json","e2e/test-results/crud/probes/livestream-groupbuy-E01-1778843519744.json","e2e/test-results/crud/probes/livestream-groupbuy-P01-1778843517289.json","e2e/test-results/crud/probes/livestream-groupbuy-R01-1778843510619.json","e2e/test-results/crud/probes/livestream-groupbuy-R02-1778843512714.json","e2e/test-results/crud/probes/livestream-groupbuy-R03-1778843515051.json","e2e/test-results/crud/probes/livestream-groupbuy-U01-1778843522392.json","e2e/test-results/crud/probes/livestream-groupbuy-U02-1778843525115.json","e2e/test-results/crud/probes/marketing-workflows-C01-1778843533710.json","e2e/test-results/crud/probes/marketing-workflows-C02-1778843535920.json","e2e/test-results/crud/probes/marketing-workflows-D01-1778843556575.json","e2e/test-results/crud/probes/marketing-workflows-D02-1778843559847.json","e2e/test-results/crud/probes/marketing-workflows-E01-1778843548203.json","e2e/test-results/crud/probes/marketing-workflows-P01-1778843545636.json","e2e/test-results/crud/probes/marketing-workflows-R01-1778843538226.json","e2e/test-results/crud/probes/marketing-workflows-R02-1778843540557.json","e2e/test-results/crud/probes/marketing-workflows-R03-1778843543199.json","e2e/test-results/crud/probes/marketing-workflows-U01-1778843550955.json","e2e/test-results/crud/probes/marketing-workflows-U02-1778843553520.json","e2e/test-results/crud/probes/process-C01-1778843562669.json","e2e/test-results/crud/probes/process-C02-1778843565569.json","e2e/test-results/crud/probes/process-D01-1778843593120.json","e2e/test-results/crud/probes/process-D02-1778843597967.json","e2e/test-results/crud/probes/process-E01-1778843579914.json","e2e/test-results/crud/probes/process-P01-1778843576569.json","e2e/test-results/crud/probes/process-R01-1778843568100.json","e2e/test-results/crud/probes/process-R02-1778843570757.json","e2e/test-results/crud/probes/process-R03-1778843573566.json","e2e/test-results/crud/probes/process-U01-1778843584134.json","e2e/test-results/crud/probes/process-U02-1778843587668.json","e2e/test-results/crud/probes/revenue-C01-1778843601476.json","e2e/test-results/crud/probes/revenue-C02-1778843604481.json","e2e/test-results/crud/probes/revenue-D01-1778843634197.json","e2e/test-results/crud/probes/revenue-D02-1778843638058.json","e2e/test-results/crud/probes/revenue-E01-1778843622684.json","e2e/test-results/crud/probes/revenue-P01-1778843618368.json","e2e/test-results/crud/probes/revenue-R01-1778843607473.json","e2e/test-results/crud/probes/revenue-R02-1778843610470.json","e2e/test-results/crud/probes/revenue-R03-1778843613683.json","e2e/test-results/crud/probes/revenue-U01-1778843627021.json","e2e/test-results/crud/probes/revenue-U02-1778843630567.json","e2e/test-results/crud/probes/scheduled-jobs-C01-1778843641720.json","e2e/test-results/crud/probes/scheduled-jobs-C02-1778843645113.json","e2e/test-results/crud/probes/scheduled-jobs-D01-1778843674744.json","e2e/test-results/crud/probes/scheduled-jobs-D02-1778843678357.json","e2e/test-results/crud/probes/scheduled-jobs-E01-1778843664340.json","e2e/test-results/crud/probes/scheduled-jobs-P01-1778843661106.json","e2e/test-results/crud/probes/scheduled-jobs-U01-1778843667877.json","e2e/test-results/crud/probes/scheduled-jobs-U02-1778843671509.json","e2e/test-results/crud/probes/service-monitor-E01-1778843698784.json","e2e/test-results/crud/probes/service-monitor-P01-1778843695166.json","e2e/test-results/results.json"],"removed":["e2e/playwright-report/data/05302d27d828659868109fab8b09970a69ce6b50.json","e2e/playwright-report/data/0b19f1669441b0fa4a6eb395da6c660841e77197.json","e2e/playwright-report/data/0dca4b5b486b502c5e9fa7481ef53da32ceaa898.json","e2e/playwright-report/data/0f5010580cf8bf73167599859045a3f6519051c8.json","e2e/playwright-report/data/150a8cc39437ede9a49b27fe41602da258520827.json","e2e/playwright-report/data/196065ab6af7b3e76a58ed152202537c4dd59ee9.json","e2e/playwright-report/data/3820b706cfbfce9483e26b74fd2e6f987452cdad.json","e2e/playwright-report/data/582399cf8b6897d7e4f96cbe8a376c68d5953006.json","e2e/playwright-report/data/6199eb36710823e68489b29d98e1e74e8f64ed75.json","e2e/playwright-report/data/7f13ed211cab208055d2a11f1a2dee4c82f0a7a6.json","e2e/playwright-report/data/86fb5fe0ae42b92ba61ca35db958ea354b96b620.json","e2e/playwright-report/data/983257b8b92d7b4c19fc91cb83353fbca254ccfc.json","e2e/playwright-report/data/addb0b1ed718c7f4993fcd300664f3034fec7222.json","e2e/playwright-report/data/beecb14e75895260907b837ffe735067b111735a.json","e2e/playwright-report/data/cf00d9461c9de3f3ad96ebf7e8085b3548cf178d.json","e2e/playwright-report/data/d8303cd928e664751e39480aed1fa042085cc2b3.json","e2e/playwright-report/data/ecd99923b361cbfdd26c7c9a033740cf0ebb000c.json","e2e/playwright-report/data/f47b16417fd10545f1d83f275936fdfc95b2b73b.json","e2e/playwright-report/data/fb50ef4772288a0cd4ffce956779366eb9cb07fc.json","e2e/playwright-report/data/fe6449bb075483088176363336a32f22eba11cd8.json","e2e/test-results/.playwright-artifacts-1/08b625f83805f4e7c3248aa022530097.png","e2e/test-results/.playwright-artifacts-1/0c35c8124e5ecb2acdafd65bbfb995a4.png","e2e/test-results/.playwright-artifacts-1/13bce6ae3d196f64279194b031412233.png","e2e/test-results/.playwright-artifacts-1/2ac838a516d2386d206fea0a31e39478.png","e2e/test-results/.playwright-artifacts-1/321ff0acca1f5f18229f3efab964b1da.png","e2e/test-results/.playwright-artifacts-1/354683726911a0d3e35b8e9f8aaa6965.png","e2e/test-results/.playwright-artifacts-1/406bce65318d7adf368573166e780c92.png","e2e/test-results/.playwright-artifacts-1/43ddc5e5a50786d884f1e3d574dd48ee.png","e2e/test-results/.playwright-artifacts-1/4752967a19bea306860f69f4c3caaf3f.png","e2e/test-results/.playwright-artifacts-1/47b2af1cf0dae0594a91449b314127b9.png","e2e/test-results/.playwright-artifacts-1/47cd5ad24e5cb582de4cad3c69353224.png","e2e/test-results/.playwright-artifacts-1/4b5cd7d1e75c888a03dea338f103e040.png","e2e/test-results/.playwright-artifacts-1/62381313727ebeed6952b92b0ed159ca.png","e2e/test-results/.playwright-artifacts-1/6b8e1fc02952f902b38538ecf6e9fa77.png","e2e/test-results/.playwright-artifacts-1/793e12e88749b35228ee482012405411.png","e2e/test-results/.playwright-artifacts-1/874d416579f3ff01345ab240183ec4c3.png","e2e/test-results/.playwright-artifacts-1/8bab41e2550401645d552e93bd8c9a5a.png","e2e/test-results/.playwright-artifacts-1/a1bfcaed01cf8c923dba9024c2aa0fd2.png","e2e/test-results/.playwright-artifacts-1/a437585f8d29f09e77fdd3f2d81e094a.png","e2e/test-results/.playwright-artifacts-1/a71d96b72d08c65a39258f72386b953d.png","e2e/test-results/.playwright-artifacts-1/ac283cb6f7a57c9798712ab4c40fe564.png","e2e/test-results/.playwright-artifacts-1/ac900850996fc6873c6d900620a010f1.png","e2e/test-results/.playwright-artifacts-1/b1e04c91e098eeb0a79825c13a7efcec.png","e2e/test-results/.playwright-artifacts-1/b9e54cbe87014e315dd4d6dc9d864c02.png","e2e/test-results/.playwright-artifacts-1/bb4896dbb661433252a48faff2de3e5b.png","e2e/test-results/.playwright-artifacts-1/ce20ab09247ee7dc414edb7954744d32.png","e2e/test-results/.playwright-artifacts-1/d0fc8ed9d5694da131965d9f5acd252c.png","e2e/test-results/.playwright-artifacts-1/d1e62c71ae812b3f4a072b99e3f20524.png","e2e/test-results/.playwright-artifacts-1/d29c67ae8d8ed9c6fcffe88b597be423.png","e2e/test-results/.playwright-artifacts-1/d563c1c2c9e4ced07b7c6ad2c6c0e613.png","e2e/test-results/.playwright-artifacts-1/d61cd3bc9ceae3d53840e53ea715489b.png","e2e/test-results/.playwright-artifacts-1/d9574e36c16a647a1c80953308b76a94.png","e2e/test-results/.playwright-artifacts-1/dd3803a5a14894f308ce7340f64efec5.png","e2e/test-results/.playwright-artifacts-1/e32790ae09ae2a56ad60e654301a428e.png","e2e/test-results/.playwright-artifacts-1/e3cc6c626b5dcafebb325bd8ab3436ef.png","e2e/test-results/.playwright-artifacts-1/f9e99dfe2a53984e7edd593342072020.png","e2e/test-results/.playwright-artifacts-1/ff6360e809629b6835df61a9f143272c.png","e2e/test-results/crud-00-crud-runner-CRUD-严-045cc--删除-软-硬-可用-module-customers-chromium/attachments/probe-D01-43f3f534a654038b85c646056aec329dbfeb4d5e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-054a6-campaign-use-case-templates-chromium/attachments/probe-E01-4d1baa925eb58ef73b1455f4209348c5545a7853.json","e2e/test-results/crud-00-crud-runner-CRUD-严-06138-理-P01-权限矩阵-module-customers-chromium/attachments/probe-P01-7a92f62d842cf2e2b48d625d959c278eead6a2c3.json","e2e/test-results/crud-00-crud-runner-CRUD-严-0bf40-权限矩阵-module-community-tasks-chromium/attachments/probe-P01-63f62d0d51305376d92b9203df59dd8b65251744.json","e2e/test-results/crud-00-crud-runner-CRUD-严-0cce6-02-更新权限-冲突-module-customers-chromium/attachments/probe-U02-05cbd15501fdeef5549df1411fbdeea8437c82f8.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1834b-campaign-use-case-templates-chromium/attachments/probe-C01-37afe0f40ea27b25a9f39afe2b05a69332e4f322.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1cf09-限-冲突-module-community-tasks-chromium/attachments/probe-U02-bffeea7b8aa86e7be427acd8f1ee0a0641f4baff.json","e2e/test-results/crud-00-crud-runner-CRUD-严-31777-2-恢复或不可见校验-module-customers-chromium/attachments/probe-D02-68a93efaf83e70716278f522f79d3bb6c0f7700c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-35542-硬-可用-module-community-tasks-chromium/attachments/probe-D01-83f00e7a4c3e34327809f05d81b1bbd3526263c7.json","e2e/test-results/crud-00-crud-runner-CRUD-严-37eeb-02-恢复或不可见校验-module-payments-chromium/attachments/probe-D02-848ee1729a012c6a7a06ce871010d9978268307b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-3cbb5-campaign-use-case-templates-chromium/attachments/probe-U02-509eb90646189bf652af1c88e9cd1cb8174a9dca.json","e2e/test-results/crud-00-crud-runner-CRUD-严-506e1-理-U01-更新成功-module-customers-chromium/attachments/probe-U01-1be5f54a585011b9d5bab67c79f0559ea3d3f7c5.json","e2e/test-results/crud-00-crud-runner-CRUD-严-50f8a-campaign-use-case-templates-chromium/attachments/probe-U01-377222092b9e6179c098efdee1e54abf6e76bf00.json","e2e/test-results/crud-00-crud-runner-CRUD-严-58393-理-C01-创建成功-module-customers-chromium/attachments/probe-C01-c86240c4d7ed888a7197c8aae07dd4a7eefb80fe.json","e2e/test-results/crud-00-crud-runner-CRUD-严-5ba96-C02-创建校验失败-module-customers-chromium/attachments/probe-C02-6006078385f17c9afcfe778a4b0cc2734368a02d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-646f5-campaign-use-case-templates-chromium/attachments/probe-P01-33a3a681d465c3b56f3abf9066613c8f16f8b3b0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-8ca6a-campaign-use-case-templates-chromium/attachments/probe-C02-7c0a754109178224b015f3f7acc375b5f07a07d8.json","e2e/test-results/crud-00-crud-runner-CRUD-严-9133e-管理-U01-更新成功-module-payments-chromium/attachments/probe-U01-5f220592450d04364327909ce7d583e881d3b4c6.json","e2e/test-results/crud-00-crud-runner-CRUD-严-91f5b-异常恢复-module-community-tasks-chromium/attachments/probe-E01-f8a0bc08dc7f2343d611ed07c7ede70b6a20025c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-9ec63-可见校验-module-community-tasks-chromium/attachments/probe-D02-30f98230cb7e54a850734920a0ed03a2ba6f824d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-a53c8-校验失败-module-community-tasks-chromium/attachments/probe-C02-8d345b005c75eac17631171eebe6a59c05007a0e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ad0ea-campaign-use-case-templates-chromium/attachments/probe-D02-b1f0d50a90f1a0fefb5a588df068accacfa38ab0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c06c1-理-E01-异常恢复-module-customers-chromium/attachments/probe-E01-9e4c7bde17953e96291205fa1abbe737a3e54ff6.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d7360-campaign-use-case-templates-chromium/attachments/probe-D01-614dc7292ec9c770d888dd52540963b8bbd5b0ef.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ddee7-更新成功-module-community-tasks-chromium/attachments/probe-U01-043ceaacd67adf4e0792c0fb7650ddd4cc54fd1b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-eab02-创建成功-module-community-tasks-chromium/attachments/probe-C01-9346af4b6b5eb632d6e442aa4c6fbe134205c6b6.json","e2e/test-results/crud-00-crud-runner-CRUD-严-efadf-1-删除-软-硬-可用-module-payments-chromium/attachments/probe-D01-72d8861cadc40e3b03cd6731b2208c7eb607255f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f4903-U02-更新权限-冲突-module-payments-chromium/attachments/probe-U02-1cb4e1caa9d34f6b1b7c369845e29a7a3e600b9c.json","e2e/test-results/crud/probes/campaign-use-case-templates-C01-1778839948093.json","e2e/test-results/crud/probes/campaign-use-case-templates-C02-1778839950142.json","e2e/test-results/crud/probes/campaign-use-case-templates-D01-1778839971761.json","e2e/test-results/crud/probes/campaign-use-case-templates-D02-1778839974477.json","e2e/test-results/crud/probes/campaign-use-case-templates-E01-1778839963966.json","e2e/test-results/crud/probes/campaign-use-case-templates-P01-1778839961622.json","e2e/test-results/crud/probes/campaign-use-case-templates-U01-1778839966477.json","e2e/test-results/crud/probes/campaign-use-case-templates-U02-1778839969230.json","e2e/test-results/crud/probes/community-tasks-C01-1778839976877.json","e2e/test-results/crud/probes/community-tasks-C02-1778839978977.json","e2e/test-results/crud/probes/community-tasks-D01-1778839999727.json","e2e/test-results/crud/probes/community-tasks-D02-1778840002221.json","e2e/test-results/crud/probes/community-tasks-E01-1778839992300.json","e2e/test-results/crud/probes/community-tasks-P01-1778839989804.json","e2e/test-results/crud/probes/community-tasks-U01-1778839994825.json","e2e/test-results/crud/probes/community-tasks-U02-1778839997371.json","e2e/test-results/crud/probes/customers-C01-1778840004277.json","e2e/test-results/crud/probes/customers-C02-1778840006174.json","e2e/test-results/crud/probes/customers-D01-1778840028720.json","e2e/test-results/crud/probes/customers-D02-1778840032953.json","e2e/test-results/crud/probes/customers-E01-1778840019258.json","e2e/test-results/crud/probes/customers-P01-1778840016802.json","e2e/test-results/crud/probes/customers-U01-1778840021857.json","e2e/test-results/crud/probes/customers-U02-1778840024544.json","e2e/test-results/crud/probes/payments-D01-1778840044821.json","e2e/test-results/crud/probes/payments-D02-1778840049762.json","e2e/test-results/crud/probes/payments-U01-1778840036925.json","e2e/test-results/crud/probes/payments-U02-1778840041518.json"],"modified":["backend/src/modules/contracts/payment-plan.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/marketing-workflows/marketing-workflow.controller.ts","backend/src/modules/process/process.service.ts","backend/src/modules/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/sla/sla.service.ts","backend/src/modules/supply-chain/purchase-order.service.ts","backend/src/modules/supply-chain/supply-chain.controller.ts","backend/src/shared/utils/biz-code.test.ts","backend/src/shared/utils/biz-code.ts","e2e/.auth/admin.json","e2e/playwright-report/index.html","e2e/tests/crud/module-catalog.overrides.ts"]},{"id":"3d7c44147a4145352342145e75f320d69a54c310","message":"Consolidate payment plan biz-code sequence sync\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/3d7c44147a4145352342145e75f320d69a54c310","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-15T05:56:12-07:00","added":[],"removed":[],"modified":["backend/src/modules/contracts/payment-plan.service.ts","backend/src/shared/utils/biz-code.test.ts","backend/src/shared/utils/biz-code.ts"]},{"id":"e4d506b7ee0e318fdc58032b537c6f24c21dd0b7","message":"Fix ContractDetailPage.initiateSignature signatory contract\n\n后端 /contracts/:id/initiate-sign 的 body 为 .strict(),仅接受\nmessage/expire_at,不接受 signatories(之前 Page Object 传 signatories\n且字段用 role/order 均非 contractSignatorySchema 合法键,导致 400\nUnrecognized key)。改为正确流程:逐个经 POST /:id/signatories 落库\n(name/phone 必填 + sign_order,snake_case),再以空 body 发起签署。\n\n隔离复跑验证:initiate-sign 的 \"Unrecognized key(s): signatories\" 400\n已消除,错误推进到业务状态机层(说明 payload 契约已正确)。\n\n注:contract-signing-flow 残余失败根因为该 spec 多角色高频 robustLogin\n触发后端账号锁定(已知测试基建债,需后端测试态放宽登录锁定单独处理),\n与本修复及产品代码均无关。\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/e4d506b7ee0e318fdc58032b537c6f24c21dd0b7","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-15T05:53:29-07:00","added":[],"removed":[],"modified":["e2e/pages/ContractDetailPage.ts"]}],"total_commits":0,"head_commit":{"id":"e8e3ea6b39e0d7d48f888052ef823f11e2327271","message":"Merge remote-tracking branch 'origin/main' into claude/bold-raman-0239cc\n\n# Conflicts:\n#\tfrontend/src/api/modules/course-marketplace.ts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e8e3ea6b39e0d7d48f888052ef823f11e2327271","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-05-15T06:23:04-07:00","added":["backend/prisma/migrations/20260525010000_add_predictive_analytics_models/migration.sql","e2e/.auth/backups/admin.finance-20260514T201242.json","e2e/.auth/backups/admin.finance-active-20260514T201242.json","e2e/playwright-report/data/00e381d1cb05fdf78e491b2aa1a73cf04f1ec164.json","e2e/playwright-report/data/061cf6904e321f7ae3c113cadbebbd6fd8a871a6.json","e2e/playwright-report/data/08232f62a9085d16a1613ba4c7e26315a40c7b88.json","e2e/playwright-report/data/0f2a6df6d50aa2eae86cf78fa0b9220643c81b91.json","e2e/playwright-report/data/0f9aec4029742041ac66011410f193339c445980.json","e2e/playwright-report/data/11ccab352e3bf269e50f6c02d273f76ee080b92a.json","e2e/playwright-report/data/13447a4dcba39b8b4dfcba9ca31bb2a1af0e432b.json","e2e/playwright-report/data/17e41f41aca98c96f274b0c109da7839d2b2cdd4.json","e2e/playwright-report/data/197860e14c9cc8eb33803d507832834ef63734eb.json","e2e/playwright-report/data/1c0b59810a3381535b6c0d7c4521be827302de6a.json","e2e/playwright-report/data/1e40a45d51c7bcbc84fede6fd89f1abec8347015.json","e2e/playwright-report/data/21d0d2e6791bd3ec0cdf861a4ebe11219530c7a0.json","e2e/playwright-report/data/22399dc887e7368bf398fa360d07e0455715af3c.json","e2e/playwright-report/data/26bbfdfd3545b2447af491d526e6f0d577152097.json","e2e/playwright-report/data/28647c54bac4fd2b7e92a5014c37bf2ebd8a106f.json","e2e/playwright-report/data/28cff9f50fa8ab8fc044d88af9557b4fe002be87.json","e2e/playwright-report/data/28fab73ae4f92e5218f7176647bb756d883db2b4.json","e2e/playwright-report/data/2df0cc801d205b47615d756d6da2a7311b60e1f8.json","e2e/playwright-report/data/2eebca5e935ebd809361b84b37b8bae67e4345ca.json","e2e/playwright-report/data/30403331f26cab9078cf6aa95eba21a055cfe472.json","e2e/playwright-report/data/307f2420a69888bb5b1c4c21fd329a70b46824d8.json","e2e/playwright-report/data/318816dc8ec2fdb25104653c96d4c3dc7657b297.json","e2e/playwright-report/data/31ec607a73a68e1f5601d26bc13ea11874fb5ce3.json","e2e/playwright-report/data/33f6412f2dbf6a90a0361edb401556546bbcfd23.json","e2e/playwright-report/data/35eb8b93d60f4d77b85b28ae26d386ed5c883622.json","e2e/playwright-report/data/37e36df5e5cb10655abf7901e6051c686b482b0f.json","e2e/playwright-report/data/3d6628857b08951df18550fb3eb12dba343338b0.json","e2e/playwright-report/data/4369b3a37802d8cfad8e930d8bd53f642a59b5c7.json","e2e/playwright-report/data/4745edf5567704fe0521fc20d31266aa79e83e87.json","e2e/playwright-report/data/555c0354a7d75b622f4e8c57fb12b7d9821c7df7.json","e2e/playwright-report/data/556b911a43bb0959963a6559ebbda6848f9f5fd2.json","e2e/playwright-report/data/58c416fcb4ffd9e5211cd2040bee91d75f2d3863.json","e2e/playwright-report/data/68edafd87f68764b794e126f646c9e376b2b0040.json","e2e/playwright-report/data/6bf721cd1683862d7fb9dc1dd092484d6bf7f43d.json","e2e/playwright-report/data/6f335a0d9dbb714f4ea8ba450d706af08c7c1752.json","e2e/playwright-report/data/6ffdede50d6a69ce0e6af6c6bc1e355b5bcc99ae.json","e2e/playwright-report/data/7d96dad60d9c8d17bc600f4b489628f79f93a2cc.json","e2e/playwright-report/data/7db5fb585db58db72c847254e5698e01ba814196.json","e2e/playwright-report/data/817b6dd7a3b5e6a9f053133ef5a966ae0357522b.json","e2e/playwright-report/data/837b258ffa22999b552bab1dc72eefb7bcc7fca1.json","e2e/playwright-report/data/86e779ac06ec1f6c9408d995aadc72eb59085af8.json","e2e/playwright-report/data/8ad95aa4269252c80c8515e252feee8c36c880b4.json","e2e/playwright-report/data/8f877ab763dc94bcb652114f00fefeece62de5e5.json","e2e/playwright-report/data/901a31131a6718a111aecacc6b0bce5e2f7cd4cb.json","e2e/playwright-report/data/9301e5ff43bd228cbd6a5622ea7ca16a629f6419.json","e2e/playwright-report/data/96903715869c7ac52a78478ad4d7cb880f9445fd.json","e2e/playwright-report/data/9b524f1f5c16b532d0a830b8e7cb17c54a8fd338.json","e2e/playwright-report/data/a51c88f6c3cee5dc563989cbeea0f8e6f5c957c6.json","e2e/playwright-report/data/a692e7634bc8636f6b97ba2d565b2e3c843a166a.json","e2e/playwright-report/data/a9a83d8d0fca1a3c5ce68b69df80ead85c6c6cf0.json","e2e/playwright-report/data/aa4ba212c01c02ce5410ab1f052fa7e84dcd2204.json","e2e/playwright-report/data/ac4ff8d59100c86ea4dc084aea8cefa47e6baab8.json","e2e/playwright-report/data/ad7918c033202e3263f9464d54c355a922925512.json","e2e/playwright-report/data/b4ba1159b638b4894775d963da1e32bbe7aca0d3.json","e2e/playwright-report/data/b5bf30bc96fe0a8ee2844b6f4686418fb017117d.json","e2e/playwright-report/data/b8cd0bb416c436db52825f69d0a1b7766ac9c523.json","e2e/playwright-report/data/bc1553608f948f62c264e17ea2f0644146fcf825.json","e2e/playwright-report/data/bcab3c3f639fdfb52914301dc23870e0391e27ee.json","e2e/playwright-report/data/bdad31c14fa11a635099c99a3bd228490dfaa9d6.json","e2e/playwright-report/data/bee6b1e5bf2e440d5d189ffe07aa395a28bfa77a.json","e2e/playwright-report/data/c0e94d0b7d003b5362ebdadbe5b0365cca908472.json","e2e/playwright-report/data/c0ee9127168a36e14288fced27491bfb142a7aaf.json","e2e/playwright-report/data/c886dbaf07a672df72bcc9dd72f5bcf9ac11a313.json","e2e/playwright-report/data/da10ca0e27291df7832087c7569303688a880777.json","e2e/playwright-report/data/dddaeb32974dc0a6d70d4cd9da341cce590d6e36.json","e2e/playwright-report/data/e1e9d601c3cc7fde890d8da2a98c15f20e173bb7.json","e2e/playwright-report/data/e311a05eb3ab7ce3435a8398cc039d1cf405ba3e.json","e2e/playwright-report/data/ecfea14c233d7f949034a294aa590ef8bf14986b.json","e2e/playwright-report/data/f0c7f784cca1bd6378e8c8bcd81d3402a95152e2.json","e2e/playwright-report/data/f5258def8e557b72443c36fdb638a548794aa60f.json","e2e/playwright-report/data/fc5a06dd26c6a4b6d82405bf2d35cc7c24d23caf.json","e2e/playwright-report/data/fd1950dbedcc3177af1cdee0ba75c156d0ef239e.json","e2e/playwright-report/data/feed8576478b002ab58be5e76c096a2b06d25c18.json","e2e/test-results/crud-00-crud-runner-CRUD-严-00c50--module-livestream-groupbuy-chromium/attachments/probe-U02-c3d03780711008e1499ef57e6ea5cfd6392aefcf.json","e2e/test-results/crud-00-crud-runner-CRUD-严-01031-e-C02-创建校验失败-module-expense-chromium/attachments/probe-C02-be66c12a21a608a7302f8ab2efc27b42671ddbb0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-062a1--U02-更新权限-冲突-module-revenue-chromium/attachments/probe-U02-cc9bd5c263b450974a9f899b0df9b33bb98750d4.json","e2e/test-results/crud-00-crud-runner-CRUD-严-08c60--hr-HR管理-P01-权限矩阵-module-hr-chromium/attachments/probe-P01-21c443a07127b9d0a4f6f66f6da806b0d0a5a0d7.json","e2e/test-results/crud-00-crud-runner-CRUD-严-0c744--module-livestream-groupbuy-chromium/attachments/probe-R01-347f123ff26940465bddbdda901bfcd3869202ba.json","e2e/test-results/crud-00-crud-runner-CRUD-严-0cb7d-权限-冲突-module-scheduled-jobs-chromium/attachments/probe-U02-1dcc0292e0c13fc1af36121231e39318df01a4f9.json","e2e/test-results/crud-00-crud-runner-CRUD-严-0da02--module-marketing-workflows-chromium/attachments/probe-U02-c810f048362694f759d0e49b75d8b3d26eb46fb6.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1cc86-nse-P01-权限矩阵-module-expense-chromium/attachments/probe-P01-20f0a6fb2888ef702ea606bfe47245a3c896918f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-1f1fc-ess-C01-创建成功-module-process-chromium/attachments/probe-C01-dce15d16f321febe336e3462b618c6e22a006c6f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-20e0e--module-marketing-workflows-chromium/attachments/probe-R01-06e56e447a5e2255a0a94dd4d2b94541f18a4385.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2346a-ess-R03-详情可读-module-process-chromium/attachments/probe-R03-b17bd01b2d86948664199d87222eddb6698f49c7.json","e2e/test-results/crud-00-crud-runner-CRUD-严-25dfd-D02-恢复或不可见校验-module-revenue-chromium/attachments/probe-D02-ea1cc08fa0c3bca1e976cbb81bbcb4c67a4fba44.json","e2e/test-results/crud-00-crud-runner-CRUD-严-27b95--module-marketing-workflows-chromium/attachments/probe-D01-08d1d091246c2963a477a7f37a3611622e7cd7f4.json","e2e/test-results/crud-00-crud-runner-CRUD-严-28be2--module-livestream-groupbuy-chromium/attachments/probe-C02-53d2f446d32ec60e858914e76ca1cd16fc40ad3e.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2f127--module-marketing-workflows-chromium/attachments/probe-C01-ecc99d26b6c20d2f8e5248444e0d132204d823c4.json","e2e/test-results/crud-00-crud-runner-CRUD-严-2f802--module-marketing-workflows-chromium/attachments/probe-R03-79199c1c71f9937ef54c32f62a563c197e99ce5d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-307d0-不可见校验-module-scheduled-jobs-chromium/attachments/probe-D02-58b5bb5822028b8f43106a235e04bb292fc1078f.json","e2e/test-results/crud-00-crud-runner-CRUD-严-36319--module-livestream-groupbuy-chromium/attachments/probe-R02-cf165397b37618df1184487bb8efc4682fa3d71d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-3847b--module-livestream-groupbuy-chromium/attachments/probe-P01-23198a34eb309f336f1578cd8d6987ad35cb295d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-39f88--module-marketing-workflows-chromium/attachments/probe-P01-8074ab0d4d06f6cf5747c9dee037535ba0bd2e9c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-3f077-ess-R01-列表可读-module-process-chromium/attachments/probe-R01-69a36a099bb268c94624fbc339eef9e765a14277.json","e2e/test-results/crud-00-crud-runner-CRUD-严-4350e--U02-更新权限-冲突-module-expense-chromium/attachments/probe-U02-691c0e478ddd7fa07870fa5b22af204d347c8c51.json","e2e/test-results/crud-00-crud-runner-CRUD-严-45f32--module-marketing-workflows-chromium/attachments/probe-U01-3a6f218bc2abaccc24b2686c2b2d26f9c2dce11d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-539e3-ess-P01-权限矩阵-module-process-chromium/attachments/probe-P01-b07f24275e305a83fb3d5b3b81272116e0fec96c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-5915a--U02-更新权限-冲突-module-process-chromium/attachments/probe-U02-eda0b0c4614fe22d88b95ff47fc1d0385a9b400d.json","e2e/test-results/crud-00-crud-runner-CRUD-严-69632-nue-P01-权限矩阵-module-revenue-chromium/attachments/probe-P01-b8c010f9af7ebf7e9744eabd987532919271d538.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6a8a6-nue-E01-异常恢复-module-revenue-chromium/attachments/probe-E01-312d34912b14ab7350f24bb59b4c763404959d9c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6b362--module-marketing-workflows-chromium/attachments/probe-D02-dc0d98f60a788dfcb7aaf09c08ba0e57715599ed.json","e2e/test-results/crud-00-crud-runner-CRUD-严-6fb52--module-marketing-workflows-chromium/attachments/probe-R02-9372d481f12c8872e916186f5898a35287583f95.json","e2e/test-results/crud-00-crud-runner-CRUD-严-70e3c-e-R02-查询筛选分页-module-expense-chromium/attachments/probe-R02-161f349dd1425a2a58e5edb73e15f272d32d4c77.json","e2e/test-results/crud-00-crud-runner-CRUD-严-78db2-01-删除-软-硬-可用-module-process-chromium/attachments/probe-D01-f55b8f1d1f0206660c4a0f71838db108e73e0139.json","e2e/test-results/crud-00-crud-runner-CRUD-严-80eb9--module-livestream-groupbuy-chromium/attachments/probe-R03-620e7a4cc3ed246ae41d7aa9b3d3bf7014d75132.json","e2e/test-results/crud-00-crud-runner-CRUD-严-82c54-nue-U01-更新成功-module-revenue-chromium/attachments/probe-U01-3887ac65321b31f5f8a800593f89cba199df30ab.json","e2e/test-results/crud-00-crud-runner-CRUD-严-85f82--module-livestream-groupbuy-chromium/attachments/probe-E01-f306d3644fe829029ad3dc37c8717eb304095e50.json","e2e/test-results/crud-00-crud-runner-CRUD-严-87c71-01-删除-软-硬-可用-module-revenue-chromium/attachments/probe-D01-508209caf4130cc0cb089fa97147c1495119ed5b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-8c9a0--创建成功-module-scheduled-jobs-chromium/attachments/probe-C01-ac09e799e3f7665e1efdf0bd61c83fef04ec28af.json","e2e/test-results/crud-00-crud-runner-CRUD-严-92cb7-ess-U01-更新成功-module-process-chromium/attachments/probe-U01-9884da28f8d5b2c3093c3da9b986a2f934949595.json","e2e/test-results/crud-00-crud-runner-CRUD-严-9a045-s-R02-查询筛选分页-module-process-chromium/attachments/probe-R02-eb18491b106dc601e569f742c78c06aaa653f0e9.json","e2e/test-results/crud-00-crud-runner-CRUD-严-9cb36-nue-R03-详情可读-module-revenue-chromium/attachments/probe-R03-bb544af9fa07f54e092a504014189587253e5fef.json","e2e/test-results/crud-00-crud-runner-CRUD-严-9f43f--module-marketing-workflows-chromium/attachments/probe-C02-48de15c8c24ca5fe24b6f53142d0400691c8c042.json","e2e/test-results/crud-00-crud-runner-CRUD-严-a90c4--hr-HR管理-C01-创建成功-module-hr-chromium/attachments/probe-C01-f818831b38f2d4e3636d8f7dd76e495d182fb601.json","e2e/test-results/crud-00-crud-runner-CRUD-严-abcd6--module-livestream-groupbuy-chromium/attachments/probe-D02-eebbf9e1174cdae864be7eeee3a5788ffcf8cb62.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ac5c4-R管理-D01-删除-软-硬-可用-module-hr-chromium/attachments/probe-D01-3c71fad12d6286808f3e9c71d94288f229037ecf.json","e2e/test-results/crud-00-crud-runner-CRUD-严-acc0b--硬-可用-module-scheduled-jobs-chromium/attachments/probe-D01-85af9711d301ffcb44acd33384021ef037da1f13.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b2a67-权限矩阵-module-service-monitor-chromium/attachments/probe-P01-4af53bf12d378bc939cfc0a53be3e8d990d18dba.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b6f23--module-marketing-workflows-chromium/attachments/probe-E01-eda10ac82389df01d8f7cdc9dffb53666cd921b0.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b9839-nse-E01-异常恢复-module-expense-chromium/attachments/probe-E01-3f84ff6f4268d3874c5036369de4e53783bfc37a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-b9baf--hr-HR管理-U01-更新成功-module-hr-chromium/attachments/probe-U01-fe10685aa467ec104efcbae6e302be6136f9199b.json","e2e/test-results/crud-00-crud-runner-CRUD-严-bb3b9--HR管理-U02-更新权限-冲突-module-hr-chromium/attachments/probe-U02-c2170f8cdefb41d0c6abb7b4154175453e2d9c0c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-be5a0-建校验失败-module-scheduled-jobs-chromium/attachments/probe-C02-ac2638b4015ec4938d89eb212a50ff880a1806a5.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c14e3-r-HR管理-C02-创建校验失败-module-hr-chromium/attachments/probe-C02-81afe0c0f8a2c9ab02a4d9e13f0c7a377115b839.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c4631-D02-恢复或不可见校验-module-process-chromium/attachments/probe-D02-701d651cb8ef1c54b8b2a206ba6c14b5aac9f055.json","e2e/test-results/crud-00-crud-runner-CRUD-严-c888f-nse-R01-列表可读-module-expense-chromium/attachments/probe-R01-36e2399be38748a148955613be243f5dcf8607df.json","e2e/test-results/crud-00-crud-runner-CRUD-严-cb112-nue-R01-列表可读-module-revenue-chromium/attachments/probe-R01-501cd829befbdfa5e923560762b02617f0c09a46.json","e2e/test-results/crud-00-crud-runner-CRUD-严-cb57e-nse-R03-详情可读-module-expense-chromium/attachments/probe-R03-7418824d6fe12d76e108b8761b0b0436c8ea7703.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d4331-D02-恢复或不可见校验-module-expense-chromium/attachments/probe-D02-bd03007f12d1bd5559fda5084ea5d5ba37f1e608.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d7368--异常恢复-module-scheduled-jobs-chromium/attachments/probe-E01-2c8143fba9d8c78f2234730012b119f121992803.json","e2e/test-results/crud-00-crud-runner-CRUD-严-d82a5-s-C02-创建校验失败-module-process-chromium/attachments/probe-C02-4c19484dc61fb155bdc2f0b210d020dc95920b51.json","e2e/test-results/crud-00-crud-runner-CRUD-严-dc55e--权限矩阵-module-scheduled-jobs-chromium/attachments/probe-P01-c2dfd61a5cb3446103b98aba740be4903cb90787.json","e2e/test-results/crud-00-crud-runner-CRUD-严-dca0b--module-livestream-groupbuy-chromium/attachments/probe-C01-6bf7bc683ad4a04e31438c3d359da10a532b9fce.json","e2e/test-results/crud-00-crud-runner-CRUD-严-dd0ab-异常恢复-module-service-monitor-chromium/attachments/probe-E01-e2c30ff70f9fe56863e337f1ad02350529661a0c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-de3c4-nse-U01-更新成功-module-expense-chromium/attachments/probe-U01-8389e985bca595d182f6a7023b2bdb1c917e336c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-e3cc6--module-livestream-groupbuy-chromium/attachments/probe-D01-a4c651e28f278863d39edb2c1825a3bb0cfb725c.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ec85f-nue-C01-创建成功-module-revenue-chromium/attachments/probe-C01-6a9ef36d6de9a07007c027d4e5f55d972d005b77.json","e2e/test-results/crud-00-crud-runner-CRUD-严-ef210-nse-C01-创建成功-module-expense-chromium/attachments/probe-C01-690c106a5a525320953c8a34450b711839dc75c3.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f702a--hr-HR管理-E01-异常恢复-module-hr-chromium/attachments/probe-E01-690953aac56aef8a6bedee0bc5f77fb119490888.json","e2e/test-results/crud-00-crud-runner-CRUD-严-f885e-e-C02-创建校验失败-module-revenue-chromium/attachments/probe-C02-1fe53abd2096cc756472837b6fc61876d5c25c3a.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fa9d7--module-livestream-groupbuy-chromium/attachments/probe-U01-5ef25a0886bd6972fd6083e3fb9fac205b1bcada.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fb79f--更新成功-module-scheduled-jobs-chromium/attachments/probe-U01-b339a2320bc3a51b6b82fbead9e1b4b866f6e817.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fc3c0-HR管理-D02-恢复或不可见校验-module-hr-chromium/attachments/probe-D02-5a0ab682e9a6d14387f871513f7e309667276477.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fcfb3-ess-E01-异常恢复-module-process-chromium/attachments/probe-E01-34ff57811356ce2d7aa30721572e65f4c46f32f2.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fd88c-e-R02-查询筛选分页-module-revenue-chromium/attachments/probe-R02-8cef2e4e24d044ffa41905ba5311d8a760246958.json","e2e/test-results/crud-00-crud-runner-CRUD-严-fe272-01-删除-软-硬-可用-module-expense-chromium/attachments/probe-D01-f25aff1cf1f2343615d777cff993706d3e55530a.json","e2e/test-results/crud/probes/expense-C01-1778843481800.json","e2e/test-results/crud/probes/expense-C02-1778843483753.json","e2e/test-results/crud/probes/expense-D01-1778843501021.json","e2e/test-results/crud/probes/expense-D02-1778843503623.json","e2e/test-results/crud/probes/expense-E01-1778843494090.json","e2e/test-results/crud/probes/expense-P01-1778843491919.json","e2e/test-results/crud/probes/expense-R01-1778843485659.json","e2e/test-results/crud/probes/expense-R02-1778843487617.json","e2e/test-results/crud/probes/expense-R03-1778843489741.json","e2e/test-results/crud/probes/expense-U01-1778843496518.json","e2e/test-results/crud/probes/expense-U02-1778843498702.json","e2e/test-results/crud/probes/hr-C01-1778843457102.json","e2e/test-results/crud/probes/hr-C02-1778843459034.json","e2e/test-results/crud/probes/hr-D01-1778843477440.json","e2e/test-results/crud/probes/hr-D02-1778843479757.json","e2e/test-results/crud/probes/hr-E01-1778843470682.json","e2e/test-results/crud/probes/hr-P01-1778843468620.json","e2e/test-results/crud/probes/hr-U01-1778843473048.json","e2e/test-results/crud/probes/hr-U02-1778843475146.json","e2e/test-results/crud/probes/livestream-groupbuy-C01-1778843506522.json","e2e/test-results/crud/probes/livestream-groupbuy-C02-1778843508530.json","e2e/test-results/crud/probes/livestream-groupbuy-D01-1778843527950.json","e2e/test-results/crud/probes/livestream-groupbuy-D02-1778843530966.json","e2e/test-results/crud/probes/livestream-groupbuy-E01-1778843519744.json","e2e/test-results/crud/probes/livestream-groupbuy-P01-1778843517289.json","e2e/test-results/crud/probes/livestream-groupbuy-R01-1778843510619.json","e2e/test-results/crud/probes/livestream-groupbuy-R02-1778843512714.json","e2e/test-results/crud/probes/livestream-groupbuy-R03-1778843515051.json","e2e/test-results/crud/probes/livestream-groupbuy-U01-1778843522392.json","e2e/test-results/crud/probes/livestream-groupbuy-U02-1778843525115.json","e2e/test-results/crud/probes/marketing-workflows-C01-1778843533710.json","e2e/test-results/crud/probes/marketing-workflows-C02-1778843535920.json","e2e/test-results/crud/probes/marketing-workflows-D01-1778843556575.json","e2e/test-results/crud/probes/marketing-workflows-D02-1778843559847.json","e2e/test-results/crud/probes/marketing-workflows-E01-1778843548203.json","e2e/test-results/crud/probes/marketing-workflows-P01-1778843545636.json","e2e/test-results/crud/probes/marketing-workflows-R01-1778843538226.json","e2e/test-results/crud/probes/marketing-workflows-R02-1778843540557.json","e2e/test-results/crud/probes/marketing-workflows-R03-1778843543199.json","e2e/test-results/crud/probes/marketing-workflows-U01-1778843550955.json","e2e/test-results/crud/probes/marketing-workflows-U02-1778843553520.json","e2e/test-results/crud/probes/process-C01-1778843562669.json","e2e/test-results/crud/probes/process-C02-1778843565569.json","e2e/test-results/crud/probes/process-D01-1778843593120.json","e2e/test-results/crud/probes/process-D02-1778843597967.json","e2e/test-results/crud/probes/process-E01-1778843579914.json","e2e/test-results/crud/probes/process-P01-1778843576569.json","e2e/test-results/crud/probes/process-R01-1778843568100.json","e2e/test-results/crud/probes/process-R02-1778843570757.json","e2e/test-results/crud/probes/process-R03-1778843573566.json","e2e/test-results/crud/probes/process-U01-1778843584134.json","e2e/test-results/crud/probes/process-U02-1778843587668.json","e2e/test-results/crud/probes/revenue-C01-1778843601476.json","e2e/test-results/crud/probes/revenue-C02-1778843604481.json","e2e/test-results/crud/probes/revenue-D01-1778843634197.json","e2e/test-results/crud/probes/revenue-D02-1778843638058.json","e2e/test-results/crud/probes/revenue-E01-1778843622684.json","e2e/test-results/crud/probes/revenue-P01-1778843618368.json","e2e/test-results/crud/probes/revenue-R01-1778843607473.json","e2e/test-results/crud/probes/revenue-R02-1778843610470.json","e2e/test-results/crud/probes/revenue-R03-1778843613683.json","e2e/test-results/crud/probes/revenue-U01-1778843627021.json","e2e/test-results/crud/probes/revenue-U02-1778843630567.json","e2e/test-results/crud/probes/scheduled-jobs-C01-1778843641720.json","e2e/test-results/crud/probes/scheduled-jobs-C02-1778843645113.json","e2e/test-results/crud/probes/scheduled-jobs-D01-1778843674744.json","e2e/test-results/crud/probes/scheduled-jobs-D02-1778843678357.json","e2e/test-results/crud/probes/scheduled-jobs-E01-1778843664340.json","e2e/test-results/crud/probes/scheduled-jobs-P01-1778843661106.json","e2e/test-results/crud/probes/scheduled-jobs-U01-1778843667877.json","e2e/test-results/crud/probes/scheduled-jobs-U02-1778843671509.json","e2e/test-results/crud/probes/service-monitor-E01-1778843698784.json","e2e/test-results/crud/probes/service-monitor-P01-1778843695166.json","frontend/src/api/modules/agent-sessions.ts","frontend/src/views/ai-agents/AgentSessions.vue"],"removed":[],"modified":["backend/prisma/migrations/20260522000000_broaden_ai_agents_coach_agent_types/migration.sql","backend/prisma/schema.prisma","backend/prisma/schema/marketing.prisma","backend/src/modules/campaign-library/campaign-library.service.ts","backend/src/modules/contracts/payment-plan.service.ts","backend/src/modules/dimension-transform/dimension-transform.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/marketing-workflows/marketing-workflow.controller.ts","backend/src/modules/orders/order.service.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/revenue/sales-commission.service.ts","backend/src/modules/scheduled-jobs/scheduled-jobs.service.ts","backend/src/modules/sla/sla.service.ts","backend/src/modules/supply-chain/purchase-order.service.ts","backend/src/modules/supply-chain/supply-chain.controller.ts","backend/src/shared/utils/biz-code.test.ts","backend/src/shared/utils/biz-code.ts","e2e/.auth/admin.json","e2e/pages/ContractDetailPage.ts","e2e/playwright-report/index.html","e2e/scripts/verify-view-governance.mjs","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/auth/sales-mainline-flow-smoke.spec.ts","e2e/tests/business-flows/contract-signing-flow.spec.ts","e2e/tests/comprehensive-domain-tests.spec.ts","e2e/tests/comprehensive/13-centers-full-interaction.spec.ts","e2e/tests/comprehensive/all-menus-full-e2e.spec.ts","e2e/tests/comprehensive/all-menus-quick-smoke.spec.ts","e2e/tests/crud/00-crud-runner.spec.ts","e2e/tests/crud/module-catalog.overrides.ts","e2e/tests/fixtures/business-flow-api.ts","e2e/tests/fixtures/test-base.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/src/router/modules/ai-agents.ts","frontend/src/views/marketing-forms/Index.vue"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5335808,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":2,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-05-15T15:02:21+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
|
1778853215
|
1778853277
|
0
|
1778853213
|
1778853277
|
|
|
0
|
Edit
Delete
|
|
23226
|
Merge remote-tracking branch 'origin/main' Merge remote-tracking branch 'origin/main' into claude/bold-raman-0239cc...
|
6
|
5
|
ci.yml
|
23144
|
5
|
0
|
refs/pull/4/head
|
e8e3ea6b39e0d7d48f888052ef823f11e2327271
|
0
|
0
|
0
|
pull_request_sync
|
{"action":"synchronized","numb {"action":"synchronized","number":4,"pull_request":{"id":12,"url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/4","number":4,"user":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"title":"fix(governance): Wave 4 解封 + capability-graph HIGH 清零 + vitest 7 项真回归","body":"## 模块治理摘要\n\n- 模块:`capability-graph` / `ai-review-queue` / `campaigns` / `marketing` / `quotes`\n- 战区:Wave 4(AI/Process 嵌入式闭环)+ harness 红线收口\n- lane:模块专项通过\n- 阶段:W4-T03/T06 解封 → Wave 4 收口\n- 分类:`模块专项通过`\n- 结论:W4-T06 状态 `PARTIAL → PASS`;harness `HIGH 3 → 0`;18 个原 stale baseline 失败文件 `373/373` 全绿\n- 战役卡:W4-T03(AI Review Queue 真实 DB 验收)\n- 验收卡:`docs/governance/ai-process-evidence-bundle-2026-05-10.md`\n- runner evidence bundle:commits `566b7fe1d` + `921a6ce55`\n\n## 关键变更\n\n### 1. W4-T03 真实 DB 验收解封\n- `tests/api/ai-review-queue.test.ts:204` + `:262` 两处 `listRes.body.data.data.some(...)` → `listRes.body.data.some(...)`,对齐 Governance 3.0 扁平 `paginated()` 契约 `{ data: [], meta: { pagination } }`\n- 真实 DB(`juhi-postgres-test:5433` / `juhi-redis-test:6380`)复跑 4/4 全绿(10.47s)\n- 覆盖:未认证 401 + 白名单守卫 + list/stats/claim/approve/reject 真实链路 + execution guard\n\n### 2. capability-graph HIGH 3 → 0\n- 新增 `HR_TRAINING_EVENTS.COMPETENCY_ASSESSMENT_CREATED / _DERIVED` 两个 event 常量\n- `kafka.ts` 新增 `hr_competency_assessment → HR_EVENTS` topic 映射\n- `assessByUser` (`:95`) + `deriveBehaviorBasedAssessment` (`:556`) 写入包进 `prisma.$transaction({tx =\u003e create + publishEvent(tx)})`,outbox 原子化\n- `event-publishing-audit` capability-graph 行:`none=1` → `full=1`\n\n### 3. vitest 7 项真回归修复\n背景:`reports/vitest.backend.latest.json` 是 2026-02-18 别的开发机产物,95 failures 绝大多数是 stale。复跑 18 个失败文件后只有 7 项真回归。\n\n| 文件 | 修复 |\n|---|---|\n| `marketing.service.test.ts` 完成执行中活动 | 补第 4 个 findFirst onceValue(assertTransition / update 状态校验 / ensureExistsById / refresh 四次调用) |\n| `quote.service.test.ts` 创建报价单 | biz-code mock 补 `createWithBizCodeRetry` / `generateBizCodes` / `generateBizId` |\n| `campaign.service.enhanced.test.ts` 5+6 项 | beforeEach 加 `findFirst/updateMany/findFirstOrThrow.mockReset()` 防 sticky 串扰;mock 补 `findFirstOrThrow`;8 处状态机生命周期/事件发布/取消测试补第 4 个 findFirst onceValue;execute 测试将第 3 个 findFirst onceValue 改为 findFirstOrThrow onceValue |\n\n剥离 stale 后真实回归 7 项,但 `mockReset()` 同时暴露 6 项原本被 sticky 状态掩盖的同类问题,一并修复(共 13 处 onceValue 补齐)。\n\n## 验证命令\n\n| 命令 | 结果 | 备注 |\n| --- | --- | --- |\n| `npx vitest run --workspace vitest.workspace.ts --project api tests/api/ai-review-queue.test.ts` | ✅ 4/4 passed (10.47s) | 真实 DB |\n| `npx vitest run --workspace vitest.workspace.ts --project unit src/modules/campaigns/campaign.service.enhanced.test.ts src/modules/marketing/marketing.service.test.ts tests/unit/services/quote.service.test.ts` | ✅ 3 files / 71+25 tests passed | unit |\n| `npx vitest run --project unit` (18 个 stale 失败文件全集) | ✅ 18 files / 373 tests passed | unit 回归 |\n| `npx tsx scripts/audit-prisma-zod-contract.ts` | ✅ PASS (length=0 / required=0 / enum=0) | |\n| `npx tsx scripts/audit-event-publishing.ts` | ✅ 99.01% 覆盖率,capability-graph 全覆盖 | |\n| `pnpm harness report` | ✅ CRITICAL=0 / HIGH=0 / MEDIUM=8 / total=6028 | HIGH 从 3 降 0 |\n| pre-commit Fast Gate (6 项) + Smart Gate (3 项���后端 type-check) | ✅ 全 PASS | NODE_OPTIONS=12G |\n\n## 审计命中\n\n- `audit:tenant`:未跑(变更未触及租户中间件)\n- `audit:events`:✅ 0 finding(capability-graph 修复后从 7 降 0)\n- `audit:route-contract`:未跑(变更未触及路由层)\n- `audit:docs-single-source`:未跑(仅 governance 增量;CLAUDE/AGENTS/README/GEMINI 同步待后续 owner PR)\n- `audit:prisma-zod-contract`:✅ 0 finding\n- `audit:state-machines`:✅ 0 finding\n\n## 前端 / 页面验收\n\n- canonical 入口:`/ai-agents/review-queue`(未变更,本 PR 只动 API 测试 + 后端)\n- smoke / auth-scope:未跑(无前端代码改动)\n- alias / compat 回归:N/A\n\n## 残余风险\n\n- 风险 1:harness 仍有 `MEDIUM=8`,全部来自既有 baseline 数据(迁移安全检查 5215 LOW 分类边界 / 业务时间流分析 117 INFO / 类型债务追踪 41),非本 PR 引入。CI 治理硬门禁(`HIGH+CRITICAL+MEDIUM \u003e 0`)会阻塞,需后续 owner 决定是否豁免或继续治理。\n- 风险 2:full unit suite 仍剩 28 个 *其他* test 文件 / 135 failures(dimension-transform / social-auto-replies / opportunity.machine.test label / rma / content-* 等),均与本 PR 无关,是更老的 pre-existing 失败。建议作为独立后续 PR 处理。\n- 风险 3:本 PR 修复的 `mockReset()` 模式应推广到其他使用 `prisma.$transaction` 的服务单测——下次治理可重点扫描。\n\n## 文档同步\n\n- [ ] `CLAUDE.md`\n- [ ] `AGENTS.md`\n- [ ] `README.md`\n- [ ] `GEMINI.md`\n- [x] 治理经验库:`docs/governance/ai-process-evidence-bundle-2026-05-10.md` 已升 PASS + 补 Real DB Suite + Test Contract Fix 章节\n\n## 口径确认\n\n- [x] 本 PR 只宣称模块级通过,不把模块结果外推为工作区全绿\n- [x] 若存在工作区漂移,已明确标记且未误记到当前模块(135 项其他失败已列入残余风险)\n- [x] 若存在热修 lane,已与全域补证据 / build-out lane 隔离\n\n---\n\n\u003e ⚠️ GitHub 镜像 PR #51 因 Actions 账单问题阻塞,故改在 Gitea 创建本 PR 作为主验收入口。\n\n🤖 Generated with Claude Code","labels":[],"milestone":null,"assignee":null,"assignees":[],"requested_reviewers":[],"requested_reviewers_teams":[],"state":"open","draft":false,"is_locked":false,"comments":1,"additions":22579,"deletions":4776,"changed_files":491,"html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/4","diff_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/4.diff","patch_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/4.patch","mergeable":false,"merged":false,"merged_at":null,"merge_commit_sha":null,"merged_by":null,"allow_maintainer_edit":false,"base":{"label":"main","ref":"main","sha":"534799e0b1707368df37aff7b3df545a6ca1064a","repo_id":6,"repo":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5371507,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":2,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-05-15T15:02:21+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]}},"head":{"label":"claude/bold-raman-0239cc","ref":"claude/bold-raman-0239cc","sha":"e8e3ea6b39e0d7d48f888052ef823f11e2327271","repo_id":6,"repo":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5371507,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":2,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-05-15T15:02:21+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]}},"merge_base":"534799e0b1707368df37aff7b3df545a6ca1064a","due_date":null,"created_at":"2026-05-13T21:41:57+08:00","updated_at":"2026-05-15T21:53:33+08:00","closed_at":null,"pin_order":0},"requested_reviewer":null,"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","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":5371507,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":2,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-05-15T15:02:21+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"pull":false},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"commit_id":"","review":null}...
|
pull_request
|
3
|
8
|
1778853277
|
1778853554
|
0
|
1778853215
|
1778853554
|
group: ci-${{ gitea.ref }}
cancel-in-progress: group: ci-${{ gitea.ref }}
cancel-in-progress: "true"
...
|
ci-refs/pull/4/head
|
1
|
Edit
Delete
|
|
23227
|
Merge remote-tracking branch 'origin/main' Merge remote-tracking branch 'origin/main' into claude/bold-raman-0239cc...
|
6
|
5
|
migration-safety.yml
|
23145
|
5
|
0
|
refs/pull/4/head
|
e8e3ea6b39e0d7d48f888052ef823f11e2327271
|
0
|
0
|
0
|
pull_request_sync
|
{"action":"synchronized","numb {"action":"synchronized","number":4,"pull_request":{"id":12,"url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/4","number":4,"user":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"title":"fix(governance): Wave 4 解封 + capability-graph HIGH 清零 + vitest 7 项真回归","body":"## 模块治理摘要\n\n- 模块:`capability-graph` / `ai-review-queue` / `campaigns` / `marketing` / `quotes`\n- 战区:Wave 4(AI/Process 嵌入式闭环)+ harness 红线收口\n- lane:模块专项通过\n- 阶段:W4-T03/T06 解封 → Wave 4 收口\n- 分类:`模块专项通过`\n- 结论:W4-T06 状态 `PARTIAL → PASS`;harness `HIGH 3 → 0`;18 个原 stale baseline 失败文件 `373/373` 全绿\n- 战役卡:W4-T03(AI Review Queue 真实 DB 验收)\n- 验收卡:`docs/governance/ai-process-evidence-bundle-2026-05-10.md`\n- runner evidence bundle:commits `566b7fe1d` + `921a6ce55`\n\n## 关键变更\n\n### 1. W4-T03 真实 DB 验收解封\n- `tests/api/ai-review-queue.test.ts:204` + `:262` 两处 `listRes.body.data.data.some(...)` → `listRes.body.data.some(...)`,对齐 Governance 3.0 扁平 `paginated()` 契约 `{ data: [], meta: { pagination } }`\n- 真实 DB(`juhi-postgres-test:5433` / `juhi-redis-test:6380`)复跑 4/4 全绿(10.47s)\n- 覆盖:未认证 401 + 白名单守卫 + list/stats/claim/approve/reject 真实链路 + execution guard\n\n### 2. capability-graph HIGH 3 → 0\n- 新增 `HR_TRAINING_EVENTS.COMPETENCY_ASSESSMENT_CREATED / _DERIVED` 两个 event 常量\n- `kafka.ts` 新增 `hr_competency_assessment → HR_EVENTS` topic 映射\n- `assessByUser` (`:95`) + `deriveBehaviorBasedAssessment` (`:556`) 写入包进 `prisma.$transaction({tx =\u003e create + publishEvent(tx)})`,outbox 原子化\n- `event-publishing-audit` capability-graph 行:`none=1` → `full=1`\n\n### 3. vitest 7 项真回归修复\n背景:`reports/vitest.backend.latest.json` 是 2026-02-18 别的开发机产物,95 failures 绝大多数是 stale。复跑 18 个失败文件后只有 7 项真回归。\n\n| 文件 | 修复 |\n|---|---|\n| `marketing.service.test.ts` 完成执行中活动 | 补第 4 个 findFirst onceValue(assertTransition / update 状态校验 / ensureExistsById / refresh 四次调用) |\n| `quote.service.test.ts` 创建报价单 | biz-code mock 补 `createWithBizCodeRetry` / `generateBizCodes` / `generateBizId` |\n| `campaign.service.enhanced.test.ts` 5+6 项 | beforeEach 加 `findFirst/updateMany/findFirstOrThrow.mockReset()` 防 sticky 串扰;mock 补 `findFirstOrThrow`;8 处状态机生命周期/事件发布/取消测试补第 4 个 findFirst onceValue;execute 测试将第 3 个 findFirst onceValue 改为 findFirstOrThrow onceValue |\n\n剥离 stale 后真实回归 7 项,但 `mockReset()` 同时暴露 6 项原本被 sticky 状态掩盖的同类问题,一并修复(共 13 处 onceValue 补齐)。\n\n## 验证命令\n\n| 命令 | 结果 | 备注 |\n| --- | --- | --- |\n| `npx vitest run --workspace vitest.workspace.ts --project api tests/api/ai-review-queue.test.ts` | ✅ 4/4 passed (10.47s) | 真实 DB |\n| `npx vitest run --workspace vitest.workspace.ts --project unit src/modules/campaigns/campaign.service.enhanced.test.ts src/modules/marketing/marketing.service.test.ts tests/unit/services/quote.service.test.ts` | ✅ 3 files / 71+25 tests passed | unit |\n| `npx vitest run --project unit` (18 个 stale 失败文件全集) | ✅ 18 files / 373 tests passed | unit 回归 |\n| `npx tsx scripts/audit-prisma-zod-contract.ts` | ✅ PASS (length=0 / required=0 / enum=0) | |\n| `npx tsx scripts/audit-event-publishing.ts` | ✅ 99.01% 覆盖率,capability-graph 全覆盖 | |\n| `pnpm harness report` | ✅ CRITICAL=0 / HIGH=0 / MEDIUM=8 / total=6028 | HIGH 从 3 降 0 |\n| pre-commit Fast Gate (6 项) + Smart Gate (3 项���后端 type-check) | ✅ 全 PASS | NODE_OPTIONS=12G |\n\n## 审计命中\n\n- `audit:tenant`:未跑(变更未触及租户中间件)\n- `audit:events`:✅ 0 finding(capability-graph 修复后从 7 降 0)\n- `audit:route-contract`:未跑(变更未触及路由层)\n- `audit:docs-single-source`:未跑(仅 governance 增量;CLAUDE/AGENTS/README/GEMINI 同步待后续 owner PR)\n- `audit:prisma-zod-contract`:✅ 0 finding\n- `audit:state-machines`:✅ 0 finding\n\n## 前端 / 页面验收\n\n- canonical 入口:`/ai-agents/review-queue`(未变更,本 PR 只动 API 测试 + 后端)\n- smoke / auth-scope:未跑(无前端代码改动)\n- alias / compat 回归:N/A\n\n## 残余风险\n\n- 风险 1:harness 仍有 `MEDIUM=8`,全部来自既有 baseline 数据(迁移安全检查 5215 LOW 分类边界 / 业务时间流分析 117 INFO / 类型债务追踪 41),非本 PR 引入。CI 治理硬门禁(`HIGH+CRITICAL+MEDIUM \u003e 0`)会阻塞,需后续 owner 决定是否豁免或继续治理。\n- 风险 2:full unit suite 仍剩 28 个 *其他* test 文件 / 135 failures(dimension-transform / social-auto-replies / opportunity.machine.test label / rma / content-* 等),均与本 PR 无关,是更老的 pre-existing 失败。建议作为独立后续 PR 处理。\n- 风险 3:本 PR 修复的 `mockReset()` 模式应推广到其他使用 `prisma.$transaction` 的服务单测——下次治理可重点扫描。\n\n## 文档同步\n\n- [ ] `CLAUDE.md`\n- [ ] `AGENTS.md`\n- [ ] `README.md`\n- [ ] `GEMINI.md`\n- [x] 治理经验库:`docs/governance/ai-process-evidence-bundle-2026-05-10.md` 已升 PASS + 补 Real DB Suite + Test Contract Fix 章节\n\n## 口径确认\n\n- [x] 本 PR 只宣称模块级通过,不把模块结果外推为工作区全绿\n- [x] 若存在工作区漂移,已明确标记且未误记到当前模块(135 项其他失败已列入残余风险)\n- [x] 若存在热修 lane,已与全域补证据 / build-out lane 隔离\n\n---\n\n\u003e ⚠️ GitHub 镜像 PR #51 因 Actions 账单问题阻塞,故改在 Gitea 创建本 PR 作为主验收入口。\n\n🤖 Generated with Claude Code","labels":[],"milestone":null,"assignee":null,"assignees":[],"requested_reviewers":[],"requested_reviewers_teams":[],"state":"open","draft":false,"is_locked":false,"comments":1,"additions":22579,"deletions":4776,"changed_files":491,"html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/4","diff_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/4.diff","patch_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/pulls/4.patch","mergeable":false,"merged":false,"merged_at":null,"merge_commit_sha":null,"merged_by":null,"allow_maintainer_edit":false,"base":{"label":"main","ref":"main","sha":"534799e0b1707368df37aff7b3df545a6ca1064a","repo_id":6,"repo":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5371507,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":2,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-05-15T15:02:21+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]}},"head":{"label":"claude/bold-raman-0239cc","ref":"claude/bold-raman-0239cc","sha":"e8e3ea6b39e0d7d48f888052ef823f11e2327271","repo_id":6,"repo":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5371507,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":2,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-05-15T15:02:21+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]}},"merge_base":"534799e0b1707368df37aff7b3df545a6ca1064a","due_date":null,"created_at":"2026-05-13T21:41:57+08:00","updated_at":"2026-05-15T21:53:33+08:00","closed_at":null,"pin_order":0},"requested_reviewer":null,"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","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":5371507,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":2,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-05-15T15:02:21+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"pull":false},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"commit_id":"","review":null}...
|
pull_request
|
2
|
4
|
1778853562
|
1778853620
|
0
|
1778853215
|
1778853620
|
|
|
0
|
Edit
Delete
|
|
18316
|
Merge branch 'codex-module-detail-closure-gove Merge branch 'codex-module-detail-closure-governance'...
|
6
|
5
|
ci.yml
|
18236
|
5
|
0
|
refs/heads/main
|
e9258713d6944a1e296ddd7017cf9755186b54d8
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"3fa41aea52e84435c16a79dd19c6775f93236a33","after":"e9258713d6944a1e296ddd7017cf9755186b54d8","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/3fa41aea52e84435c16a79dd19c6775f93236a33...e9258713d6944a1e296ddd7017cf9755186b54d8","commits":[{"id":"e9258713d6944a1e296ddd7017cf9755186b54d8","message":"Merge branch 'codex-module-detail-closure-governance'\n\n# Conflicts:\n#\te2e/tests/ui-modules/view-governance.generated.json\n#\tfrontend/src/router/modules/supplemental.ts\n#\treports/api-route-contract-audit.latest.json\n#\treports/api-route-contract-audit.latest.md\n#\treports/enum-consistency-audit.latest.json\n#\treports/field-payload-audit.latest.json\n#\treports/formrules-zod-audit.latest.json\n#\treports/harness-dashboard.latest.json\n#\treports/module-grades.latest.json\n#\treports/response-columns-audit.latest.json\n#\treports/type-debt-audit.latest.json\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e9258713d6944a1e296ddd7017cf9755186b54d8","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-28T00:11:39-07:00","added":["docs/reports/module-detail-closure-plan-2026-04-27.md","docs/reports/view-audit-domains/a1-acquisition-center-2026-04-26.md","docs/reports/view-audit-domains/a2-finance-center-2026-04-26.md","docs/reports/view-audit-domains/a3-ai-knowledge-2026-04-26.md","docs/reports/view-audit-domains/a4-store-groupbuy-alliance-2026-04-26.md","docs/reports/view-audit-domains/a5-admin-center-2026-04-26.md","docs/reports/view-audit-domains/a6-synergy-hr-2026-04-26.md","docs/reports/view-audit-domains/a7-analytics-marketing-2026-04-26.md","docs/reports/view-audit-domains/a8-system-center-2026-04-26.md","docs/reports/view-audit-domains/a9-service-sales-fulfillment-2026-04-26.md","docs/reports/view-audit-full-matrix-2026-04-26.md","frontend/src/views/product-categories/__tests__/product-categories-g4.smoke.test.ts","frontend/src/views/supplier-center/__tests__/supplier-center-g4.smoke.test.ts","frontend/src/views/workflow-designer/__tests__/workflow-designer-g4.smoke.test.ts","reports/prisma-zod-contract-audit.2026-04-27.json","reports/prisma-zod-contract-audit.2026-04-27.md"],"removed":[],"modified":["backend/scripts/audit-event-publishing.ts","backend/src/modules/product-categories/product-categories.service.ts","backend/src/modules/supplier-center/supplier-center.service.ts","backend/src/modules/ticket-workflows/ticket-workflow.service.ts","backend/src/modules/workflow-designer/workflow-designer.service.ts","e2e/scripts/lib/view-audit.overrides.mjs","e2e/tests/auth/event-logs-smoke.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/src/api/modules/product-categories.ts","frontend/src/api/modules/supplier-center.ts","frontend/src/router/modules/hr.ts","frontend/src/router/modules/supplemental.ts","frontend/src/views/__tests__/standard-crud-smoke.helper.ts","frontend/src/views/groupbuy-campaigns/Index.vue","frontend/src/views/groupbuy-participants/Index.vue","frontend/src/views/groupbuy-products/Index.vue","frontend/src/views/groupbuy-settlements/Index.vue","frontend/src/views/product-categories/Index.vue","frontend/src/views/supplier-center/Index.vue","reports/approval-governance.latest.json","reports/approval-governance.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/menu-inventory-audit.latest.json","reports/module-coverage-matrix.latest.json","reports/outbox-atomicity-audit.latest.json","reports/prisma-zod-contract-audit.latest.json","reports/prisma-zod-contract-audit.latest.md","reports/project-census.latest.json","reports/state-machine-integration-audit.latest.json","reports/state-machine-integration-audit.latest.md","reports/view-module-audit.latest.json"]},{"id":"fc505c1b1f37094c93481bf54c950a6362f940d6","message":"Complete module detail closure and governance evidence\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/fc505c1b1f37094c93481bf54c950a6362f940d6","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T21:54:59-07:00","added":["docs/reports/module-detail-closure-plan-2026-04-27.md","docs/reports/view-audit-domains/a1-acquisition-center-2026-04-26.md","docs/reports/view-audit-domains/a2-finance-center-2026-04-26.md","docs/reports/view-audit-domains/a3-ai-knowledge-2026-04-26.md","docs/reports/view-audit-domains/a4-store-groupbuy-alliance-2026-04-26.md","docs/reports/view-audit-domains/a5-admin-center-2026-04-26.md","docs/reports/view-audit-domains/a6-synergy-hr-2026-04-26.md","docs/reports/view-audit-domains/a7-analytics-marketing-2026-04-26.md","docs/reports/view-audit-domains/a8-system-center-2026-04-26.md","docs/reports/view-audit-domains/a9-service-sales-fulfillment-2026-04-26.md","docs/reports/view-audit-full-matrix-2026-04-26.md","frontend/src/views/product-categories/__tests__/product-categories-g4.smoke.test.ts","frontend/src/views/supplier-center/__tests__/supplier-center-g4.smoke.test.ts","frontend/src/views/workflow-designer/__tests__/workflow-designer-g4.smoke.test.ts","reports/prisma-zod-contract-audit.2026-04-27.json","reports/prisma-zod-contract-audit.2026-04-27.md"],"removed":[],"modified":["backend/scripts/audit-event-publishing.ts","backend/src/modules/product-categories/product-categories.service.ts","backend/src/modules/supplier-center/supplier-center.service.ts","backend/src/modules/ticket-workflows/ticket-workflow.service.ts","backend/src/modules/workflow-designer/workflow-designer.service.ts","e2e/scripts/lib/view-audit.overrides.mjs","e2e/tests/auth/event-logs-smoke.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/src/api/modules/product-categories.ts","frontend/src/api/modules/supplier-center.ts","frontend/src/router/modules/hr.ts","frontend/src/router/modules/supplemental.ts","frontend/src/views/__tests__/standard-crud-smoke.helper.ts","frontend/src/views/groupbuy-campaigns/Index.vue","frontend/src/views/groupbuy-participants/Index.vue","frontend/src/views/groupbuy-products/Index.vue","frontend/src/views/groupbuy-settlements/Index.vue","frontend/src/views/product-categories/Index.vue","frontend/src/views/supplier-center/Index.vue","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/approval-governance.latest.json","reports/approval-governance.latest.md","reports/enum-consistency-audit.latest.json","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/harness-dashboard.latest.json","reports/menu-inventory-audit.latest.json","reports/module-coverage-matrix.latest.json","reports/module-grades.latest.json","reports/outbox-atomicity-audit.latest.json","reports/prisma-zod-contract-audit.latest.json","reports/prisma-zod-contract-audit.latest.md","reports/project-census.latest.json","reports/response-columns-audit.latest.json","reports/state-machine-integration-audit.latest.json","reports/state-machine-integration-audit.latest.md","reports/type-debt-audit.latest.json","reports/view-module-audit.latest.json"]}],"total_commits":0,"head_commit":{"id":"e9258713d6944a1e296ddd7017cf9755186b54d8","message":"Merge branch 'codex-module-detail-closure-governance'\n\n# Conflicts:\n#\te2e/tests/ui-modules/view-governance.generated.json\n#\tfrontend/src/router/modules/supplemental.ts\n#\treports/api-route-contract-audit.latest.json\n#\treports/api-route-contract-audit.latest.md\n#\treports/enum-consistency-audit.latest.json\n#\treports/field-payload-audit.latest.json\n#\treports/formrules-zod-audit.latest.json\n#\treports/harness-dashboard.latest.json\n#\treports/module-grades.latest.json\n#\treports/response-columns-audit.latest.json\n#\treports/type-debt-audit.latest.json\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e9258713d6944a1e296ddd7017cf9755186b54d8","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-28T00:11:39-07:00","added":["docs/reports/module-detail-closure-plan-2026-04-27.md","docs/reports/view-audit-domains/a1-acquisition-center-2026-04-26.md","docs/reports/view-audit-domains/a2-finance-center-2026-04-26.md","docs/reports/view-audit-domains/a3-ai-knowledge-2026-04-26.md","docs/reports/view-audit-domains/a4-store-groupbuy-alliance-2026-04-26.md","docs/reports/view-audit-domains/a5-admin-center-2026-04-26.md","docs/reports/view-audit-domains/a6-synergy-hr-2026-04-26.md","docs/reports/view-audit-domains/a7-analytics-marketing-2026-04-26.md","docs/reports/view-audit-domains/a8-system-center-2026-04-26.md","docs/reports/view-audit-domains/a9-service-sales-fulfillment-2026-04-26.md","docs/reports/view-audit-full-matrix-2026-04-26.md","frontend/src/views/product-categories/__tests__/product-categories-g4.smoke.test.ts","frontend/src/views/supplier-center/__tests__/supplier-center-g4.smoke.test.ts","frontend/src/views/workflow-designer/__tests__/workflow-designer-g4.smoke.test.ts","reports/prisma-zod-contract-audit.2026-04-27.json","reports/prisma-zod-contract-audit.2026-04-27.md"],"removed":[],"modified":["backend/scripts/audit-event-publishing.ts","backend/src/modules/product-categories/product-categories.service.ts","backend/src/modules/supplier-center/supplier-center.service.ts","backend/src/modules/ticket-workflows/ticket-workflow.service.ts","backend/src/modules/workflow-designer/workflow-designer.service.ts","e2e/scripts/lib/view-audit.overrides.mjs","e2e/tests/auth/event-logs-smoke.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/src/api/modules/product-categories.ts","frontend/src/api/modules/supplier-center.ts","frontend/src/router/modules/hr.ts","frontend/src/router/modules/supplemental.ts","frontend/src/views/__tests__/standard-crud-smoke.helper.ts","frontend/src/views/groupbuy-campaigns/Index.vue","frontend/src/views/groupbuy-participants/Index.vue","frontend/src/views/groupbuy-products/Index.vue","frontend/src/views/groupbuy-settlements/Index.vue","frontend/src/views/product-categories/Index.vue","frontend/src/views/supplier-center/Index.vue","reports/approval-governance.latest.json","reports/approval-governance.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/menu-inventory-audit.latest.json","reports/module-coverage-matrix.latest.json","reports/outbox-atomicity-audit.latest.json","reports/prisma-zod-contract-audit.latest.json","reports/prisma-zod-contract-audit.latest.md","reports/project-census.latest.json","reports/state-machine-integration-audit.latest.json","reports/state-machine-integration-audit.latest.md","reports/view-module-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":5230163,"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-28T11:36:20+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
3
|
13
|
1777360416
|
1777360452
|
0
|
1777360414
|
1777360554
|
group: ci-${{ github.ref }}
cancel-in-progress: group: ci-${{ github.ref }}
cancel-in-progress: "true"
...
|
ci-refs/heads/main
|
1
|
Edit
Delete
|
|
18317
|
Merge branch 'codex-module-detail-closure-gove Merge branch 'codex-module-detail-closure-governance'...
|
6
|
5
|
e2e-tests.yml
|
18237
|
5
|
0
|
refs/heads/main
|
e9258713d6944a1e296ddd7017cf9755186b54d8
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"3fa41aea52e84435c16a79dd19c6775f93236a33","after":"e9258713d6944a1e296ddd7017cf9755186b54d8","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/3fa41aea52e84435c16a79dd19c6775f93236a33...e9258713d6944a1e296ddd7017cf9755186b54d8","commits":[{"id":"e9258713d6944a1e296ddd7017cf9755186b54d8","message":"Merge branch 'codex-module-detail-closure-governance'\n\n# Conflicts:\n#\te2e/tests/ui-modules/view-governance.generated.json\n#\tfrontend/src/router/modules/supplemental.ts\n#\treports/api-route-contract-audit.latest.json\n#\treports/api-route-contract-audit.latest.md\n#\treports/enum-consistency-audit.latest.json\n#\treports/field-payload-audit.latest.json\n#\treports/formrules-zod-audit.latest.json\n#\treports/harness-dashboard.latest.json\n#\treports/module-grades.latest.json\n#\treports/response-columns-audit.latest.json\n#\treports/type-debt-audit.latest.json\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e9258713d6944a1e296ddd7017cf9755186b54d8","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-28T00:11:39-07:00","added":["docs/reports/module-detail-closure-plan-2026-04-27.md","docs/reports/view-audit-domains/a1-acquisition-center-2026-04-26.md","docs/reports/view-audit-domains/a2-finance-center-2026-04-26.md","docs/reports/view-audit-domains/a3-ai-knowledge-2026-04-26.md","docs/reports/view-audit-domains/a4-store-groupbuy-alliance-2026-04-26.md","docs/reports/view-audit-domains/a5-admin-center-2026-04-26.md","docs/reports/view-audit-domains/a6-synergy-hr-2026-04-26.md","docs/reports/view-audit-domains/a7-analytics-marketing-2026-04-26.md","docs/reports/view-audit-domains/a8-system-center-2026-04-26.md","docs/reports/view-audit-domains/a9-service-sales-fulfillment-2026-04-26.md","docs/reports/view-audit-full-matrix-2026-04-26.md","frontend/src/views/product-categories/__tests__/product-categories-g4.smoke.test.ts","frontend/src/views/supplier-center/__tests__/supplier-center-g4.smoke.test.ts","frontend/src/views/workflow-designer/__tests__/workflow-designer-g4.smoke.test.ts","reports/prisma-zod-contract-audit.2026-04-27.json","reports/prisma-zod-contract-audit.2026-04-27.md"],"removed":[],"modified":["backend/scripts/audit-event-publishing.ts","backend/src/modules/product-categories/product-categories.service.ts","backend/src/modules/supplier-center/supplier-center.service.ts","backend/src/modules/ticket-workflows/ticket-workflow.service.ts","backend/src/modules/workflow-designer/workflow-designer.service.ts","e2e/scripts/lib/view-audit.overrides.mjs","e2e/tests/auth/event-logs-smoke.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/src/api/modules/product-categories.ts","frontend/src/api/modules/supplier-center.ts","frontend/src/router/modules/hr.ts","frontend/src/router/modules/supplemental.ts","frontend/src/views/__tests__/standard-crud-smoke.helper.ts","frontend/src/views/groupbuy-campaigns/Index.vue","frontend/src/views/groupbuy-participants/Index.vue","frontend/src/views/groupbuy-products/Index.vue","frontend/src/views/groupbuy-settlements/Index.vue","frontend/src/views/product-categories/Index.vue","frontend/src/views/supplier-center/Index.vue","reports/approval-governance.latest.json","reports/approval-governance.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/menu-inventory-audit.latest.json","reports/module-coverage-matrix.latest.json","reports/outbox-atomicity-audit.latest.json","reports/prisma-zod-contract-audit.latest.json","reports/prisma-zod-contract-audit.latest.md","reports/project-census.latest.json","reports/state-machine-integration-audit.latest.json","reports/state-machine-integration-audit.latest.md","reports/view-module-audit.latest.json"]},{"id":"fc505c1b1f37094c93481bf54c950a6362f940d6","message":"Complete module detail closure and governance evidence\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/fc505c1b1f37094c93481bf54c950a6362f940d6","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T21:54:59-07:00","added":["docs/reports/module-detail-closure-plan-2026-04-27.md","docs/reports/view-audit-domains/a1-acquisition-center-2026-04-26.md","docs/reports/view-audit-domains/a2-finance-center-2026-04-26.md","docs/reports/view-audit-domains/a3-ai-knowledge-2026-04-26.md","docs/reports/view-audit-domains/a4-store-groupbuy-alliance-2026-04-26.md","docs/reports/view-audit-domains/a5-admin-center-2026-04-26.md","docs/reports/view-audit-domains/a6-synergy-hr-2026-04-26.md","docs/reports/view-audit-domains/a7-analytics-marketing-2026-04-26.md","docs/reports/view-audit-domains/a8-system-center-2026-04-26.md","docs/reports/view-audit-domains/a9-service-sales-fulfillment-2026-04-26.md","docs/reports/view-audit-full-matrix-2026-04-26.md","frontend/src/views/product-categories/__tests__/product-categories-g4.smoke.test.ts","frontend/src/views/supplier-center/__tests__/supplier-center-g4.smoke.test.ts","frontend/src/views/workflow-designer/__tests__/workflow-designer-g4.smoke.test.ts","reports/prisma-zod-contract-audit.2026-04-27.json","reports/prisma-zod-contract-audit.2026-04-27.md"],"removed":[],"modified":["backend/scripts/audit-event-publishing.ts","backend/src/modules/product-categories/product-categories.service.ts","backend/src/modules/supplier-center/supplier-center.service.ts","backend/src/modules/ticket-workflows/ticket-workflow.service.ts","backend/src/modules/workflow-designer/workflow-designer.service.ts","e2e/scripts/lib/view-audit.overrides.mjs","e2e/tests/auth/event-logs-smoke.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/src/api/modules/product-categories.ts","frontend/src/api/modules/supplier-center.ts","frontend/src/router/modules/hr.ts","frontend/src/router/modules/supplemental.ts","frontend/src/views/__tests__/standard-crud-smoke.helper.ts","frontend/src/views/groupbuy-campaigns/Index.vue","frontend/src/views/groupbuy-participants/Index.vue","frontend/src/views/groupbuy-products/Index.vue","frontend/src/views/groupbuy-settlements/Index.vue","frontend/src/views/product-categories/Index.vue","frontend/src/views/supplier-center/Index.vue","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/approval-governance.latest.json","reports/approval-governance.latest.md","reports/enum-consistency-audit.latest.json","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/harness-dashboard.latest.json","reports/menu-inventory-audit.latest.json","reports/module-coverage-matrix.latest.json","reports/module-grades.latest.json","reports/outbox-atomicity-audit.latest.json","reports/prisma-zod-contract-audit.latest.json","reports/prisma-zod-contract-audit.latest.md","reports/project-census.latest.json","reports/response-columns-audit.latest.json","reports/state-machine-integration-audit.latest.json","reports/state-machine-integration-audit.latest.md","reports/type-debt-audit.latest.json","reports/view-module-audit.latest.json"]}],"total_commits":0,"head_commit":{"id":"e9258713d6944a1e296ddd7017cf9755186b54d8","message":"Merge branch 'codex-module-detail-closure-governance'\n\n# Conflicts:\n#\te2e/tests/ui-modules/view-governance.generated.json\n#\tfrontend/src/router/modules/supplemental.ts\n#\treports/api-route-contract-audit.latest.json\n#\treports/api-route-contract-audit.latest.md\n#\treports/enum-consistency-audit.latest.json\n#\treports/field-payload-audit.latest.json\n#\treports/formrules-zod-audit.latest.json\n#\treports/harness-dashboard.latest.json\n#\treports/module-grades.latest.json\n#\treports/response-columns-audit.latest.json\n#\treports/type-debt-audit.latest.json\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e9258713d6944a1e296ddd7017cf9755186b54d8","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-28T00:11:39-07:00","added":["docs/reports/module-detail-closure-plan-2026-04-27.md","docs/reports/view-audit-domains/a1-acquisition-center-2026-04-26.md","docs/reports/view-audit-domains/a2-finance-center-2026-04-26.md","docs/reports/view-audit-domains/a3-ai-knowledge-2026-04-26.md","docs/reports/view-audit-domains/a4-store-groupbuy-alliance-2026-04-26.md","docs/reports/view-audit-domains/a5-admin-center-2026-04-26.md","docs/reports/view-audit-domains/a6-synergy-hr-2026-04-26.md","docs/reports/view-audit-domains/a7-analytics-marketing-2026-04-26.md","docs/reports/view-audit-domains/a8-system-center-2026-04-26.md","docs/reports/view-audit-domains/a9-service-sales-fulfillment-2026-04-26.md","docs/reports/view-audit-full-matrix-2026-04-26.md","frontend/src/views/product-categories/__tests__/product-categories-g4.smoke.test.ts","frontend/src/views/supplier-center/__tests__/supplier-center-g4.smoke.test.ts","frontend/src/views/workflow-designer/__tests__/workflow-designer-g4.smoke.test.ts","reports/prisma-zod-contract-audit.2026-04-27.json","reports/prisma-zod-contract-audit.2026-04-27.md"],"removed":[],"modified":["backend/scripts/audit-event-publishing.ts","backend/src/modules/product-categories/product-categories.service.ts","backend/src/modules/supplier-center/supplier-center.service.ts","backend/src/modules/ticket-workflows/ticket-workflow.service.ts","backend/src/modules/workflow-designer/workflow-designer.service.ts","e2e/scripts/lib/view-audit.overrides.mjs","e2e/tests/auth/event-logs-smoke.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/src/api/modules/product-categories.ts","frontend/src/api/modules/supplier-center.ts","frontend/src/router/modules/hr.ts","frontend/src/router/modules/supplemental.ts","frontend/src/views/__tests__/standard-crud-smoke.helper.ts","frontend/src/views/groupbuy-campaigns/Index.vue","frontend/src/views/groupbuy-participants/Index.vue","frontend/src/views/groupbuy-products/Index.vue","frontend/src/views/groupbuy-settlements/Index.vue","frontend/src/views/product-categories/Index.vue","frontend/src/views/supplier-center/Index.vue","reports/approval-governance.latest.json","reports/approval-governance.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/menu-inventory-audit.latest.json","reports/module-coverage-matrix.latest.json","reports/outbox-atomicity-audit.latest.json","reports/prisma-zod-contract-audit.latest.json","reports/prisma-zod-contract-audit.latest.md","reports/project-census.latest.json","reports/state-machine-integration-audit.latest.json","reports/state-machine-integration-audit.latest.md","reports/view-module-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":5230163,"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-28T11:36:20+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":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
|
1777360452
|
1777360599
|
0
|
1777360415
|
1777361857
|
|
|
0
|
Edit
Delete
|
|
18318
|
Merge branch 'codex-module-detail-closure-gove Merge branch 'codex-module-detail-closure-governance'...
|
6
|
5
|
test-pipeline.yml
|
18238
|
5
|
0
|
refs/heads/main
|
e9258713d6944a1e296ddd7017cf9755186b54d8
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"3fa41aea52e84435c16a79dd19c6775f93236a33","after":"e9258713d6944a1e296ddd7017cf9755186b54d8","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/3fa41aea52e84435c16a79dd19c6775f93236a33...e9258713d6944a1e296ddd7017cf9755186b54d8","commits":[{"id":"e9258713d6944a1e296ddd7017cf9755186b54d8","message":"Merge branch 'codex-module-detail-closure-governance'\n\n# Conflicts:\n#\te2e/tests/ui-modules/view-governance.generated.json\n#\tfrontend/src/router/modules/supplemental.ts\n#\treports/api-route-contract-audit.latest.json\n#\treports/api-route-contract-audit.latest.md\n#\treports/enum-consistency-audit.latest.json\n#\treports/field-payload-audit.latest.json\n#\treports/formrules-zod-audit.latest.json\n#\treports/harness-dashboard.latest.json\n#\treports/module-grades.latest.json\n#\treports/response-columns-audit.latest.json\n#\treports/type-debt-audit.latest.json\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e9258713d6944a1e296ddd7017cf9755186b54d8","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-28T00:11:39-07:00","added":["docs/reports/module-detail-closure-plan-2026-04-27.md","docs/reports/view-audit-domains/a1-acquisition-center-2026-04-26.md","docs/reports/view-audit-domains/a2-finance-center-2026-04-26.md","docs/reports/view-audit-domains/a3-ai-knowledge-2026-04-26.md","docs/reports/view-audit-domains/a4-store-groupbuy-alliance-2026-04-26.md","docs/reports/view-audit-domains/a5-admin-center-2026-04-26.md","docs/reports/view-audit-domains/a6-synergy-hr-2026-04-26.md","docs/reports/view-audit-domains/a7-analytics-marketing-2026-04-26.md","docs/reports/view-audit-domains/a8-system-center-2026-04-26.md","docs/reports/view-audit-domains/a9-service-sales-fulfillment-2026-04-26.md","docs/reports/view-audit-full-matrix-2026-04-26.md","frontend/src/views/product-categories/__tests__/product-categories-g4.smoke.test.ts","frontend/src/views/supplier-center/__tests__/supplier-center-g4.smoke.test.ts","frontend/src/views/workflow-designer/__tests__/workflow-designer-g4.smoke.test.ts","reports/prisma-zod-contract-audit.2026-04-27.json","reports/prisma-zod-contract-audit.2026-04-27.md"],"removed":[],"modified":["backend/scripts/audit-event-publishing.ts","backend/src/modules/product-categories/product-categories.service.ts","backend/src/modules/supplier-center/supplier-center.service.ts","backend/src/modules/ticket-workflows/ticket-workflow.service.ts","backend/src/modules/workflow-designer/workflow-designer.service.ts","e2e/scripts/lib/view-audit.overrides.mjs","e2e/tests/auth/event-logs-smoke.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/src/api/modules/product-categories.ts","frontend/src/api/modules/supplier-center.ts","frontend/src/router/modules/hr.ts","frontend/src/router/modules/supplemental.ts","frontend/src/views/__tests__/standard-crud-smoke.helper.ts","frontend/src/views/groupbuy-campaigns/Index.vue","frontend/src/views/groupbuy-participants/Index.vue","frontend/src/views/groupbuy-products/Index.vue","frontend/src/views/groupbuy-settlements/Index.vue","frontend/src/views/product-categories/Index.vue","frontend/src/views/supplier-center/Index.vue","reports/approval-governance.latest.json","reports/approval-governance.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/menu-inventory-audit.latest.json","reports/module-coverage-matrix.latest.json","reports/outbox-atomicity-audit.latest.json","reports/prisma-zod-contract-audit.latest.json","reports/prisma-zod-contract-audit.latest.md","reports/project-census.latest.json","reports/state-machine-integration-audit.latest.json","reports/state-machine-integration-audit.latest.md","reports/view-module-audit.latest.json"]},{"id":"fc505c1b1f37094c93481bf54c950a6362f940d6","message":"Complete module detail closure and governance evidence\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/fc505c1b1f37094c93481bf54c950a6362f940d6","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T21:54:59-07:00","added":["docs/reports/module-detail-closure-plan-2026-04-27.md","docs/reports/view-audit-domains/a1-acquisition-center-2026-04-26.md","docs/reports/view-audit-domains/a2-finance-center-2026-04-26.md","docs/reports/view-audit-domains/a3-ai-knowledge-2026-04-26.md","docs/reports/view-audit-domains/a4-store-groupbuy-alliance-2026-04-26.md","docs/reports/view-audit-domains/a5-admin-center-2026-04-26.md","docs/reports/view-audit-domains/a6-synergy-hr-2026-04-26.md","docs/reports/view-audit-domains/a7-analytics-marketing-2026-04-26.md","docs/reports/view-audit-domains/a8-system-center-2026-04-26.md","docs/reports/view-audit-domains/a9-service-sales-fulfillment-2026-04-26.md","docs/reports/view-audit-full-matrix-2026-04-26.md","frontend/src/views/product-categories/__tests__/product-categories-g4.smoke.test.ts","frontend/src/views/supplier-center/__tests__/supplier-center-g4.smoke.test.ts","frontend/src/views/workflow-designer/__tests__/workflow-designer-g4.smoke.test.ts","reports/prisma-zod-contract-audit.2026-04-27.json","reports/prisma-zod-contract-audit.2026-04-27.md"],"removed":[],"modified":["backend/scripts/audit-event-publishing.ts","backend/src/modules/product-categories/product-categories.service.ts","backend/src/modules/supplier-center/supplier-center.service.ts","backend/src/modules/ticket-workflows/ticket-workflow.service.ts","backend/src/modules/workflow-designer/workflow-designer.service.ts","e2e/scripts/lib/view-audit.overrides.mjs","e2e/tests/auth/event-logs-smoke.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/src/api/modules/product-categories.ts","frontend/src/api/modules/supplier-center.ts","frontend/src/router/modules/hr.ts","frontend/src/router/modules/supplemental.ts","frontend/src/views/__tests__/standard-crud-smoke.helper.ts","frontend/src/views/groupbuy-campaigns/Index.vue","frontend/src/views/groupbuy-participants/Index.vue","frontend/src/views/groupbuy-products/Index.vue","frontend/src/views/groupbuy-settlements/Index.vue","frontend/src/views/product-categories/Index.vue","frontend/src/views/supplier-center/Index.vue","reports/api-route-contract-audit.latest.json","reports/api-route-contract-audit.latest.md","reports/approval-governance.latest.json","reports/approval-governance.latest.md","reports/enum-consistency-audit.latest.json","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/harness-dashboard.latest.json","reports/menu-inventory-audit.latest.json","reports/module-coverage-matrix.latest.json","reports/module-grades.latest.json","reports/outbox-atomicity-audit.latest.json","reports/prisma-zod-contract-audit.latest.json","reports/prisma-zod-contract-audit.latest.md","reports/project-census.latest.json","reports/response-columns-audit.latest.json","reports/state-machine-integration-audit.latest.json","reports/state-machine-integration-audit.latest.md","reports/type-debt-audit.latest.json","reports/view-module-audit.latest.json"]}],"total_commits":0,"head_commit":{"id":"e9258713d6944a1e296ddd7017cf9755186b54d8","message":"Merge branch 'codex-module-detail-closure-governance'\n\n# Conflicts:\n#\te2e/tests/ui-modules/view-governance.generated.json\n#\tfrontend/src/router/modules/supplemental.ts\n#\treports/api-route-contract-audit.latest.json\n#\treports/api-route-contract-audit.latest.md\n#\treports/enum-consistency-audit.latest.json\n#\treports/field-payload-audit.latest.json\n#\treports/formrules-zod-audit.latest.json\n#\treports/harness-dashboard.latest.json\n#\treports/module-grades.latest.json\n#\treports/response-columns-audit.latest.json\n#\treports/type-debt-audit.latest.json\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/e9258713d6944a1e296ddd7017cf9755186b54d8","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-28T00:11:39-07:00","added":["docs/reports/module-detail-closure-plan-2026-04-27.md","docs/reports/view-audit-domains/a1-acquisition-center-2026-04-26.md","docs/reports/view-audit-domains/a2-finance-center-2026-04-26.md","docs/reports/view-audit-domains/a3-ai-knowledge-2026-04-26.md","docs/reports/view-audit-domains/a4-store-groupbuy-alliance-2026-04-26.md","docs/reports/view-audit-domains/a5-admin-center-2026-04-26.md","docs/reports/view-audit-domains/a6-synergy-hr-2026-04-26.md","docs/reports/view-audit-domains/a7-analytics-marketing-2026-04-26.md","docs/reports/view-audit-domains/a8-system-center-2026-04-26.md","docs/reports/view-audit-domains/a9-service-sales-fulfillment-2026-04-26.md","docs/reports/view-audit-full-matrix-2026-04-26.md","frontend/src/views/product-categories/__tests__/product-categories-g4.smoke.test.ts","frontend/src/views/supplier-center/__tests__/supplier-center-g4.smoke.test.ts","frontend/src/views/workflow-designer/__tests__/workflow-designer-g4.smoke.test.ts","reports/prisma-zod-contract-audit.2026-04-27.json","reports/prisma-zod-contract-audit.2026-04-27.md"],"removed":[],"modified":["backend/scripts/audit-event-publishing.ts","backend/src/modules/product-categories/product-categories.service.ts","backend/src/modules/supplier-center/supplier-center.service.ts","backend/src/modules/ticket-workflows/ticket-workflow.service.ts","backend/src/modules/workflow-designer/workflow-designer.service.ts","e2e/scripts/lib/view-audit.overrides.mjs","e2e/tests/auth/event-logs-smoke.spec.ts","e2e/tests/ui-modules/view-governance.generated.json","frontend/src/api/modules/product-categories.ts","frontend/src/api/modules/supplier-center.ts","frontend/src/router/modules/hr.ts","frontend/src/router/modules/supplemental.ts","frontend/src/views/__tests__/standard-crud-smoke.helper.ts","frontend/src/views/groupbuy-campaigns/Index.vue","frontend/src/views/groupbuy-participants/Index.vue","frontend/src/views/groupbuy-products/Index.vue","frontend/src/views/groupbuy-settlements/Index.vue","frontend/src/views/product-categories/Index.vue","frontend/src/views/supplier-center/Index.vue","reports/approval-governance.latest.json","reports/approval-governance.latest.md","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/menu-inventory-audit.latest.json","reports/module-coverage-matrix.latest.json","reports/outbox-atomicity-audit.latest.json","reports/prisma-zod-contract-audit.latest.json","reports/prisma-zod-contract-audit.latest.md","reports/project-census.latest.json","reports/state-machine-integration-audit.latest.json","reports/state-machine-integration-audit.latest.md","reports/view-module-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":5230163,"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-28T11:36:20+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
3
|
25
|
0
|
1777360557
|
0
|
1777360416
|
1777360562
|
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
|
|
23739
|
docs(release): record verified subtitle burn panel docs(release): record verified subtitle burn panel deployment...
|
57
|
5
|
governance.yml
|
110
|
5
|
0
|
refs/heads/main
|
e9b89290bab75ea32c59892a594d1a67df6804b6
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"79e458ad33494277a3fb247ae620a8e6e6d9c6f7","after":"e9b89290bab75ea32c59892a594d1a67df6804b6","compare_url":"https://gitea.g-hi.com/luoanwu/image-generation/compare/79e458ad33494277a3fb247ae620a8e6e6d9c6f7...e9b89290bab75ea32c59892a594d1a67df6804b6","commits":[{"id":"e9b89290bab75ea32c59892a594d1a67df6804b6","message":"docs(release): record verified subtitle burn panel deployment\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/e9b89290bab75ea32c59892a594d1a67df6804b6","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-08T17:09:19-07:00","added":["docs/releases/2026-09-08-subtitle-burn1.md","reports/subtitle-burn-2026-09-08/README.md","reports/subtitle-burn-2026-09-08/api.json","reports/subtitle-burn-2026-09-08/backup-verification.json","reports/subtitle-burn-2026-09-08/browser-verification.json","reports/subtitle-burn-2026-09-08/deployed-verify.json","reports/subtitle-burn-2026-09-08/deployment.json","reports/subtitle-burn-2026-09-08/output.png","reports/subtitle-burn-2026-09-08/post-deployment-smoke.json","reports/subtitle-burn-2026-09-08/post-production.json","reports/subtitle-burn-2026-09-08/subtitle-burn-mobile.png","reports/subtitle-burn-2026-09-08/subtitle-burn.png","reports/subtitle-burn-2026-09-08/subtitle-regression.json","reports/subtitle-burn-2026-09-08/ui.json","reports/subtitle-burn-2026-09-08/validation.json"],"removed":[],"modified":["docs/releases/current.md","reports/contract-consumers.latest.json","reports/dependency-audit.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/inference-acceptance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/production-acceptance.latest.json","reports/production-security.latest.json","reports/public-file-acceptance.latest.json","reports/public-file-integration.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/script-acceptance.latest.json","reports/sidecar-tests.latest.json","reports/storyboard-director-guard.latest.json","reports/toolchain.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json"]}],"total_commits":0,"head_commit":{"id":"e9b89290bab75ea32c59892a594d1a67df6804b6","message":"docs(release): record verified subtitle burn panel deployment\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/e9b89290bab75ea32c59892a594d1a67df6804b6","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-08T17:09:19-07:00","added":["docs/releases/2026-09-08-subtitle-burn1.md","reports/subtitle-burn-2026-09-08/README.md","reports/subtitle-burn-2026-09-08/api.json","reports/subtitle-burn-2026-09-08/backup-verification.json","reports/subtitle-burn-2026-09-08/browser-verification.json","reports/subtitle-burn-2026-09-08/deployed-verify.json","reports/subtitle-burn-2026-09-08/deployment.json","reports/subtitle-burn-2026-09-08/output.png","reports/subtitle-burn-2026-09-08/post-deployment-smoke.json","reports/subtitle-burn-2026-09-08/post-production.json","reports/subtitle-burn-2026-09-08/subtitle-burn-mobile.png","reports/subtitle-burn-2026-09-08/subtitle-burn.png","reports/subtitle-burn-2026-09-08/subtitle-regression.json","reports/subtitle-burn-2026-09-08/ui.json","reports/subtitle-burn-2026-09-08/validation.json"],"removed":[],"modified":["docs/releases/current.md","reports/contract-consumers.latest.json","reports/dependency-audit.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/inference-acceptance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/production-acceptance.latest.json","reports/production-security.latest.json","reports/public-file-acceptance.latest.json","reports/public-file-integration.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/script-acceptance.latest.json","reports/sidecar-tests.latest.json","reports/storyboard-director-guard.latest.json","reports/toolchain.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json"]},"repository":{"id":57,"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":"image-generation","full_name":"luoanwu/image-generation","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":723904,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation/languages","html_url":"https://gitea.g-hi.com/luoanwu/image-generation","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/image-generation.git","clone_url":"https://gitea.g-hi.com/luoanwu/image-generation.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":7,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-06T17:04:22+08:00","updated_at":"2026-09-09T07:59:30+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":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
3
|
4
|
1788912565
|
1788912983
|
0
|
1788912563
|
1788912983
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23468
|
接入阿里模型
|
51
|
5
|
ci.yml
|
6
|
8
|
0
|
refs/heads/main
|
ea5ea97b4d7487a0cd01201fcf404ec4b1913321
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"8be066d1f0c5db776932ea77d5e0ee292bb367dd","after":"ea5ea97b4d7487a0cd01201fcf404ec4b1913321","compare_url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools/compare/8be066d1f0c5db776932ea77d5e0ee292bb367dd...ea5ea97b4d7487a0cd01201fcf404ec4b1913321","commits":[{"id":"ea5ea97b4d7487a0cd01201fcf404ec4b1913321","message":"接入阿里模型\n","url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools/commit/ea5ea97b4d7487a0cd01201fcf404ec4b1913321","author":{"name":"chenjunfeng","email":"developer.jeff.c@gmail.com","username":""},"committer":{"name":"chenjunfeng","email":"developer.jeff.c@gmail.com","username":""},"verification":null,"timestamp":"2026-07-31T14:10:06+08:00","added":[],"removed":[],"modified":["CLAUDE.md","README.md","docker-compose.colima.yml","docs/reports/production-capability-truth-matrix-2026-06-12.md","e2e/playwright.config.ts","server/.env.example","server/README.md","server/docker-compose.yml","server/src/adapters/ai/index.ts","server/src/adapters/ai/mock.ts","server/src/adapters/ai/provider.ts","server/src/adapters/ai/real.ts","server/src/adapters/ocr/index.ts","server/src/adapters/ocr/mock.ts","server/src/adapters/ocr/parse.ts","server/src/adapters/ocr/provider.ts","server/src/adapters/ocr/vision.ts","server/src/config/env.ts","server/src/lib/errors.ts","server/src/middleware/error.ts","server/src/modules/metrics/routes.ts","server/src/modules/metrics/schema.ts","server/src/modules/metrics/service.ts","server/src/modules/periphery/routes.ts","server/src/modules/reviews/routes.ts","server/src/modules/reviews/service.ts","server/src/openapi.ts","server/test/ai-provider.unit.test.ts","server/test/ocr-parse.test.ts","server/test/r11-review-care.test.ts","server/vitest.config.ts","server/vitest.unit.config.ts","团购本地生活AI运营App/api.js","团购本地生活AI运营App/app.jsx","团购本地生活AI运营App/index.html","团购本地生活AI运营App/ios-frame.jsx","团购本地生活AI运营App/screens-ai.jsx","团购本地生活AI运营App/screens-ops.jsx","团购本地生活AI运营App/screens-p2.jsx","团购本地生活AI运营App/scripts/test-static.mjs","开发计划.md","真实链路与状态机审计矩阵.md","项目模块关系图谱.md"]}],"total_commits":0,"head_commit":{"id":"ea5ea97b4d7487a0cd01201fcf404ec4b1913321","message":"接入阿里模型\n","url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools/commit/ea5ea97b4d7487a0cd01201fcf404ec4b1913321","author":{"name":"chenjunfeng","email":"developer.jeff.c@gmail.com","username":""},"committer":{"name":"chenjunfeng","email":"developer.jeff.c@gmail.com","username":""},"verification":null,"timestamp":"2026-07-31T14:10:06+08:00","added":[],"removed":[],"modified":["CLAUDE.md","README.md","docker-compose.colima.yml","docs/reports/production-capability-truth-matrix-2026-06-12.md","e2e/playwright.config.ts","server/.env.example","server/README.md","server/docker-compose.yml","server/src/adapters/ai/index.ts","server/src/adapters/ai/mock.ts","server/src/adapters/ai/provider.ts","server/src/adapters/ai/real.ts","server/src/adapters/ocr/index.ts","server/src/adapters/ocr/mock.ts","server/src/adapters/ocr/parse.ts","server/src/adapters/ocr/provider.ts","server/src/adapters/ocr/vision.ts","server/src/config/env.ts","server/src/lib/errors.ts","server/src/middleware/error.ts","server/src/modules/metrics/routes.ts","server/src/modules/metrics/schema.ts","server/src/modules/metrics/service.ts","server/src/modules/periphery/routes.ts","server/src/modules/reviews/routes.ts","server/src/modules/reviews/service.ts","server/src/openapi.ts","server/test/ai-provider.unit.test.ts","server/test/ocr-parse.test.ts","server/test/r11-review-care.test.ts","server/vitest.config.ts","server/vitest.unit.config.ts","团购本地生活AI运营App/api.js","团购本地生活AI运营App/app.jsx","团购本地生活AI运营App/index.html","团购本地生活AI运营App/ios-frame.jsx","团购本地生活AI运营App/screens-ai.jsx","团购本地生活AI运营App/screens-ops.jsx","团购本地生活AI运营App/screens-p2.jsx","团购本地生活AI运营App/scripts/test-static.mjs","开发计划.md","真实链路与状态机审计矩阵.md","项目模块关系图谱.md"]},"repository":{"id":51,"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":"yggdrasil-local-life-tools","full_name":"luoanwu/yggdrasil-local-life-tools","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":87011,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/yggdrasil-local-life-tools/languages","html_url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/yggdrasil-local-life-tools","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/yggdrasil-local-life-tools.git","clone_url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-02T16:02:07+08:00","updated_at":"2026-07-22T17:24:41+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":8,"login":"chenjunfeng","login_name":"","source_id":0,"full_name":"","email":"8+chenjunfeng@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/2c6398f22eba2ea6d8f403921eea0967","html_url":"https://gitea.g-hi.com/chenjunfeng","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-03-09T13:22:40+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"chenjunfeng"},"sender":{"id":8,"login":"chenjunfeng","login_name":"","source_id":0,"full_name":"","email":"8+chenjunfeng@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/2c6398f22eba2ea6d8f403921eea0967","html_url":"https://gitea.g-hi.com/chenjunfeng","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-03-09T13:22:40+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"chenjunfeng"}}...
|
push
|
2
|
8
|
1785478212
|
1785478332
|
0
|
1785478211
|
1785478332
|
group: ci-${{ github.ref }}
cancel-in-progress: group: ci-${{ github.ref }}
cancel-in-progress: "true"
...
|
ci-refs/heads/main
|
1
|
Edit
Delete
|
|
23592
|
feat(capacity): 新增资源标签契约
|
104
|
5
|
governance.yml
|
1
|
5
|
0
|
refs/heads/main
|
ea8167e33e2b6db49a9c694db5fbb4b6b84ad4b7
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"0000000000000000000000000000000000000000","after":"ea8167e33e2b6db49a9c694db5fbb4b6b84ad4b7","compare_url":"https://gitea.g-hi.com/","commits":[{"id":"ea8167e33e2b6db49a9c694db5fbb4b6b84ad4b7","message":"feat(capacity): 新增资源标签契约\n","url":"https://gitea.g-hi.com/luoanwu/cost-capacity/commit/ea8167e33e2b6db49a9c694db5fbb4b6b84ad4b7","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-09-01T06:45:34-07:00","added":["docs/domain/resource-tags-blueprint.md","packages/contracts/src/resource-tags.test.ts","packages/contracts/src/resource-tags.ts","reports/runtime-acceptance.latest.json"],"removed":[],"modified":[".github/workflows/governance.yml","CLAUDE.md","README.md","docs/domain/owner-matrix.md","packages/contracts/src/index.ts","reports/baseline.json","reports/conformance-differential.latest.json","reports/conformance-matrix.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-rules.latest.json","reports/governance-status.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-compat.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},{"id":"e6c88cfc485e250d564fcae637c22bf6453268a4","message":"chore: 迁移执行凭证 + 全量静态门禁(pnpm check)首跑证据\n","url":"https://gitea.g-hi.com/luoanwu/cost-capacity/commit/e6c88cfc485e250d564fcae637c22bf6453268a4","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-30T21:01:29-07:00","added":["reports/baseline.json","reports/framework-migration.latest.json","reports/os-product-compat.latest.json"],"removed":[],"modified":["reports/conformance-matrix.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-rules.latest.json","reports/governance-status.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},{"id":"d67a89fd8645c27e839259f0a6a4b95666756729","message":"feat: 平台身份重绑定 cost-capacity(package name / productId / 表前缀 / 命名空间;F3/F8 前置)\n","url":"https://gitea.g-hi.com/luoanwu/cost-capacity/commit/d67a89fd8645c27e839259f0a6a4b95666756729","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-30T21:01:22-07:00","added":["docs/framework-migration.md","products/juhai.costcapacity/README.md","products/juhai.costcapacity/acceptance/juhai.costcapacity.order.acceptance.mjs","products/juhai.costcapacity/migrations/juhai.costcapacity.order/20260826090000_create_orders.sql","products/juhai.costcapacity/migrations/juhai.costcapacity.order/20260826091000_create_order_events.sql","products/juhai.costcapacity/package.json","products/juhai.costcapacity/product.manifest.json","products/juhai.costcapacity/src/contracts.ts","products/juhai.costcapacity/src/fastify.ts","products/juhai.costcapacity/src/host.ts","products/juhai.costcapacity/src/index.ts","products/juhai.costcapacity/src/manifest.ts","products/juhai.costcapacity/src/nestjs.ts","products/juhai.costcapacity/src/order-repository.ts","products/juhai.costcapacity/src/tools.ts","products/juhai.costcapacity/src/web.tsx","products/juhai.costcapacity/test/os-host.runtime.test.ts","products/juhai.costcapacity/tsconfig.os-host.json","products/juhai.costcapacity/vitest.os-host.config.ts"],"removed":["products/juhai.baseframework/README.md","products/juhai.baseframework/acceptance/juhai.baseframework.order.acceptance.mjs","products/juhai.baseframework/migrations/juhai.baseframework.order/20260826090000_create_orders.sql","products/juhai.baseframework/migrations/juhai.baseframework.order/20260826091000_create_order_events.sql","products/juhai.baseframework/package.json","products/juhai.baseframework/product.manifest.json","products/juhai.baseframework/src/contracts.ts","products/juhai.baseframework/src/fastify.ts","products/juhai.baseframework/src/host.ts","products/juhai.baseframework/src/index.ts","products/juhai.baseframework/src/manifest.ts","products/juhai.baseframework/src/nestjs.ts","products/juhai.baseframework/src/order-repository.ts","products/juhai.baseframework/src/tools.ts","products/juhai.baseframework/src/web.tsx","products/juhai.baseframework/test/os-host.runtime.test.ts","products/juhai.baseframework/tsconfig.os-host.json","products/juhai.baseframework/vitest.os-host.config.ts","reports/baseline.json","reports/os-product-compat.latest.json","reports/os-product-runtime.latest.json"],"modified":["CLAUDE.md","docs/README.md","docs/domain/owner-matrix.md","docs/os-product-extension.md","kernel.products.json","package.json"]},{"id":"5fb2d0dedcb19ab42f3be24316582eeaacddd59d","message":"chore: 本仓 check:kernel 首跑证据(kernel profile 12 步绿)\n","url":"https://gitea.g-hi.com/luoanwu/cost-capacity/commit/5fb2d0dedcb19ab42f3be24316582eeaacddd59d","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-30T20:49:19-07:00","added":[],"removed":[],"modified":["reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-profile-kernel.latest.json","reports/governance-rules.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},{"id":"f8cbd83703e403e0fccbd379d2946a655f337814","message":"chore: 移除跨仓验收证据(fork-readiness F5,须本仓真实重跑 check:runtime/check:ui)\n","url":"https://gitea.g-hi.com/luoanwu/cost-capacity/commit/f8cbd83703e403e0fccbd379d2946a655f337814","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-30T20:47:31-07:00","added":[],"removed":["reports/runtime-acceptance.latest.json","reports/ui-acceptance.latest.json"],"modified":["reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-profile-kernel.latest.json","reports/governance-rules.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]}],"total_commits":0,"head_commit":{"id":"ea8167e33e2b6db49a9c694db5fbb4b6b84ad4b7","message":"feat(capacity): 新增资源标签契约\n","url":"https://gitea.g-hi.com/luoanwu/cost-capacity/commit/ea8167e33e2b6db49a9c694db5fbb4b6b84ad4b7","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-09-01T06:45:34-07:00","added":["docs/domain/resource-tags-blueprint.md","packages/contracts/src/resource-tags.test.ts","packages/contracts/src/resource-tags.ts","reports/runtime-acceptance.latest.json"],"removed":[],"modified":[".github/workflows/governance.yml","CLAUDE.md","README.md","docs/domain/owner-matrix.md","packages/contracts/src/index.ts","reports/baseline.json","reports/conformance-differential.latest.json","reports/conformance-matrix.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-rules.latest.json","reports/governance-status.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-compat.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},"repository":{"id":104,"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":"cost-capacity","full_name":"luoanwu/cost-capacity","description":"","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":27,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/cost-capacity/languages","html_url":"https://gitea.g-hi.com/luoanwu/cost-capacity","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/cost-capacity","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/cost-capacity.git","clone_url":"https://gitea.g-hi.com/luoanwu/cost-capacity.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-01T21:58:09+08:00","updated_at":"2026-09-01T21:59:45+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":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
3
|
6
|
1788278684
|
1788279540
|
0
|
1788271185
|
1788373230
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
...
|
governance-governance.yml-refs/heads/main
|
0
|
Edit
Delete
|
|
23472
|
修复评价截图 OCR 兼容性
|
51
|
5
|
ci.yml
|
10
|
8
|
0
|
refs/heads/main
|
ead57a81e98d7f55797e6963b61e4847d9d9a96d
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"092acb7eb779cf4d784a4aec60f834e797be7e46","after":"ead57a81e98d7f55797e6963b61e4847d9d9a96d","compare_url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools/compare/092acb7eb779cf4d784a4aec60f834e797be7e46...ead57a81e98d7f55797e6963b61e4847d9d9a96d","commits":[{"id":"ead57a81e98d7f55797e6963b61e4847d9d9a96d","message":"修复评价截图 OCR 兼容性\n","url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools/commit/ead57a81e98d7f55797e6963b61e4847d9d9a96d","author":{"name":"chenjunfeng","email":"developer.jeff.c@gmail.com","username":""},"committer":{"name":"chenjunfeng","email":"developer.jeff.c@gmail.com","username":""},"verification":null,"timestamp":"2026-07-31T16:21:17+08:00","added":[],"removed":[],"modified":["server/src/adapters/ocr/parse.ts","server/src/adapters/ocr/vision.ts","server/test/ocr-parse.test.ts","server/test/ocr-provider.unit.test.ts","团购本地生活AI运营App/api.js","团购本地生活AI运营App/scripts/test-static.mjs"]}],"total_commits":0,"head_commit":{"id":"ead57a81e98d7f55797e6963b61e4847d9d9a96d","message":"修复评价截图 OCR 兼容性\n","url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools/commit/ead57a81e98d7f55797e6963b61e4847d9d9a96d","author":{"name":"chenjunfeng","email":"developer.jeff.c@gmail.com","username":""},"committer":{"name":"chenjunfeng","email":"developer.jeff.c@gmail.com","username":""},"verification":null,"timestamp":"2026-07-31T16:21:17+08:00","added":[],"removed":[],"modified":["server/src/adapters/ocr/parse.ts","server/src/adapters/ocr/vision.ts","server/test/ocr-parse.test.ts","server/test/ocr-provider.unit.test.ts","团购本地生活AI运营App/api.js","团购本地生活AI运营App/scripts/test-static.mjs"]},"repository":{"id":51,"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":"yggdrasil-local-life-tools","full_name":"luoanwu/yggdrasil-local-life-tools","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":87461,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/yggdrasil-local-life-tools/languages","html_url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/yggdrasil-local-life-tools","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/yggdrasil-local-life-tools.git","clone_url":"https://gitea.g-hi.com/luoanwu/yggdrasil-local-life-tools.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-02T16:02:07+08:00","updated_at":"2026-07-31T15:46:25+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":8,"login":"chenjunfeng","login_name":"","source_id":0,"full_name":"","email":"8+chenjunfeng@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/2c6398f22eba2ea6d8f403921eea0967","html_url":"https://gitea.g-hi.com/chenjunfeng","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-03-09T13:22:40+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"chenjunfeng"},"sender":{"id":8,"login":"chenjunfeng","login_name":"","source_id":0,"full_name":"","email":"8+chenjunfeng@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/2c6398f22eba2ea6d8f403921eea0967","html_url":"https://gitea.g-hi.com/chenjunfeng","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-03-09T13:22:40+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"chenjunfeng"}}...
|
push
|
2
|
8
|
1785486106
|
1785486233
|
0
|
1785486106
|
1785486233
|
group: ci-${{ github.ref }}
cancel-in-progress: group: ci-${{ github.ref }}
cancel-in-progress: "true"
...
|
ci-refs/heads/main
|
1
|
Edit
Delete
|
|
23756
|
docs(release): record verified admin brand creatio docs(release): record verified admin brand creation deployment...
|
57
|
5
|
governance.yml
|
127
|
5
|
0
|
refs/heads/main
|
eafae214ceae1fdb126697d5110baf2313467eea
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"826b23a6823a8a8758a9b3e20c595333551a9274","after":"eafae214ceae1fdb126697d5110baf2313467eea","compare_url":"https://gitea.g-hi.com/luoanwu/image-generation/compare/826b23a6823a8a8758a9b3e20c595333551a9274...eafae214ceae1fdb126697d5110baf2313467eea","commits":[{"id":"eafae214ceae1fdb126697d5110baf2313467eea","message":"docs(release): record verified admin brand creation deployment\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/eafae214ceae1fdb126697d5110baf2313467eea","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-08T20:44:20-07:00","added":["docs/releases/2026-09-08-admin-brands1.md","reports/admin-brands-2026-09-08/browser-verification.json","reports/admin-brands-2026-09-08/deployment.json","reports/admin-brands-2026-09-08/post-deployment-smoke.json"],"removed":[],"modified":["docs/governance/log/2026-09-08-admin-brands.md","docs/releases/current.md","reports/admin-brands-2026-09-08/README.md","reports/contract-consumers.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/production-security.latest.json","reports/public-file-integration.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/storyboard-director-guard.latest.json","reports/toolchain.latest.json","reports/validation-source.latest.json"]}],"total_commits":0,"head_commit":{"id":"eafae214ceae1fdb126697d5110baf2313467eea","message":"docs(release): record verified admin brand creation deployment\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/eafae214ceae1fdb126697d5110baf2313467eea","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-08T20:44:20-07:00","added":["docs/releases/2026-09-08-admin-brands1.md","reports/admin-brands-2026-09-08/browser-verification.json","reports/admin-brands-2026-09-08/deployment.json","reports/admin-brands-2026-09-08/post-deployment-smoke.json"],"removed":[],"modified":["docs/governance/log/2026-09-08-admin-brands.md","docs/releases/current.md","reports/admin-brands-2026-09-08/README.md","reports/contract-consumers.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/production-security.latest.json","reports/public-file-integration.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/storyboard-director-guard.latest.json","reports/toolchain.latest.json","reports/validation-source.latest.json"]},"repository":{"id":57,"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":"image-generation","full_name":"luoanwu/image-generation","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":769180,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation/languages","html_url":"https://gitea.g-hi.com/luoanwu/image-generation","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/image-generation.git","clone_url":"https://gitea.g-hi.com/luoanwu/image-generation.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":7,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-06T17:04:22+08:00","updated_at":"2026-09-09T11:38:35+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"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
|
1788925476
|
1788925517
|
0
|
1788925475
|
1788925517
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23810
|
docs: record the uiux-script3 release and its reco docs: record the uiux-script3 release and its recovery...
|
57
|
5
|
governance.yml
|
179
|
5
|
0
|
refs/heads/main
|
eb9f043fa4c56dae0d634c3b9de9b7de82514b24
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"cbfd16f0acce3825bb85f523aede63ea30101d40","after":"eb9f043fa4c56dae0d634c3b9de9b7de82514b24","compare_url":"https://gitea.g-hi.com/luoanwu/image-generation/compare/cbfd16f0acce3825bb85f523aede63ea30101d40...eb9f043fa4c56dae0d634c3b9de9b7de82514b24","commits":[{"id":"eb9f043fa4c56dae0d634c3b9de9b7de82514b24","message":"docs: record the uiux-script3 release and its recovery\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/eb9f043fa4c56dae0d634c3b9de9b7de82514b24","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-09T18:32:42-07:00","added":["docs/releases/2026-09-10-uiux-script3.md"],"removed":[],"modified":["docs/governance/log/2026-09-09-uiux-workbench.md","docs/releases/current.md"]}],"total_commits":0,"head_commit":{"id":"eb9f043fa4c56dae0d634c3b9de9b7de82514b24","message":"docs: record the uiux-script3 release and its recovery\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/eb9f043fa4c56dae0d634c3b9de9b7de82514b24","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-09T18:32:42-07:00","added":["docs/releases/2026-09-10-uiux-script3.md"],"removed":[],"modified":["docs/governance/log/2026-09-09-uiux-workbench.md","docs/releases/current.md"]},"repository":{"id":57,"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":"image-generation","full_name":"luoanwu/image-generation","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":827657,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation/languages","html_url":"https://gitea.g-hi.com/luoanwu/image-generation","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/image-generation.git","clone_url":"https://gitea.g-hi.com/luoanwu/image-generation.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":8,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-06T17:04:22+08:00","updated_at":"2026-09-10T09:07:18+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":true,"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
|
1789004150
|
1789004192
|
0
|
1789003966
|
1789004192
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
18597
|
Merge remote-tracking branch 'github/feat/api- Merge remote-tracking branch 'github/feat/api-tests-bom-crud' into codex/merge-all-20260429...
|
6
|
5
|
migration-safety.yml
|
18517
|
5
|
0
|
refs/heads/codex/merge-all-20260429
|
ec0c3a40069e8b31e369ceb9a13c7fd062040179
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/codex/merge-all-202 {"ref":"refs/heads/codex/merge-all-20260429","before":"87bd42d7c27e5db1d178f2511f4aab307c2dbccc","after":"ec0c3a40069e8b31e369ceb9a13c7fd062040179","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/87bd42d7c27e5db1d178f2511f4aab307c2dbccc...ec0c3a40069e8b31e369ceb9a13c7fd062040179","commits":[{"id":"ec0c3a40069e8b31e369ceb9a13c7fd062040179","message":"Merge remote-tracking branch 'github/feat/api-tests-bom-crud' into codex/merge-all-20260429\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/ec0c3a40069e8b31e369ceb9a13c7fd062040179","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-28T20:14:09-07:00","added":[],"removed":[],"modified":["backend/tests/api/bom.test.ts"]},{"id":"3f5e64fcaa210fde0bb3e6013900f4ea5890a819","message":"Merge remote-tracking branch 'github/docs/tx-bound-write-samples' into codex/merge-all-20260429\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/3f5e64fcaa210fde0bb3e6013900f4ea5890a819","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-28T20:14:09-07:00","added":["docs/governance/tx-bound-write-sample-validation-2026-04-17.md"],"removed":[],"modified":["backend/scripts/audit-outbox-atomicity.ts"]},{"id":"3598e154070363999d2c9e49a9316aa2f7e0e0c5","message":"Merge remote-tracking branch 'github/docs/sprint-1-retro' into codex/merge-all-20260429\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/3598e154070363999d2c9e49a9316aa2f7e0e0c5","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-28T20:14:08-07:00","added":["docs/retrospectives/q2-sprint-1-retro-2026-04-17.md"],"removed":[],"modified":[]},{"id":"61bff2c1a359c312ac6b6287480135ce7ea57df7","message":"Merge remote-tracking branch 'github/docs/q2-2026-landing-plan' into codex/merge-all-20260429\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/61bff2c1a359c312ac6b6287480135ce7ea57df7","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-28T20:14:08-07:00","added":["docs/playbooks/q2-2026-landing-plan.md"],"removed":[],"modified":[]},{"id":"5ff37e215df1d43629008d1ca284f596ca34d896","message":"Merge remote-tracking branch 'github/docs/base-service-atomicity-rfc' into codex/merge-all-20260429\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/5ff37e215df1d43629008d1ca284f596ca34d896","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-28T20:14:08-07:00","added":["docs/governance/outbox-d-class-deep-dive-2026-04-17.md","docs/rfcs/0001-base-service-atomicity.md"],"removed":[],"modified":[]}],"total_commits":0,"head_commit":{"id":"ec0c3a40069e8b31e369ceb9a13c7fd062040179","message":"Merge remote-tracking branch 'github/feat/api-tests-bom-crud' into codex/merge-all-20260429\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/ec0c3a40069e8b31e369ceb9a13c7fd062040179","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-28T20:14:09-07:00","added":[],"removed":[],"modified":["backend/tests/api/bom.test.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":5238160,"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":18,"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-29T11:06:54+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
|
1777432567
|
1777440657
|
0
|
1777432567
|
1777440657
|
|
|
0
|
Edit
Delete
|
|
23657
|
fix(ui): show complete creative production workspa fix(ui): show complete creative production workspaces...
|
57
|
5
|
governance.yml
|
28
|
5
|
0
|
refs/heads/main
|
ec9d8fb606022dd0c65a2a3974b0f46e0e796029
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"fcb51b8d2a12d612e9b738075323e693dc950a73","after":"ec9d8fb606022dd0c65a2a3974b0f46e0e796029","compare_url":"https://gitea.g-hi.com/luoanwu/image-generation/compare/fcb51b8d2a12d612e9b738075323e693dc950a73...ec9d8fb606022dd0c65a2a3974b0f46e0e796029","commits":[{"id":"ec9d8fb606022dd0c65a2a3974b0f46e0e796029","message":"fix(ui): show complete creative production workspaces\n\nExpand content steps 01-09, AI editing, shooting scripts, storyboards and video generation through a shared page scroll area. Adapt side panels for narrower screens and restore active work-area positioning.\n\nVerified 75 responsive layout cases and reversible UI interactions; TypeScript and targeted ESLint checks passed. Include existing workspace configuration, business analysis and refreshed governance records.\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/ec9d8fb606022dd0c65a2a3974b0f46e0e796029","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-06T20:42:04-07:00","added":["apps/web/src/components/material-factory/production-workspace.module.css","reports/business-function-analysis-2026-09-06.md"],"removed":[],"modified":["apps/web/src/components/material-factory/ContentStudio.tsx","apps/web/src/components/material-factory/RoleConfirmPanel.tsx","apps/web/src/components/material-factory/ScriptStudio.tsx","apps/web/src/components/material-factory/StoryboardStudio.tsx","apps/web/src/components/material-factory/VideoStudio.tsx","apps/web/src/components/material-factory/content-studio.module.css","apps/web/src/components/material-factory/video-edit/VideoEditStudio.tsx","apps/web/src/components/material-factory/video-edit/video-edit.module.css","apps/web/tsconfig.json","reports/contract-consumers.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/production-security.latest.json","reports/public-file-integration.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/storyboard-director-guard.latest.json","reports/toolchain.latest.json","reports/validation-source.latest.json"]},{"id":"df2581774880212f8715cae2d11bb2ab9545a12f","message":"docs(script): record integrated extraction and upload verification\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/df2581774880212f8715cae2d11bb2ab9545a12f","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-06T20:13:43-07:00","added":[],"removed":[],"modified":["reports/script-extraction-upload-2026-09-07.md"]},{"id":"2074e518ae10e4297fe503551e0105b1050970a4","message":"Merge branch 'main' into feature/script-extraction-upload\n\n# Conflicts:\n#\tCLAUDE.md\n#\tpackages/contracts/src/index.ts\n#\tscripts/migration-history.json\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/2074e518ae10e4297fe503551e0105b1050970a4","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-06T20:12:05-07:00","added":["apps/api-fastify/prisma/migrations/20260907010000_video_edits/migration.sql","apps/api-fastify/src/modules/material-factory/video-edit-generation.ts","apps/api-fastify/src/routes/video-edit.ts","apps/api-nestjs/prisma/migrations/20260907010000_video_edits/migration.sql","apps/api-nestjs/src/material-factory/video-edit-generation.ts","apps/api-nestjs/src/video-edit/video-edit.controller.ts","apps/web/src/components/material-factory/video-edit/VideoEditStudio.tsx","apps/web/src/components/material-factory/video-edit/video-edit.module.css","docs/governance/log/2026-09-07.md","docs/product/ai-video-edit.md","packages/contracts/src/video-edit.ts","packages/video-edit/package.json","packages/video-edit/src/index.ts","packages/video-edit/src/media.test.ts","packages/video-edit/src/media.ts","packages/video-edit/src/worker.ts","packages/video-edit/tsconfig.json","reports/ai-video-edit-20260907/api.json","reports/ai-video-edit-20260907/source.json","reports/ai-video-edit-20260907/ui.json","scripts/check-video-edit-acceptance.cjs","services/model-sidecar/test_video_edit.py"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/package.json","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/app.ts","apps/api-fastify/src/creative-worker.ts","apps/api-fastify/src/modules/creative-project/creative-project.service.ts","apps/api-fastify/src/modules/material-factory/material-sidecar.client.ts","apps/api-nestjs/package.json","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/src/creative-project/creative-project.service.ts","apps/api-nestjs/src/creative-worker.ts","apps/api-nestjs/src/material-factory/material-factory.module.ts","apps/api-nestjs/src/material-factory/material-sidecar.client.ts","apps/web/src/app/api/[...path]/route.ts","apps/web/src/components/material-factory/FactoryShell.tsx","apps/web/src/components/material-factory/VideoStudio.tsx","apps/web/src/components/material-factory/creative-project-queries.ts","apps/web/src/lib/api.ts","apps/web/src/store/useFactoryStore.ts","deploy/vm/Dockerfile","deploy/vm/docker-compose.yml","docs/design/workspace-experience.md","docs/domain/module-boundary.md","docs/domain/owner-matrix.md","packages/contracts/src/creative-stage-progress.ts","packages/contracts/src/index.ts","pnpm-lock.yaml","scripts/check-module-boundary.mjs","scripts/check-production-security.mjs","scripts/migration-history.json","services/model-sidecar/main.py"]},{"id":"555818ed186596afa77349c59b2a6ffa67b9ef6a","message":"feat(script): extract scenes and support source and reference uploads\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/555818ed186596afa77349c59b2a6ffa67b9ef6a","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-06T20:11:39-07:00","added":["apps/api-fastify/prisma/migrations/20260907020000_script_scene_reference/migration.sql","apps/api-fastify/test/script-reference-upload.integration.test.ts","apps/api-nestjs/prisma/migrations/20260907020000_script_scene_reference/migration.sql","apps/api-nestjs/test/script-reference-upload.integration.test.ts","apps/web/src/components/material-factory/ScriptSourceUpload.tsx","docs/governance/log/2026-09-07-script-extraction-upload.md","packages/contracts/src/script-source-file.test.ts","packages/contracts/src/script-source-file.ts","reports/script-extraction-upload-2026-09-07.md"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/modules/material-factory/material-factory.service.ts","apps/api-fastify/src/modules/material-factory/shooting-script.service.ts","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/src/material-factory/material-factory.service.ts","apps/api-nestjs/src/material-factory/shooting-script.service.ts","apps/web/src/components/material-factory/RoleConfirmPanel.tsx","apps/web/src/components/material-factory/ScriptStudio.tsx","packages/contracts/src/index.ts","packages/contracts/src/script-to-storyboard.test.ts","packages/contracts/src/script-to-storyboard.ts","packages/contracts/src/script.ts","packages/contracts/src/storyboard-llm.test.ts","packages/contracts/src/storyboard-llm.ts","scripts/migration-history.json"]},{"id":"a2eefb48d504e62a75436d316faeaa7dc7eb2aed","message":"feat(video-edit): add AI editing workspace and durable MP4 exports\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/a2eefb48d504e62a75436d316faeaa7dc7eb2aed","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-06T20:08:49-07:00","added":["apps/api-fastify/prisma/migrations/20260907010000_video_edits/migration.sql","apps/api-fastify/src/modules/material-factory/video-edit-generation.ts","apps/api-fastify/src/routes/video-edit.ts","apps/api-nestjs/prisma/migrations/20260907010000_video_edits/migration.sql","apps/api-nestjs/src/material-factory/video-edit-generation.ts","apps/api-nestjs/src/video-edit/video-edit.controller.ts","apps/web/src/components/material-factory/video-edit/VideoEditStudio.tsx","apps/web/src/components/material-factory/video-edit/video-edit.module.css","docs/governance/log/2026-09-07.md","docs/product/ai-video-edit.md","packages/contracts/src/video-edit.ts","packages/video-edit/package.json","packages/video-edit/src/index.ts","packages/video-edit/src/media.test.ts","packages/video-edit/src/media.ts","packages/video-edit/src/worker.ts","packages/video-edit/tsconfig.json","reports/ai-video-edit-20260907/api.json","reports/ai-video-edit-20260907/source.json","reports/ai-video-edit-20260907/ui.json","scripts/check-video-edit-acceptance.cjs","services/model-sidecar/test_video_edit.py"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/package.json","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/app.ts","apps/api-fastify/src/creative-worker.ts","apps/api-fastify/src/modules/creative-project/creative-project.service.ts","apps/api-fastify/src/modules/material-factory/material-sidecar.client.ts","apps/api-nestjs/package.json","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/src/creative-project/creative-project.service.ts","apps/api-nestjs/src/creative-worker.ts","apps/api-nestjs/src/material-factory/material-factory.module.ts","apps/api-nestjs/src/material-factory/material-sidecar.client.ts","apps/web/src/app/api/[...path]/route.ts","apps/web/src/components/material-factory/FactoryShell.tsx","apps/web/src/components/material-factory/VideoStudio.tsx","apps/web/src/components/material-factory/creative-project-queries.ts","apps/web/src/lib/api.ts","apps/web/src/store/useFactoryStore.ts","deploy/vm/Dockerfile","deploy/vm/docker-compose.yml","docs/design/workspace-experience.md","docs/domain/module-boundary.md","docs/domain/owner-matrix.md","packages/contracts/src/creative-stage-progress.ts","packages/contracts/src/index.ts","pnpm-lock.yaml","scripts/check-module-boundary.mjs","scripts/check-production-security.mjs","scripts/migration-history.json","services/model-sidecar/main.py"]}],"total_commits":0,"head_commit":{"id":"ec9d8fb606022dd0c65a2a3974b0f46e0e796029","message":"fix(ui): show complete creative production workspaces\n\nExpand content steps 01-09, AI editing, shooting scripts, storyboards and video generation through a shared page scroll area. Adapt side panels for narrower screens and restore active work-area positioning.\n\nVerified 75 responsive layout cases and reversible UI interactions; TypeScript and targeted ESLint checks passed. Include existing workspace configuration, business analysis and refreshed governance records.\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/ec9d8fb606022dd0c65a2a3974b0f46e0e796029","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-06T20:42:04-07:00","added":["apps/web/src/components/material-factory/production-workspace.module.css","reports/business-function-analysis-2026-09-06.md"],"removed":[],"modified":["apps/web/src/components/material-factory/ContentStudio.tsx","apps/web/src/components/material-factory/RoleConfirmPanel.tsx","apps/web/src/components/material-factory/ScriptStudio.tsx","apps/web/src/components/material-factory/StoryboardStudio.tsx","apps/web/src/components/material-factory/VideoStudio.tsx","apps/web/src/components/material-factory/content-studio.module.css","apps/web/src/components/material-factory/video-edit/VideoEditStudio.tsx","apps/web/src/components/material-factory/video-edit/video-edit.module.css","apps/web/tsconfig.json","reports/contract-consumers.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/production-security.latest.json","reports/public-file-integration.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/storyboard-director-guard.latest.json","reports/toolchain.latest.json","reports/validation-source.latest.json"]},"repository":{"id":57,"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":"image-generation","full_name":"luoanwu/image-generation","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":290773,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation/languages","html_url":"https://gitea.g-hi.com/luoanwu/image-generation","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/image-generation.git","clone_url":"https://gitea.g-hi.com/luoanwu/image-generation.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":5,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-06T17:04:22+08:00","updated_at":"2026-09-07T09:15:52+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":true,"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
|
4
|
1788752566
|
1788752662
|
0
|
1788752565
|
1788752662
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
18455
|
Fix review findings and refresh governance checks
|
6
|
5
|
migration-safety.yml
|
18375
|
5
|
0
|
refs/heads/codex-ai-assist-action-packs
|
ed4858a2d074f26e7df34213d9ffcbe86c38a248
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/codex-ai-assist-act {"ref":"refs/heads/codex-ai-assist-action-packs","before":"05151527b3217e437cb1be3ab0824d4fe3af352f","after":"ed4858a2d074f26e7df34213d9ffcbe86c38a248","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/05151527b3217e437cb1be3ab0824d4fe3af352f...ed4858a2d074f26e7df34213d9ffcbe86c38a248","commits":[{"id":"ed4858a2d074f26e7df34213d9ffcbe86c38a248","message":"Fix review findings and refresh governance checks\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/ed4858a2d074f26e7df34213d9ffcbe86c38a248","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-28T09:56:03-07:00","added":[".claude/scheduled_tasks.lock","backend/prisma/migrations/20260428060000_drift_recovery_p0a_rls_phase2/migration.sql","backend/prisma/migrations/20260428060100_drift_recovery_p0b_missing_tables/migration.sql","backend/prisma/migrations/20260428060200_drift_recovery_p1_add_columns/migration.sql","backend/prisma/migrations/20260428060500_drift_recovery_p3c_enum_alignment/migration.sql","backend/prisma/migrations/20260428070000_add_lead_pool_auto_dispatch_strategy/migration.sql","backend/prisma/migrations/20260428080000_tighten_currency_varchar/migration.sql","backend/prisma/migrations_pending_review/20260428060300_drift_recovery_p3_type_constraints/migration.sql","backend/prisma/migrations_pending_review/20260428090000_tighten_varchar_phase3/migration.sql","backend/prisma/migrations_pending_review/README.md","reports/migration-drift-diff.latest.sql","reports/migration-drift-summary.latest.json","reports/prisma-zod-contract-audit.2026-04-28.json","reports/prisma-zod-contract-audit.2026-04-28.md","scripts/ci-migration-deploy-gate.sh"],"removed":[],"modified":[".claude/settings.json",".env.example",".github/workflows/ci.yml",".github/workflows/migration-safety.yml","CLAUDE.md","backend/package.json","backend/prisma/schema.prisma","backend/prisma/schema/community.prisma","backend/prisma/schema/contracts.prisma","backend/prisma/schema/cpq.prisma","backend/prisma/schema/finance.prisma","backend/prisma/schema/leads.prisma","backend/prisma/schema/orders.prisma","backend/prisma/schema/service.prisma","backend/prisma/schema/stores.prisma","backend/prisma/schema/supply-chain.prisma","backend/prisma/schema/system.prisma","backend/src/modules/admin-settings/admin-settings.schema.ts","backend/src/modules/campaign-use-case-templates/use-case-template.schema.ts","backend/src/modules/contract-templates/contract-template.schema.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.schema.ts","backend/src/modules/landing-pages/landing-page.schema.ts","backend/src/modules/lead-pools/lead-pools.docs.ts","backend/src/modules/lead-pools/lead-pools.mapper.ts","backend/src/modules/lead-pools/lead-pools.schema.ts","backend/src/modules/lead-pools/lead-pools.service.ts","backend/src/modules/meddpicc-analyses/meddpicc.schema.ts","backend/src/modules/renewal-tasks/renewal-task.schema.ts","backend/src/modules/roles/role.schema.ts","backend/src/modules/sample-requests/sample-request.schema.ts","backend/src/modules/store-configs/store-configs.schema.ts","backend/src/modules/tenant-configs/tenant-config.schema.ts","docs/reports/view-audit-domains/a1-acquisition-center-2026-04-28.md","docs/reports/view-audit-domains/a3-ai-knowledge-2026-04-28.md","docs/reports/view-audit-domains/a4-store-groupbuy-alliance-2026-04-28.md","docs/reports/view-audit-domains/a5-admin-center-2026-04-28.md","docs/reports/view-audit-domains/a6-synergy-hr-2026-04-28.md","docs/reports/view-audit-domains/a7-analytics-marketing-2026-04-28.md","docs/reports/view-audit-domains/a8-system-center-2026-04-28.md","docs/reports/view-audit-domains/a9-service-sales-fulfillment-2026-04-28.md","docs/reports/view-audit-full-matrix-2026-04-28.md","frontend/.env.development","frontend/.env.example","frontend/src/api/modules/campaign-targets.ts","frontend/src/api/modules/events.ts","frontend/src/api/modules/lead-pools.ts","frontend/src/services/eventBus.ts","frontend/src/views/abm-marketing/Index.vue","frontend/src/views/abm-marketing/__tests__/abm-marketing.smoke.test.ts","frontend/src/views/alliance-agreements/Form.vue","frontend/src/views/customer-journey-orchestration/Index.vue","frontend/src/views/lead-pools/Form.vue","frontend/src/views/lead-pools/Index.vue","mobile/.env.development","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/api-test-coverage.latest.json","reports/api-test-coverage.latest.md","reports/approval-governance.latest.json","reports/approval-governance.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","reports/enum-consistency-audit.latest.json","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/harness-dashboard.latest.json","reports/list-page-routes-audit.latest.json","reports/menu-inventory-audit.latest.json","reports/module-coverage-matrix.latest.json","reports/module-grades.latest.json","reports/module-placeholder-audit.latest.json","reports/module-placeholder-audit.latest.md","reports/outbox-atomicity-audit.latest.json","reports/prisma-zod-contract-audit.latest.json","reports/prisma-zod-contract-audit.latest.md","reports/project-census.latest.json","reports/response-columns-audit.latest.json","reports/route-registration-audit.latest.json","reports/route-registration-audit.latest.md","reports/state-machine-integration-audit.latest.json","reports/state-machine-integration-audit.latest.md","reports/type-debt-audit.latest.json","reports/view-module-audit.latest.json","scripts/audit-response-columns.ts","scripts/sync-local-env.sh"]}],"total_commits":0,"head_commit":{"id":"ed4858a2d074f26e7df34213d9ffcbe86c38a248","message":"Fix review findings and refresh governance checks\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/ed4858a2d074f26e7df34213d9ffcbe86c38a248","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-28T09:56:03-07:00","added":[".claude/scheduled_tasks.lock","backend/prisma/migrations/20260428060000_drift_recovery_p0a_rls_phase2/migration.sql","backend/prisma/migrations/20260428060100_drift_recovery_p0b_missing_tables/migration.sql","backend/prisma/migrations/20260428060200_drift_recovery_p1_add_columns/migration.sql","backend/prisma/migrations/20260428060500_drift_recovery_p3c_enum_alignment/migration.sql","backend/prisma/migrations/20260428070000_add_lead_pool_auto_dispatch_strategy/migration.sql","backend/prisma/migrations/20260428080000_tighten_currency_varchar/migration.sql","backend/prisma/migrations_pending_review/20260428060300_drift_recovery_p3_type_constraints/migration.sql","backend/prisma/migrations_pending_review/20260428090000_tighten_varchar_phase3/migration.sql","backend/prisma/migrations_pending_review/README.md","reports/migration-drift-diff.latest.sql","reports/migration-drift-summary.latest.json","reports/prisma-zod-contract-audit.2026-04-28.json","reports/prisma-zod-contract-audit.2026-04-28.md","scripts/ci-migration-deploy-gate.sh"],"removed":[],"modified":[".claude/settings.json",".env.example",".github/workflows/ci.yml",".github/workflows/migration-safety.yml","CLAUDE.md","backend/package.json","backend/prisma/schema.prisma","backend/prisma/schema/community.prisma","backend/prisma/schema/contracts.prisma","backend/prisma/schema/cpq.prisma","backend/prisma/schema/finance.prisma","backend/prisma/schema/leads.prisma","backend/prisma/schema/orders.prisma","backend/prisma/schema/service.prisma","backend/prisma/schema/stores.prisma","backend/prisma/schema/supply-chain.prisma","backend/prisma/schema/system.prisma","backend/src/modules/admin-settings/admin-settings.schema.ts","backend/src/modules/campaign-use-case-templates/use-case-template.schema.ts","backend/src/modules/contract-templates/contract-template.schema.ts","backend/src/modules/groupbuy-platforms/groupbuy-platform.schema.ts","backend/src/modules/landing-pages/landing-page.schema.ts","backend/src/modules/lead-pools/lead-pools.docs.ts","backend/src/modules/lead-pools/lead-pools.mapper.ts","backend/src/modules/lead-pools/lead-pools.schema.ts","backend/src/modules/lead-pools/lead-pools.service.ts","backend/src/modules/meddpicc-analyses/meddpicc.schema.ts","backend/src/modules/renewal-tasks/renewal-task.schema.ts","backend/src/modules/roles/role.schema.ts","backend/src/modules/sample-requests/sample-request.schema.ts","backend/src/modules/store-configs/store-configs.schema.ts","backend/src/modules/tenant-configs/tenant-config.schema.ts","docs/reports/view-audit-domains/a1-acquisition-center-2026-04-28.md","docs/reports/view-audit-domains/a3-ai-knowledge-2026-04-28.md","docs/reports/view-audit-domains/a4-store-groupbuy-alliance-2026-04-28.md","docs/reports/view-audit-domains/a5-admin-center-2026-04-28.md","docs/reports/view-audit-domains/a6-synergy-hr-2026-04-28.md","docs/reports/view-audit-domains/a7-analytics-marketing-2026-04-28.md","docs/reports/view-audit-domains/a8-system-center-2026-04-28.md","docs/reports/view-audit-domains/a9-service-sales-fulfillment-2026-04-28.md","docs/reports/view-audit-full-matrix-2026-04-28.md","frontend/.env.development","frontend/.env.example","frontend/src/api/modules/campaign-targets.ts","frontend/src/api/modules/events.ts","frontend/src/api/modules/lead-pools.ts","frontend/src/services/eventBus.ts","frontend/src/views/abm-marketing/Index.vue","frontend/src/views/abm-marketing/__tests__/abm-marketing.smoke.test.ts","frontend/src/views/alliance-agreements/Form.vue","frontend/src/views/customer-journey-orchestration/Index.vue","frontend/src/views/lead-pools/Form.vue","frontend/src/views/lead-pools/Index.vue","mobile/.env.development","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/api-test-coverage.latest.json","reports/api-test-coverage.latest.md","reports/approval-governance.latest.json","reports/approval-governance.latest.md","reports/docs-single-source-audit.latest.json","reports/docs-single-source-audit.latest.md","reports/enum-consistency-audit.latest.json","reports/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/field-payload-audit.latest.json","reports/formrules-zod-audit.latest.json","reports/harness-dashboard.latest.json","reports/list-page-routes-audit.latest.json","reports/menu-inventory-audit.latest.json","reports/module-coverage-matrix.latest.json","reports/module-grades.latest.json","reports/module-placeholder-audit.latest.json","reports/module-placeholder-audit.latest.md","reports/outbox-atomicity-audit.latest.json","reports/prisma-zod-contract-audit.latest.json","reports/prisma-zod-contract-audit.latest.md","reports/project-census.latest.json","reports/response-columns-audit.latest.json","reports/route-registration-audit.latest.json","reports/route-registration-audit.latest.md","reports/state-machine-integration-audit.latest.json","reports/state-machine-integration-audit.latest.md","reports/type-debt-audit.latest.json","reports/view-module-audit.latest.json","scripts/audit-response-columns.ts","scripts/sync-local-env.sh"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5230647,"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":17,"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-28T20:31:27+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
4
|
1777395369
|
1777395549
|
0
|
1777395369
|
1777395549
|
|
|
0
|
Edit
Delete
|
|
23834
|
docs(changelog): @juhai/kernel@0.16.0 已发布到 Gitea n docs(changelog): @juhai/kernel@0.16.0 已发布到 Gitea npm registry...
|
54
|
5
|
governance.yml
|
36
|
5
|
0
|
refs/heads/main
|
ed6561882ae52d6d0f2b6fd5429382e85b4f12ab
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"4e46be3af7172533e93417e123d3369963f13e08","after":"ed6561882ae52d6d0f2b6fd5429382e85b4f12ab","compare_url":"https://gitea.g-hi.com/luoanwu/base-framework/compare/4e46be3af7172533e93417e123d3369963f13e08...ed6561882ae52d6d0f2b6fd5429382e85b4f12ab","commits":[{"id":"ed6561882ae52d6d0f2b6fd5429382e85b4f12ab","message":"docs(changelog): @juhai/kernel@0.16.0 已发布到 Gitea npm registry\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/base-framework/commit/ed6561882ae52d6d0f2b6fd5429382e85b4f12ab","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-10T06:59:49-07:00","added":[],"removed":[],"modified":["CHANGELOG.md"]}],"total_commits":0,"head_commit":{"id":"ed6561882ae52d6d0f2b6fd5429382e85b4f12ab","message":"docs(changelog): @juhai/kernel@0.16.0 已发布到 Gitea npm registry\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/base-framework/commit/ed6561882ae52d6d0f2b6fd5429382e85b4f12ab","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-10T06:59:49-07:00","added":[],"removed":[],"modified":["CHANGELOG.md"]},"repository":{"id":54,"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":"base-framework","full_name":"luoanwu/base-framework","description":"基础框架 monorepo","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5071,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/base-framework/languages","html_url":"https://gitea.g-hi.com/luoanwu/base-framework","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/base-framework","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/base-framework.git","clone_url":"https://gitea.g-hi.com/luoanwu/base-framework.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-03T12:24:18+08:00","updated_at":"2026-09-10T21:51:18+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":true,"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
|
10
|
1789048793
|
1789048837
|
0
|
1789048793
|
1789048847
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
...
|
governance-governance.yml-refs/heads/main
|
0
|
Edit
Delete
|
|
23785
|
test(storyboard): freeze verified frame dialog rel test(storyboard): freeze verified frame dialog release scope...
|
57
|
5
|
governance.yml
|
155
|
5
|
0
|
refs/heads/main
|
ed9b5df870bf72edcc8be883dec811b649aa13db
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"588c69a848df6f7ee9e42b0f099f2eb02b4d9a74","after":"ed9b5df870bf72edcc8be883dec811b649aa13db","compare_url":"https://gitea.g-hi.com/luoanwu/image-generation/compare/588c69a848df6f7ee9e42b0f099f2eb02b4d9a74...ed9b5df870bf72edcc8be883dec811b649aa13db","commits":[{"id":"ed9b5df870bf72edcc8be883dec811b649aa13db","message":"test(storyboard): freeze verified frame dialog release scope\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/ed9b5df870bf72edcc8be883dec811b649aa13db","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-09T04:17:35-07:00","added":[],"removed":[],"modified":["docs/governance/log/2026-09-09-storyboard-frame-dialog.md","reports/contract-consumers.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/production-security.latest.json","reports/public-file-integration.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/storyboard-director-guard.latest.json","reports/storyboard-frame-dialog-20260909/README.md","reports/storyboard-frame-dialog-20260909/summary.json","reports/toolchain.latest.json","reports/validation-source.latest.json"]},{"id":"12eee55db00f40d5c4fb930a449700862494e72a","message":"Merge branch 'main' into fix/storyboard-draft-model\n\n# Conflicts:\n#\tCLAUDE.md\n#\treports/contract-consumers.latest.json\n#\treports/dependency-audit.latest.json\n#\treports/governance-docs.latest.json\n#\treports/governance.latest.json\n#\treports/inference-acceptance.latest.json\n#\treports/material-review-concurrency-guard.latest.json\n#\treports/migrations.latest.json\n#\treports/module-boundary.latest.json\n#\treports/naming.latest.json\n#\treports/order-concurrency-guard.latest.json\n#\treports/production-acceptance.latest.json\n#\treports/production-security.latest.json\n#\treports/public-file-acceptance.latest.json\n#\treports/public-file-integration.latest.json\n#\treports/runtime-acceptance.latest.json\n#\treports/runtime-governance.latest.json\n#\treports/schema-sync.latest.json\n#\treports/script-acceptance.latest.json\n#\treports/sidecar-tests.latest.json\n#\treports/storyboard-director-guard.latest.json\n#\treports/toolchain.latest.json\n#\treports/ui-acceptance.latest.json\n#\treports/validation-source.latest.json\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/12eee55db00f40d5c4fb930a449700862494e72a","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-09T04:13:25-07:00","added":["reports/director-review-20260909/summary.json","reports/template-making-uiux-20260909/summary.json"],"removed":[],"modified":["docs/governance/log/2026-09-09-director-review.md","docs/governance/log/2026-09-09-template-making-uiux.md","reports/director-review-20260909/README.md","reports/template-making-uiux-20260909/README.md"]},{"id":"4350b3cecf43560fc8329e34a7386e4f0725da9f","message":"test(storyboard): verify frame dialogs through real save workflows\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/4350b3cecf43560fc8329e34a7386e4f0725da9f","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-09T04:11:01-07:00","added":["docs/governance/log/2026-09-09-storyboard-frame-dialog.md","reports/storyboard-frame-dialog-20260909/README.md","reports/storyboard-frame-dialog-20260909/desktop.first.png","reports/storyboard-frame-dialog-20260909/desktop.last.png","reports/storyboard-frame-dialog-20260909/mobile.first.png","reports/storyboard-frame-dialog-20260909/mobile.last.png","reports/storyboard-frame-dialog-20260909/mobile.saved.png","reports/storyboard-frame-dialog-20260909/summary.json"],"removed":[],"modified":["CLAUDE.md","reports/contract-consumers.latest.json","reports/dependency-audit.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/inference-acceptance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/production-acceptance.latest.json","reports/production-security.latest.json","reports/public-file-acceptance.latest.json","reports/public-file-integration.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/script-acceptance.latest.json","reports/sidecar-tests.latest.json","reports/storyboard-director-guard.latest.json","reports/toolchain.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json"]},{"id":"f8483010baee1e8dafb866c4cb554133ca515ad2","message":"Merge commit '7f9a6766' into fix/storyboard-draft-model\n\n# Conflicts:\n#\tCLAUDE.md\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/f8483010baee1e8dafb866c4cb554133ca515ad2","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-09T04:03:10-07:00","added":["apps/web/src/components/material-factory/TemplateMakingCanvas.tsx","docs/governance/log/2026-09-09-template-making-uiux.md","reports/template-making-uiux-20260909/README.md","scripts/lib/template-making-ui-acceptance.mjs"],"removed":[],"modified":["CLAUDE.md","apps/web/src/components/material-factory/EditStudio.tsx","apps/web/src/components/material-factory/NewTemplateButton.tsx","scripts/check-ui-acceptance.mjs","scripts/lib/storyboard-asset-dialog-ui-acceptance.mjs"]},{"id":"7c71e290d79de068685c7848ad40423059ef9cb3","message":"Merge branch 'main' into fix/storyboard-draft-model\n\n# Conflicts:\n#\tCLAUDE.md\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/7c71e290d79de068685c7848ad40423059ef9cb3","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-09T04:02:47-07:00","added":["docs/governance/log/2026-09-09-director-review.md","docs/releases/2026-09-09-template-preview1.md","reports/director-review-20260909/README.md","reports/template-preview-20260909/live-browser.json"],"removed":[],"modified":["CLAUDE.md","apps/web/src/components/material-factory/DirectorReviewWorkbench.tsx","apps/web/src/components/material-factory/StoryboardStudio.tsx","docs/governance/log/2026-09-09-template-preview.md","docs/releases/current.md","reports/template-preview-20260909/README.md","scripts/check-ui-acceptance.mjs"]}],"total_commits":0,"head_commit":{"id":"ed9b5df870bf72edcc8be883dec811b649aa13db","message":"test(storyboard): freeze verified frame dialog release scope\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/ed9b5df870bf72edcc8be883dec811b649aa13db","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-09T04:17:35-07:00","added":[],"removed":[],"modified":["docs/governance/log/2026-09-09-storyboard-frame-dialog.md","reports/contract-consumers.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/production-security.latest.json","reports/public-file-integration.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/storyboard-director-guard.latest.json","reports/storyboard-frame-dialog-20260909/README.md","reports/storyboard-frame-dialog-20260909/summary.json","reports/toolchain.latest.json","reports/validation-source.latest.json"]},"repository":{"id":57,"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":"image-generation","full_name":"luoanwu/image-generation","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":773297,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation/languages","html_url":"https://gitea.g-hi.com/luoanwu/image-generation","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/image-generation.git","clone_url":"https://gitea.g-hi.com/luoanwu/image-generation.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":8,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-06T17:04:22+08:00","updated_at":"2026-09-09T19:09:40+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":true,"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
|
1788952660
|
1788952721
|
0
|
1788952660
|
1788952721
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23707
|
test(integration): verify complete pending feature test(integration): verify complete pending feature integration...
|
57
|
5
|
governance.yml
|
78
|
5
|
0
|
refs/heads/main
|
edf81b7af0339292012403cd9ba54c3031e3dd99
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"8819672f681ea0a3efa619e8294de8118b21825f","after":"edf81b7af0339292012403cd9ba54c3031e3dd99","compare_url":"https://gitea.g-hi.com/luoanwu/image-generation/compare/8819672f681ea0a3efa619e8294de8118b21825f...edf81b7af0339292012403cd9ba54c3031e3dd99","commits":[{"id":"edf81b7af0339292012403cd9ba54c3031e3dd99","message":"test(integration): verify complete pending feature integration\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/edf81b7af0339292012403cd9ba54c3031e3dd99","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-08T10:48:38-07:00","added":["docs/governance/log/2026-09-08-full-submit.md","reports/full-submit-2026-09-08/README.md","reports/full-submit-2026-09-08/summary.json"],"removed":[],"modified":["CLAUDE.md","reports/admin-desktop.png","reports/admin-mobile.png","reports/advanced-image-skills-2026-09-08/initial-ui.log","reports/advanced-image-skills-2026-09-08/migrations.log","reports/advanced-image-skills-2026-09-08/ui.log","reports/content-detail.brief-desktop.png","reports/content-detail.images-desktop.png","reports/content-detail.output-desktop.png","reports/content-detail.output-mobile.png","reports/content-detail.plans-desktop.png","reports/content-detail.review-desktop.png","reports/content-image-composition-2026-09-08/migrations.log","reports/contract-consumers.latest.json","reports/dependency-audit.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/inference-acceptance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/model-api-key-saved.png","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/prd-retry.mobile.png","reports/prd-review.desktop.png","reports/production-acceptance.latest.json","reports/production-delivery-released.desktop.png","reports/production-delivery-revoked.mobile.png","reports/production-pagination.desktop.png","reports/production-pagination.mobile.png","reports/production-review-preview.desktop.png","reports/production-security.latest.json","reports/production-single-tenant-create.desktop.png","reports/production-single-tenant-separation.desktop.png","reports/public-file-acceptance.latest.json","reports/public-file-integration.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/script-acceptance.latest.json","reports/script-generation-queue.png","reports/sidecar-tests.latest.json","reports/storyboard-director-guard.latest.json","reports/template-types.desktop.png","reports/template-types.mobile.png","reports/toolchain.latest.json","reports/ui-acceptance.desktop.png","reports/ui-acceptance.draft-import.png","reports/ui-acceptance.latest.json","reports/ui-acceptance.mobile.png","reports/ui-acceptance.production.png","reports/ux-edit.desktop.png","reports/ux-home.desktop.png","reports/ux-intake.desktop.png","reports/validation-source.latest.json"]},{"id":"aa904b9d02dce5bc3086803d658ac53a62b59070","message":"Merge branch 'main' into integrate/full-submit-20260908\n\n# Conflicts:\n#\tCLAUDE.md\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/aa904b9d02dce5bc3086803d658ac53a62b59070","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-08T10:47:16-07:00","added":["docs/releases/2026-09-08-r49.md","reports/screenplay-purpose-2026-09-08/summary.json"],"removed":[],"modified":["CLAUDE.md","docs/governance/log/2026-09-08-screenplay-purpose.md","docs/releases/current.md","reports/screenplay-purpose-2026-09-08/README.md"]},{"id":"3e211e4fe1519a04f86ab93317fa21eeddf4627c","message":"feat(creative): support reviewed historical queue cancellation\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/3e211e4fe1519a04f86ab93317fa21eeddf4627c","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-07T20:45:12-07:00","added":["apps/api-fastify/test/creative-queue-http.integration.test.ts","apps/api-fastify/test/creative-queue.integration.test.ts","apps/api-nestjs/test/creative-queue-http.integration.test.ts","apps/api-nestjs/test/creative-queue.integration.test.ts","apps/web/src/components/material-factory/ClearCreativeQueue.tsx","docs/governance/log/2026-09-08-clear-creative-queue.md","packages/contracts/src/creative-queue.test.ts","reports/clear-creative-queue-2026-09-08/README.md","reports/clear-creative-queue-2026-09-08/check.txt","reports/clear-creative-queue-2026-09-08/contracts.txt","reports/clear-creative-queue-2026-09-08/integration.txt"],"removed":[],"modified":["apps/api-fastify/src/modules/creative-project/creative-project.service.ts","apps/api-fastify/src/routes/creative-project.ts","apps/api-nestjs/src/creative-project/creative-project.controller.ts","apps/api-nestjs/src/creative-project/creative-project.service.ts","apps/web/src/components/material-factory/CreativeProjectBar.tsx","apps/web/src/lib/api.ts","packages/contracts/src/creative-project.ts","packages/contracts/src/material-access.test.ts","packages/contracts/src/material-access.ts"]},{"id":"c3b2c7594343c8576b0af994222ae034169e1a10","message":"test(video-edit): verify subtitle exports and frame-aligned composition\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/c3b2c7594343c8576b0af994222ae034169e1a10","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-06T20:52:03-07:00","added":["reports/ai-video-edit-subtitles-20260907/README.md","reports/ai-video-edit-subtitles-20260907/api.json","reports/ai-video-edit-subtitles-20260907/source.json","reports/ai-video-edit-subtitles-20260907/ui.json","scripts/check-video-edit-subtitles-ui.cjs"],"removed":[],"modified":["docs/governance/log/2026-09-07.md","docs/product/ai-video-edit.md","scripts/check-video-edit-acceptance.cjs"]},{"id":"6a2e93d9916c33c7d6a8ae2eaf13a9b00e25b57a","message":"feat(video-edit): add source-timed subtitles and constrained AI candidates\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/6a2e93d9916c33c7d6a8ae2eaf13a9b00e25b57a","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-06T20:46:51-07:00","added":["apps/web/src/components/material-factory/video-edit/CaptionEditor.tsx","packages/video-edit/src/planner.ts","packages/video-edit/src/subtitles.test.ts","packages/video-edit/src/subtitles.ts"],"removed":[],"modified":["apps/api-fastify/src/routes/video-edit.ts","apps/api-nestjs/src/video-edit/video-edit.controller.ts","apps/web/src/components/material-factory/video-edit/VideoEditStudio.tsx","apps/web/src/components/material-factory/video-edit/video-edit.module.css","apps/web/src/lib/api.ts","deploy/vm/Dockerfile","docs/domain/owner-matrix.md","docs/product/ai-video-edit.md","packages/contracts/src/creative-stage-progress.ts","packages/contracts/src/video-edit.ts","packages/video-edit/src/index.ts","packages/video-edit/src/media.ts","packages/video-edit/src/worker.ts","scripts/check-video-edit-acceptance.cjs"]}],"total_commits":0,"head_commit":{"id":"edf81b7af0339292012403cd9ba54c3031e3dd99","message":"test(integration): verify complete pending feature integration\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/edf81b7af0339292012403cd9ba54c3031e3dd99","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-08T10:48:38-07:00","added":["docs/governance/log/2026-09-08-full-submit.md","reports/full-submit-2026-09-08/README.md","reports/full-submit-2026-09-08/summary.json"],"removed":[],"modified":["CLAUDE.md","reports/admin-desktop.png","reports/admin-mobile.png","reports/advanced-image-skills-2026-09-08/initial-ui.log","reports/advanced-image-skills-2026-09-08/migrations.log","reports/advanced-image-skills-2026-09-08/ui.log","reports/content-detail.brief-desktop.png","reports/content-detail.images-desktop.png","reports/content-detail.output-desktop.png","reports/content-detail.output-mobile.png","reports/content-detail.plans-desktop.png","reports/content-detail.review-desktop.png","reports/content-image-composition-2026-09-08/migrations.log","reports/contract-consumers.latest.json","reports/dependency-audit.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/inference-acceptance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/model-api-key-saved.png","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/prd-retry.mobile.png","reports/prd-review.desktop.png","reports/production-acceptance.latest.json","reports/production-delivery-released.desktop.png","reports/production-delivery-revoked.mobile.png","reports/production-pagination.desktop.png","reports/production-pagination.mobile.png","reports/production-review-preview.desktop.png","reports/production-security.latest.json","reports/production-single-tenant-create.desktop.png","reports/production-single-tenant-separation.desktop.png","reports/public-file-acceptance.latest.json","reports/public-file-integration.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/script-acceptance.latest.json","reports/script-generation-queue.png","reports/sidecar-tests.latest.json","reports/storyboard-director-guard.latest.json","reports/template-types.desktop.png","reports/template-types.mobile.png","reports/toolchain.latest.json","reports/ui-acceptance.desktop.png","reports/ui-acceptance.draft-import.png","reports/ui-acceptance.latest.json","reports/ui-acceptance.mobile.png","reports/ui-acceptance.production.png","reports/ux-edit.desktop.png","reports/ux-home.desktop.png","reports/ux-intake.desktop.png","reports/validation-source.latest.json"]},"repository":{"id":57,"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":"image-generation","full_name":"luoanwu/image-generation","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":643747,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation/languages","html_url":"https://gitea.g-hi.com/luoanwu/image-generation","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/image-generation.git","clone_url":"https://gitea.g-hi.com/luoanwu/image-generation.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":7,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-06T17:04:22+08:00","updated_at":"2026-09-09T01:39:59+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":true,"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
|
1788889739
|
1788889777
|
0
|
1788889738
|
1788889777
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23582
|
chore(governance): 刷新最新治理报告
|
76
|
5
|
governance.yml
|
27
|
5
|
0
|
refs/heads/main
|
eefb0fed0ca13cafe27e806924d4cc2f19154087
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"89b2adeeda1017b1ac4f66fb1ff5f89e0a21fcef","after":"eefb0fed0ca13cafe27e806924d4cc2f19154087","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/89b2adeeda1017b1ac4f66fb1ff5f89e0a21fcef...eefb0fed0ca13cafe27e806924d4cc2f19154087","commits":[{"id":"eefb0fed0ca13cafe27e806924d4cc2f19154087","message":"chore(governance): 刷新最新治理报告\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/eefb0fed0ca13cafe27e806924d4cc2f19154087","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-01T06:45:34-07:00","added":[],"removed":[],"modified":["reports/agent-adapters.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/kernel-boundaries.latest.json","reports/kernel-downstream.latest.json","reports/kernel-extensions.latest.json","reports/kernel-packages.latest.json","reports/llm-eval.latest.json","reports/migrations.latest.json","reports/mobile-export.latest.json","reports/naming.latest.json","reports/operations.latest.json","reports/product-acceptance.latest.json","reports/product-migrations.latest.json","reports/report-transaction-lock.latest.json","reports/rls.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]}],"total_commits":0,"head_commit":{"id":"eefb0fed0ca13cafe27e806924d4cc2f19154087","message":"chore(governance): 刷新最新治理报告\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/eefb0fed0ca13cafe27e806924d4cc2f19154087","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-01T06:45:34-07:00","added":[],"removed":[],"modified":["reports/agent-adapters.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/kernel-boundaries.latest.json","reports/kernel-downstream.latest.json","reports/kernel-extensions.latest.json","reports/kernel-packages.latest.json","reports/llm-eval.latest.json","reports/migrations.latest.json","reports/mobile-export.latest.json","reports/naming.latest.json","reports/operations.latest.json","reports/product-acceptance.latest.json","reports/product-migrations.latest.json","reports/report-transaction-lock.latest.json","reports/rls.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},"repository":{"id":76,"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":"digital-employee-os","full_name":"luoanwu/digital-employee-os","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":78233,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os/languages","html_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/digital-employee-os.git","clone_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os.git","original_url":"","website":"","stars_count":0,"forks_count":1,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-20T14:46:28+08:00","updated_at":"2026-08-30T16:16:46+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":true,"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
|
32
|
1788270617
|
1788270707
|
0
|
1788270616
|
1788270708
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23831
|
docs(releases): record release-20260910-no-text1
|
57
|
5
|
governance.yml
|
193
|
5
|
0
|
refs/heads/main
|
f07dca96879699117ca082bd7164703b715f9f1e
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"c7722c64bacefaaa48698f2b0899e7fd3ea6cd72","after":"f07dca96879699117ca082bd7164703b715f9f1e","compare_url":"https://gitea.g-hi.com/luoanwu/image-generation/compare/c7722c64bacefaaa48698f2b0899e7fd3ea6cd72...f07dca96879699117ca082bd7164703b715f9f1e","commits":[{"id":"f07dca96879699117ca082bd7164703b715f9f1e","message":"docs(releases): record release-20260910-no-text1\n\nNo-text switch for illustrations, the confirm-dialog keep action, the\nfactual-vs-generated review item and the single save banner, verified\non fingerprint 79dbb130… and deployed; current.md points at no-text1.\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/f07dca96879699117ca082bd7164703b715f9f1e","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-10T04:42:57-07:00","added":["docs/releases/2026-09-10-no-text1.md"],"removed":[],"modified":["docs/releases/current.md"]}],"total_commits":0,"head_commit":{"id":"f07dca96879699117ca082bd7164703b715f9f1e","message":"docs(releases): record release-20260910-no-text1\n\nNo-text switch for illustrations, the confirm-dialog keep action, the\nfactual-vs-generated review item and the single save banner, verified\non fingerprint 79dbb130… and deployed; current.md points at no-text1.\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/f07dca96879699117ca082bd7164703b715f9f1e","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-10T04:42:57-07:00","added":["docs/releases/2026-09-10-no-text1.md"],"removed":[],"modified":["docs/releases/current.md"]},"repository":{"id":57,"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":"image-generation","full_name":"luoanwu/image-generation","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":855587,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation/languages","html_url":"https://gitea.g-hi.com/luoanwu/image-generation","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/image-generation.git","clone_url":"https://gitea.g-hi.com/luoanwu/image-generation.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":9,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-06T17:04:22+08:00","updated_at":"2026-09-10T19:38:02+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"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
|
1789040585
|
1789040616
|
0
|
1789040584
|
1789040616
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23522
|
fix(governance): make source fingerprints commit-s fix(governance): make source fingerprints commit-stable...
|
57
|
5
|
governance.yml
|
5
|
5
|
0
|
refs/heads/main
|
f094101357dc511e450e0e18fab5c91baaed9865
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"7a7e42422a19f6ad4c86d4cd320119a7fc912885","after":"f094101357dc511e450e0e18fab5c91baaed9865","compare_url":"https://gitea.g-hi.com/luoanwu/image-generation/compare/7a7e42422a19f6ad4c86d4cd320119a7fc912885...f094101357dc511e450e0e18fab5c91baaed9865","commits":[{"id":"f094101357dc511e450e0e18fab5c91baaed9865","message":"fix(governance): make source fingerprints commit-stable\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/f094101357dc511e450e0e18fab5c91baaed9865","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-25T09:40:28-07:00","added":[],"removed":[],"modified":["reports/contract-consumers.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/inference-acceptance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/production-acceptance.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/ui-acceptance.desktop.png","reports/ui-acceptance.latest.json","reports/ui-acceptance.mobile.png","reports/ui-acceptance.production.png","reports/validation-source.latest.json","scripts/lib/source-fingerprint.mjs"]}],"total_commits":0,"head_commit":{"id":"f094101357dc511e450e0e18fab5c91baaed9865","message":"fix(governance): make source fingerprints commit-stable\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/f094101357dc511e450e0e18fab5c91baaed9865","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-25T09:40:28-07:00","added":[],"removed":[],"modified":["reports/contract-consumers.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/inference-acceptance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/production-acceptance.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/ui-acceptance.desktop.png","reports/ui-acceptance.latest.json","reports/ui-acceptance.mobile.png","reports/ui-acceptance.production.png","reports/validation-source.latest.json","scripts/lib/source-fingerprint.mjs"]},"repository":{"id":57,"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":"image-generation","full_name":"luoanwu/image-generation","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":44400,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation/languages","html_url":"https://gitea.g-hi.com/luoanwu/image-generation","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/image-generation.git","clone_url":"https://gitea.g-hi.com/luoanwu/image-generation.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":5,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-06T17:04:22+08:00","updated_at":"2026-08-26T00:34: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":true,"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
|
4
|
1787676047
|
1787676095
|
0
|
1787676046
|
1787676095
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23634
|
fix(web+e2e): C247 二次收口——恢复挂载显式失效 Actor 详情(staleTi fix(web+e2e): C247 二次收口——恢复挂载显式失效 Actor 详情(staleTime 60s 令挂载不重取);UI runner 失败时打印 Playwright 页面快照;C248 用户 CRUD 输入等目录不刷新再落...
|
76
|
5
|
governance.yml
|
36
|
5
|
0
|
refs/heads/main
|
f0ccb47b6ee3f55638f9941477a83f05669d40a1
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"02014ba736e60658da75a21175f631c844bd1131","after":"f0ccb47b6ee3f55638f9941477a83f05669d40a1","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/02014ba736e60658da75a21175f631c844bd1131...f0ccb47b6ee3f55638f9941477a83f05669d40a1","commits":[{"id":"f0ccb47b6ee3f55638f9941477a83f05669d40a1","message":"fix(web+e2e): C247 二次收口——恢复挂载显式失效 Actor 详情(staleTime 60s 令挂载不重取);UI runner 失败时打印 Playwright 页面快照;C248 用户 CRUD 输入等目录不刷新再落\n\n- C247:run 33832242971 上「正在恢复」态 30s 不离场——全局 staleTime=60s 让仍新鲜的缓存不重取,isFetchedAfterMount 永远 false;恢复挂载时 invalidateQueries(actorKeys.detail) 强制一次新鲜读取\n- runner:失败时读取 error-context.md(最多 3 个 × 12 KiB,脱敏)打进 CI 日志并记入子报告 errorContexts(C239 缺口)\n- C248:快照实锤名称输入在后台 refetch 的 disabled 窗内被吞、按钮因 !name 禁用至 60s——输入前等「核对用户事实」可用,输入后断言值已落、落不住重填\n- 本机双侧 UI 31/31(共 62 次)绿、静态门禁整轮绿;快照锚点刷新至 02014ba\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/f0ccb47b6ee3f55638f9941477a83f05669d40a1","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-03T21:01:53-07:00","added":[],"removed":[],"modified":["CLAUDE.md","apps/web/e2e/acceptance.spec.ts","apps/web/src/features/actors/components/DigitalEmployeeOnboarding.tsx","docs/governance-experience.md","reports/agent-adapters.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/kernel-boundaries.latest.json","reports/kernel-downstream.latest.json","reports/kernel-extensions.latest.json","reports/kernel-packages.latest.json","reports/list-bounds.latest.json","reports/llm-eval.latest.json","reports/migrations.latest.json","reports/mobile-export.latest.json","reports/naming.latest.json","reports/operations.latest.json","reports/product-acceptance.latest.json","reports/product-migrations.latest.json","reports/report-transaction-lock.latest.json","reports/rls.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/ui-acceptance.latest.json","reports/ui-fastify-acceptance.latest.json","reports/ui-nestjs-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-ui-acceptance.mjs"]}],"total_commits":0,"head_commit":{"id":"f0ccb47b6ee3f55638f9941477a83f05669d40a1","message":"fix(web+e2e): C247 二次收口——恢复挂载显式失效 Actor 详情(staleTime 60s 令挂载不重取);UI runner 失败时打印 Playwright 页面快照;C248 用户 CRUD 输入等目录不刷新再落\n\n- C247:run 33832242971 上「正在恢复」态 30s 不离场——全局 staleTime=60s 让仍新鲜的缓存不重取,isFetchedAfterMount 永远 false;恢复挂载时 invalidateQueries(actorKeys.detail) 强制一次新鲜读取\n- runner:失败时读取 error-context.md(最多 3 个 × 12 KiB,脱敏)打进 CI 日志并记入子报告 errorContexts(C239 缺口)\n- C248:快照实锤名称输入在后台 refetch 的 disabled 窗内被吞、按钮因 !name 禁用至 60s——输入前等「核对用户事实」可用,输入后断言值已落、落不住重填\n- 本机双侧 UI 31/31(共 62 次)绿、静态门禁整轮绿;快照锚点刷新至 02014ba\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/f0ccb47b6ee3f55638f9941477a83f05669d40a1","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-03T21:01:53-07:00","added":[],"removed":[],"modified":["CLAUDE.md","apps/web/e2e/acceptance.spec.ts","apps/web/src/features/actors/components/DigitalEmployeeOnboarding.tsx","docs/governance-experience.md","reports/agent-adapters.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/kernel-boundaries.latest.json","reports/kernel-downstream.latest.json","reports/kernel-extensions.latest.json","reports/kernel-packages.latest.json","reports/list-bounds.latest.json","reports/llm-eval.latest.json","reports/migrations.latest.json","reports/mobile-export.latest.json","reports/naming.latest.json","reports/operations.latest.json","reports/product-acceptance.latest.json","reports/product-migrations.latest.json","reports/report-transaction-lock.latest.json","reports/rls.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/ui-acceptance.latest.json","reports/ui-fastify-acceptance.latest.json","reports/ui-nestjs-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-ui-acceptance.mjs"]},"repository":{"id":76,"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":"digital-employee-os","full_name":"luoanwu/digital-employee-os","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":81289,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os/languages","html_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/digital-employee-os.git","clone_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os.git","original_url":"","website":"","stars_count":0,"forks_count":1,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-20T14:46:28+08:00","updated_at":"2026-09-04T11:10: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":true,"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
|
32
|
1788494521
|
1788495554
|
0
|
1788494520
|
1788495554
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23626
|
chore(reports): refresh clean static evidence
|
111
|
5
|
governance.yml
|
2
|
5
|
0
|
refs/heads/main
|
f1047a58553f8f174b09513935f4354ddaddc396
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"0999f3af2b5b8dccf941370c293bad77a9a27854","after":"f1047a58553f8f174b09513935f4354ddaddc396","compare_url":"https://gitea.g-hi.com/luoanwu/config-flag/compare/0999f3af2b5b8dccf941370c293bad77a9a27854...f1047a58553f8f174b09513935f4354ddaddc396","commits":[{"id":"f1047a58553f8f174b09513935f4354ddaddc396","message":"chore(reports): refresh clean static evidence\n","url":"https://gitea.g-hi.com/luoanwu/config-flag/commit/f1047a58553f8f174b09513935f4354ddaddc396","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-09-02T17:35:40-07:00","added":[],"removed":[],"modified":["reports/conformance-matrix.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-rules.latest.json","reports/governance-status.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-compat.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},{"id":"2fc5a98e47cd18a67067ad88272e29d95b870b9a","message":"chore(reports): record clean framework sync evidence\n","url":"https://gitea.g-hi.com/luoanwu/config-flag/commit/2fc5a98e47cd18a67067ad88272e29d95b870b9a","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-09-02T17:22:18-07:00","added":[],"removed":[],"modified":["CLAUDE.md","docs/framework-migration.md","reports/baseline.json","reports/conformance-differential.latest.json","reports/conformance-matrix.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-rules.latest.json","reports/governance-status.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-compat.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json"]},{"id":"d954bb56b46b60ffc6585caeaa68d2da7da33581","message":"chore(migration): record framework sync receipt\n","url":"https://gitea.g-hi.com/luoanwu/config-flag/commit/d954bb56b46b60ffc6585caeaa68d2da7da33581","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-09-02T17:21:32-07:00","added":[],"removed":[],"modified":["docs/framework-migration.md","reports/framework-migration.latest.json"]},{"id":"0b815a35b8d9ab7241e2cd48fb6503f1f8c552ea","message":"feat(framework): sync G15-B Redis occupancy guard and governance experience\n","url":"https://gitea.g-hi.com/luoanwu/config-flag/commit/0b815a35b8d9ab7241e2cd48fb6503f1f8c552ea","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-09-02T17:21:32-07:00","added":[],"removed":[],"modified":["CLAUDE.md","docs/framework-migration.md","docs/governance-experience.md","reports/baseline.json","reports/conformance-differential.latest.json","reports/conformance-matrix.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-rules.latest.json","reports/governance-status.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-compat.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-conformance-differential.mjs","scripts/check-runtime-acceptance.mjs","scripts/check-ui-acceptance.mjs","scripts/lib/acceptance-base-guard.mjs"]},{"id":"de799bfae78bb7f110e3891e0f185ba12c75032d","message":"chore(reports): refresh clean static evidence\n","url":"https://gitea.g-hi.com/luoanwu/config-flag/commit/de799bfae78bb7f110e3891e0f185ba12c75032d","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-09-02T01:31:36-07:00","added":[],"removed":[],"modified":["reports/conformance-matrix.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-rules.latest.json","reports/governance-status.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-compat.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]}],"total_commits":0,"head_commit":{"id":"f1047a58553f8f174b09513935f4354ddaddc396","message":"chore(reports): refresh clean static evidence\n","url":"https://gitea.g-hi.com/luoanwu/config-flag/commit/f1047a58553f8f174b09513935f4354ddaddc396","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-09-02T17:35:40-07:00","added":[],"removed":[],"modified":["reports/conformance-matrix.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-rules.latest.json","reports/governance-status.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-compat.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},"repository":{"id":111,"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":"config-flag","full_name":"luoanwu/config-flag","description":"","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":708,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/config-flag/languages","html_url":"https://gitea.g-hi.com/luoanwu/config-flag","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/config-flag","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/config-flag.git","clone_url":"https://gitea.g-hi.com/luoanwu/config-flag.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-01T21:58:23+08:00","updated_at":"2026-09-01T21:59:49+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":true,"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
|
10
|
1788407304
|
1788407365
|
0
|
1788405508
|
1788407564
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
...
|
governance-governance.yml-refs/heads/main
|
0
|
Edit
Delete
|
|
23753
|
chore(reports): regenerate static governance repor chore(reports): regenerate static governance reports after merging main...
|
57
|
5
|
governance.yml
|
124
|
5
|
0
|
refs/heads/main
|
f15d41f2d86247205036b82833fd47f2250136b9
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9d2ca8f51da0abef9377a753a9fc8a3a010a9b86","after":"f15d41f2d86247205036b82833fd47f2250136b9","compare_url":"https://gitea.g-hi.com/luoanwu/image-generation/compare/9d2ca8f51da0abef9377a753a9fc8a3a010a9b86...f15d41f2d86247205036b82833fd47f2250136b9","commits":[{"id":"f15d41f2d86247205036b82833fd47f2250136b9","message":"chore(reports): regenerate static governance reports after merging main\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/f15d41f2d86247205036b82833fd47f2250136b9","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-08T19:51:51-07:00","added":[],"removed":[],"modified":["reports/contract-consumers.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/production-security.latest.json","reports/public-file-integration.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/storyboard-director-guard.latest.json","reports/toolchain.latest.json","reports/validation-source.latest.json"]},{"id":"3232e2e261cbb07851b14385a359fcc8d10578a5","message":"Merge branch 'main' into feat/model-cost-backfill-20260908\n\n# Conflicts:\n#\treports/contract-consumers.latest.json\n#\treports/governance-docs.latest.json\n#\treports/governance.latest.json\n#\treports/material-review-concurrency-guard.latest.json\n#\treports/migrations.latest.json\n#\treports/module-boundary.latest.json\n#\treports/naming.latest.json\n#\treports/order-concurrency-guard.latest.json\n#\treports/production-security.latest.json\n#\treports/public-file-integration.latest.json\n#\treports/runtime-governance.latest.json\n#\treports/schema-sync.latest.json\n#\treports/storyboard-director-guard.latest.json\n#\treports/toolchain.latest.json\n#\treports/validation-source.latest.json\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/3232e2e261cbb07851b14385a359fcc8d10578a5","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-08T19:51:25-07:00","added":["docs/releases/2026-09-08-video-delivery2.md","reports/video-delivery-2026-09-08/live-browser-verification.json"],"removed":[],"modified":["docs/governance/log/2026-09-08-video-formal-delivery.md","docs/releases/current.md"]},{"id":"1650531a957feae04de1480d41c603424072e7c4","message":"chore(cost): bind cost-backfill acceptance evidence at 39338b0d and relabel heavy baseline rows\n\nSeven gates green on the isolated hi-cost-backfill stack at source fingerprint sha256:39338b0d…\n(runtime/ui rerun after regenerating the truncated Prisma client; the other five reused from round 1\nat the same fingerprint). Evidence summary in reports/model-cost-backfill-2026-09-08/.\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/1650531a957feae04de1480d41c603424072e7c4","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-08T19:50:56-07:00","added":["reports/model-cost-backfill-2026-09-08/README.md","reports/model-cost-backfill-2026-09-08/verification.json"],"removed":[],"modified":["CLAUDE.md","reports/admin-desktop.png","reports/admin-mobile.png","reports/content-detail.review-desktop.png","reports/contract-consumers.latest.json","reports/creative-quality.desktop.png","reports/dependency-audit.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/inference-acceptance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/model-api-key-saved.png","reports/model-credential-error.desktop.png","reports/model-credential-error.mobile.png","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/prd-retry.mobile.png","reports/prd-review.desktop.png","reports/production-acceptance.latest.json","reports/production-delivery-released.desktop.png","reports/production-delivery-revoked.mobile.png","reports/production-pagination.desktop.png","reports/production-pagination.mobile.png","reports/production-review-preview.desktop.png","reports/production-security.latest.json","reports/production-single-tenant-create.desktop.png","reports/production-single-tenant-separation.desktop.png","reports/public-file-acceptance.latest.json","reports/public-file-integration.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/script-acceptance.latest.json","reports/script-generation-queue.png","reports/sidecar-tests.latest.json","reports/storyboard-director-guard.latest.json","reports/template-types.desktop.png","reports/template-types.mobile.png","reports/toolchain.latest.json","reports/ui-acceptance.desktop.png","reports/ui-acceptance.draft-import.png","reports/ui-acceptance.latest.json","reports/ui-acceptance.production.png","reports/ux-edit.desktop.png","reports/ux-intake.desktop.png","reports/validation-source.latest.json","reports/video-batch-paused.mobile.png","reports/video-regenerate-2026-09-08/desktop.png","reports/video-regenerate-2026-09-08/mobile.png"]},{"id":"9c63bee95df865278bb8176f9d097fd31dc5b295","message":"Merge branch 'main' into feat/model-cost-backfill-20260908\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/9c63bee95df865278bb8176f9d097fd31dc5b295","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-08T19:17:59-07:00","added":["apps/api-fastify/test/video-delivery.integration.test.ts","apps/api-nestjs/test/video-delivery.integration.test.ts","apps/web/src/components/material-factory/video-edit/PromoteVideoEditButton.tsx","apps/web/src/components/material-factory/video-edit/RangePreviewControls.tsx","docs/adr/0018-video-range-preview.md","docs/governance/log/2026-09-08-video-formal-delivery.md","docs/governance/log/2026-09-08-video-range-preview.md","docs/releases/2026-09-08-merged1.md","docs/releases/2026-09-08-timeline4.md","packages/contracts/src/video-edit-delivery.test.ts","packages/contracts/src/video-edit-range.test.ts","packages/contracts/src/video-edit-range.ts","packages/video-edit/src/range-preview.test.ts","packages/video-edit/src/range-preview.ts","reports/releases/merged1-2026-09-08/backup-verification.json","reports/releases/merged1-2026-09-08/browser-verification.json","reports/releases/merged1-2026-09-08/build.json","reports/releases/merged1-2026-09-08/database-verification.json","reports/releases/merged1-2026-09-08/deployment.json","reports/releases/merged1-2026-09-08/final-verification.json","reports/releases/merged1-2026-09-08/identity.json","reports/releases/merged1-2026-09-08/rehearsal.json","reports/releases/merged1-2026-09-08/source-permissions.json","reports/video-delivery-2026-09-08/README.md","reports/video-delivery-2026-09-08/verification.json","reports/video-range-preview-2026-09-08/README.md","reports/video-range-preview-2026-09-08/backup-verification.json","reports/video-range-preview-2026-09-08/benchmark.json","reports/video-range-preview-2026-09-08/browser-verification.json","reports/video-range-preview-2026-09-08/build-interruption.json","reports/video-range-preview-2026-09-08/deployed-verify.json","reports/video-range-preview-2026-09-08/deployment.json","reports/video-range-preview-2026-09-08/live-browser-verification.json","reports/video-range-preview-2026-09-08/post-deployment-smoke.json","reports/video-range-preview-2026-09-08/range-api.json","reports/video-range-preview-2026-09-08/specialty-results.json","reports/video-range-preview-2026-09-08/validation.json","scripts/benchmark-video-range.cjs","scripts/check-video-range-preview.cjs"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/src/modules/material-production/material-production.service.ts","apps/api-fastify/src/modules/material-production/object-storage.service.ts","apps/api-fastify/src/routes/material-production.ts","apps/api-fastify/src/routes/video-edit.ts","apps/api-nestjs/src/material-production/material-production.controller.ts","apps/api-nestjs/src/material-production/material-production.service.ts","apps/api-nestjs/src/material-production/object-storage.service.ts","apps/api-nestjs/src/video-edit/video-edit.controller.ts","apps/web/src/components/material-factory/ProductionDetail.tsx","apps/web/src/components/material-factory/ReviewCenter.tsx","apps/web/src/components/material-factory/video-edit/SubtitleBurnPanel.tsx","apps/web/src/components/material-factory/video-edit/VideoEditStudio.tsx","apps/web/src/components/material-factory/video-edit/timeline-position.ts","apps/web/src/lib/api.ts","apps/web/src/lib/types.ts","deploy/vm/release.py","docs/adr/README.md","docs/domain/material-production-blueprint.md","docs/domain/owner-matrix.md","docs/product/ai-video-edit.md","docs/product/platform-module-map.md","docs/product/pro-video-platform-progress.md","docs/releases/current.md","packages/contracts/src/index.ts","packages/contracts/src/production.test.ts","packages/contracts/src/production.ts","packages/contracts/src/video-edit.ts","packages/video-edit/src/index.ts","packages/video-edit/src/media.ts","packages/video-edit/src/post-production.ts","packages/video-edit/src/worker.ts","reports/admin-desktop.png","reports/admin-mobile.png","reports/content-detail.images-desktop.png","reports/content-detail.output-mobile.png","reports/content-detail.review-desktop.png","reports/contract-consumers.latest.json","reports/creative-quality.desktop.png","reports/dependency-audit.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/inference-acceptance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/model-api-key-saved.png","reports/model-credential-error.desktop.png","reports/model-credential-error.mobile.png","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/prd-retry.mobile.png","reports/prd-review.desktop.png","reports/production-acceptance.latest.json","reports/production-delivery-released.desktop.png","reports/production-delivery-revoked.mobile.png","reports/production-pagination.desktop.png","reports/production-pagination.mobile.png","reports/production-review-preview.desktop.png","reports/production-security.latest.json","reports/production-single-tenant-create.desktop.png","reports/production-single-tenant-separation.desktop.png","reports/public-file-acceptance.latest.json","reports/public-file-integration.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/script-acceptance.latest.json","reports/script-generation-queue.png","reports/sidecar-tests.latest.json","reports/storyboard-director-guard.latest.json","reports/template-types.desktop.png","reports/template-types.mobile.png","reports/toolchain.latest.json","reports/ui-acceptance.desktop.png","reports/ui-acceptance.draft-import.png","reports/ui-acceptance.latest.json","reports/ui-acceptance.production.png","reports/ux-edit.desktop.png","reports/ux-home.desktop.png","reports/ux-intake.desktop.png","reports/validation-source.latest.json","reports/video-batch-paused.mobile.png","reports/video-regenerate-2026-09-08/desktop.png","scripts/check-production-acceptance.mjs","scripts/check-production-security.mjs","scripts/check-video-edit-acceptance.cjs","scripts/lib/vitest-skips.mjs","scripts/video-edit-timeline.test.mjs"]},{"id":"906af21fc02bb67b9a356cd8e9533e6e33372161","message":"docs(governance): register the model cost gap G32\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/906af21fc02bb67b9a356cd8e9533e6e33372161","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-08T19:17:59-07:00","added":[],"removed":[],"modified":["CLAUDE.md"]}],"total_commits":0,"head_commit":{"id":"f15d41f2d86247205036b82833fd47f2250136b9","message":"chore(reports): regenerate static governance reports after merging main\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/f15d41f2d86247205036b82833fd47f2250136b9","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-08T19:51:51-07:00","added":[],"removed":[],"modified":["reports/contract-consumers.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/production-security.latest.json","reports/public-file-integration.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/storyboard-director-guard.latest.json","reports/toolchain.latest.json","reports/validation-source.latest.json"]},"repository":{"id":57,"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":"image-generation","full_name":"luoanwu/image-generation","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":763165,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation/languages","html_url":"https://gitea.g-hi.com/luoanwu/image-generation","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/image-generation.git","clone_url":"https://gitea.g-hi.com/luoanwu/image-generation.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":7,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-06T17:04:22+08:00","updated_at":"2026-09-09T10:37:50+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":true,"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
|
1788922319
|
1788922359
|
0
|
1788922317
|
1788922359
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23607
|
fix(gate): G15-B 独占探针真关闭 + 父子探针互认——首个含 G15-B 的远端 r fix(gate): G15-B 独占探针真关闭 + 父子探针互认——首个含 G15-B 的远端 run 红在差分 preflight(C23)...
|
54
|
5
|
governance.yml
|
24
|
5
|
0
|
refs/heads/main
|
f17d34a463e70366161f4603e53a4b2800e9a241
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"7135258b78d5b623099713b2bd3292af46b6329d","after":"f17d34a463e70366161f4603e53a4b2800e9a241","compare_url":"https://gitea.g-hi.com/luoanwu/base-framework/compare/7135258b78d5b623099713b2bd3292af46b6329d...f17d34a463e70366161f4603e53a4b2800e9a241","commits":[{"id":"f17d34a463e70366161f4603e53a4b2800e9a241","message":"fix(gate): G15-B 独占探针真关闭 + 父子探针互认——首个含 G15-B 的远端 run 红在差分 preflight(C23)\n\n推送 7135258 后 GitHub run 33706371355:Static governance 绿,Runtime and UI acceptance 在\ncheck:runtime 第 4 步 conformance-differential 红:「验收 Redis 逻辑库 0 已有 1 个外部连接:\n172.18.0.1:53838 cmd=client|list」。那条连接是顶层 runner 自己几秒前的独占探针:redisExec 收完\n回复只 socket.end() 半关闭,GitHub 的 Redis service 经 docker 网桥暴露,服务端连接残留,子门禁\n把它当成外部占用。本机探针不 SELECT 始终落 db0、验收用 db9,所以三级全绿也撞不上。\n\n- redisExec:队尾追加 QUIT,收到回复后 destroy();服务端先关也按成功收口\n- 探针 CLIENT SETNAME governance-acceptance-probe-\u003cpid\u003e,foreignClientsOnDb 按前缀排除,\n 父 runner 与派生子门禁各探一次时互认(名字不带项目名,派生仓零改动沿用)\n- 本机 db10 五项正/负向:无名残留连接仍被拒、具名探针被忽略、探针返回后 CLIENT LIST 不再列出自身、\n 解析器只保留真 worker;本机 check:runtime 冒烟 207 tests 通过\n- doctrine:发布状态快照更新为两远端 7135258、G14 登记第四条只有远端才看得见的缺陷、ci-gate 行、C23 索引\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/base-framework/commit/f17d34a463e70366161f4603e53a4b2800e9a241","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-02T19:17:03-07:00","added":[],"removed":[],"modified":["CLAUDE.md","docs/governance-experience.md","reports/agent-adapters.latest.json","reports/conformance-matrix.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-rules.latest.json","reports/governance-status.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-compat.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json","scripts/lib/acceptance-base-guard.mjs"]}],"total_commits":0,"head_commit":{"id":"f17d34a463e70366161f4603e53a4b2800e9a241","message":"fix(gate): G15-B 独占探针真关闭 + 父子探针互认——首个含 G15-B 的远端 run 红在差分 preflight(C23)\n\n推送 7135258 后 GitHub run 33706371355:Static governance 绿,Runtime and UI acceptance 在\ncheck:runtime 第 4 步 conformance-differential 红:「验收 Redis 逻辑库 0 已有 1 个外部连接:\n172.18.0.1:53838 cmd=client|list」。那条连接是顶层 runner 自己几秒前的独占探针:redisExec 收完\n回复只 socket.end() 半关闭,GitHub 的 Redis service 经 docker 网桥暴露,服务端连接残留,子门禁\n把它当成外部占用。本机探针不 SELECT 始终落 db0、验收用 db9,所以三级全绿也撞不上。\n\n- redisExec:队尾追加 QUIT,收到回复后 destroy();服务端先关也按成功收口\n- 探针 CLIENT SETNAME governance-acceptance-probe-\u003cpid\u003e,foreignClientsOnDb 按前缀排除,\n 父 runner 与派生子门禁各探一次时互认(名字不带项目名,派生仓零改动沿用)\n- 本机 db10 五项正/负向:无名残留连接仍被拒、具名探针被忽略、探针返回后 CLIENT LIST 不再列出自身、\n 解析器只保留真 worker;本机 check:runtime 冒烟 207 tests 通过\n- doctrine:发布状态快照更新为两远端 7135258、G14 登记第四条只有远端才看得见的缺陷、ci-gate 行、C23 索引\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/base-framework/commit/f17d34a463e70366161f4603e53a4b2800e9a241","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-02T19:17:03-07:00","added":[],"removed":[],"modified":["CLAUDE.md","docs/governance-experience.md","reports/agent-adapters.latest.json","reports/conformance-matrix.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-rules.latest.json","reports/governance-status.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-compat.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json","scripts/lib/acceptance-base-guard.mjs"]},"repository":{"id":54,"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":"base-framework","full_name":"luoanwu/base-framework","description":"基础框架 monorepo","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":2940,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/base-framework/languages","html_url":"https://gitea.g-hi.com/luoanwu/base-framework","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/base-framework","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/base-framework.git","clone_url":"https://gitea.g-hi.com/luoanwu/base-framework.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-03T12:24:18+08:00","updated_at":"2026-09-03T10:06:52+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":true,"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
|
10
|
1788401828
|
1788402247
|
0
|
1788401827
|
1788402256
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
...
|
governance-governance.yml-refs/heads/main
|
0
|
Edit
Delete
|
|
23621
|
chore(reports): refresh clean static evidence
|
106
|
5
|
governance.yml
|
2
|
5
|
0
|
refs/heads/main
|
f2098f5213ec62df23b006803858802ee08ac663
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"a92f8b4ba943c410e739b5b60b1fea8e24f09c9e","after":"f2098f5213ec62df23b006803858802ee08ac663","compare_url":"https://gitea.g-hi.com/luoanwu/tenant-scope/compare/a92f8b4ba943c410e739b5b60b1fea8e24f09c9e...f2098f5213ec62df23b006803858802ee08ac663","commits":[{"id":"f2098f5213ec62df23b006803858802ee08ac663","message":"chore(reports): refresh clean static evidence\n","url":"https://gitea.g-hi.com/luoanwu/tenant-scope/commit/f2098f5213ec62df23b006803858802ee08ac663","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-09-02T17:35:09-07:00","added":[],"removed":[],"modified":["reports/conformance-matrix.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-rules.latest.json","reports/governance-status.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-compat.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},{"id":"83a555157fad0356817e198267fc5025ed0c9ff2","message":"chore(reports): record clean framework sync evidence\n","url":"https://gitea.g-hi.com/luoanwu/tenant-scope/commit/83a555157fad0356817e198267fc5025ed0c9ff2","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-09-02T17:24:03-07:00","added":[],"removed":[],"modified":["CLAUDE.md","docs/framework-migration.md","reports/baseline.json","reports/conformance-differential.latest.json","reports/conformance-matrix.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-rules.latest.json","reports/governance-status.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-compat.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json"]},{"id":"ba200a5eb16e43220a86b852370a03c4692d4a13","message":"chore(migration): record framework sync receipt\n","url":"https://gitea.g-hi.com/luoanwu/tenant-scope/commit/ba200a5eb16e43220a86b852370a03c4692d4a13","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-09-02T17:23:17-07:00","added":[],"removed":[],"modified":["docs/framework-migration.md","reports/framework-migration.latest.json"]},{"id":"923a0edbfaefc82d312d29fe1dc755d15ac93137","message":"feat(framework): sync G15-B Redis occupancy guard and governance experience\n","url":"https://gitea.g-hi.com/luoanwu/tenant-scope/commit/923a0edbfaefc82d312d29fe1dc755d15ac93137","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-09-02T17:23:16-07:00","added":[],"removed":[],"modified":["CLAUDE.md","docs/framework-migration.md","docs/governance-experience.md","reports/baseline.json","reports/conformance-differential.latest.json","reports/conformance-matrix.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-rules.latest.json","reports/governance-status.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-compat.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-conformance-differential.mjs","scripts/check-runtime-acceptance.mjs","scripts/check-ui-acceptance.mjs","scripts/lib/acceptance-base-guard.mjs"]},{"id":"c6a44327b13ce54ce6eb011df7f1b7044fefa66e","message":"chore(reports): refresh clean static evidence\n","url":"https://gitea.g-hi.com/luoanwu/tenant-scope/commit/c6a44327b13ce54ce6eb011df7f1b7044fefa66e","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-09-02T01:30:53-07:00","added":[],"removed":[],"modified":["reports/conformance-matrix.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-rules.latest.json","reports/governance-status.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-compat.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]}],"total_commits":0,"head_commit":{"id":"f2098f5213ec62df23b006803858802ee08ac663","message":"chore(reports): refresh clean static evidence\n","url":"https://gitea.g-hi.com/luoanwu/tenant-scope/commit/f2098f5213ec62df23b006803858802ee08ac663","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-09-02T17:35:09-07:00","added":[],"removed":[],"modified":["reports/conformance-matrix.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-rules.latest.json","reports/governance-status.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-compat.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},"repository":{"id":106,"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":"tenant-scope","full_name":"luoanwu/tenant-scope","description":"","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":714,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/tenant-scope/languages","html_url":"https://gitea.g-hi.com/luoanwu/tenant-scope","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/tenant-scope","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/tenant-scope.git","clone_url":"https://gitea.g-hi.com/luoanwu/tenant-scope.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-01T21:58:13+08:00","updated_at":"2026-09-01T21:59:47+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":true,"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
|
10
|
1788406091
|
1788406121
|
0
|
1788405500
|
1788407530
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
...
|
governance-governance.yml-refs/heads/main
|
0
|
Edit
Delete
|
|
23529
|
feat(knowledge): add governed hybrid evidence retr feat(knowledge): add governed hybrid evidence retrieval...
|
84
|
5
|
governance.yml
|
1
|
5
|
0
|
refs/heads/main
|
f2a674de3343d5031dee856edd261194709b727f
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"0000000000000000000000000000000000000000","after":"f2a674de3343d5031dee856edd261194709b727f","compare_url":"https://gitea.g-hi.com/","commits":[{"id":"f2a674de3343d5031dee856edd261194709b727f","message":"feat(knowledge): add governed hybrid evidence retrieval\n","url":"https://gitea.g-hi.com/luoanwu/juhai-knowledge-cloud/commit/f2a674de3343d5031dee856edd261194709b727f","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-25T18:39:32-07:00","added":["apps/api-fastify/prisma/migrations/20260826010000_add_knowledge_hybrid_retrieval/migration.sql","apps/api-nestjs/prisma/migrations/20260826010000_add_knowledge_hybrid_retrieval/migration.sql","packages/contracts/src/knowledge-retrieval.test.ts","packages/knowledge-retrieval/package.json","packages/knowledge-retrieval/src/index.test.ts","packages/knowledge-retrieval/src/index.ts","packages/knowledge-retrieval/tsconfig.json","products/juhai.knowledgecloud/migrations/juhai.knowledgecloud.core/20260826030000_add_hybrid_evidence_retrieval.sql","products/juhai.knowledgecloud/src/retrieval.ts"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/package.json","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/modules/knowledge/knowledge.service.ts","apps/api-fastify/src/routes/knowledge.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-fastify/test/knowledge.integration.test.ts","apps/api-nestjs/package.json","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/src/knowledge/knowledge.controller.ts","apps/api-nestjs/src/knowledge/knowledge.service.ts","apps/api-nestjs/test/http.acceptance.test.ts","apps/api-nestjs/test/knowledge.integration.test.ts","docs/domain/knowledge-cloud-blueprint.md","docs/domain/owner-matrix.md","kernel.products.json","packages/contracts/src/knowledge.ts","pnpm-lock.yaml","products/juhai.knowledgecloud/acceptance/juhai.knowledgecloud.closed-loop.acceptance.mjs","products/juhai.knowledgecloud/package.json","products/juhai.knowledgecloud/src/fastify.ts","products/juhai.knowledgecloud/src/index.ts","products/juhai.knowledgecloud/src/nestjs.ts","products/juhai.knowledgecloud/src/repository.ts","products/juhai.knowledgecloud/src/tools.ts","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-live.latest.json","reports/os-product.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json","scripts/check-os-product.mjs"]},{"id":"e60d772bc7fba6aba92ee6becbeb1b68b2b28849","message":"feat: establish governed knowledge cloud product\n","url":"https://gitea.g-hi.com/luoanwu/juhai-knowledge-cloud/commit/e60d772bc7fba6aba92ee6becbeb1b68b2b28849","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-25T17:06:03-07:00","added":["apps/api-fastify/prisma/migrations/20260825180000_add_knowledge_cloud_core/migration.sql","apps/api-fastify/src/modules/knowledge/knowledge.service.ts","apps/api-fastify/src/routes/knowledge.ts","apps/api-fastify/test/knowledge.integration.test.ts","apps/api-nestjs/prisma/migrations/20260825180000_add_knowledge_cloud_core/migration.sql","apps/api-nestjs/src/knowledge/knowledge.controller.ts","apps/api-nestjs/src/knowledge/knowledge.module.ts","apps/api-nestjs/src/knowledge/knowledge.service.ts","apps/api-nestjs/test/knowledge.integration.test.ts","apps/web/src/features/knowledge/api/knowledge-api.ts","apps/web/src/features/knowledge/components/KnowledgeWorkbench.tsx","apps/web/src/features/knowledge/hooks/use-knowledge.ts","docs/adr/0010-os-loadable-enterprise-knowledge-product.md","docs/domain/knowledge-cloud-blueprint.md","kernel.products.json","packages/contracts/src/knowledge.ts","products/juhai.knowledgecloud/README.md","products/juhai.knowledgecloud/acceptance/juhai.knowledgecloud.closed-loop.acceptance.mjs","products/juhai.knowledgecloud/migrations/juhai.knowledgecloud.core/20260825190000_create_knowledge_cloud.sql","products/juhai.knowledgecloud/package.json","products/juhai.knowledgecloud/product.manifest.json","products/juhai.knowledgecloud/src/access.ts","products/juhai.knowledgecloud/src/contracts.ts","products/juhai.knowledgecloud/src/fastify.ts","products/juhai.knowledgecloud/src/index.ts","products/juhai.knowledgecloud/src/manifest.ts","products/juhai.knowledgecloud/src/nestjs.ts","products/juhai.knowledgecloud/src/repository.ts","products/juhai.knowledgecloud/src/tools.ts","products/juhai.knowledgecloud/src/web.tsx","reports/os-product-live.latest.json","reports/os-product.latest.json","scripts/check-os-product.mjs"],"removed":[],"modified":["CLAUDE.md","README.md","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/app.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/src/app.module.ts","apps/api-nestjs/test/http.acceptance.test.ts","apps/web/e2e/acceptance.spec.ts","apps/web/src/app/page.tsx","apps/web/src/components/EventFeed.tsx","apps/web/src/hooks/useRealtime.ts","docs/README.md","docs/adr/0009-dual-backend-governance-parity.md","docs/adr/README.md","docs/domain-glossary.md","docs/domain/owner-matrix.md","docs/framework-migration.md","governance.registry.json","package.json","packages/contracts/src/contracts.test.ts","packages/contracts/src/index.ts","packages/contracts/src/realtime.ts","packages/contracts/src/statemachine.test.ts","reports/baseline.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-docs-truth.mjs","scripts/check-migrations.mjs","scripts/check-ui-acceptance.mjs","scripts/governance-report.mjs"]},{"id":"64bf2720bce803978337aeabbadf1a88d732fa43","message":"chore: bind static governance evidence\n","url":"https://gitea.g-hi.com/luoanwu/juhai-knowledge-cloud/commit/64bf2720bce803978337aeabbadf1a88d732fa43","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-25T08:18:01-07:00","added":[],"removed":[],"modified":["reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},{"id":"7322783bb7233c3c586f15cb33c7963f0ba605ce","message":"docs: record local framework acceptance\n","url":"https://gitea.g-hi.com/luoanwu/juhai-knowledge-cloud/commit/7322783bb7233c3c586f15cb33c7963f0ba605ce","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-25T08:17:40-07:00","added":["reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json"],"removed":[],"modified":["CLAUDE.md","docs/framework-migration.md"]},{"id":"512b11bc5047f7776f3dde09b0f7344982afd354","message":"chore: migrate governed framework to juhai knowledge cloud\n","url":"https://gitea.g-hi.com/luoanwu/juhai-knowledge-cloud/commit/512b11bc5047f7776f3dde09b0f7344982afd354","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-25T08:08:02-07:00","added":[".claude/agents/acceptance-runner.md",".claude/agents/module-blueprint.md",".claude/launch.json",".claude/skills/business-module-intake/SKILL.md",".claude/skills/frontend-api-react/SKILL.md",".claude/skills/frontend-view-react/SKILL.md",".claude/skills/frontend-view-react/references/view-templates.md",".claude/skills/fullstack-7layer-react/SKILL.md",".claude/skills/fullstack-7layer-react/references/fullstack-react-templates.md",".claude/skills/zustand-store/SKILL.md",".github/pull_request_template.md",".github/workflows/governance.yml",".gitignore","AGENTS.md","CLAUDE.md","README.md","apps/api-fastify/.env.example","apps/api-fastify/.gitignore","apps/api-fastify/package.json","apps/api-fastify/pnpm-lock.yaml","apps/api-fastify/prisma/migrations/20260608150500_init/migration.sql","apps/api-fastify/prisma/migrations/20260705080000_outbox_dead_letter/migration.sql","apps/api-fastify/prisma/migrations/20260818090000_outbox_replay_cursor/migration.sql","apps/api-fastify/prisma/migrations/migration_lock.toml","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/app.ts","apps/api-fastify/src/lib/orderMachine.ts","apps/api-fastify/src/lib/statemachine.ts","apps/api-fastify/src/modules/orders/orders.service.ts","apps/api-fastify/src/modules/replay.ts","apps/api-fastify/src/modules/tenant.ts","apps/api-fastify/src/modules/users/users.service.ts","apps/api-fastify/src/plugins/events.ts","apps/api-fastify/src/plugins/outbox.ts","apps/api-fastify/src/plugins/prisma.ts","apps/api-fastify/src/plugins/queue.ts","apps/api-fastify/src/plugins/redis.ts","apps/api-fastify/src/routes/health.ts","apps/api-fastify/src/routes/jobs.ts","apps/api-fastify/src/routes/orders.ts","apps/api-fastify/src/routes/realtime-stats.ts","apps/api-fastify/src/routes/sse.ts","apps/api-fastify/src/routes/users.ts","apps/api-fastify/src/routes/ws.ts","apps/api-fastify/src/server.ts","apps/api-fastify/src/types.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-fastify/test/orders.integration.test.ts","apps/api-fastify/test/outbox.concurrency.test.ts","apps/api-fastify/test/outbox.deadletter.test.ts","apps/api-fastify/test/realtime.command.test.ts","apps/api-fastify/test/realtime.replay.test.ts","apps/api-fastify/test/realtime.stats.test.ts","apps/api-fastify/test/realtime.subscription.test.ts","apps/api-fastify/test/realtime.tenant.test.ts","apps/api-fastify/tsconfig.json","apps/api-fastify/vitest.config.ts","apps/api-nestjs/.env.example","apps/api-nestjs/.gitignore","apps/api-nestjs/docker-compose.yml","apps/api-nestjs/nest-cli.json","apps/api-nestjs/package.json","apps/api-nestjs/pnpm-lock.yaml","apps/api-nestjs/prisma/migrations/20260608150500_init/migration.sql","apps/api-nestjs/prisma/migrations/20260705080000_outbox_dead_letter/migration.sql","apps/api-nestjs/prisma/migrations/20260818090000_outbox_replay_cursor/migration.sql","apps/api-nestjs/prisma/migrations/migration_lock.toml","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/prisma/seed.ts","apps/api-nestjs/src/app.module.ts","apps/api-nestjs/src/common/envelope.ts","apps/api-nestjs/src/common/tenant.decorator.ts","apps/api-nestjs/src/common/zod-validation.pipe.ts","apps/api-nestjs/src/create-app.ts","apps/api-nestjs/src/events/connection-registry.service.ts","apps/api-nestjs/src/events/event-bus.service.ts","apps/api-nestjs/src/events/events.gateway.ts","apps/api-nestjs/src/events/events.module.ts","apps/api-nestjs/src/events/fanout.service.ts","apps/api-nestjs/src/events/outbox-dispatcher.service.ts","apps/api-nestjs/src/events/realtime-stats.controller.ts","apps/api-nestjs/src/events/replay.service.ts","apps/api-nestjs/src/health/health.controller.ts","apps/api-nestjs/src/health/health.module.ts","apps/api-nestjs/src/main.ts","apps/api-nestjs/src/orders/orders.controller.ts","apps/api-nestjs/src/orders/orders.module.ts","apps/api-nestjs/src/orders/orders.service.ts","apps/api-nestjs/src/prisma/prisma.module.ts","apps/api-nestjs/src/prisma/prisma.service.ts","apps/api-nestjs/src/queue/jobs.controller.ts","apps/api-nestjs/src/queue/jobs.processor.ts","apps/api-nestjs/src/queue/queue.module.ts","apps/api-nestjs/src/queue/queue.types.ts","apps/api-nestjs/src/redis/redis.module.ts","apps/api-nestjs/src/sse/sse.controller.ts","apps/api-nestjs/src/sse/sse.module.ts","apps/api-nestjs/src/statemachine/index.ts","apps/api-nestjs/src/statemachine/order.machine.ts","apps/api-nestjs/src/statemachine/statemachine.engine.ts","apps/api-nestjs/src/statemachine/statemachine.types.ts","apps/api-nestjs/src/users/users.controller.ts","apps/api-nestjs/src/users/users.module.ts","apps/api-nestjs/src/users/users.service.ts","apps/api-nestjs/test/http.acceptance.test.ts","apps/api-nestjs/test/orders.integration.test.ts","apps/api-nestjs/test/outbox.concurrency.test.ts","apps/api-nestjs/test/outbox.deadletter.test.ts","apps/api-nestjs/test/realtime.command.test.ts","apps/api-nestjs/test/realtime.replay.test.ts","apps/api-nestjs/test/realtime.stats.test.ts","apps/api-nestjs/test/realtime.subscription.test.ts","apps/api-nestjs/test/realtime.tenant.test.ts","apps/api-nestjs/tsconfig.build.json","apps/api-nestjs/tsconfig.json","apps/api-nestjs/vitest.config.ts","apps/web/.env.example","apps/web/.gitignore","apps/web/components.json","apps/web/e2e/acceptance.spec.ts","apps/web/eslint.config.mjs","apps/web/next.config.ts","apps/web/package.json","apps/web/playwright.config.ts","apps/web/pnpm-lock.yaml","apps/web/postcss.config.js","apps/web/src/app/globals.css","apps/web/src/app/layout.tsx","apps/web/src/app/page.tsx","apps/web/src/components/EventFeed.tsx","apps/web/src/components/OrdersPanel.tsx","apps/web/src/components/RealtimeBar.tsx","apps/web/src/components/UsersPanel.tsx","apps/web/src/components/ui/badge.tsx","apps/web/src/components/ui/button.tsx","apps/web/src/components/ui/card.tsx","apps/web/src/components/ui/input.tsx","apps/web/src/components/ui/label.tsx","apps/web/src/components/ui/separator.tsx","apps/web/src/hooks/useRealtime.ts","apps/web/src/lib/api.ts","apps/web/src/lib/providers.tsx","apps/web/src/lib/types.ts","apps/web/src/lib/utils.ts","apps/web/src/store/realtime.ts","apps/web/src/store/useAppStore.ts","apps/web/tailwind.config.ts","apps/web/tsconfig.json","docs/README.md","docs/adr/0001-use-typescript-fullstack.md","docs/adr/0002-use-nextjs-app-router.md","docs/adr/0003-use-nestjs-with-fastify-adapter.md","docs/adr/0004-use-postgresql.md","docs/adr/0005-use-prisma.md","docs/adr/0006-realtime-sse-and-websocket.md","docs/adr/0007-use-bullmq-queue.md","docs/adr/0008-monorepo-pnpm-turborepo.md","docs/adr/0009-dual-backend-governance-parity.md","docs/adr/README.md","docs/domain-glossary.md","docs/domain/owner-matrix.md","docs/framework-migration.md","docs/governance-experience.md","docs/migration-playbook.md","docs/standards/api-standard.md","docs/standards/backend-standard.md","docs/standards/database-standard.md","docs/standards/frontend-standard.md","docs/standards/git-standard.md","docs/standards/naming-standard.md","docs/standards/review-standard.md","governance.registry.json","governance.registry.schema.json","package.json","packages/config/eslint/base.mjs","packages/config/package.json","packages/config/prettier/index.json","packages/config/tsconfig/base.json","packages/config/tsconfig/nextjs.json","packages/config/tsconfig/node.json","packages/contracts/package.json","packages/contracts/src/contracts.test.ts","packages/contracts/src/index.ts","packages/contracts/src/job.ts","packages/contracts/src/order.ts","packages/contracts/src/realtime-command.test.ts","packages/contracts/src/realtime-command.ts","packages/contracts/src/realtime-stats.ts","packages/contracts/src/realtime.ts","packages/contracts/src/replay.test.ts","packages/contracts/src/replay.ts","packages/contracts/src/statemachine.test.ts","packages/contracts/src/statemachine.ts","packages/contracts/src/subscription.test.ts","packages/contracts/src/subscription.ts","packages/contracts/src/tenant.ts","packages/contracts/src/user.ts","packages/contracts/tsconfig.json","pnpm-lock.yaml","pnpm-workspace.yaml","reports/baseline.json","scripts/check-contract-consumers.mjs","scripts/check-docs-truth.mjs","scripts/check-dual-backend-parity.mjs","scripts/check-fork-readiness.mjs","scripts/check-governance-docs.mjs","scripts/check-migrations.mjs","scripts/check-naming.mjs","scripts/check-runtime-acceptance.mjs","scripts/check-schema-sync.mjs","scripts/check-statemachine-write-guard.mjs","scripts/check-ui-acceptance.mjs","scripts/check-validation-source.mjs","scripts/governance-report.mjs","scripts/lib/report-provenance.mjs","tsconfig.base.json","turbo.json"],"removed":[],"modified":[]}],"total_commits":0,"head_commit":{"id":"f2a674de3343d5031dee856edd261194709b727f","message":"feat(knowledge): add governed hybrid evidence retrieval\n","url":"https://gitea.g-hi.com/luoanwu/juhai-knowledge-cloud/commit/f2a674de3343d5031dee856edd261194709b727f","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-25T18:39:32-07:00","added":["apps/api-fastify/prisma/migrations/20260826010000_add_knowledge_hybrid_retrieval/migration.sql","apps/api-nestjs/prisma/migrations/20260826010000_add_knowledge_hybrid_retrieval/migration.sql","packages/contracts/src/knowledge-retrieval.test.ts","packages/knowledge-retrieval/package.json","packages/knowledge-retrieval/src/index.test.ts","packages/knowledge-retrieval/src/index.ts","packages/knowledge-retrieval/tsconfig.json","products/juhai.knowledgecloud/migrations/juhai.knowledgecloud.core/20260826030000_add_hybrid_evidence_retrieval.sql","products/juhai.knowledgecloud/src/retrieval.ts"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/package.json","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/modules/knowledge/knowledge.service.ts","apps/api-fastify/src/routes/knowledge.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-fastify/test/knowledge.integration.test.ts","apps/api-nestjs/package.json","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/src/knowledge/knowledge.controller.ts","apps/api-nestjs/src/knowledge/knowledge.service.ts","apps/api-nestjs/test/http.acceptance.test.ts","apps/api-nestjs/test/knowledge.integration.test.ts","docs/domain/knowledge-cloud-blueprint.md","docs/domain/owner-matrix.md","kernel.products.json","packages/contracts/src/knowledge.ts","pnpm-lock.yaml","products/juhai.knowledgecloud/acceptance/juhai.knowledgecloud.closed-loop.acceptance.mjs","products/juhai.knowledgecloud/package.json","products/juhai.knowledgecloud/src/fastify.ts","products/juhai.knowledgecloud/src/index.ts","products/juhai.knowledgecloud/src/nestjs.ts","products/juhai.knowledgecloud/src/repository.ts","products/juhai.knowledgecloud/src/tools.ts","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-live.latest.json","reports/os-product.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json","scripts/check-os-product.mjs"]},"repository":{"id":84,"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":"juhai-knowledge-cloud","full_name":"luoanwu/juhai-knowledge-cloud","description":"巨嗨知识云:受治理的知识唯一真源与混合证据检索","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":27,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-knowledge-cloud/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhai-knowledge-cloud","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-knowledge-cloud","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhai-knowledge-cloud.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhai-knowledge-cloud.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-26T09:45:53+08:00","updated_at":"2026-08-26T09:47:05+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":true,"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
|
6
|
1787708896
|
1787708917
|
0
|
1787708825
|
1787708918
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23671
|
fix(brand): enable one-click AI logo generation wi fix(brand): enable one-click AI logo generation with clear readiness feedback...
|
57
|
5
|
governance.yml
|
42
|
5
|
0
|
refs/heads/main
|
f328e2ce1eb7ac1a7bacad695824ca809bb7677a
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"55441821e56d15bb044f3d463da3fc58a9a5d8d9","after":"f328e2ce1eb7ac1a7bacad695824ca809bb7677a","compare_url":"https://gitea.g-hi.com/luoanwu/image-generation/compare/55441821e56d15bb044f3d463da3fc58a9a5d8d9...f328e2ce1eb7ac1a7bacad695824ca809bb7677a","commits":[{"id":"f328e2ce1eb7ac1a7bacad695824ca809bb7677a","message":"fix(brand): enable one-click AI logo generation with clear readiness feedback\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/f328e2ce1eb7ac1a7bacad695824ca809bb7677a","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-07T05:49:05-07:00","added":["docs/governance/log/2026-09-07-logo-ai-button.md"],"removed":[],"modified":["CLAUDE.md","apps/web/src/components/material-factory/BrandLogoEditor.tsx","apps/web/src/components/material-factory/BrandLogoGeneration.tsx","reports/content-detail.brief-desktop.png","reports/content-detail.images-desktop.png","reports/content-detail.output-desktop.png","reports/content-detail.plans-desktop.png","reports/content-detail.review-desktop.png","reports/contract-consumers.latest.json","reports/dependency-audit.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/inference-acceptance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/model-api-key-saved.png","reports/model-credential-error.desktop.png","reports/model-credential-error.mobile.png","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/prd-retry.mobile.png","reports/prd-review.desktop.png","reports/production-acceptance.latest.json","reports/production-security.latest.json","reports/public-file-acceptance.latest.json","reports/public-file-integration.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/script-acceptance.latest.json","reports/script-generation-queue.png","reports/storyboard-director-guard.latest.json","reports/toolchain.latest.json","reports/ui-acceptance.desktop.png","reports/ui-acceptance.draft-import.png","reports/ui-acceptance.latest.json","reports/ui-acceptance.production.png","reports/ux-edit.desktop.png","reports/ux-home.desktop.png","reports/ux-intake.desktop.png","reports/validation-source.latest.json"]}],"total_commits":0,"head_commit":{"id":"f328e2ce1eb7ac1a7bacad695824ca809bb7677a","message":"fix(brand): enable one-click AI logo generation with clear readiness feedback\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/f328e2ce1eb7ac1a7bacad695824ca809bb7677a","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-07T05:49:05-07:00","added":["docs/governance/log/2026-09-07-logo-ai-button.md"],"removed":[],"modified":["CLAUDE.md","apps/web/src/components/material-factory/BrandLogoEditor.tsx","apps/web/src/components/material-factory/BrandLogoGeneration.tsx","reports/content-detail.brief-desktop.png","reports/content-detail.images-desktop.png","reports/content-detail.output-desktop.png","reports/content-detail.plans-desktop.png","reports/content-detail.review-desktop.png","reports/contract-consumers.latest.json","reports/dependency-audit.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/inference-acceptance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/model-api-key-saved.png","reports/model-credential-error.desktop.png","reports/model-credential-error.mobile.png","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/prd-retry.mobile.png","reports/prd-review.desktop.png","reports/production-acceptance.latest.json","reports/production-security.latest.json","reports/public-file-acceptance.latest.json","reports/public-file-integration.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/script-acceptance.latest.json","reports/script-generation-queue.png","reports/storyboard-director-guard.latest.json","reports/toolchain.latest.json","reports/ui-acceptance.desktop.png","reports/ui-acceptance.draft-import.png","reports/ui-acceptance.latest.json","reports/ui-acceptance.production.png","reports/ux-edit.desktop.png","reports/ux-home.desktop.png","reports/ux-intake.desktop.png","reports/validation-source.latest.json"]},"repository":{"id":57,"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":"image-generation","full_name":"luoanwu/image-generation","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":622602,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation/languages","html_url":"https://gitea.g-hi.com/luoanwu/image-generation","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/image-generation.git","clone_url":"https://gitea.g-hi.com/luoanwu/image-generation.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":5,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-06T17:04:22+08:00","updated_at":"2026-09-07T16:16:38+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"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
|
1788785361
|
1788785399
|
0
|
1788785360
|
1788785399
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23770
|
Merge branch 'main' into feat/image-creati Merge branch 'main' into feat/image-creation-uiux...
|
57
|
5
|
governance.yml
|
140
|
5
|
0
|
refs/heads/main
|
f4a3dc4e46944684ef2dbd52788ccc2eba01d330
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"5d21f7c10d08b061554997014f928798ba521dca","after":"f4a3dc4e46944684ef2dbd52788ccc2eba01d330","compare_url":"https://gitea.g-hi.com/luoanwu/image-generation/compare/5d21f7c10d08b061554997014f928798ba521dca...f4a3dc4e46944684ef2dbd52788ccc2eba01d330","commits":[{"id":"f4a3dc4e46944684ef2dbd52788ccc2eba01d330","message":"Merge branch 'main' into feat/image-creation-uiux\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/f4a3dc4e46944684ef2dbd52788ccc2eba01d330","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-09T02:51:00-07:00","added":["reports/storyboard-draft-20260909/live-verification.json"],"removed":[],"modified":["docs/governance/log/2026-09-09-storyboard-draft-model.md","reports/storyboard-draft-20260909/README.md","reports/storyboard-draft-20260909/validation.json"]},{"id":"17cac8423e6affba8d4208c79f710ab67d07eefb","message":"docs: record verified image creation UI release\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/17cac8423e6affba8d4208c79f710ab67d07eefb","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-09T02:50:52-07:00","added":["docs/releases/2026-09-09-image-uiux1.md"],"removed":[],"modified":["CLAUDE.md","docs/governance/log/2026-09-09-image-creation-uiux.md","docs/releases/current.md","reports/image-creation-uiux-20260909/README.md"]}],"total_commits":0,"head_commit":{"id":"f4a3dc4e46944684ef2dbd52788ccc2eba01d330","message":"Merge branch 'main' into feat/image-creation-uiux\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/f4a3dc4e46944684ef2dbd52788ccc2eba01d330","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-09T02:51:00-07:00","added":["reports/storyboard-draft-20260909/live-verification.json"],"removed":[],"modified":["docs/governance/log/2026-09-09-storyboard-draft-model.md","reports/storyboard-draft-20260909/README.md","reports/storyboard-draft-20260909/validation.json"]},"repository":{"id":57,"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":"image-generation","full_name":"luoanwu/image-generation","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":770895,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation/languages","html_url":"https://gitea.g-hi.com/luoanwu/image-generation","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/image-generation.git","clone_url":"https://gitea.g-hi.com/luoanwu/image-generation.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":8,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-06T17:04:22+08:00","updated_at":"2026-09-09T17:51: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":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
3
|
3
|
0
|
1788947630
|
0
|
1788947477
|
1788947630
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23812
|
docs(governance): 发布快照按 2026-09-10 ls-remote 更新——两 docs(governance): 发布快照按 2026-09-10 ls-remote 更新——两远端已到 c41f1f5(v0.4.0,标签 v0.1.0—v0.4.0 已推),v0.5.0 未推送...
|
54
|
5
|
governance.yml
|
28
|
5
|
0
|
refs/heads/main
|
f5b6f69ce1f8d3e92e5decf64aef434d235ce4de
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"c41f1f57a34aa672910f188c2b2f09eef2ab1bda","after":"f5b6f69ce1f8d3e92e5decf64aef434d235ce4de","compare_url":"https://gitea.g-hi.com/luoanwu/base-framework/compare/c41f1f57a34aa672910f188c2b2f09eef2ab1bda...f5b6f69ce1f8d3e92e5decf64aef434d235ce4de","commits":[{"id":"f5b6f69ce1f8d3e92e5decf64aef434d235ce4de","message":"docs(governance): 发布快照按 2026-09-10 ls-remote 更新——两远端已到 c41f1f5(v0.4.0,标签 v0.1.0—v0.4.0 已推),v0.5.0 未推送\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/base-framework/commit/f5b6f69ce1f8d3e92e5decf64aef434d235ce4de","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-09T19:27:16-07:00","added":[],"removed":[],"modified":["CLAUDE.md"]},{"id":"13d5c613451ac297f8ba94ba3810302b37630328","message":"chore(reports): refresh clean static evidence @ d2797f1\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/base-framework/commit/13d5c613451ac297f8ba94ba3810302b37630328","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-09T19:26:09-07:00","added":[],"removed":[],"modified":["reports/agent-adapters.latest.json","reports/conformance-matrix.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-rules.latest.json","reports/governance-status.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-compat.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},{"id":"d2797f1b1f19c364477013490e881968ddf56ba2","message":"fix(tooling): migration:rollback 的 dirty 判定排除自身报告;bootstrap 回滚点只红在新鲜度断言时降为 finding;G30 经验回灌\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/base-framework/commit/d2797f1b1f19c364477013490e881968ddf56ba2","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-09T19:25:52-07:00","added":[],"removed":[],"modified":[".agents/skills/derived-project-framework-sync/scripts/rollback-migration.mjs","docs/governance-experience.md"]},{"id":"15e2fdeb762cc2dad616d41b372dcb83f2d12757","message":"feat(tooling): scaffold 入仓 + 迁移回滚预检(FW-02 / FW-04)\n\n- pnpm scaffold:git archive 快照 → 删源仓运行证据 → 重绑定 package name 与 OS 产品身份(作用域替换)→ git init\n → frozen install → migration:record 签发凭证 → 可选 --acceptance(目标专属 DB/Redis 实跑 runtime/UI 并回灌 doctrine)\n → 迁移记录 → 静态 pnpm check\n- pnpm migration:rollback:读凭证 rollback.gitSha,隔离 worktree 验证可检出(--verify 加 install + check:kernel),\n 写预检报告并只打印方案,永不 reset 目标\n- migration:record 凭证新增 rollback 字段与 --rollback-to\n- 版本 0.5.0(root + contracts);SKILL / 迁移协议登记两条命令\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/base-framework/commit/15e2fdeb762cc2dad616d41b372dcb83f2d12757","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-09T19:19:19-07:00","added":[".agents/skills/derived-project-framework-sync/scripts/rollback-migration.mjs","scripts/scaffold-derived.mjs"],"removed":[],"modified":[".agents/skills/derived-project-framework-sync/SKILL.md",".agents/skills/derived-project-framework-sync/references/migration-protocol.md",".agents/skills/derived-project-framework-sync/scripts/record-migration.mjs","CHANGELOG.md","CLAUDE.md","README.md","package.json","packages/contracts/package.json"]}],"total_commits":0,"head_commit":{"id":"f5b6f69ce1f8d3e92e5decf64aef434d235ce4de","message":"docs(governance): 发布快照按 2026-09-10 ls-remote 更新——两远端已到 c41f1f5(v0.4.0,标签 v0.1.0—v0.4.0 已推),v0.5.0 未推送\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/base-framework/commit/f5b6f69ce1f8d3e92e5decf64aef434d235ce4de","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-09T19:27:16-07:00","added":[],"removed":[],"modified":["CLAUDE.md"]},"repository":{"id":54,"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":"base-framework","full_name":"luoanwu/base-framework","description":"基础框架 monorepo","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":3483,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/base-framework/languages","html_url":"https://gitea.g-hi.com/luoanwu/base-framework","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/base-framework","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/base-framework.git","clone_url":"https://gitea.g-hi.com/luoanwu/base-framework.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-03T12:24:18+08:00","updated_at":"2026-09-10T10:12:52+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":true,"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
|
10
|
1789007764
|
1789007811
|
0
|
1789007763
|
1789007820
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
...
|
governance-governance.yml-refs/heads/main
|
0
|
Edit
Delete
|
|
23638
|
feat(governance): expand RAG capacity and enforce feat(governance): expand RAG capacity and enforce merge gate...
|
76
|
5
|
governance.yml
|
38
|
5
|
0
|
refs/heads/main
|
f6bd2a9868bc86b739584c2b3833b3d98d3eaf07
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"9159f925070e50ba4126f448cb7755396e4a66ac","after":"f6bd2a9868bc86b739584c2b3833b3d98d3eaf07","compare_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/compare/9159f925070e50ba4126f448cb7755396e4a66ac...f6bd2a9868bc86b739584c2b3833b3d98d3eaf07","commits":[{"id":"f6bd2a9868bc86b739584c2b3833b3d98d3eaf07","message":"feat(governance): expand RAG capacity and enforce merge gate\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/f6bd2a9868bc86b739584c2b3833b3d98d3eaf07","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-04T21:58:26-07:00","added":["apps/api-fastify/prisma/migrations/20260927000000_expand_rag_chunk_capacity/migration.sql","apps/api-nestjs/prisma/migrations/20260927000000_expand_rag_chunk_capacity/migration.sql","docs/planning/development-blueprint-2026-09-04.md","scripts/check-merge-gate.mjs","scripts/lib/ci-protection.mjs"],"removed":[],"modified":[".github/workflows/governance.yml","CLAUDE.md","apps/api-fastify/test/llm.acceptance.test.ts","apps/api-nestjs/test/llm.acceptance.test.ts","docs/domain/llm-execution-blueprint.md","docs/governance-experience.md","docs/product-extension-guide.md","kernel.downstream.lock.json","kernel.packages.json","kernel.packages.lock.json","kernel.products.json","kernel.products.lock.json","packages/contracts/package.json","packages/contracts/src/rag.test.ts","packages/contracts/src/rag.ts","products/juhai.hr/acceptance/runtime-suite.mjs","products/juhai.hr/manifest.json","products/juhai.hr/src/implementations.mjs","products/juhai.hr/src/personnel-change-contracts.d.mts","products/juhai.hr/src/personnel-change-contracts.mjs","reports/agent-adapters.latest.json","reports/auth-startup.latest.json","reports/baseline.json","reports/capacity-envelope.latest.json","reports/contract-consumers.latest.json","reports/db-credential-separation.latest.json","reports/dependency-resilience.latest.json","reports/docs-truth.latest.json","reports/dual-backend-behavior.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/kernel-boundaries.latest.json","reports/kernel-downstream.latest.json","reports/kernel-extensions.latest.json","reports/kernel-packages.latest.json","reports/list-bounds.latest.json","reports/llm-eval.latest.json","reports/migrations.latest.json","reports/mobile-export.latest.json","reports/multi-instance.latest.json","reports/naming.latest.json","reports/operations.latest.json","reports/product-acceptance-runtime.latest.json","reports/product-acceptance.latest.json","reports/product-extension-runtime.latest.json","reports/product-migrations-runtime.latest.json","reports/product-migrations.latest.json","reports/product-sql-runtime.latest.json","reports/report-transaction-lock.latest.json","reports/rls.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/tracing.latest.json","reports/validation-source.latest.json","reports/write-capacity.latest.json","scripts/check-ci-gate.mjs","scripts/check-operations.mjs"]}],"total_commits":0,"head_commit":{"id":"f6bd2a9868bc86b739584c2b3833b3d98d3eaf07","message":"feat(governance): expand RAG capacity and enforce merge gate\n","url":"https://gitea.g-hi.com/luoanwu/digital-employee-os/commit/f6bd2a9868bc86b739584c2b3833b3d98d3eaf07","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-04T21:58:26-07:00","added":["apps/api-fastify/prisma/migrations/20260927000000_expand_rag_chunk_capacity/migration.sql","apps/api-nestjs/prisma/migrations/20260927000000_expand_rag_chunk_capacity/migration.sql","docs/planning/development-blueprint-2026-09-04.md","scripts/check-merge-gate.mjs","scripts/lib/ci-protection.mjs"],"removed":[],"modified":[".github/workflows/governance.yml","CLAUDE.md","apps/api-fastify/test/llm.acceptance.test.ts","apps/api-nestjs/test/llm.acceptance.test.ts","docs/domain/llm-execution-blueprint.md","docs/governance-experience.md","docs/product-extension-guide.md","kernel.downstream.lock.json","kernel.packages.json","kernel.packages.lock.json","kernel.products.json","kernel.products.lock.json","packages/contracts/package.json","packages/contracts/src/rag.test.ts","packages/contracts/src/rag.ts","products/juhai.hr/acceptance/runtime-suite.mjs","products/juhai.hr/manifest.json","products/juhai.hr/src/implementations.mjs","products/juhai.hr/src/personnel-change-contracts.d.mts","products/juhai.hr/src/personnel-change-contracts.mjs","reports/agent-adapters.latest.json","reports/auth-startup.latest.json","reports/baseline.json","reports/capacity-envelope.latest.json","reports/contract-consumers.latest.json","reports/db-credential-separation.latest.json","reports/dependency-resilience.latest.json","reports/docs-truth.latest.json","reports/dual-backend-behavior.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/kernel-boundaries.latest.json","reports/kernel-downstream.latest.json","reports/kernel-extensions.latest.json","reports/kernel-packages.latest.json","reports/list-bounds.latest.json","reports/llm-eval.latest.json","reports/migrations.latest.json","reports/mobile-export.latest.json","reports/multi-instance.latest.json","reports/naming.latest.json","reports/operations.latest.json","reports/product-acceptance-runtime.latest.json","reports/product-acceptance.latest.json","reports/product-extension-runtime.latest.json","reports/product-migrations-runtime.latest.json","reports/product-migrations.latest.json","reports/product-sql-runtime.latest.json","reports/report-transaction-lock.latest.json","reports/rls.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/tracing.latest.json","reports/validation-source.latest.json","reports/write-capacity.latest.json","scripts/check-ci-gate.mjs","scripts/check-operations.mjs"]},"repository":{"id":76,"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":"digital-employee-os","full_name":"luoanwu/digital-employee-os","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":82022,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os/languages","html_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/digital-employee-os","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/digital-employee-os.git","clone_url":"https://gitea.g-hi.com/luoanwu/digital-employee-os.git","original_url":"","website":"","stars_count":0,"forks_count":1,"watchers_count":1,"branch_count":2,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-20T14:46:28+08:00","updated_at":"2026-09-04T13:15:00+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":true,"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
|
36
|
1788584337
|
1788584474
|
0
|
1788584337
|
1788584483
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23410
|
初始提交:嗨赞AI制作平台(含 C1–C59 全部治理轮次)
|
60
|
5
|
governance.yml
|
1
|
5
|
0
|
refs/heads/main
|
f73daf0a17c4cd19344f03ba21afcc326a49a650
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"0000000000000000000000000000000000000000","after":"f73daf0a17c4cd19344f03ba21afcc326a49a650","compare_url":"https://gitea.g-hi.com/","commits":[{"id":"f73daf0a17c4cd19344f03ba21afcc326a49a650","message":"初始提交:嗨赞AI制作平台(含 C1–C59 全部治理轮次)\n\n从 基础框架 派生的 AI 歌词对齐制作平台。契约单源 @repo/contracts + 双后端\n(NestJS/Fastify)对等 + Next.js studio 前端 + Python 模型 workers。\n\n治理基线(reports/baseline.json 棘轮):\n- 静态门禁 pnpm check 全绿(naming/schema/validation/contract-consumers/\n dual-backend/concurrency-guard/migrations/models/alignment-models/library/\n lyra-parity/governance-docs)\n- check:runtime 316/316、check:ui 32/32、own-tests 39 文件 348 用例\n\n体积纪律:模型权重(~13GB)与曲库音频(含受版权保护素材)不入库,\n仅保留 models/model-assets.v1.json 与 曲库/library.latest.json 两份登记真源\n(check:models / check:library 据此比对磁盘实况)。\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/haizan-ai-production-platform/commit/f73daf0a17c4cd19344f03ba21afcc326a49a650","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-07-13T20:23:16-07:00","added":[".claude/agents/acceptance-runner.md",".claude/agents/module-blueprint.md",".claude/launch.json",".claude/skills/business-module-intake/SKILL.md",".claude/skills/frontend-api-react/SKILL.md",".claude/skills/frontend-view-react/SKILL.md",".claude/skills/frontend-view-react/references/view-templates.md",".claude/skills/fullstack-7layer-react/SKILL.md",".claude/skills/fullstack-7layer-react/references/fullstack-react-templates.md",".claude/skills/zustand-store/SKILL.md",".github/pull_request_template.md",".github/workflows/governance.yml",".gitignore","AGENTS.md","CLAUDE.md","README.md","apps/api-fastify/.env.example","apps/api-fastify/.gitignore","apps/api-fastify/package.json","apps/api-fastify/pnpm-lock.yaml","apps/api-fastify/prisma/migrations/20260608150500_init/migration.sql","apps/api-fastify/prisma/migrations/20260705080000_outbox_dead_letter/migration.sql","apps/api-fastify/prisma/migrations/20260709151138_alignment_domain/migration.sql","apps/api-fastify/prisma/migrations/migration_lock.toml","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/app.ts","apps/api-fastify/src/lib/orderMachine.ts","apps/api-fastify/src/lib/statemachine.ts","apps/api-fastify/src/modules/alignment/alignment-coarse.ts","apps/api-fastify/src/modules/alignment/alignment-mms-fa.ts","apps/api-fastify/src/modules/alignment/alignment-pipeline.ts","apps/api-fastify/src/modules/alignment/alignment-scoring.ts","apps/api-fastify/src/modules/alignment/alignment-separation-htdemucs.ts","apps/api-fastify/src/modules/alignment/alignment-separation-larsnet.ts","apps/api-fastify/src/modules/alignment/alignment-separation.ts","apps/api-fastify/src/modules/alignment/alignment-structure.ts","apps/api-fastify/src/modules/alignment/alignment-verification.ts","apps/api-fastify/src/modules/alignment/alignment.service.ts","apps/api-fastify/src/modules/orders/orders.service.ts","apps/api-fastify/src/modules/song-assets/song-assets.service.ts","apps/api-fastify/src/modules/tenant.ts","apps/api-fastify/src/modules/users/users.service.ts","apps/api-fastify/src/plugins/events.ts","apps/api-fastify/src/plugins/outbox.ts","apps/api-fastify/src/plugins/prisma.ts","apps/api-fastify/src/plugins/queue.ts","apps/api-fastify/src/plugins/redis.ts","apps/api-fastify/src/plugins/storage.ts","apps/api-fastify/src/routes/alignment.ts","apps/api-fastify/src/routes/health.ts","apps/api-fastify/src/routes/jobs.ts","apps/api-fastify/src/routes/orders.ts","apps/api-fastify/src/routes/song-assets.ts","apps/api-fastify/src/routes/sse.ts","apps/api-fastify/src/routes/users.ts","apps/api-fastify/src/routes/ws.ts","apps/api-fastify/src/server.ts","apps/api-fastify/src/types.ts","apps/api-fastify/test/alignment.coarse.test.ts","apps/api-fastify/test/alignment.http.test.ts","apps/api-fastify/test/alignment.integration.test.ts","apps/api-fastify/test/alignment.mms-fa.test.ts","apps/api-fastify/test/alignment.pipeline.test.ts","apps/api-fastify/test/alignment.scoring.test.ts","apps/api-fastify/test/alignment.separation-htdemucs.test.ts","apps/api-fastify/test/alignment.separation-larsnet.test.ts","apps/api-fastify/test/alignment.separation.test.ts","apps/api-fastify/test/alignment.structure.test.ts","apps/api-fastify/test/alignment.verification.test.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-fastify/test/orders.integration.test.ts","apps/api-fastify/test/outbox.deadletter.test.ts","apps/api-fastify/test/realtime.tenant.test.ts","apps/api-fastify/tsconfig.json","apps/api-fastify/vitest.config.ts","apps/api-nestjs/.env.example","apps/api-nestjs/.gitignore","apps/api-nestjs/docker-compose.yml","apps/api-nestjs/nest-cli.json","apps/api-nestjs/package.json","apps/api-nestjs/pnpm-lock.yaml","apps/api-nestjs/prisma/migrations/20260608150500_init/migration.sql","apps/api-nestjs/prisma/migrations/20260705080000_outbox_dead_letter/migration.sql","apps/api-nestjs/prisma/migrations/20260709151138_alignment_domain/migration.sql","apps/api-nestjs/prisma/migrations/migration_lock.toml","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/prisma/seed.ts","apps/api-nestjs/src/alignment/alignment.controller.ts","apps/api-nestjs/src/alignment/alignment.module.ts","apps/api-nestjs/src/alignment/alignment.service.ts","apps/api-nestjs/src/alignment/song-assets.controller.ts","apps/api-nestjs/src/alignment/song-assets.service.ts","apps/api-nestjs/src/alignment/storage.provider.ts","apps/api-nestjs/src/app.module.ts","apps/api-nestjs/src/common/api-error-body.filter.ts","apps/api-nestjs/src/common/envelope.ts","apps/api-nestjs/src/common/tenant.decorator.ts","apps/api-nestjs/src/common/zod-validation.pipe.ts","apps/api-nestjs/src/create-app.ts","apps/api-nestjs/src/events/event-bus.service.ts","apps/api-nestjs/src/events/events.gateway.ts","apps/api-nestjs/src/events/events.module.ts","apps/api-nestjs/src/events/fanout.service.ts","apps/api-nestjs/src/events/outbox-dispatcher.service.ts","apps/api-nestjs/src/health/health.controller.ts","apps/api-nestjs/src/health/health.module.ts","apps/api-nestjs/src/main.ts","apps/api-nestjs/src/orders/orders.controller.ts","apps/api-nestjs/src/orders/orders.module.ts","apps/api-nestjs/src/orders/orders.service.ts","apps/api-nestjs/src/prisma/prisma.module.ts","apps/api-nestjs/src/prisma/prisma.service.ts","apps/api-nestjs/src/queue/jobs.controller.ts","apps/api-nestjs/src/queue/jobs.processor.ts","apps/api-nestjs/src/queue/queue.module.ts","apps/api-nestjs/src/queue/queue.types.ts","apps/api-nestjs/src/redis/redis.module.ts","apps/api-nestjs/src/sse/sse.controller.ts","apps/api-nestjs/src/sse/sse.module.ts","apps/api-nestjs/src/statemachine/index.ts","apps/api-nestjs/src/statemachine/order.machine.ts","apps/api-nestjs/src/statemachine/statemachine.engine.ts","apps/api-nestjs/src/statemachine/statemachine.types.ts","apps/api-nestjs/src/users/users.controller.ts","apps/api-nestjs/src/users/users.module.ts","apps/api-nestjs/src/users/users.service.ts","apps/api-nestjs/test/alignment.coarse.test.ts","apps/api-nestjs/test/alignment.http.test.ts","apps/api-nestjs/test/alignment.integration.test.ts","apps/api-nestjs/test/alignment.mms-fa.test.ts","apps/api-nestjs/test/alignment.pipeline.test.ts","apps/api-nestjs/test/alignment.scoring.test.ts","apps/api-nestjs/test/alignment.separation-htdemucs.test.ts","apps/api-nestjs/test/alignment.separation-larsnet.test.ts","apps/api-nestjs/test/alignment.separation.test.ts","apps/api-nestjs/test/alignment.structure.test.ts","apps/api-nestjs/test/alignment.verification.test.ts","apps/api-nestjs/test/http.acceptance.test.ts","apps/api-nestjs/test/orders.integration.test.ts","apps/api-nestjs/test/outbox.deadletter.test.ts","apps/api-nestjs/test/realtime.tenant.test.ts","apps/api-nestjs/tsconfig.build.json","apps/api-nestjs/tsconfig.json","apps/api-nestjs/vitest.config.ts","apps/web/.env.example","apps/web/.gitignore","apps/web/components.json","apps/web/e2e/acceptance.spec.ts","apps/web/e2e/baselines/lyra-prototype-v3-batch.png","apps/web/e2e/baselines/lyra-prototype-v3-delivery.png","apps/web/e2e/baselines/lyra-prototype-v3-info.png","apps/web/e2e/baselines/lyra-prototype-v3-workbench.png","apps/web/e2e/lyra-studio.spec.ts","apps/web/eslint.config.mjs","apps/web/next.config.ts","apps/web/package.json","apps/web/playwright.config.ts","apps/web/pnpm-lock.yaml","apps/web/postcss.config.js","apps/web/src/app/globals.css","apps/web/src/app/layout.tsx","apps/web/src/app/page.tsx","apps/web/src/app/studio/page.tsx","apps/web/src/components/EventFeed.tsx","apps/web/src/components/OrdersPanel.tsx","apps/web/src/components/RealtimeBar.tsx","apps/web/src/components/UsersPanel.tsx","apps/web/src/components/ui/badge.tsx","apps/web/src/components/ui/button.tsx","apps/web/src/components/ui/card.tsx","apps/web/src/components/ui/input.tsx","apps/web/src/components/ui/label.tsx","apps/web/src/components/ui/separator.tsx","apps/web/src/features/alignment/api.ts","apps/web/src/features/alignment/queries.ts","apps/web/src/features/lyra-studio/components/LyraStudio.tsx","apps/web/src/features/lyra-studio/components/PipelineBar.tsx","apps/web/src/features/lyra-studio/components/RunLoadErrorBanner.tsx","apps/web/src/features/lyra-studio/components/TopBar.tsx","apps/web/src/features/lyra-studio/components/canvas/PitchGridCanvas.tsx","apps/web/src/features/lyra-studio/components/canvas/VocalSpectrumCanvas.tsx","apps/web/src/features/lyra-studio/components/center/MvViewport.tsx","apps/web/src/features/lyra-studio/components/center/Transport.tsx","apps/web/src/features/lyra-studio/components/detail/RegionControlBar.tsx","apps/web/src/features/lyra-studio/components/lanes/LyricWorkspace.tsx","apps/web/src/features/lyra-studio/components/lanes/MainPlayhead.tsx","apps/web/src/features/lyra-studio/components/lanes/PhonemeLane.tsx","apps/web/src/features/lyra-studio/components/lanes/PitchLane.tsx","apps/web/src/features/lyra-studio/components/lanes/RefineLane.tsx","apps/web/src/features/lyra-studio/components/lanes/RegionLane.tsx","apps/web/src/features/lyra-studio/components/lanes/SentenceLane.tsx","apps/web/src/features/lyra-studio/components/lanes/VocalLane.tsx","apps/web/src/features/lyra-studio/components/left/AnalysisStub.tsx","apps/web/src/features/lyra-studio/components/left/LeftPanel.tsx","apps/web/src/features/lyra-studio/components/left/TrackCard.tsx","apps/web/src/features/lyra-studio/components/left/TrackMixer.tsx","apps/web/src/features/lyra-studio/components/modals/BatchModal.tsx","apps/web/src/features/lyra-studio/components/modals/CommitModal.tsx","apps/web/src/features/lyra-studio/components/modals/LoadModal.tsx","apps/web/src/features/lyra-studio/components/modals/ModalShell.tsx","apps/web/src/features/lyra-studio/components/modals/ResetModal.tsx","apps/web/src/features/lyra-studio/components/modals/StepModal.tsx","apps/web/src/features/lyra-studio/components/right/InfoTab.tsx","apps/web/src/features/lyra-studio/components/right/LyricsTab.tsx","apps/web/src/features/lyra-studio/components/right/PendingTab.tsx","apps/web/src/features/lyra-studio/components/right/RightPanel.tsx","apps/web/src/features/lyra-studio/components/right/RunEvidenceCard.tsx","apps/web/src/features/lyra-studio/components/timeline/GlobalTimeline.tsx","apps/web/src/features/lyra-studio/components/timeline/SeekWaveformCanvas.tsx","apps/web/src/features/lyra-studio/constants.ts","apps/web/src/features/lyra-studio/demoArtifacts.ts","apps/web/src/features/lyra-studio/fixtures/panels.ts","apps/web/src/features/lyra-studio/fixtures/segments.ts","apps/web/src/features/lyra-studio/fixtures/tracks.ts","apps/web/src/features/lyra-studio/hooks/useAudioPlayback.ts","apps/web/src/features/lyra-studio/hooks/useGlobalHotkeys.ts","apps/web/src/features/lyra-studio/hooks/useLaneDrags.ts","apps/web/src/features/lyra-studio/hooks/usePointerDrag.ts","apps/web/src/features/lyra-studio/hooks/useRafClock.ts","apps/web/src/features/lyra-studio/hooks/useScaleToFit.ts","apps/web/src/features/lyra-studio/hooks/useStudioBridge.ts","apps/web/src/features/lyra-studio/hooks/useWin.ts","apps/web/src/features/lyra-studio/prototypeV3.ts","apps/web/src/features/lyra-studio/runMapping.ts","apps/web/src/features/lyra-studio/store/selectors.ts","apps/web/src/features/lyra-studio/store/useStudioStore.ts","apps/web/src/features/lyra-studio/trackAudio.ts","apps/web/src/features/lyra-studio/types.ts","apps/web/src/features/lyra-studio/utils/realSpectrum.ts","apps/web/src/features/lyra-studio/utils/realWaveform.ts","apps/web/src/features/lyra-studio/utils/seededRandom.ts","apps/web/src/features/lyra-studio/utils/spectro.ts","apps/web/src/features/lyra-studio/utils/styles.ts","apps/web/src/features/lyra-studio/utils/time.ts","apps/web/src/hooks/useRealtime.ts","apps/web/src/lib/api.ts","apps/web/src/lib/providers.tsx","apps/web/src/lib/types.ts","apps/web/src/lib/utils.ts","apps/web/src/store/realtime.ts","apps/web/src/store/useAppStore.ts","apps/web/tailwind.config.ts","apps/web/tsconfig.json","design-qa.md","docker-compose.yml","docs/README.md","docs/adr/0001-use-typescript-fullstack.md","docs/adr/0002-use-nextjs-app-router.md","docs/adr/0003-use-nestjs-with-fastify-adapter.md","docs/adr/0004-use-postgresql.md","docs/adr/0005-use-prisma.md","docs/adr/0006-realtime-sse-and-websocket.md","docs/adr/0007-use-bullmq-queue.md","docs/adr/0008-monorepo-pnpm-turborepo.md","docs/adr/0009-dual-backend-governance-parity.md","docs/adr/README.md","docs/domain-glossary.md","docs/domain/lyric-alignment-production-blueprint.md","docs/domain/owner-matrix.md","docs/domain/stars-full-alignment-integration-assessment.md","docs/migration-notes.md","docs/prd/lyra-alignment-studio-prd.md","docs/prototypes/Lyra Alignment Studio (3)_副本.html","docs/prototypes/_lyra_extracted/0f3afcd6-3e42-43c6-bc2c-f7a7241d8cfc.js","docs/prototypes/_lyra_extracted/5e249108-9e25-49d4-aead-4a42da391445.txt","docs/prototypes/_lyra_extracted/6b20a626-d5f0-4ece-a2d4-3f3f7a96342e.txt","docs/prototypes/_lyra_extracted/78e3f258-31fe-4530-a312-1113810fd6c7.txt","docs/prototypes/_lyra_extracted/85a75d15-031b-454b-b8a4-728a88f2c03e.js","docs/prototypes/_lyra_extracted/8905ed0e-91a0-4b9e-8d49-fa1867515d0f.js","docs/prototypes/_lyra_extracted/app-dc-script.js","docs/prototypes/_lyra_extracted/e3ceeb25-f278-400d-8f89-200ca38d9d34.txt","docs/prototypes/_lyra_extracted/e456d310-3c72-4ccc-91a6-f34216a66722.txt","docs/prototypes/_lyra_extracted/e9425a8b-83ce-48d4-94d4-eb98f6c69c2b.txt","docs/prototypes/_lyra_extracted/template-body.html","docs/prototypes/_lyra_extracted/template-styles.css","docs/prototypes/_lyra_extracted/template.html","docs/prototypes/lyra-alignment-studio-elevation.md","docs/prototypes/lyra-alignment-studio-v2.html","docs/standards/api-standard.md","docs/standards/backend-standard.md","docs/standards/database-standard.md","docs/standards/frontend-standard.md","docs/standards/git-standard.md","docs/standards/naming-standard.md","docs/standards/review-standard.md","models/model-assets.v1.json","package.json","packages/config/eslint/base.mjs","packages/config/package.json","packages/config/prettier/index.json","packages/config/tsconfig/base.json","packages/config/tsconfig/nextjs.json","packages/config/tsconfig/node.json","packages/contracts/package.json","packages/contracts/src/alignment-export.ts","packages/contracts/src/alignment-models.test.ts","packages/contracts/src/alignment-models.ts","packages/contracts/src/alignment.test.ts","packages/contracts/src/alignment.ts","packages/contracts/src/contracts.test.ts","packages/contracts/src/index.ts","packages/contracts/src/order.ts","packages/contracts/src/realtime.ts","packages/contracts/src/statemachine.test.ts","packages/contracts/src/statemachine.ts","packages/contracts/src/tenant.ts","packages/contracts/src/user.ts","packages/contracts/src/vtc.ts","packages/contracts/tsconfig.json","packages/model-readiness/package.json","packages/model-readiness/src/index.ts","packages/model-readiness/src/readiness.test.ts","packages/model-readiness/tsconfig.json","packages/pipeline-runner/package.json","packages/pipeline-runner/src/index.ts","packages/pipeline-runner/src/runner.test.ts","packages/pipeline-runner/tsconfig.json","packages/storage/package.json","packages/storage/src/index.ts","packages/storage/src/storage.test.ts","packages/storage/tsconfig.json","pnpm-lock.yaml","pnpm-workspace.yaml","reports/alignment-integrity-qingtian.latest.json","reports/alignment-models.latest.json","reports/alignment-text-crosscheck-qingtian.latest.json","reports/baseline.json","reports/contract-consumers.latest.json","reports/design-audit/material-loading-2026-07-11/01-material-loading-current.png","reports/design-audit/material-loading-2026-07-11/02-material-loading-improved.png","reports/design-audit/material-loading-2026-07-11/03-material-loading-create.png","reports/design-audit/material-loading-2026-07-11/audit.md","reports/dual-backend-parity.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/lyra-prototype-parity.latest.json","reports/migrations.latest.json","reports/model-acquisition.latest.json","reports/model-assets.latest.json","reports/model-evidence/audio-separator-smoke.latest.json","reports/model-evidence/cantonese-coarse.latest.json","reports/model-evidence/energy-dynamics.latest.json","reports/model-evidence/harmonic-functional.latest.json","reports/model-evidence/hubertfa-smoke.latest.json","reports/model-evidence/hubertfa-sofa-fusion-smoke.latest.json","reports/model-evidence/key-v2.latest.json","reports/model-evidence/larsnet-smoke.latest.json","reports/model-evidence/mms-fa-smoke.latest.json","reports/model-evidence/pipeline-smoke.latest.json","reports/model-evidence/qingtian-pipeline-proposal.latest.json","reports/model-evidence/qingtian-precision.latest.json","reports/model-evidence/separation-smoke.latest.json","reports/model-evidence/sofa-acoustic-smoke.latest.json","reports/model-evidence/stars-align-smoke.latest.json","reports/model-evidence/stars-qingtian-precision.latest.json","reports/model-evidence/stars-smoke.latest.json","reports/model-evidence/structure-repetition.latest.json","reports/model-evidence/structure-smoke.latest.json","reports/model-evidence/vocal-classification-models.latest.json","reports/model-evidence/vocal-melody.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/song-library.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","scripts/acquire-models.mjs","scripts/check-alignment-models.mjs","scripts/check-contract-consumers.mjs","scripts/check-dual-backend-parity.mjs","scripts/check-governance-docs.mjs","scripts/check-lyra-prototype-parity.mjs","scripts/check-migrations.mjs","scripts/check-model-assets.mjs","scripts/check-naming.mjs","scripts/check-order-concurrency-guard.mjs","scripts/check-runtime-acceptance.mjs","scripts/check-schema-sync.mjs","scripts/check-song-library.mjs","scripts/check-ui-acceptance.mjs","scripts/check-validation-source.mjs","scripts/governance-report.mjs","tsconfig.base.json","turbo.json","workers/audio-separator/README.md","workers/audio-separator/requirements_audio_separator.txt","workers/audio-separator/run_separation.py","workers/coarse/README.md","workers/coarse/eval_language_routing.py","workers/coarse/requirements_coarse.txt","workers/coarse/run_coarse.py","workers/fusion/README.md","workers/fusion/run_fusion.py","workers/hubertfa/README.md","workers/hubertfa/requirements_onnx_cpu.txt","workers/hubertfa/scripts/run_hubertfa_align.py","workers/larsnet/README.md","workers/larsnet/run_larsnet.py","workers/lyrics-cleaner/run_clean_lyrics.py","workers/mms-fa/README.md","workers/mms-fa/requirements_mms_fa.txt","workers/mms-fa/run_mms_fa.py","workers/pipeline/README.md","workers/pipeline/compare_with_kas.py","workers/pipeline/g2p.py","workers/pipeline/requirements.txt","workers/pipeline/run_pipeline.py","workers/separation/README.md","workers/separation/run_separation.py","workers/sofa-acoustic/README.md","workers/sofa-acoustic/requirements.txt","workers/sofa-acoustic/run_sofa_acoustic.py","workers/sofa-acoustic/vendor/sofa/.gitignore","workers/sofa-acoustic/vendor/sofa/LICENSE","workers/sofa-acoustic/vendor/sofa/README.MD","workers/sofa-acoustic/vendor/sofa/README_zh.MD","workers/sofa-acoustic/vendor/sofa/binarize.py","workers/sofa-acoustic/vendor/sofa/ckpt/.gitkeep","workers/sofa-acoustic/vendor/sofa/configs/binarize_config.yaml","workers/sofa-acoustic/vendor/sofa/configs/train_config.yaml","workers/sofa-acoustic/vendor/sofa/data/.gitkeep","workers/sofa-acoustic/vendor/sofa/data/binary/.gitkeep","workers/sofa-acoustic/vendor/sofa/dataset.py","workers/sofa-acoustic/vendor/sofa/dictionary/.gitkeep","workers/sofa-acoustic/vendor/sofa/dictionary/opencpop-extension.txt","workers/sofa-acoustic/vendor/sofa/evaluate.py","workers/sofa-acoustic/vendor/sofa/example.png","workers/sofa-acoustic/vendor/sofa/infer.py","workers/sofa-acoustic/vendor/sofa/modules/AP_detector/__init__.py","workers/sofa-acoustic/vendor/sofa/modules/AP_detector/base_detector.py","workers/sofa-acoustic/vendor/sofa/modules/AP_detector/loudnesss_pectralcentroid_detector.py","workers/sofa-acoustic/vendor/sofa/modules/AP_detector/none_detector.py","workers/sofa-acoustic/vendor/sofa/modules/__init__.py","workers/sofa-acoustic/vendor/sofa/modules/g2p/__init__.py","workers/sofa-acoustic/vendor/sofa/modules/g2p/base_g2p.py","workers/sofa-acoustic/vendor/sofa/modules/g2p/dictionary_g2p.py","workers/sofa-acoustic/vendor/sofa/modules/g2p/none_g2p.py","workers/sofa-acoustic/vendor/sofa/modules/g2p/phoneme_g2p.py","workers/sofa-acoustic/vendor/sofa/modules/g2p/readme_g2p.md","workers/sofa-acoustic/vendor/sofa/modules/g2p/readme_g2p_zh.md","workers/sofa-acoustic/vendor/sofa/modules/layer/__init__.py","workers/sofa-acoustic/vendor/sofa/modules/layer/activation/GLU.py","workers/sofa-acoustic/vendor/sofa/modules/layer/activation/__init__.py","workers/sofa-acoustic/vendor/sofa/modules/layer/backbone/__init__.py","workers/sofa-acoustic/vendor/sofa/modules/layer/backbone/unet.py","workers/sofa-acoustic/vendor/sofa/modules/layer/block/__init__.py","workers/sofa-acoustic/vendor/sofa/modules/layer/block/attention.py","workers/sofa-acoustic/vendor/sofa/modules/layer/block/conformer.py","workers/sofa-acoustic/vendor/sofa/modules/layer/block/convolution.py","workers/sofa-acoustic/vendor/sofa/modules/layer/block/func_module.py","workers/sofa-acoustic/vendor/sofa/modules/layer/block/residual.py","workers/sofa-acoustic/vendor/sofa/modules/layer/block/resnet_block.py","workers/sofa-acoustic/vendor/sofa/modules/layer/scaling/__init__.py","workers/sofa-acoustic/vendor/sofa/modules/layer/scaling/base.py","workers/sofa-acoustic/vendor/sofa/modules/layer/scaling/stride_conv.py","workers/sofa-acoustic/vendor/sofa/modules/loss/BinaryEMDLoss.py","workers/sofa-acoustic/vendor/sofa/modules/loss/GHMLoss.py","workers/sofa-acoustic/vendor/sofa/modules/loss/__init__.py","workers/sofa-acoustic/vendor/sofa/modules/rmvpe/__init__.py","workers/sofa-acoustic/vendor/sofa/modules/rmvpe/constants.py","workers/sofa-acoustic/vendor/sofa/modules/rmvpe/deepunet.py","workers/sofa-acoustic/vendor/sofa/modules/rmvpe/inference.py","workers/sofa-acoustic/vendor/sofa/modules/rmvpe/model.py","workers/sofa-acoustic/vendor/sofa/modules/rmvpe/seq.py","workers/sofa-acoustic/vendor/sofa/modules/rmvpe/spec.py","workers/sofa-acoustic/vendor/sofa/modules/rmvpe/utils.py","workers/sofa-acoustic/vendor/sofa/modules/scheduler/__init__.py","workers/sofa-acoustic/vendor/sofa/modules/scheduler/gaussian_ramp_up_scheduler.py","workers/sofa-acoustic/vendor/sofa/modules/scheduler/none_scheduler.py","workers/sofa-acoustic/vendor/sofa/modules/task/forced_alignment.py","workers/sofa-acoustic/vendor/sofa/modules/utils/__init__.py","workers/sofa-acoustic/vendor/sofa/modules/utils/export_tool.py","workers/sofa-acoustic/vendor/sofa/modules/utils/get_melspec.py","workers/sofa-acoustic/vendor/sofa/modules/utils/label.py","workers/sofa-acoustic/vendor/sofa/modules/utils/load_wav.py","workers/sofa-acoustic/vendor/sofa/modules/utils/metrics.py","workers/sofa-acoustic/vendor/sofa/modules/utils/metrics_test.py","workers/sofa-acoustic/vendor/sofa/modules/utils/plot.py","workers/sofa-acoustic/vendor/sofa/modules/utils/post_processing.py","workers/sofa-acoustic/vendor/sofa/requirements.txt","workers/sofa-acoustic/vendor/sofa/segments/.gitkeep","workers/sofa-acoustic/vendor/sofa/train.py","workers/sofa-verifier/README.md","workers/sofa-verifier/scripts/run_sofa_align.py","workers/stars/README.md","workers/stars/g2p_stars.py","workers/stars/requirements_stars.txt","workers/stars/rmvpe/LICENSE-upstream-STARS.txt","workers/stars/rmvpe/__init__.py","workers/stars/rmvpe/constants.py","workers/stars/rmvpe/deepunet.py","workers/stars/rmvpe/mel.py","workers/stars/rmvpe/model.py","workers/stars/rmvpe/seq.py","workers/stars/rmvpe/spec.py","workers/stars/rmvpe/utils.py","workers/stars/run_stars.py","workers/stars/stars_align.py","workers/stars/vendor_stars/LICENSE-upstream-STARS.txt","workers/stars/vendor_stars/_VENDOR_NOTE.md","workers/stars/vendor_stars/_reference/inference_stars.py","workers/stars/vendor_stars/_reference/mixedtext2phoneme.py","workers/stars/vendor_stars/_reference/process_ph.py","workers/stars/vendor_stars/chinese_and_english_phone_set.json","workers/stars/vendor_stars/chinese_phone_set.json","workers/stars/vendor_stars/configs/base.yaml","workers/stars/vendor_stars/configs/stars_bilingual.yaml","workers/stars/vendor_stars/configs/stars_chinese.yaml","workers/stars/vendor_stars/modules/__init__.py","workers/stars/vendor_stars/modules/commons/__init__.py","workers/stars/vendor_stars/modules/commons/conformer/__init__.py","workers/stars/vendor_stars/modules/commons/conformer/conformer.py","workers/stars/vendor_stars/modules/commons/conformer/espnet_positional_embedding.py","workers/stars/vendor_stars/modules/commons/conformer/espnet_transformer_attn.py","workers/stars/vendor_stars/modules/commons/conformer/layers.py","workers/stars/vendor_stars/modules/commons/conv.py","workers/stars/vendor_stars/modules/commons/layers.py","workers/stars/vendor_stars/modules/commons/transformer.py","workers/stars/vendor_stars/modules/pe/__init__.py","workers/stars/vendor_stars/modules/pe/rmvpe/__init__.py","workers/stars/vendor_stars/modules/pe/rmvpe/constants.py","workers/stars/vendor_stars/modules/pe/rmvpe/deepunet.py","workers/stars/vendor_stars/modules/pe/rmvpe/extractor.py","workers/stars/vendor_stars/modules/pe/rmvpe/inference.py","workers/stars/vendor_stars/modules/pe/rmvpe/model.py","workers/stars/vendor_stars/modules/pe/rmvpe/seq.py","workers/stars/vendor_stars/modules/pe/rmvpe/spec.py","workers/stars/vendor_stars/modules/pe/rmvpe/utils.py","workers/stars/vendor_stars/modules/stars/__init__.py","workers/stars/vendor_stars/modules/stars/stars.py","workers/stars/vendor_stars/modules/stars/unet.py","workers/stars/vendor_stars/modules/stars/utils.py","workers/stars/vendor_stars/tasks/__init__.py","workers/stars/vendor_stars/tasks/stars/__init__.py","workers/stars/vendor_stars/tasks/stars/dataset.py","workers/stars/vendor_stars/tasks/stars/utils.py","workers/stars/vendor_stars/utils/__init__.py","workers/stars/vendor_stars/utils/audio/__init__.py","workers/stars/vendor_stars/utils/audio/align.py","workers/stars/vendor_stars/utils/audio/mel.py","workers/stars/vendor_stars/utils/audio/pitch_utils.py","workers/stars/vendor_stars/utils/commons/__init__.py","workers/stars/vendor_stars/utils/commons/ckpt_utils.py","workers/stars/vendor_stars/utils/commons/dataset_utils.py","workers/stars/vendor_stars/utils/commons/gpu_mem_track.py","workers/stars/vendor_stars/utils/commons/hparams.py","workers/stars/vendor_stars/utils/commons/indexed_datasets.py","workers/stars/vendor_stars/utils/commons/signal.py","workers/stars/vendor_stars/utils/nn/__init__.py","workers/stars/vendor_stars/utils/nn/seq_utils.py","workers/stars/vendor_stars/utils/os_utils.py","workers/stars/vendor_stars/utils/text/__init__.py","workers/stars/vendor_stars/utils/text/text_encoder.py","workers/structure/README.md","workers/structure/requirements_structure.txt","workers/structure/run_structure.py","workers/structure/vendor/wav2vec2-conformer-rope-large-960h-ft.config.json","曲库/library.latest.json"],"removed":[],"modified":[]}],"total_commits":0,"head_commit":{"id":"f73daf0a17c4cd19344f03ba21afcc326a49a650","message":"初始提交:嗨赞AI制作平台(含 C1–C59 全部治理轮次)\n\n从 基础框架 派生的 AI 歌词对齐制作平台。契约单源 @repo/contracts + 双后端\n(NestJS/Fastify)对等 + Next.js studio 前端 + Python 模型 workers。\n\n治理基线(reports/baseline.json 棘轮):\n- 静态门禁 pnpm check 全绿(naming/schema/validation/contract-consumers/\n dual-backend/concurrency-guard/migrations/models/alignment-models/library/\n lyra-parity/governance-docs)\n- check:runtime 316/316、check:ui 32/32、own-tests 39 文件 348 用例\n\n体积纪律:模型权重(~13GB)与曲库音频(含受版权保护素材)不入库,\n仅保留 models/model-assets.v1.json 与 曲库/library.latest.json 两份登记真源\n(check:models / check:library 据此比对磁盘实况)。\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/haizan-ai-production-platform/commit/f73daf0a17c4cd19344f03ba21afcc326a49a650","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-07-13T20:23:16-07:00","added":[".claude/agents/acceptance-runner.md",".claude/agents/module-blueprint.md",".claude/launch.json",".claude/skills/business-module-intake/SKILL.md",".claude/skills/frontend-api-react/SKILL.md",".claude/skills/frontend-view-react/SKILL.md",".claude/skills/frontend-view-react/references/view-templates.md",".claude/skills/fullstack-7layer-react/SKILL.md",".claude/skills/fullstack-7layer-react/references/fullstack-react-templates.md",".claude/skills/zustand-store/SKILL.md",".github/pull_request_template.md",".github/workflows/governance.yml",".gitignore","AGENTS.md","CLAUDE.md","README.md","apps/api-fastify/.env.example","apps/api-fastify/.gitignore","apps/api-fastify/package.json","apps/api-fastify/pnpm-lock.yaml","apps/api-fastify/prisma/migrations/20260608150500_init/migration.sql","apps/api-fastify/prisma/migrations/20260705080000_outbox_dead_letter/migration.sql","apps/api-fastify/prisma/migrations/20260709151138_alignment_domain/migration.sql","apps/api-fastify/prisma/migrations/migration_lock.toml","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/app.ts","apps/api-fastify/src/lib/orderMachine.ts","apps/api-fastify/src/lib/statemachine.ts","apps/api-fastify/src/modules/alignment/alignment-coarse.ts","apps/api-fastify/src/modules/alignment/alignment-mms-fa.ts","apps/api-fastify/src/modules/alignment/alignment-pipeline.ts","apps/api-fastify/src/modules/alignment/alignment-scoring.ts","apps/api-fastify/src/modules/alignment/alignment-separation-htdemucs.ts","apps/api-fastify/src/modules/alignment/alignment-separation-larsnet.ts","apps/api-fastify/src/modules/alignment/alignment-separation.ts","apps/api-fastify/src/modules/alignment/alignment-structure.ts","apps/api-fastify/src/modules/alignment/alignment-verification.ts","apps/api-fastify/src/modules/alignment/alignment.service.ts","apps/api-fastify/src/modules/orders/orders.service.ts","apps/api-fastify/src/modules/song-assets/song-assets.service.ts","apps/api-fastify/src/modules/tenant.ts","apps/api-fastify/src/modules/users/users.service.ts","apps/api-fastify/src/plugins/events.ts","apps/api-fastify/src/plugins/outbox.ts","apps/api-fastify/src/plugins/prisma.ts","apps/api-fastify/src/plugins/queue.ts","apps/api-fastify/src/plugins/redis.ts","apps/api-fastify/src/plugins/storage.ts","apps/api-fastify/src/routes/alignment.ts","apps/api-fastify/src/routes/health.ts","apps/api-fastify/src/routes/jobs.ts","apps/api-fastify/src/routes/orders.ts","apps/api-fastify/src/routes/song-assets.ts","apps/api-fastify/src/routes/sse.ts","apps/api-fastify/src/routes/users.ts","apps/api-fastify/src/routes/ws.ts","apps/api-fastify/src/server.ts","apps/api-fastify/src/types.ts","apps/api-fastify/test/alignment.coarse.test.ts","apps/api-fastify/test/alignment.http.test.ts","apps/api-fastify/test/alignment.integration.test.ts","apps/api-fastify/test/alignment.mms-fa.test.ts","apps/api-fastify/test/alignment.pipeline.test.ts","apps/api-fastify/test/alignment.scoring.test.ts","apps/api-fastify/test/alignment.separation-htdemucs.test.ts","apps/api-fastify/test/alignment.separation-larsnet.test.ts","apps/api-fastify/test/alignment.separation.test.ts","apps/api-fastify/test/alignment.structure.test.ts","apps/api-fastify/test/alignment.verification.test.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-fastify/test/orders.integration.test.ts","apps/api-fastify/test/outbox.deadletter.test.ts","apps/api-fastify/test/realtime.tenant.test.ts","apps/api-fastify/tsconfig.json","apps/api-fastify/vitest.config.ts","apps/api-nestjs/.env.example","apps/api-nestjs/.gitignore","apps/api-nestjs/docker-compose.yml","apps/api-nestjs/nest-cli.json","apps/api-nestjs/package.json","apps/api-nestjs/pnpm-lock.yaml","apps/api-nestjs/prisma/migrations/20260608150500_init/migration.sql","apps/api-nestjs/prisma/migrations/20260705080000_outbox_dead_letter/migration.sql","apps/api-nestjs/prisma/migrations/20260709151138_alignment_domain/migration.sql","apps/api-nestjs/prisma/migrations/migration_lock.toml","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/prisma/seed.ts","apps/api-nestjs/src/alignment/alignment.controller.ts","apps/api-nestjs/src/alignment/alignment.module.ts","apps/api-nestjs/src/alignment/alignment.service.ts","apps/api-nestjs/src/alignment/song-assets.controller.ts","apps/api-nestjs/src/alignment/song-assets.service.ts","apps/api-nestjs/src/alignment/storage.provider.ts","apps/api-nestjs/src/app.module.ts","apps/api-nestjs/src/common/api-error-body.filter.ts","apps/api-nestjs/src/common/envelope.ts","apps/api-nestjs/src/common/tenant.decorator.ts","apps/api-nestjs/src/common/zod-validation.pipe.ts","apps/api-nestjs/src/create-app.ts","apps/api-nestjs/src/events/event-bus.service.ts","apps/api-nestjs/src/events/events.gateway.ts","apps/api-nestjs/src/events/events.module.ts","apps/api-nestjs/src/events/fanout.service.ts","apps/api-nestjs/src/events/outbox-dispatcher.service.ts","apps/api-nestjs/src/health/health.controller.ts","apps/api-nestjs/src/health/health.module.ts","apps/api-nestjs/src/main.ts","apps/api-nestjs/src/orders/orders.controller.ts","apps/api-nestjs/src/orders/orders.module.ts","apps/api-nestjs/src/orders/orders.service.ts","apps/api-nestjs/src/prisma/prisma.module.ts","apps/api-nestjs/src/prisma/prisma.service.ts","apps/api-nestjs/src/queue/jobs.controller.ts","apps/api-nestjs/src/queue/jobs.processor.ts","apps/api-nestjs/src/queue/queue.module.ts","apps/api-nestjs/src/queue/queue.types.ts","apps/api-nestjs/src/redis/redis.module.ts","apps/api-nestjs/src/sse/sse.controller.ts","apps/api-nestjs/src/sse/sse.module.ts","apps/api-nestjs/src/statemachine/index.ts","apps/api-nestjs/src/statemachine/order.machine.ts","apps/api-nestjs/src/statemachine/statemachine.engine.ts","apps/api-nestjs/src/statemachine/statemachine.types.ts","apps/api-nestjs/src/users/users.controller.ts","apps/api-nestjs/src/users/users.module.ts","apps/api-nestjs/src/users/users.service.ts","apps/api-nestjs/test/alignment.coarse.test.ts","apps/api-nestjs/test/alignment.http.test.ts","apps/api-nestjs/test/alignment.integration.test.ts","apps/api-nestjs/test/alignment.mms-fa.test.ts","apps/api-nestjs/test/alignment.pipeline.test.ts","apps/api-nestjs/test/alignment.scoring.test.ts","apps/api-nestjs/test/alignment.separation-htdemucs.test.ts","apps/api-nestjs/test/alignment.separation-larsnet.test.ts","apps/api-nestjs/test/alignment.separation.test.ts","apps/api-nestjs/test/alignment.structure.test.ts","apps/api-nestjs/test/alignment.verification.test.ts","apps/api-nestjs/test/http.acceptance.test.ts","apps/api-nestjs/test/orders.integration.test.ts","apps/api-nestjs/test/outbox.deadletter.test.ts","apps/api-nestjs/test/realtime.tenant.test.ts","apps/api-nestjs/tsconfig.build.json","apps/api-nestjs/tsconfig.json","apps/api-nestjs/vitest.config.ts","apps/web/.env.example","apps/web/.gitignore","apps/web/components.json","apps/web/e2e/acceptance.spec.ts","apps/web/e2e/baselines/lyra-prototype-v3-batch.png","apps/web/e2e/baselines/lyra-prototype-v3-delivery.png","apps/web/e2e/baselines/lyra-prototype-v3-info.png","apps/web/e2e/baselines/lyra-prototype-v3-workbench.png","apps/web/e2e/lyra-studio.spec.ts","apps/web/eslint.config.mjs","apps/web/next.config.ts","apps/web/package.json","apps/web/playwright.config.ts","apps/web/pnpm-lock.yaml","apps/web/postcss.config.js","apps/web/src/app/globals.css","apps/web/src/app/layout.tsx","apps/web/src/app/page.tsx","apps/web/src/app/studio/page.tsx","apps/web/src/components/EventFeed.tsx","apps/web/src/components/OrdersPanel.tsx","apps/web/src/components/RealtimeBar.tsx","apps/web/src/components/UsersPanel.tsx","apps/web/src/components/ui/badge.tsx","apps/web/src/components/ui/button.tsx","apps/web/src/components/ui/card.tsx","apps/web/src/components/ui/input.tsx","apps/web/src/components/ui/label.tsx","apps/web/src/components/ui/separator.tsx","apps/web/src/features/alignment/api.ts","apps/web/src/features/alignment/queries.ts","apps/web/src/features/lyra-studio/components/LyraStudio.tsx","apps/web/src/features/lyra-studio/components/PipelineBar.tsx","apps/web/src/features/lyra-studio/components/RunLoadErrorBanner.tsx","apps/web/src/features/lyra-studio/components/TopBar.tsx","apps/web/src/features/lyra-studio/components/canvas/PitchGridCanvas.tsx","apps/web/src/features/lyra-studio/components/canvas/VocalSpectrumCanvas.tsx","apps/web/src/features/lyra-studio/components/center/MvViewport.tsx","apps/web/src/features/lyra-studio/components/center/Transport.tsx","apps/web/src/features/lyra-studio/components/detail/RegionControlBar.tsx","apps/web/src/features/lyra-studio/components/lanes/LyricWorkspace.tsx","apps/web/src/features/lyra-studio/components/lanes/MainPlayhead.tsx","apps/web/src/features/lyra-studio/components/lanes/PhonemeLane.tsx","apps/web/src/features/lyra-studio/components/lanes/PitchLane.tsx","apps/web/src/features/lyra-studio/components/lanes/RefineLane.tsx","apps/web/src/features/lyra-studio/components/lanes/RegionLane.tsx","apps/web/src/features/lyra-studio/components/lanes/SentenceLane.tsx","apps/web/src/features/lyra-studio/components/lanes/VocalLane.tsx","apps/web/src/features/lyra-studio/components/left/AnalysisStub.tsx","apps/web/src/features/lyra-studio/components/left/LeftPanel.tsx","apps/web/src/features/lyra-studio/components/left/TrackCard.tsx","apps/web/src/features/lyra-studio/components/left/TrackMixer.tsx","apps/web/src/features/lyra-studio/components/modals/BatchModal.tsx","apps/web/src/features/lyra-studio/components/modals/CommitModal.tsx","apps/web/src/features/lyra-studio/components/modals/LoadModal.tsx","apps/web/src/features/lyra-studio/components/modals/ModalShell.tsx","apps/web/src/features/lyra-studio/components/modals/ResetModal.tsx","apps/web/src/features/lyra-studio/components/modals/StepModal.tsx","apps/web/src/features/lyra-studio/components/right/InfoTab.tsx","apps/web/src/features/lyra-studio/components/right/LyricsTab.tsx","apps/web/src/features/lyra-studio/components/right/PendingTab.tsx","apps/web/src/features/lyra-studio/components/right/RightPanel.tsx","apps/web/src/features/lyra-studio/components/right/RunEvidenceCard.tsx","apps/web/src/features/lyra-studio/components/timeline/GlobalTimeline.tsx","apps/web/src/features/lyra-studio/components/timeline/SeekWaveformCanvas.tsx","apps/web/src/features/lyra-studio/constants.ts","apps/web/src/features/lyra-studio/demoArtifacts.ts","apps/web/src/features/lyra-studio/fixtures/panels.ts","apps/web/src/features/lyra-studio/fixtures/segments.ts","apps/web/src/features/lyra-studio/fixtures/tracks.ts","apps/web/src/features/lyra-studio/hooks/useAudioPlayback.ts","apps/web/src/features/lyra-studio/hooks/useGlobalHotkeys.ts","apps/web/src/features/lyra-studio/hooks/useLaneDrags.ts","apps/web/src/features/lyra-studio/hooks/usePointerDrag.ts","apps/web/src/features/lyra-studio/hooks/useRafClock.ts","apps/web/src/features/lyra-studio/hooks/useScaleToFit.ts","apps/web/src/features/lyra-studio/hooks/useStudioBridge.ts","apps/web/src/features/lyra-studio/hooks/useWin.ts","apps/web/src/features/lyra-studio/prototypeV3.ts","apps/web/src/features/lyra-studio/runMapping.ts","apps/web/src/features/lyra-studio/store/selectors.ts","apps/web/src/features/lyra-studio/store/useStudioStore.ts","apps/web/src/features/lyra-studio/trackAudio.ts","apps/web/src/features/lyra-studio/types.ts","apps/web/src/features/lyra-studio/utils/realSpectrum.ts","apps/web/src/features/lyra-studio/utils/realWaveform.ts","apps/web/src/features/lyra-studio/utils/seededRandom.ts","apps/web/src/features/lyra-studio/utils/spectro.ts","apps/web/src/features/lyra-studio/utils/styles.ts","apps/web/src/features/lyra-studio/utils/time.ts","apps/web/src/hooks/useRealtime.ts","apps/web/src/lib/api.ts","apps/web/src/lib/providers.tsx","apps/web/src/lib/types.ts","apps/web/src/lib/utils.ts","apps/web/src/store/realtime.ts","apps/web/src/store/useAppStore.ts","apps/web/tailwind.config.ts","apps/web/tsconfig.json","design-qa.md","docker-compose.yml","docs/README.md","docs/adr/0001-use-typescript-fullstack.md","docs/adr/0002-use-nextjs-app-router.md","docs/adr/0003-use-nestjs-with-fastify-adapter.md","docs/adr/0004-use-postgresql.md","docs/adr/0005-use-prisma.md","docs/adr/0006-realtime-sse-and-websocket.md","docs/adr/0007-use-bullmq-queue.md","docs/adr/0008-monorepo-pnpm-turborepo.md","docs/adr/0009-dual-backend-governance-parity.md","docs/adr/README.md","docs/domain-glossary.md","docs/domain/lyric-alignment-production-blueprint.md","docs/domain/owner-matrix.md","docs/domain/stars-full-alignment-integration-assessment.md","docs/migration-notes.md","docs/prd/lyra-alignment-studio-prd.md","docs/prototypes/Lyra Alignment Studio (3)_副本.html","docs/prototypes/_lyra_extracted/0f3afcd6-3e42-43c6-bc2c-f7a7241d8cfc.js","docs/prototypes/_lyra_extracted/5e249108-9e25-49d4-aead-4a42da391445.txt","docs/prototypes/_lyra_extracted/6b20a626-d5f0-4ece-a2d4-3f3f7a96342e.txt","docs/prototypes/_lyra_extracted/78e3f258-31fe-4530-a312-1113810fd6c7.txt","docs/prototypes/_lyra_extracted/85a75d15-031b-454b-b8a4-728a88f2c03e.js","docs/prototypes/_lyra_extracted/8905ed0e-91a0-4b9e-8d49-fa1867515d0f.js","docs/prototypes/_lyra_extracted/app-dc-script.js","docs/prototypes/_lyra_extracted/e3ceeb25-f278-400d-8f89-200ca38d9d34.txt","docs/prototypes/_lyra_extracted/e456d310-3c72-4ccc-91a6-f34216a66722.txt","docs/prototypes/_lyra_extracted/e9425a8b-83ce-48d4-94d4-eb98f6c69c2b.txt","docs/prototypes/_lyra_extracted/template-body.html","docs/prototypes/_lyra_extracted/template-styles.css","docs/prototypes/_lyra_extracted/template.html","docs/prototypes/lyra-alignment-studio-elevation.md","docs/prototypes/lyra-alignment-studio-v2.html","docs/standards/api-standard.md","docs/standards/backend-standard.md","docs/standards/database-standard.md","docs/standards/frontend-standard.md","docs/standards/git-standard.md","docs/standards/naming-standard.md","docs/standards/review-standard.md","models/model-assets.v1.json","package.json","packages/config/eslint/base.mjs","packages/config/package.json","packages/config/prettier/index.json","packages/config/tsconfig/base.json","packages/config/tsconfig/nextjs.json","packages/config/tsconfig/node.json","packages/contracts/package.json","packages/contracts/src/alignment-export.ts","packages/contracts/src/alignment-models.test.ts","packages/contracts/src/alignment-models.ts","packages/contracts/src/alignment.test.ts","packages/contracts/src/alignment.ts","packages/contracts/src/contracts.test.ts","packages/contracts/src/index.ts","packages/contracts/src/order.ts","packages/contracts/src/realtime.ts","packages/contracts/src/statemachine.test.ts","packages/contracts/src/statemachine.ts","packages/contracts/src/tenant.ts","packages/contracts/src/user.ts","packages/contracts/src/vtc.ts","packages/contracts/tsconfig.json","packages/model-readiness/package.json","packages/model-readiness/src/index.ts","packages/model-readiness/src/readiness.test.ts","packages/model-readiness/tsconfig.json","packages/pipeline-runner/package.json","packages/pipeline-runner/src/index.ts","packages/pipeline-runner/src/runner.test.ts","packages/pipeline-runner/tsconfig.json","packages/storage/package.json","packages/storage/src/index.ts","packages/storage/src/storage.test.ts","packages/storage/tsconfig.json","pnpm-lock.yaml","pnpm-workspace.yaml","reports/alignment-integrity-qingtian.latest.json","reports/alignment-models.latest.json","reports/alignment-text-crosscheck-qingtian.latest.json","reports/baseline.json","reports/contract-consumers.latest.json","reports/design-audit/material-loading-2026-07-11/01-material-loading-current.png","reports/design-audit/material-loading-2026-07-11/02-material-loading-improved.png","reports/design-audit/material-loading-2026-07-11/03-material-loading-create.png","reports/design-audit/material-loading-2026-07-11/audit.md","reports/dual-backend-parity.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/lyra-prototype-parity.latest.json","reports/migrations.latest.json","reports/model-acquisition.latest.json","reports/model-assets.latest.json","reports/model-evidence/audio-separator-smoke.latest.json","reports/model-evidence/cantonese-coarse.latest.json","reports/model-evidence/energy-dynamics.latest.json","reports/model-evidence/harmonic-functional.latest.json","reports/model-evidence/hubertfa-smoke.latest.json","reports/model-evidence/hubertfa-sofa-fusion-smoke.latest.json","reports/model-evidence/key-v2.latest.json","reports/model-evidence/larsnet-smoke.latest.json","reports/model-evidence/mms-fa-smoke.latest.json","reports/model-evidence/pipeline-smoke.latest.json","reports/model-evidence/qingtian-pipeline-proposal.latest.json","reports/model-evidence/qingtian-precision.latest.json","reports/model-evidence/separation-smoke.latest.json","reports/model-evidence/sofa-acoustic-smoke.latest.json","reports/model-evidence/stars-align-smoke.latest.json","reports/model-evidence/stars-qingtian-precision.latest.json","reports/model-evidence/stars-smoke.latest.json","reports/model-evidence/structure-repetition.latest.json","reports/model-evidence/structure-smoke.latest.json","reports/model-evidence/vocal-classification-models.latest.json","reports/model-evidence/vocal-melody.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/song-library.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","scripts/acquire-models.mjs","scripts/check-alignment-models.mjs","scripts/check-contract-consumers.mjs","scripts/check-dual-backend-parity.mjs","scripts/check-governance-docs.mjs","scripts/check-lyra-prototype-parity.mjs","scripts/check-migrations.mjs","scripts/check-model-assets.mjs","scripts/check-naming.mjs","scripts/check-order-concurrency-guard.mjs","scripts/check-runtime-acceptance.mjs","scripts/check-schema-sync.mjs","scripts/check-song-library.mjs","scripts/check-ui-acceptance.mjs","scripts/check-validation-source.mjs","scripts/governance-report.mjs","tsconfig.base.json","turbo.json","workers/audio-separator/README.md","workers/audio-separator/requirements_audio_separator.txt","workers/audio-separator/run_separation.py","workers/coarse/README.md","workers/coarse/eval_language_routing.py","workers/coarse/requirements_coarse.txt","workers/coarse/run_coarse.py","workers/fusion/README.md","workers/fusion/run_fusion.py","workers/hubertfa/README.md","workers/hubertfa/requirements_onnx_cpu.txt","workers/hubertfa/scripts/run_hubertfa_align.py","workers/larsnet/README.md","workers/larsnet/run_larsnet.py","workers/lyrics-cleaner/run_clean_lyrics.py","workers/mms-fa/README.md","workers/mms-fa/requirements_mms_fa.txt","workers/mms-fa/run_mms_fa.py","workers/pipeline/README.md","workers/pipeline/compare_with_kas.py","workers/pipeline/g2p.py","workers/pipeline/requirements.txt","workers/pipeline/run_pipeline.py","workers/separation/README.md","workers/separation/run_separation.py","workers/sofa-acoustic/README.md","workers/sofa-acoustic/requirements.txt","workers/sofa-acoustic/run_sofa_acoustic.py","workers/sofa-acoustic/vendor/sofa/.gitignore","workers/sofa-acoustic/vendor/sofa/LICENSE","workers/sofa-acoustic/vendor/sofa/README.MD","workers/sofa-acoustic/vendor/sofa/README_zh.MD","workers/sofa-acoustic/vendor/sofa/binarize.py","workers/sofa-acoustic/vendor/sofa/ckpt/.gitkeep","workers/sofa-acoustic/vendor/sofa/configs/binarize_config.yaml","workers/sofa-acoustic/vendor/sofa/configs/train_config.yaml","workers/sofa-acoustic/vendor/sofa/data/.gitkeep","workers/sofa-acoustic/vendor/sofa/data/binary/.gitkeep","workers/sofa-acoustic/vendor/sofa/dataset.py","workers/sofa-acoustic/vendor/sofa/dictionary/.gitkeep","workers/sofa-acoustic/vendor/sofa/dictionary/opencpop-extension.txt","workers/sofa-acoustic/vendor/sofa/evaluate.py","workers/sofa-acoustic/vendor/sofa/example.png","workers/sofa-acoustic/vendor/sofa/infer.py","workers/sofa-acoustic/vendor/sofa/modules/AP_detector/__init__.py","workers/sofa-acoustic/vendor/sofa/modules/AP_detector/base_detector.py","workers/sofa-acoustic/vendor/sofa/modules/AP_detector/loudnesss_pectralcentroid_detector.py","workers/sofa-acoustic/vendor/sofa/modules/AP_detector/none_detector.py","workers/sofa-acoustic/vendor/sofa/modules/__init__.py","workers/sofa-acoustic/vendor/sofa/modules/g2p/__init__.py","workers/sofa-acoustic/vendor/sofa/modules/g2p/base_g2p.py","workers/sofa-acoustic/vendor/sofa/modules/g2p/dictionary_g2p.py","workers/sofa-acoustic/vendor/sofa/modules/g2p/none_g2p.py","workers/sofa-acoustic/vendor/sofa/modules/g2p/phoneme_g2p.py","workers/sofa-acoustic/vendor/sofa/modules/g2p/readme_g2p.md","workers/sofa-acoustic/vendor/sofa/modules/g2p/readme_g2p_zh.md","workers/sofa-acoustic/vendor/sofa/modules/layer/__init__.py","workers/sofa-acoustic/vendor/sofa/modules/layer/activation/GLU.py","workers/sofa-acoustic/vendor/sofa/modules/layer/activation/__init__.py","workers/sofa-acoustic/vendor/sofa/modules/layer/backbone/__init__.py","workers/sofa-acoustic/vendor/sofa/modules/layer/backbone/unet.py","workers/sofa-acoustic/vendor/sofa/modules/layer/block/__init__.py","workers/sofa-acoustic/vendor/sofa/modules/layer/block/attention.py","workers/sofa-acoustic/vendor/sofa/modules/layer/block/conformer.py","workers/sofa-acoustic/vendor/sofa/modules/layer/block/convolution.py","workers/sofa-acoustic/vendor/sofa/modules/layer/block/func_module.py","workers/sofa-acoustic/vendor/sofa/modules/layer/block/residual.py","workers/sofa-acoustic/vendor/sofa/modules/layer/block/resnet_block.py","workers/sofa-acoustic/vendor/sofa/modules/layer/scaling/__init__.py","workers/sofa-acoustic/vendor/sofa/modules/layer/scaling/base.py","workers/sofa-acoustic/vendor/sofa/modules/layer/scaling/stride_conv.py","workers/sofa-acoustic/vendor/sofa/modules/loss/BinaryEMDLoss.py","workers/sofa-acoustic/vendor/sofa/modules/loss/GHMLoss.py","workers/sofa-acoustic/vendor/sofa/modules/loss/__init__.py","workers/sofa-acoustic/vendor/sofa/modules/rmvpe/__init__.py","workers/sofa-acoustic/vendor/sofa/modules/rmvpe/constants.py","workers/sofa-acoustic/vendor/sofa/modules/rmvpe/deepunet.py","workers/sofa-acoustic/vendor/sofa/modules/rmvpe/inference.py","workers/sofa-acoustic/vendor/sofa/modules/rmvpe/model.py","workers/sofa-acoustic/vendor/sofa/modules/rmvpe/seq.py","workers/sofa-acoustic/vendor/sofa/modules/rmvpe/spec.py","workers/sofa-acoustic/vendor/sofa/modules/rmvpe/utils.py","workers/sofa-acoustic/vendor/sofa/modules/scheduler/__init__.py","workers/sofa-acoustic/vendor/sofa/modules/scheduler/gaussian_ramp_up_scheduler.py","workers/sofa-acoustic/vendor/sofa/modules/scheduler/none_scheduler.py","workers/sofa-acoustic/vendor/sofa/modules/task/forced_alignment.py","workers/sofa-acoustic/vendor/sofa/modules/utils/__init__.py","workers/sofa-acoustic/vendor/sofa/modules/utils/export_tool.py","workers/sofa-acoustic/vendor/sofa/modules/utils/get_melspec.py","workers/sofa-acoustic/vendor/sofa/modules/utils/label.py","workers/sofa-acoustic/vendor/sofa/modules/utils/load_wav.py","workers/sofa-acoustic/vendor/sofa/modules/utils/metrics.py","workers/sofa-acoustic/vendor/sofa/modules/utils/metrics_test.py","workers/sofa-acoustic/vendor/sofa/modules/utils/plot.py","workers/sofa-acoustic/vendor/sofa/modules/utils/post_processing.py","workers/sofa-acoustic/vendor/sofa/requirements.txt","workers/sofa-acoustic/vendor/sofa/segments/.gitkeep","workers/sofa-acoustic/vendor/sofa/train.py","workers/sofa-verifier/README.md","workers/sofa-verifier/scripts/run_sofa_align.py","workers/stars/README.md","workers/stars/g2p_stars.py","workers/stars/requirements_stars.txt","workers/stars/rmvpe/LICENSE-upstream-STARS.txt","workers/stars/rmvpe/__init__.py","workers/stars/rmvpe/constants.py","workers/stars/rmvpe/deepunet.py","workers/stars/rmvpe/mel.py","workers/stars/rmvpe/model.py","workers/stars/rmvpe/seq.py","workers/stars/rmvpe/spec.py","workers/stars/rmvpe/utils.py","workers/stars/run_stars.py","workers/stars/stars_align.py","workers/stars/vendor_stars/LICENSE-upstream-STARS.txt","workers/stars/vendor_stars/_VENDOR_NOTE.md","workers/stars/vendor_stars/_reference/inference_stars.py","workers/stars/vendor_stars/_reference/mixedtext2phoneme.py","workers/stars/vendor_stars/_reference/process_ph.py","workers/stars/vendor_stars/chinese_and_english_phone_set.json","workers/stars/vendor_stars/chinese_phone_set.json","workers/stars/vendor_stars/configs/base.yaml","workers/stars/vendor_stars/configs/stars_bilingual.yaml","workers/stars/vendor_stars/configs/stars_chinese.yaml","workers/stars/vendor_stars/modules/__init__.py","workers/stars/vendor_stars/modules/commons/__init__.py","workers/stars/vendor_stars/modules/commons/conformer/__init__.py","workers/stars/vendor_stars/modules/commons/conformer/conformer.py","workers/stars/vendor_stars/modules/commons/conformer/espnet_positional_embedding.py","workers/stars/vendor_stars/modules/commons/conformer/espnet_transformer_attn.py","workers/stars/vendor_stars/modules/commons/conformer/layers.py","workers/stars/vendor_stars/modules/commons/conv.py","workers/stars/vendor_stars/modules/commons/layers.py","workers/stars/vendor_stars/modules/commons/transformer.py","workers/stars/vendor_stars/modules/pe/__init__.py","workers/stars/vendor_stars/modules/pe/rmvpe/__init__.py","workers/stars/vendor_stars/modules/pe/rmvpe/constants.py","workers/stars/vendor_stars/modules/pe/rmvpe/deepunet.py","workers/stars/vendor_stars/modules/pe/rmvpe/extractor.py","workers/stars/vendor_stars/modules/pe/rmvpe/inference.py","workers/stars/vendor_stars/modules/pe/rmvpe/model.py","workers/stars/vendor_stars/modules/pe/rmvpe/seq.py","workers/stars/vendor_stars/modules/pe/rmvpe/spec.py","workers/stars/vendor_stars/modules/pe/rmvpe/utils.py","workers/stars/vendor_stars/modules/stars/__init__.py","workers/stars/vendor_stars/modules/stars/stars.py","workers/stars/vendor_stars/modules/stars/unet.py","workers/stars/vendor_stars/modules/stars/utils.py","workers/stars/vendor_stars/tasks/__init__.py","workers/stars/vendor_stars/tasks/stars/__init__.py","workers/stars/vendor_stars/tasks/stars/dataset.py","workers/stars/vendor_stars/tasks/stars/utils.py","workers/stars/vendor_stars/utils/__init__.py","workers/stars/vendor_stars/utils/audio/__init__.py","workers/stars/vendor_stars/utils/audio/align.py","workers/stars/vendor_stars/utils/audio/mel.py","workers/stars/vendor_stars/utils/audio/pitch_utils.py","workers/stars/vendor_stars/utils/commons/__init__.py","workers/stars/vendor_stars/utils/commons/ckpt_utils.py","workers/stars/vendor_stars/utils/commons/dataset_utils.py","workers/stars/vendor_stars/utils/commons/gpu_mem_track.py","workers/stars/vendor_stars/utils/commons/hparams.py","workers/stars/vendor_stars/utils/commons/indexed_datasets.py","workers/stars/vendor_stars/utils/commons/signal.py","workers/stars/vendor_stars/utils/nn/__init__.py","workers/stars/vendor_stars/utils/nn/seq_utils.py","workers/stars/vendor_stars/utils/os_utils.py","workers/stars/vendor_stars/utils/text/__init__.py","workers/stars/vendor_stars/utils/text/text_encoder.py","workers/structure/README.md","workers/structure/requirements_structure.txt","workers/structure/run_structure.py","workers/structure/vendor/wav2vec2-conformer-rope-large-960h-ft.config.json","曲库/library.latest.json"],"removed":[],"modified":[]},"repository":{"id":60,"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":"haizan-ai-production-platform","full_name":"luoanwu/haizan-ai-production-platform","description":"嗨赞AI制作平台:音频分离、歌曲结构分析与歌词精对齐生产工作台","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":27,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/haizan-ai-production-platform/languages","html_url":"https://gitea.g-hi.com/luoanwu/haizan-ai-production-platform","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/haizan-ai-production-platform","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/haizan-ai-production-platform.git","clone_url":"https://gitea.g-hi.com/luoanwu/haizan-ai-production-platform.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-14T12:25:49+08:00","updated_at":"2026-07-14T12:26:15+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":true,"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
|
6
|
1784003176
|
1784003267
|
0
|
1784003175
|
1784003269
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23594
|
feat(metrics): 新增指标契约复核
|
105
|
5
|
governance.yml
|
1
|
5
|
0
|
refs/heads/main
|
f76fa1f553ada89174b9b59a934711373396a1f5
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"0000000000000000000000000000000000000000","after":"f76fa1f553ada89174b9b59a934711373396a1f5","compare_url":"https://gitea.g-hi.com/","commits":[{"id":"f76fa1f553ada89174b9b59a934711373396a1f5","message":"feat(metrics): 新增指标契约复核\n","url":"https://gitea.g-hi.com/luoanwu/data-analytics/commit/f76fa1f553ada89174b9b59a934711373396a1f5","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-09-01T06:45:34-07:00","added":["docs/domain/metric-contract-blueprint.md","packages/contracts/src/metric-contract.test.ts","packages/contracts/src/metric-contract.ts","reports/runtime-acceptance.latest.json"],"removed":[],"modified":[".github/workflows/governance.yml","CLAUDE.md","README.md","docs/domain/owner-matrix.md","packages/contracts/src/index.ts","reports/baseline.json","reports/conformance-differential.latest.json","reports/conformance-matrix.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-rules.latest.json","reports/governance-status.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-compat.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},{"id":"399e265e2c0054d3c9ebc58b2551268b1b6d68ce","message":"chore: 迁移执行凭证 + 全量静态门禁(pnpm check)首跑证据\n","url":"https://gitea.g-hi.com/luoanwu/data-analytics/commit/399e265e2c0054d3c9ebc58b2551268b1b6d68ce","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-30T21:01:30-07:00","added":["reports/baseline.json","reports/framework-migration.latest.json","reports/os-product-compat.latest.json"],"removed":[],"modified":["reports/conformance-matrix.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-rules.latest.json","reports/governance-status.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},{"id":"544a89bfd291ba3ecfc3d7b7008fa1d6952c0850","message":"feat: 平台身份重绑定 data-analytics(package name / productId / 表前缀 / 命名空间;F3/F8 前置)\n","url":"https://gitea.g-hi.com/luoanwu/data-analytics/commit/544a89bfd291ba3ecfc3d7b7008fa1d6952c0850","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-30T21:01:23-07:00","added":["docs/framework-migration.md","products/juhai.analytics/README.md","products/juhai.analytics/acceptance/juhai.analytics.order.acceptance.mjs","products/juhai.analytics/migrations/juhai.analytics.order/20260826090000_create_orders.sql","products/juhai.analytics/migrations/juhai.analytics.order/20260826091000_create_order_events.sql","products/juhai.analytics/package.json","products/juhai.analytics/product.manifest.json","products/juhai.analytics/src/contracts.ts","products/juhai.analytics/src/fastify.ts","products/juhai.analytics/src/host.ts","products/juhai.analytics/src/index.ts","products/juhai.analytics/src/manifest.ts","products/juhai.analytics/src/nestjs.ts","products/juhai.analytics/src/order-repository.ts","products/juhai.analytics/src/tools.ts","products/juhai.analytics/src/web.tsx","products/juhai.analytics/test/os-host.runtime.test.ts","products/juhai.analytics/tsconfig.os-host.json","products/juhai.analytics/vitest.os-host.config.ts"],"removed":["products/juhai.baseframework/README.md","products/juhai.baseframework/acceptance/juhai.baseframework.order.acceptance.mjs","products/juhai.baseframework/migrations/juhai.baseframework.order/20260826090000_create_orders.sql","products/juhai.baseframework/migrations/juhai.baseframework.order/20260826091000_create_order_events.sql","products/juhai.baseframework/package.json","products/juhai.baseframework/product.manifest.json","products/juhai.baseframework/src/contracts.ts","products/juhai.baseframework/src/fastify.ts","products/juhai.baseframework/src/host.ts","products/juhai.baseframework/src/index.ts","products/juhai.baseframework/src/manifest.ts","products/juhai.baseframework/src/nestjs.ts","products/juhai.baseframework/src/order-repository.ts","products/juhai.baseframework/src/tools.ts","products/juhai.baseframework/src/web.tsx","products/juhai.baseframework/test/os-host.runtime.test.ts","products/juhai.baseframework/tsconfig.os-host.json","products/juhai.baseframework/vitest.os-host.config.ts","reports/baseline.json","reports/os-product-compat.latest.json","reports/os-product-runtime.latest.json"],"modified":["CLAUDE.md","docs/README.md","docs/domain/owner-matrix.md","docs/os-product-extension.md","kernel.products.json","package.json"]},{"id":"1f25e1e1ae1cc7be1f0964f70aea4215a023d717","message":"chore: 本仓 check:kernel 首跑证据(kernel profile 12 步绿)\n","url":"https://gitea.g-hi.com/luoanwu/data-analytics/commit/1f25e1e1ae1cc7be1f0964f70aea4215a023d717","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-30T20:49:19-07:00","added":[],"removed":[],"modified":["reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-profile-kernel.latest.json","reports/governance-rules.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},{"id":"418f29cd598d8d101563ed02bfe7e96503cb6ee4","message":"chore: 移除跨仓验收证据(fork-readiness F5,须本仓真实重跑 check:runtime/check:ui)\n","url":"https://gitea.g-hi.com/luoanwu/data-analytics/commit/418f29cd598d8d101563ed02bfe7e96503cb6ee4","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-30T20:47:39-07:00","added":[],"removed":["reports/runtime-acceptance.latest.json","reports/ui-acceptance.latest.json"],"modified":["reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-profile-kernel.latest.json","reports/governance-rules.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]}],"total_commits":0,"head_commit":{"id":"f76fa1f553ada89174b9b59a934711373396a1f5","message":"feat(metrics): 新增指标契约复核\n","url":"https://gitea.g-hi.com/luoanwu/data-analytics/commit/f76fa1f553ada89174b9b59a934711373396a1f5","author":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"hillao","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-09-01T06:45:34-07:00","added":["docs/domain/metric-contract-blueprint.md","packages/contracts/src/metric-contract.test.ts","packages/contracts/src/metric-contract.ts","reports/runtime-acceptance.latest.json"],"removed":[],"modified":[".github/workflows/governance.yml","CLAUDE.md","README.md","docs/domain/owner-matrix.md","packages/contracts/src/index.ts","reports/baseline.json","reports/conformance-differential.latest.json","reports/conformance-matrix.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-rules.latest.json","reports/governance-status.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/os-product-compat.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/validation-source.latest.json"]},"repository":{"id":105,"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":"data-analytics","full_name":"luoanwu/data-analytics","description":"","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":27,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/data-analytics/languages","html_url":"https://gitea.g-hi.com/luoanwu/data-analytics","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/data-analytics","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/data-analytics.git","clone_url":"https://gitea.g-hi.com/luoanwu/data-analytics.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-01T21:58:11+08:00","updated_at":"2026-09-01T21:59:45+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":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
3
|
6
|
1788278840
|
1788279540
|
0
|
1788271185
|
1788373230
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
...
|
governance-governance.yml-refs/heads/main
|
0
|
Edit
Delete
|
|
23443
|
fix(governance): preserve porcelain status columns
|
64
|
5
|
governance.yml
|
8
|
5
|
0
|
refs/heads/main
|
f78049d487372e5538b1d202b65aa252031c8887
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"b0381bdeb68a35d172581d6736b9059720e3ad1b","after":"f78049d487372e5538b1d202b65aa252031c8887","compare_url":"https://gitea.g-hi.com/luoanwu/voice-conversion/compare/b0381bdeb68a35d172581d6736b9059720e3ad1b...f78049d487372e5538b1d202b65aa252031c8887","commits":[{"id":"f78049d487372e5538b1d202b65aa252031c8887","message":"fix(governance): preserve porcelain status columns\n","url":"https://gitea.g-hi.com/luoanwu/voice-conversion/commit/f78049d487372e5538b1d202b65aa252031c8887","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-07-22T00:39:59-07:00","added":[],"removed":[],"modified":["CLAUDE.md","docs/governance-experience.md","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/report-provenance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/validation-source.latest.json","scripts/lib/report-provenance.mjs"]}],"total_commits":0,"head_commit":{"id":"f78049d487372e5538b1d202b65aa252031c8887","message":"fix(governance): preserve porcelain status columns\n","url":"https://gitea.g-hi.com/luoanwu/voice-conversion/commit/f78049d487372e5538b1d202b65aa252031c8887","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-07-22T00:39:59-07:00","added":[],"removed":[],"modified":["CLAUDE.md","docs/governance-experience.md","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/report-provenance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/validation-source.latest.json","scripts/lib/report-provenance.mjs"]},"repository":{"id":64,"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":"voice-conversion","full_name":"luoanwu/voice-conversion","description":"SoulX-Singer personal singing voice conversion platform","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":962,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/voice-conversion/languages","html_url":"https://gitea.g-hi.com/luoanwu/voice-conversion","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/voice-conversion","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/voice-conversion.git","clone_url":"https://gitea.g-hi.com/luoanwu/voice-conversion.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-22T14:37:12+08:00","updated_at":"2026-07-22T15:34:17+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":true,"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
|
8
|
1784706014
|
1784706107
|
0
|
1784706012
|
1784706107
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23539
|
feat: unify projects and tickets under execution c feat: unify projects and tickets under execution control...
|
82
|
5
|
governance.yml
|
2
|
5
|
0
|
refs/heads/main
|
f78be17ac5fecb9cfa36e167b1e85ea26a48fa45
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"343e79d764ae566372808d0d922fcef7ca12a30e","after":"f78be17ac5fecb9cfa36e167b1e85ea26a48fa45","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/compare/343e79d764ae566372808d0d922fcef7ca12a30e...f78be17ac5fecb9cfa36e167b1e85ea26a48fa45","commits":[{"id":"f78be17ac5fecb9cfa36e167b1e85ea26a48fa45","message":"feat: unify projects and tickets under execution control\n\nEstablish Projects and Tickets as separate owned fact domains coordinated by Execution Control across NestJS, Fastify, and the Next.js BFF.\n\nAdd governed identity, SLA, automation, AI, attachment, operations, deployment, and provenance-bound static/runtime/browser acceptance.\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/f78be17ac5fecb9cfa36e167b1e85ea26a48fa45","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-28T03:46:07-07:00","added":[".agents/skills",".dockerignore",".github/workflows/release-images.yml","Dockerfile","apps/api-fastify/prisma/migrations/20260826165000_tenant_rls/migration.sql","apps/api-fastify/prisma/migrations/20260826171000_audit_idempotency/migration.sql","apps/api-fastify/prisma/migrations/20260826172500_sla_versions/migration.sql","apps/api-fastify/prisma/migrations/20260826174500_inbound_records/migration.sql","apps/api-fastify/prisma/migrations/20260826182000_sla_runtime_facts/migration.sql","apps/api-fastify/prisma/migrations/20260826190000_attachment_quarantine/migration.sql","apps/api-fastify/prisma/migrations/20260826193000_automation_rules/migration.sql","apps/api-fastify/prisma/migrations/20260826201500_automation_retries/migration.sql","apps/api-fastify/prisma/migrations/20260826204000_attachment_retention/migration.sql","apps/api-fastify/prisma/migrations/20260826213000_native_projects/migration.sql","apps/api-fastify/prisma/migrations/20260827015000_ticket_ai_pgvector/migration.sql","apps/api-fastify/prisma/migrations/20260827033000_complete_ticket_project_domains/migration.sql","apps/api-fastify/prisma/migrations/20260827041000_inbound_dead_letters/migration.sql","apps/api-fastify/prisma/migrations/20260827043000_inbound_status_lifecycle/migration.sql","apps/api-fastify/prisma/migrations/20260827050000_service_catalog/migration.sql","apps/api-fastify/prisma/migrations/20260827053000_projection_checkpoint/migration.sql","apps/api-fastify/prisma/migrations/20260827060000_force_rls_all_tenant_tables/migration.sql","apps/api-fastify/prisma/migrations/20260827150000_execution_control/migration.sql","apps/api-fastify/src/modules/ai/ai.service.ts","apps/api-fastify/src/modules/attachments/attachments.service.ts","apps/api-fastify/src/modules/automation/automation.service.ts","apps/api-fastify/src/modules/execution-control/execution-control.service.ts","apps/api-fastify/src/modules/permission.ts","apps/api-fastify/src/modules/projects/projects.service.ts","apps/api-fastify/src/modules/tenant-prisma.ts","apps/api-fastify/src/modules/ticket-operations/ticket-operations.service.ts","apps/api-fastify/src/modules/write-request-context.ts","apps/api-fastify/src/plugins/attachments.ts","apps/api-fastify/src/plugins/automation-worker.ts","apps/api-fastify/src/plugins/identity.ts","apps/api-fastify/src/plugins/ticket-maintenance-worker.ts","apps/api-fastify/src/routes/ai.ts","apps/api-fastify/src/routes/attachments.ts","apps/api-fastify/src/routes/automation.ts","apps/api-fastify/src/routes/execution-control.ts","apps/api-fastify/src/routes/projects.ts","apps/api-fastify/src/routes/ticket-operations.ts","apps/api-fastify/test/auth.oidc.test.ts","apps/api-fastify/test/rls.integration.test.ts","apps/api-nestjs/prisma/migrations/20260826165000_tenant_rls/migration.sql","apps/api-nestjs/prisma/migrations/20260826171000_audit_idempotency/migration.sql","apps/api-nestjs/prisma/migrations/20260826172500_sla_versions/migration.sql","apps/api-nestjs/prisma/migrations/20260826174500_inbound_records/migration.sql","apps/api-nestjs/prisma/migrations/20260826182000_sla_runtime_facts/migration.sql","apps/api-nestjs/prisma/migrations/20260826190000_attachment_quarantine/migration.sql","apps/api-nestjs/prisma/migrations/20260826193000_automation_rules/migration.sql","apps/api-nestjs/prisma/migrations/20260826201500_automation_retries/migration.sql","apps/api-nestjs/prisma/migrations/20260826204000_attachment_retention/migration.sql","apps/api-nestjs/prisma/migrations/20260826213000_native_projects/migration.sql","apps/api-nestjs/prisma/migrations/20260827015000_ticket_ai_pgvector/migration.sql","apps/api-nestjs/prisma/migrations/20260827033000_complete_ticket_project_domains/migration.sql","apps/api-nestjs/prisma/migrations/20260827041000_inbound_dead_letters/migration.sql","apps/api-nestjs/prisma/migrations/20260827043000_inbound_status_lifecycle/migration.sql","apps/api-nestjs/prisma/migrations/20260827050000_service_catalog/migration.sql","apps/api-nestjs/prisma/migrations/20260827053000_projection_checkpoint/migration.sql","apps/api-nestjs/prisma/migrations/20260827060000_force_rls_all_tenant_tables/migration.sql","apps/api-nestjs/prisma/migrations/20260827150000_execution_control/migration.sql","apps/api-nestjs/src/ai/ai.controller.ts","apps/api-nestjs/src/ai/ai.module.ts","apps/api-nestjs/src/ai/ai.service.ts","apps/api-nestjs/src/attachments/attachment-retention-worker.service.ts","apps/api-nestjs/src/attachments/attachments.controller.ts","apps/api-nestjs/src/attachments/attachments.module.ts","apps/api-nestjs/src/attachments/attachments.service.ts","apps/api-nestjs/src/attachments/attachments.tokens.ts","apps/api-nestjs/src/auth/auth.module.ts","apps/api-nestjs/src/auth/identity.middleware.ts","apps/api-nestjs/src/auth/identity.service.ts","apps/api-nestjs/src/auth/permission.guard.ts","apps/api-nestjs/src/auth/require-permission.decorator.ts","apps/api-nestjs/src/automation/automation-event-consumer.service.ts","apps/api-nestjs/src/automation/automation-retry-worker.service.ts","apps/api-nestjs/src/automation/automation.controller.ts","apps/api-nestjs/src/automation/automation.module.ts","apps/api-nestjs/src/automation/automation.service.ts","apps/api-nestjs/src/common/api-exception.filter.ts","apps/api-nestjs/src/common/write-request-context.ts","apps/api-nestjs/src/execution-control/execution-control.controller.ts","apps/api-nestjs/src/execution-control/execution-control.module.ts","apps/api-nestjs/src/execution-control/execution-control.service.ts","apps/api-nestjs/src/projects/projects.controller.ts","apps/api-nestjs/src/projects/projects.module.ts","apps/api-nestjs/src/projects/projects.service.ts","apps/api-nestjs/src/ticket-operations/ticket-maintenance-worker.service.ts","apps/api-nestjs/src/ticket-operations/ticket-operations.controller.ts","apps/api-nestjs/src/ticket-operations/ticket-operations.module.ts","apps/api-nestjs/src/ticket-operations/ticket-operations.service.ts","apps/api-nestjs/test/auth.oidc.test.ts","apps/api-nestjs/test/rls.integration.test.ts","apps/web/e2e/fixtures/keycloak/juhai-execution-acceptance-realm.json","apps/web/e2e/oidc.acceptance.spec.ts","apps/web/public/icon-maskable.svg","apps/web/public/icon.svg","apps/web/public/sw.js","apps/web/src/app/api/[...path]/route.ts","apps/web/src/app/auth/callback/route.ts","apps/web/src/app/auth/login/route.ts","apps/web/src/app/auth/logout/route.ts","apps/web/src/app/auth/session/route.ts","apps/web/src/app/manifest.ts","apps/web/src/app/sse/events/route.ts","apps/web/src/components/OperationsPanel.tsx","apps/web/src/components/ProjectsPanel.tsx","apps/web/src/components/PwaRegistration.tsx","apps/web/src/components/UnifiedCalendarPanel.tsx","apps/web/src/features/execution-control/api/execution-control-api.ts","apps/web/src/features/execution-control/components/ExecutionControlDashboard.tsx","apps/web/src/features/execution-control/hooks/use-execution-control.ts","apps/web/src/lib/auth-session.ts","apps/web/src/lib/auth-types.ts","apps/web/src/lib/i18n.ts","deploy/k8s/README.md","deploy/k8s/base/kustomization.yaml","deploy/k8s/base/otel-collector-config.yaml","deploy/k8s/base/platform.yaml","deploy/otel-collector/acceptance.yaml","docs/domain/execution-control-blueprint.md","docs/domain/project-delivery-blueprint.md","packages/ai-provider/package.json","packages/ai-provider/src/index.test.ts","packages/ai-provider/src/index.ts","packages/ai-provider/src/testing.ts","packages/ai-provider/tsconfig.json","packages/attachments/package.json","packages/attachments/src/index.ts","packages/attachments/src/infrastructure.integration.test.ts","packages/attachments/tsconfig.json","packages/contracts/src/ai.ts","packages/contracts/src/auth.ts","packages/contracts/src/automation.test.ts","packages/contracts/src/automation.ts","packages/contracts/src/business-calendar.test.ts","packages/contracts/src/business-calendar.ts","packages/contracts/src/execution-control.test.ts","packages/contracts/src/execution-control.ts","packages/contracts/src/idempotency.test.ts","packages/contracts/src/idempotency.ts","packages/contracts/src/project.test.ts","packages/contracts/src/project.ts","packages/identity/package.json","packages/identity/src/identity.test.ts","packages/identity/src/index.ts","packages/identity/tsconfig.json","packages/write-governance/package.json","packages/write-governance/src/index.test.ts","packages/write-governance/src/index.ts","packages/write-governance/tsconfig.json","reports/agent-workflow-parity.latest.json","reports/capacity.latest.json","reports/dual-backend-behavior.latest.json","reports/identity-boundary.latest.json","reports/outbox-operations.latest.json","reports/write-governance.latest.json","scripts/backup-postgres.sh","scripts/check-agent-workflow-parity.mjs","scripts/check-capacity.mjs","scripts/check-dual-backend-behavior.mjs","scripts/check-identity-boundary.mjs","scripts/check-outbox-operations.mjs","scripts/check-write-governance.mjs","scripts/replay-outbox-dead-letter.mjs","scripts/restore-postgres-drill.sh","scripts/test-otel-acceptance.mjs","scripts/test-outbox-operations.mjs","scripts/test-redis-auth-db.mjs"],"removed":[],"modified":[".github/workflows/governance.yml",".gitignore","CLAUDE.md","README.md","apps/api-fastify/.env.example","apps/api-fastify/package.json","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/app.ts","apps/api-fastify/src/modules/orders/orders.service.ts","apps/api-fastify/src/modules/replay.ts","apps/api-fastify/src/modules/tenant.ts","apps/api-fastify/src/modules/tickets/tickets.service.ts","apps/api-fastify/src/modules/users/users.service.ts","apps/api-fastify/src/plugins/outbox.ts","apps/api-fastify/src/plugins/prisma.ts","apps/api-fastify/src/plugins/queue.ts","apps/api-fastify/src/routes/jobs.ts","apps/api-fastify/src/routes/orders.ts","apps/api-fastify/src/routes/realtime-stats.ts","apps/api-fastify/src/routes/sse.ts","apps/api-fastify/src/routes/tickets.ts","apps/api-fastify/src/routes/users.ts","apps/api-fastify/src/routes/ws.ts","apps/api-fastify/src/types.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-fastify/test/realtime.tenant.test.ts","apps/api-fastify/test/tickets.integration.test.ts","apps/api-nestjs/.env.example","apps/api-nestjs/docker-compose.yml","apps/api-nestjs/package.json","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/src/app.module.ts","apps/api-nestjs/src/common/tenant.decorator.ts","apps/api-nestjs/src/create-app.ts","apps/api-nestjs/src/events/events.gateway.ts","apps/api-nestjs/src/events/outbox-dispatcher.service.ts","apps/api-nestjs/src/events/realtime-stats.controller.ts","apps/api-nestjs/src/events/replay.service.ts","apps/api-nestjs/src/orders/orders.controller.ts","apps/api-nestjs/src/orders/orders.service.ts","apps/api-nestjs/src/prisma/prisma.service.ts","apps/api-nestjs/src/queue/jobs.controller.ts","apps/api-nestjs/src/redis/redis.module.ts","apps/api-nestjs/src/sse/sse.controller.ts","apps/api-nestjs/src/tickets/tickets.controller.ts","apps/api-nestjs/src/tickets/tickets.module.ts","apps/api-nestjs/src/tickets/tickets.service.ts","apps/api-nestjs/src/users/users.controller.ts","apps/api-nestjs/src/users/users.service.ts","apps/api-nestjs/test/http.acceptance.test.ts","apps/api-nestjs/test/realtime.tenant.test.ts","apps/api-nestjs/test/tickets.integration.test.ts","apps/web/.env.example","apps/web/e2e/acceptance.spec.ts","apps/web/next.config.ts","apps/web/package.json","apps/web/playwright.config.ts","apps/web/src/app/layout.tsx","apps/web/src/app/page.tsx","apps/web/src/components/EventFeed.tsx","apps/web/src/components/RealtimeBar.tsx","apps/web/src/components/TicketsPanel.tsx","apps/web/src/hooks/useRealtime.ts","apps/web/src/lib/api.ts","apps/web/src/store/realtime.ts","apps/web/src/store/useAppStore.ts","docs/README.md","docs/domain-glossary.md","docs/domain/owner-matrix.md","docs/domain/ticket-system-blueprint.md","docs/governance-experience.md","docs/standards/database-standard.md","governance.registry.json","governance.registry.schema.json","package.json","packages/contracts/src/contracts.test.ts","packages/contracts/src/index.ts","packages/contracts/src/realtime.ts","packages/contracts/src/ticket.ts","pnpm-lock.yaml","reports/baseline.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/transactional-write-chain.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-contract-consumers.mjs","scripts/check-dual-backend-parity.mjs","scripts/check-migrations.mjs","scripts/check-runtime-acceptance.mjs","scripts/check-statemachine-write-guard.mjs","scripts/check-transactional-write-chain.mjs","scripts/check-ui-acceptance.mjs","scripts/governance-report.mjs","turbo.json"]}],"total_commits":0,"head_commit":{"id":"f78be17ac5fecb9cfa36e167b1e85ea26a48fa45","message":"feat: unify projects and tickets under execution control\n\nEstablish Projects and Tickets as separate owned fact domains coordinated by Execution Control across NestJS, Fastify, and the Next.js BFF.\n\nAdd governed identity, SLA, automation, AI, attachment, operations, deployment, and provenance-bound static/runtime/browser acceptance.\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/f78be17ac5fecb9cfa36e167b1e85ea26a48fa45","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-28T03:46:07-07:00","added":[".agents/skills",".dockerignore",".github/workflows/release-images.yml","Dockerfile","apps/api-fastify/prisma/migrations/20260826165000_tenant_rls/migration.sql","apps/api-fastify/prisma/migrations/20260826171000_audit_idempotency/migration.sql","apps/api-fastify/prisma/migrations/20260826172500_sla_versions/migration.sql","apps/api-fastify/prisma/migrations/20260826174500_inbound_records/migration.sql","apps/api-fastify/prisma/migrations/20260826182000_sla_runtime_facts/migration.sql","apps/api-fastify/prisma/migrations/20260826190000_attachment_quarantine/migration.sql","apps/api-fastify/prisma/migrations/20260826193000_automation_rules/migration.sql","apps/api-fastify/prisma/migrations/20260826201500_automation_retries/migration.sql","apps/api-fastify/prisma/migrations/20260826204000_attachment_retention/migration.sql","apps/api-fastify/prisma/migrations/20260826213000_native_projects/migration.sql","apps/api-fastify/prisma/migrations/20260827015000_ticket_ai_pgvector/migration.sql","apps/api-fastify/prisma/migrations/20260827033000_complete_ticket_project_domains/migration.sql","apps/api-fastify/prisma/migrations/20260827041000_inbound_dead_letters/migration.sql","apps/api-fastify/prisma/migrations/20260827043000_inbound_status_lifecycle/migration.sql","apps/api-fastify/prisma/migrations/20260827050000_service_catalog/migration.sql","apps/api-fastify/prisma/migrations/20260827053000_projection_checkpoint/migration.sql","apps/api-fastify/prisma/migrations/20260827060000_force_rls_all_tenant_tables/migration.sql","apps/api-fastify/prisma/migrations/20260827150000_execution_control/migration.sql","apps/api-fastify/src/modules/ai/ai.service.ts","apps/api-fastify/src/modules/attachments/attachments.service.ts","apps/api-fastify/src/modules/automation/automation.service.ts","apps/api-fastify/src/modules/execution-control/execution-control.service.ts","apps/api-fastify/src/modules/permission.ts","apps/api-fastify/src/modules/projects/projects.service.ts","apps/api-fastify/src/modules/tenant-prisma.ts","apps/api-fastify/src/modules/ticket-operations/ticket-operations.service.ts","apps/api-fastify/src/modules/write-request-context.ts","apps/api-fastify/src/plugins/attachments.ts","apps/api-fastify/src/plugins/automation-worker.ts","apps/api-fastify/src/plugins/identity.ts","apps/api-fastify/src/plugins/ticket-maintenance-worker.ts","apps/api-fastify/src/routes/ai.ts","apps/api-fastify/src/routes/attachments.ts","apps/api-fastify/src/routes/automation.ts","apps/api-fastify/src/routes/execution-control.ts","apps/api-fastify/src/routes/projects.ts","apps/api-fastify/src/routes/ticket-operations.ts","apps/api-fastify/test/auth.oidc.test.ts","apps/api-fastify/test/rls.integration.test.ts","apps/api-nestjs/prisma/migrations/20260826165000_tenant_rls/migration.sql","apps/api-nestjs/prisma/migrations/20260826171000_audit_idempotency/migration.sql","apps/api-nestjs/prisma/migrations/20260826172500_sla_versions/migration.sql","apps/api-nestjs/prisma/migrations/20260826174500_inbound_records/migration.sql","apps/api-nestjs/prisma/migrations/20260826182000_sla_runtime_facts/migration.sql","apps/api-nestjs/prisma/migrations/20260826190000_attachment_quarantine/migration.sql","apps/api-nestjs/prisma/migrations/20260826193000_automation_rules/migration.sql","apps/api-nestjs/prisma/migrations/20260826201500_automation_retries/migration.sql","apps/api-nestjs/prisma/migrations/20260826204000_attachment_retention/migration.sql","apps/api-nestjs/prisma/migrations/20260826213000_native_projects/migration.sql","apps/api-nestjs/prisma/migrations/20260827015000_ticket_ai_pgvector/migration.sql","apps/api-nestjs/prisma/migrations/20260827033000_complete_ticket_project_domains/migration.sql","apps/api-nestjs/prisma/migrations/20260827041000_inbound_dead_letters/migration.sql","apps/api-nestjs/prisma/migrations/20260827043000_inbound_status_lifecycle/migration.sql","apps/api-nestjs/prisma/migrations/20260827050000_service_catalog/migration.sql","apps/api-nestjs/prisma/migrations/20260827053000_projection_checkpoint/migration.sql","apps/api-nestjs/prisma/migrations/20260827060000_force_rls_all_tenant_tables/migration.sql","apps/api-nestjs/prisma/migrations/20260827150000_execution_control/migration.sql","apps/api-nestjs/src/ai/ai.controller.ts","apps/api-nestjs/src/ai/ai.module.ts","apps/api-nestjs/src/ai/ai.service.ts","apps/api-nestjs/src/attachments/attachment-retention-worker.service.ts","apps/api-nestjs/src/attachments/attachments.controller.ts","apps/api-nestjs/src/attachments/attachments.module.ts","apps/api-nestjs/src/attachments/attachments.service.ts","apps/api-nestjs/src/attachments/attachments.tokens.ts","apps/api-nestjs/src/auth/auth.module.ts","apps/api-nestjs/src/auth/identity.middleware.ts","apps/api-nestjs/src/auth/identity.service.ts","apps/api-nestjs/src/auth/permission.guard.ts","apps/api-nestjs/src/auth/require-permission.decorator.ts","apps/api-nestjs/src/automation/automation-event-consumer.service.ts","apps/api-nestjs/src/automation/automation-retry-worker.service.ts","apps/api-nestjs/src/automation/automation.controller.ts","apps/api-nestjs/src/automation/automation.module.ts","apps/api-nestjs/src/automation/automation.service.ts","apps/api-nestjs/src/common/api-exception.filter.ts","apps/api-nestjs/src/common/write-request-context.ts","apps/api-nestjs/src/execution-control/execution-control.controller.ts","apps/api-nestjs/src/execution-control/execution-control.module.ts","apps/api-nestjs/src/execution-control/execution-control.service.ts","apps/api-nestjs/src/projects/projects.controller.ts","apps/api-nestjs/src/projects/projects.module.ts","apps/api-nestjs/src/projects/projects.service.ts","apps/api-nestjs/src/ticket-operations/ticket-maintenance-worker.service.ts","apps/api-nestjs/src/ticket-operations/ticket-operations.controller.ts","apps/api-nestjs/src/ticket-operations/ticket-operations.module.ts","apps/api-nestjs/src/ticket-operations/ticket-operations.service.ts","apps/api-nestjs/test/auth.oidc.test.ts","apps/api-nestjs/test/rls.integration.test.ts","apps/web/e2e/fixtures/keycloak/juhai-execution-acceptance-realm.json","apps/web/e2e/oidc.acceptance.spec.ts","apps/web/public/icon-maskable.svg","apps/web/public/icon.svg","apps/web/public/sw.js","apps/web/src/app/api/[...path]/route.ts","apps/web/src/app/auth/callback/route.ts","apps/web/src/app/auth/login/route.ts","apps/web/src/app/auth/logout/route.ts","apps/web/src/app/auth/session/route.ts","apps/web/src/app/manifest.ts","apps/web/src/app/sse/events/route.ts","apps/web/src/components/OperationsPanel.tsx","apps/web/src/components/ProjectsPanel.tsx","apps/web/src/components/PwaRegistration.tsx","apps/web/src/components/UnifiedCalendarPanel.tsx","apps/web/src/features/execution-control/api/execution-control-api.ts","apps/web/src/features/execution-control/components/ExecutionControlDashboard.tsx","apps/web/src/features/execution-control/hooks/use-execution-control.ts","apps/web/src/lib/auth-session.ts","apps/web/src/lib/auth-types.ts","apps/web/src/lib/i18n.ts","deploy/k8s/README.md","deploy/k8s/base/kustomization.yaml","deploy/k8s/base/otel-collector-config.yaml","deploy/k8s/base/platform.yaml","deploy/otel-collector/acceptance.yaml","docs/domain/execution-control-blueprint.md","docs/domain/project-delivery-blueprint.md","packages/ai-provider/package.json","packages/ai-provider/src/index.test.ts","packages/ai-provider/src/index.ts","packages/ai-provider/src/testing.ts","packages/ai-provider/tsconfig.json","packages/attachments/package.json","packages/attachments/src/index.ts","packages/attachments/src/infrastructure.integration.test.ts","packages/attachments/tsconfig.json","packages/contracts/src/ai.ts","packages/contracts/src/auth.ts","packages/contracts/src/automation.test.ts","packages/contracts/src/automation.ts","packages/contracts/src/business-calendar.test.ts","packages/contracts/src/business-calendar.ts","packages/contracts/src/execution-control.test.ts","packages/contracts/src/execution-control.ts","packages/contracts/src/idempotency.test.ts","packages/contracts/src/idempotency.ts","packages/contracts/src/project.test.ts","packages/contracts/src/project.ts","packages/identity/package.json","packages/identity/src/identity.test.ts","packages/identity/src/index.ts","packages/identity/tsconfig.json","packages/write-governance/package.json","packages/write-governance/src/index.test.ts","packages/write-governance/src/index.ts","packages/write-governance/tsconfig.json","reports/agent-workflow-parity.latest.json","reports/capacity.latest.json","reports/dual-backend-behavior.latest.json","reports/identity-boundary.latest.json","reports/outbox-operations.latest.json","reports/write-governance.latest.json","scripts/backup-postgres.sh","scripts/check-agent-workflow-parity.mjs","scripts/check-capacity.mjs","scripts/check-dual-backend-behavior.mjs","scripts/check-identity-boundary.mjs","scripts/check-outbox-operations.mjs","scripts/check-write-governance.mjs","scripts/replay-outbox-dead-letter.mjs","scripts/restore-postgres-drill.sh","scripts/test-otel-acceptance.mjs","scripts/test-outbox-operations.mjs","scripts/test-redis-auth-db.mjs"],"removed":[],"modified":[".github/workflows/governance.yml",".gitignore","CLAUDE.md","README.md","apps/api-fastify/.env.example","apps/api-fastify/package.json","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/app.ts","apps/api-fastify/src/modules/orders/orders.service.ts","apps/api-fastify/src/modules/replay.ts","apps/api-fastify/src/modules/tenant.ts","apps/api-fastify/src/modules/tickets/tickets.service.ts","apps/api-fastify/src/modules/users/users.service.ts","apps/api-fastify/src/plugins/outbox.ts","apps/api-fastify/src/plugins/prisma.ts","apps/api-fastify/src/plugins/queue.ts","apps/api-fastify/src/routes/jobs.ts","apps/api-fastify/src/routes/orders.ts","apps/api-fastify/src/routes/realtime-stats.ts","apps/api-fastify/src/routes/sse.ts","apps/api-fastify/src/routes/tickets.ts","apps/api-fastify/src/routes/users.ts","apps/api-fastify/src/routes/ws.ts","apps/api-fastify/src/types.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-fastify/test/realtime.tenant.test.ts","apps/api-fastify/test/tickets.integration.test.ts","apps/api-nestjs/.env.example","apps/api-nestjs/docker-compose.yml","apps/api-nestjs/package.json","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/src/app.module.ts","apps/api-nestjs/src/common/tenant.decorator.ts","apps/api-nestjs/src/create-app.ts","apps/api-nestjs/src/events/events.gateway.ts","apps/api-nestjs/src/events/outbox-dispatcher.service.ts","apps/api-nestjs/src/events/realtime-stats.controller.ts","apps/api-nestjs/src/events/replay.service.ts","apps/api-nestjs/src/orders/orders.controller.ts","apps/api-nestjs/src/orders/orders.service.ts","apps/api-nestjs/src/prisma/prisma.service.ts","apps/api-nestjs/src/queue/jobs.controller.ts","apps/api-nestjs/src/redis/redis.module.ts","apps/api-nestjs/src/sse/sse.controller.ts","apps/api-nestjs/src/tickets/tickets.controller.ts","apps/api-nestjs/src/tickets/tickets.module.ts","apps/api-nestjs/src/tickets/tickets.service.ts","apps/api-nestjs/src/users/users.controller.ts","apps/api-nestjs/src/users/users.service.ts","apps/api-nestjs/test/http.acceptance.test.ts","apps/api-nestjs/test/realtime.tenant.test.ts","apps/api-nestjs/test/tickets.integration.test.ts","apps/web/.env.example","apps/web/e2e/acceptance.spec.ts","apps/web/next.config.ts","apps/web/package.json","apps/web/playwright.config.ts","apps/web/src/app/layout.tsx","apps/web/src/app/page.tsx","apps/web/src/components/EventFeed.tsx","apps/web/src/components/RealtimeBar.tsx","apps/web/src/components/TicketsPanel.tsx","apps/web/src/hooks/useRealtime.ts","apps/web/src/lib/api.ts","apps/web/src/store/realtime.ts","apps/web/src/store/useAppStore.ts","docs/README.md","docs/domain-glossary.md","docs/domain/owner-matrix.md","docs/domain/ticket-system-blueprint.md","docs/governance-experience.md","docs/standards/database-standard.md","governance.registry.json","governance.registry.schema.json","package.json","packages/contracts/src/contracts.test.ts","packages/contracts/src/index.ts","packages/contracts/src/realtime.ts","packages/contracts/src/ticket.ts","pnpm-lock.yaml","reports/baseline.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/transactional-write-chain.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","scripts/check-contract-consumers.mjs","scripts/check-dual-backend-parity.mjs","scripts/check-migrations.mjs","scripts/check-runtime-acceptance.mjs","scripts/check-statemachine-write-guard.mjs","scripts/check-transactional-write-chain.mjs","scripts/check-ui-acceptance.mjs","scripts/governance-report.mjs","turbo.json"]},"repository":{"id":82,"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":"juhai-ai-work-order-system","full_name":"luoanwu/juhai-ai-work-order-system","description":"巨嗨 AI 工单系统:治理型工单核心与 Digital Employee OS 产品适配层","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":712,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-ai-work-order-system/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-ai-work-order-system","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhai-ai-work-order-system.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-26T09:08:57+08:00","updated_at":"2026-08-26T09:12:25+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"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
|
6
|
1787913991
|
1787914025
|
0
|
1787913990
|
1787914026
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23532
|
chore(governance): synchronize agent adapters
|
81
|
5
|
governance.yml
|
3
|
5
|
0
|
refs/heads/main
|
f7f15c92e83a6df0de98d1d5df4dfdd9b63cd284
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"ce807fe941d01cc4a4a399c474be857407d4aed9","after":"f7f15c92e83a6df0de98d1d5df4dfdd9b63cd284","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/compare/ce807fe941d01cc4a4a399c474be857407d4aed9...f7f15c92e83a6df0de98d1d5df4dfdd9b63cd284","commits":[{"id":"f7f15c92e83a6df0de98d1d5df4dfdd9b63cd284","message":"chore(governance): synchronize agent adapters\n","url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/commit/f7f15c92e83a6df0de98d1d5df4dfdd9b63cd284","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-25T18:51:53-07:00","added":[".agents/skills/business-module-intake/SKILL.md",".agents/skills/frontend-api-react/SKILL.md",".agents/skills/frontend-view-react/SKILL.md",".agents/skills/frontend-view-react/references/view-templates.md",".agents/skills/fullstack-7layer-react/SKILL.md",".agents/skills/fullstack-7layer-react/references/fullstack-react-templates.md",".agents/skills/zustand-store/SKILL.md","reports/agent-adapters.latest.json","scripts/check-agent-adapters.mjs"],"removed":[],"modified":["CLAUDE.md","docs/governance-experience.md","package.json","reports/auth-source.latest.json","reports/baseline.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/os-product.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/service-contracts.latest.json","reports/validation-source.latest.json","scripts/governance-report.mjs"]}],"total_commits":0,"head_commit":{"id":"f7f15c92e83a6df0de98d1d5df4dfdd9b63cd284","message":"chore(governance): synchronize agent adapters\n","url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system/commit/f7f15c92e83a6df0de98d1d5df4dfdd9b63cd284","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-08-25T18:51:53-07:00","added":[".agents/skills/business-module-intake/SKILL.md",".agents/skills/frontend-api-react/SKILL.md",".agents/skills/frontend-view-react/SKILL.md",".agents/skills/frontend-view-react/references/view-templates.md",".agents/skills/fullstack-7layer-react/SKILL.md",".agents/skills/fullstack-7layer-react/references/fullstack-react-templates.md",".agents/skills/zustand-store/SKILL.md","reports/agent-adapters.latest.json","scripts/check-agent-adapters.mjs"],"removed":[],"modified":["CLAUDE.md","docs/governance-experience.md","package.json","reports/auth-source.latest.json","reports/baseline.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/os-product.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/service-contracts.latest.json","reports/validation-source.latest.json","scripts/governance-report.mjs"]},"repository":{"id":81,"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":"juhai-after-sales-service-system","full_name":"luoanwu/juhai-after-sales-service-system","description":"巨嗨智服:受治理的 AI 售后服务系统","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":2061,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-after-sales-service-system/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-after-sales-service-system","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhai-after-sales-service-system.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhai-after-sales-service-system.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-26T08:47:15+08:00","updated_at":"2026-08-26T09:47:20+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"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
|
6
|
1787709144
|
1787709152
|
0
|
1787709129
|
1787709153
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
23431
|
feat: initialize forced alignment workbench
|
63
|
5
|
governance.yml
|
1
|
5
|
0
|
refs/heads/main
|
f7f58401d267fffa37e2c7282f531354478eeebf
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"0000000000000000000000000000000000000000","after":"f7f58401d267fffa37e2c7282f531354478eeebf","compare_url":"https://gitea.g-hi.com/","commits":[{"id":"f7f58401d267fffa37e2c7282f531354478eeebf","message":"feat: initialize forced alignment workbench\n","url":"https://gitea.g-hi.com/luoanwu/forced-alignment/commit/f7f58401d267fffa37e2c7282f531354478eeebf","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-07-21T17:58:39-07:00","added":[".agents/skills/business-module-intake/SKILL.md",".agents/skills/frontend-api-react/SKILL.md",".agents/skills/frontend-view-react/SKILL.md",".agents/skills/frontend-view-react/references/view-templates.md",".agents/skills/fullstack-7layer-react/SKILL.md",".agents/skills/fullstack-7layer-react/references/fullstack-react-templates.md",".agents/skills/zustand-store/SKILL.md",".claude/agents/acceptance-runner.md",".claude/agents/module-blueprint.md",".claude/launch.json",".claude/skills/business-module-intake/SKILL.md",".claude/skills/frontend-api-react/SKILL.md",".claude/skills/frontend-view-react/SKILL.md",".claude/skills/frontend-view-react/references/view-templates.md",".claude/skills/fullstack-7layer-react/SKILL.md",".claude/skills/fullstack-7layer-react/references/fullstack-react-templates.md",".claude/skills/zustand-store/SKILL.md",".codex/agents/acceptance-runner.toml",".codex/agents/module-blueprint.toml",".dockerignore",".github/pull_request_template.md",".github/workflows/governance.yml",".gitignore","AGENTS.md","CLAUDE.md","README.md","apps/api-fastify/.env.example","apps/api-fastify/.gitignore","apps/api-fastify/package.json","apps/api-fastify/pnpm-lock.yaml","apps/api-fastify/prisma/migrations/20260608150500_init/migration.sql","apps/api-fastify/prisma/migrations/20260705080000_outbox_dead_letter/migration.sql","apps/api-fastify/prisma/migrations/20260721110000_add_alignment_workbench/migration.sql","apps/api-fastify/prisma/migrations/migration_lock.toml","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/app.ts","apps/api-fastify/src/lib/orderMachine.ts","apps/api-fastify/src/lib/statemachine.ts","apps/api-fastify/src/modules/alignment/alignment.service.ts","apps/api-fastify/src/modules/orders/orders.service.ts","apps/api-fastify/src/modules/tenant.ts","apps/api-fastify/src/modules/users/users.service.ts","apps/api-fastify/src/plugins/events.ts","apps/api-fastify/src/plugins/outbox.ts","apps/api-fastify/src/plugins/prisma.ts","apps/api-fastify/src/plugins/queue.ts","apps/api-fastify/src/plugins/redis.ts","apps/api-fastify/src/routes/alignment-runs.ts","apps/api-fastify/src/routes/health.ts","apps/api-fastify/src/routes/jobs.ts","apps/api-fastify/src/routes/orders.ts","apps/api-fastify/src/routes/sse.ts","apps/api-fastify/src/routes/users.ts","apps/api-fastify/src/routes/ws.ts","apps/api-fastify/src/server.ts","apps/api-fastify/src/types.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-fastify/test/orders.integration.test.ts","apps/api-fastify/test/outbox.deadletter.test.ts","apps/api-fastify/test/realtime.tenant.test.ts","apps/api-fastify/tsconfig.json","apps/api-fastify/vitest.config.ts","apps/api-nestjs/.env.example","apps/api-nestjs/.gitignore","apps/api-nestjs/docker-compose.yml","apps/api-nestjs/nest-cli.json","apps/api-nestjs/package.json","apps/api-nestjs/pnpm-lock.yaml","apps/api-nestjs/prisma/migrations/20260608150500_init/migration.sql","apps/api-nestjs/prisma/migrations/20260705080000_outbox_dead_letter/migration.sql","apps/api-nestjs/prisma/migrations/20260721110000_add_alignment_workbench/migration.sql","apps/api-nestjs/prisma/migrations/migration_lock.toml","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/prisma/seed.ts","apps/api-nestjs/src/alignment/alignment.controller.ts","apps/api-nestjs/src/alignment/alignment.module.ts","apps/api-nestjs/src/alignment/alignment.service.ts","apps/api-nestjs/src/app.module.ts","apps/api-nestjs/src/common/envelope.ts","apps/api-nestjs/src/common/tenant.decorator.ts","apps/api-nestjs/src/common/zod-validation.pipe.ts","apps/api-nestjs/src/create-app.ts","apps/api-nestjs/src/events/event-bus.service.ts","apps/api-nestjs/src/events/events.gateway.ts","apps/api-nestjs/src/events/events.module.ts","apps/api-nestjs/src/events/fanout.service.ts","apps/api-nestjs/src/events/outbox-dispatcher.service.ts","apps/api-nestjs/src/health/health.controller.ts","apps/api-nestjs/src/health/health.module.ts","apps/api-nestjs/src/main.ts","apps/api-nestjs/src/orders/orders.controller.ts","apps/api-nestjs/src/orders/orders.module.ts","apps/api-nestjs/src/orders/orders.service.ts","apps/api-nestjs/src/prisma/prisma.module.ts","apps/api-nestjs/src/prisma/prisma.service.ts","apps/api-nestjs/src/queue/jobs.controller.ts","apps/api-nestjs/src/queue/jobs.processor.ts","apps/api-nestjs/src/queue/queue.module.ts","apps/api-nestjs/src/queue/queue.types.ts","apps/api-nestjs/src/redis/redis.module.ts","apps/api-nestjs/src/sse/sse.controller.ts","apps/api-nestjs/src/sse/sse.module.ts","apps/api-nestjs/src/statemachine/index.ts","apps/api-nestjs/src/statemachine/order.machine.ts","apps/api-nestjs/src/statemachine/statemachine.engine.ts","apps/api-nestjs/src/statemachine/statemachine.types.ts","apps/api-nestjs/src/users/users.controller.ts","apps/api-nestjs/src/users/users.module.ts","apps/api-nestjs/src/users/users.service.ts","apps/api-nestjs/test/http.acceptance.test.ts","apps/api-nestjs/test/orders.integration.test.ts","apps/api-nestjs/test/outbox.deadletter.test.ts","apps/api-nestjs/test/realtime.tenant.test.ts","apps/api-nestjs/tsconfig.build.json","apps/api-nestjs/tsconfig.json","apps/api-nestjs/vitest.config.ts","apps/web/.env.example","apps/web/.gitignore","apps/web/components.json","apps/web/e2e/acceptance.spec.ts","apps/web/eslint.config.mjs","apps/web/next.config.ts","apps/web/package.json","apps/web/playwright.config.ts","apps/web/pnpm-lock.yaml","apps/web/postcss.config.js","apps/web/src/app/api/alignment/align/route.ts","apps/web/src/app/globals.css","apps/web/src/app/layout.tsx","apps/web/src/app/page.tsx","apps/web/src/components/EventFeed.tsx","apps/web/src/components/OrdersPanel.tsx","apps/web/src/components/RealtimeBar.tsx","apps/web/src/components/UsersPanel.tsx","apps/web/src/components/ui/badge.tsx","apps/web/src/components/ui/button.tsx","apps/web/src/components/ui/card.tsx","apps/web/src/components/ui/input.tsx","apps/web/src/components/ui/label.tsx","apps/web/src/components/ui/separator.tsx","apps/web/src/features/alignment/api/alignment.ts","apps/web/src/features/alignment/components/AlignmentWorkbench.tsx","apps/web/src/features/alignment/lib/local-inputs.ts","apps/web/src/hooks/useRealtime.ts","apps/web/src/lib/api.ts","apps/web/src/lib/providers.tsx","apps/web/src/lib/types.ts","apps/web/src/lib/utils.ts","apps/web/src/store/realtime.ts","apps/web/src/store/useAppStore.ts","apps/web/tailwind.config.ts","apps/web/tsconfig.json","bakeoff/README.md","bakeoff/eval_lines.py","bakeoff/inputs/mms_fa.json","bakeoff/inputs/mms_fa_vadcut.json","bakeoff/inputs/mms_fa_vadcut2.json","bakeoff/inputs/mms_fa_vadcut_repair.json","bakeoff/inputs/qwen3_coarse.json","bakeoff/inputs/segments.json","bakeoff/inputs/truth.json","bakeoff/inputs/vocalparse.json","bakeoff/normalize.py","bakeoff/pipeline/concat_sections.py","bakeoff/pipeline/negative_suite.py","bakeoff/pipeline/run_pipeline.py","bakeoff/pipeline/vad_sections.py","bakeoff/results/REPORT-phase2.md","bakeoff/results/REPORT.md","bakeoff/results/eval.latest.json","bakeoff/results/triage-negative.latest.json","bakeoff/runs/mms_fa/input.json","bakeoff/runs/mms_fa/output.json","bakeoff/runs/mms_fa_vadcut/concat.wav","bakeoff/runs/mms_fa_vadcut/input.json","bakeoff/runs/mms_fa_vadcut/mapping.json","bakeoff/runs/mms_fa_vadcut/output.json","bakeoff/runs/mms_fa_vadcut2/concat.wav","bakeoff/runs/mms_fa_vadcut2/input.json","bakeoff/runs/mms_fa_vadcut2/mapping.json","bakeoff/runs/mms_fa_vadcut2/output.json","bakeoff/runs/pipeline/b_section/concat.wav","bakeoff/runs/pipeline/b_section/input.json","bakeoff/runs/pipeline/b_section/mapping.json","bakeoff/runs/pipeline/b_section/output.json","bakeoff/runs/pipeline/b_section/output.restored.json","bakeoff/runs/pipeline/negatives/n1_drop/input.json","bakeoff/runs/pipeline/negatives/n1_drop/mapping.json","bakeoff/runs/pipeline/negatives/n1_drop/output.json","bakeoff/runs/pipeline/negatives/n1_drop/output.restored.json","bakeoff/runs/pipeline/negatives/n1_drop/pipeline/sections.json","bakeoff/runs/pipeline/negatives/n1_drop/pipeline/sentences.json","bakeoff/runs/pipeline/negatives/n1_drop/pipeline/sentences.qualified.json","bakeoff/runs/pipeline/negatives/n1_drop/pipeline/summary.json","bakeoff/runs/pipeline/negatives/n1_drop/transcript.txt","bakeoff/runs/pipeline/negatives/n2_swap/input.json","bakeoff/runs/pipeline/negatives/n2_swap/mapping.json","bakeoff/runs/pipeline/negatives/n2_swap/output.json","bakeoff/runs/pipeline/negatives/n2_swap/output.restored.json","bakeoff/runs/pipeline/negatives/n2_swap/pipeline/sections.json","bakeoff/runs/pipeline/negatives/n2_swap/pipeline/sentences.json","bakeoff/runs/pipeline/negatives/n2_swap/pipeline/sentences.qualified.json","bakeoff/runs/pipeline/negatives/n2_swap/pipeline/summary.json","bakeoff/runs/pipeline/negatives/n2_swap/transcript.txt","bakeoff/runs/pipeline/negatives/n3_foreign/input.json","bakeoff/runs/pipeline/negatives/n3_foreign/mapping.json","bakeoff/runs/pipeline/negatives/n3_foreign/output.json","bakeoff/runs/pipeline/negatives/n3_foreign/output.restored.json","bakeoff/runs/pipeline/negatives/n3_foreign/pipeline/sections.json","bakeoff/runs/pipeline/negatives/n3_foreign/pipeline/sentences.json","bakeoff/runs/pipeline/negatives/n3_foreign/pipeline/sentences.qualified.json","bakeoff/runs/pipeline/negatives/n3_foreign/pipeline/summary.json","bakeoff/runs/pipeline/negatives/n3_foreign/transcript.txt","bakeoff/runs/pipeline/qingtian/sections.json","bakeoff/runs/pipeline/qingtian/sentences.json","bakeoff/runs/pipeline/qingtian/sentences.pre_escalation.json","bakeoff/runs/pipeline/qingtian/sentences.qualified.json","bakeoff/runs/pipeline/qingtian/summary.json","bakeoff/runs/pipeline/vad.json","bakeoff/runs/pipeline/vad.raw.json","bakeoff/runs/pipeline/vocals.16k.wav","bakeoff/runs/triage/n1_input.json","bakeoff/runs/triage/n1_output.json","bakeoff/runs/triage/n2_input.json","bakeoff/runs/triage/n2_output.json","bakeoff/runs/vocalparse/windows.json","bakeoff/runs/window_repair/in_34_34.json","bakeoff/runs/window_repair/in_36_37.json","bakeoff/runs/window_repair/in_46_47.json","bakeoff/runs/window_repair/in_50_50.json","bakeoff/runs/window_repair/in_56_57.json","bakeoff/runs/window_repair/out_34_34.json","bakeoff/runs/window_repair/out_36_37.json","bakeoff/runs/window_repair/out_46_47.json","bakeoff/runs/window_repair/out_50_50.json","bakeoff/runs/window_repair/out_56_57.json","bakeoff/runs/window_repair/win_34_34.wav","bakeoff/runs/window_repair/win_36_37.wav","bakeoff/runs/window_repair/win_46_47.wav","bakeoff/runs/window_repair/win_50_50.wav","bakeoff/runs/window_repair/win_56_57.wav","bakeoff/triage_negative.py","bakeoff/vad_concat_mms.py","bakeoff/window_repair.py","deploy/.env.vm.example","deploy/Caddyfile","deploy/Dockerfile.api","deploy/Dockerfile.web","deploy/docker-compose.vm.yml","design-qa.md","docs/README.md","docs/adr/0001-use-typescript-fullstack.md","docs/adr/0002-use-nextjs-app-router.md","docs/adr/0003-use-nestjs-with-fastify-adapter.md","docs/adr/0004-use-postgresql.md","docs/adr/0005-use-prisma.md","docs/adr/0006-realtime-sse-and-websocket.md","docs/adr/0007-use-bullmq-queue.md","docs/adr/0008-monorepo-pnpm-turborepo.md","docs/adr/0009-dual-backend-governance-parity.md","docs/adr/README.md","docs/deployment-vm.md","docs/design/forced-alignment-workbench-implementation.png","docs/design/forced-alignment-workbench-option-1.png","docs/design/forced-alignment-workbench-real-result.png","docs/domain-glossary.md","docs/domain/forced-alignment-workbench-blueprint.md","docs/domain/owner-matrix.md","docs/governance-experience.md","docs/standards/api-standard.md","docs/standards/backend-standard.md","docs/standards/database-standard.md","docs/standards/frontend-standard.md","docs/standards/git-standard.md","docs/standards/naming-standard.md","docs/standards/review-standard.md","engines/00-对比总表.md","engines/hubertfa.md","engines/qwen3-fa.md","engines/sofa.md","engines/stars.md","package.json","packages/config/eslint/base.mjs","packages/config/package.json","packages/config/prettier/index.json","packages/config/tsconfig/base.json","packages/config/tsconfig/nextjs.json","packages/config/tsconfig/node.json","packages/contracts/package.json","packages/contracts/src/alignment.ts","packages/contracts/src/contracts.test.ts","packages/contracts/src/index.ts","packages/contracts/src/order.ts","packages/contracts/src/realtime.ts","packages/contracts/src/statemachine.test.ts","packages/contracts/src/statemachine.ts","packages/contracts/src/tenant.ts","packages/contracts/src/user.ts","packages/contracts/tsconfig.json","pnpm-lock.yaml","pnpm-workspace.yaml","reports/baseline.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","samples/qingtian.sections.json","samples/qingtian.sentences.json","scripts/check-contract-consumers.mjs","scripts/check-docs-truth.mjs","scripts/check-dual-backend-parity.mjs","scripts/check-governance-docs.mjs","scripts/check-migrations.mjs","scripts/check-naming.mjs","scripts/check-order-concurrency-guard.mjs","scripts/check-runtime-acceptance.mjs","scripts/check-schema-sync.mjs","scripts/check-ui-acceptance.mjs","scripts/check-validation-source.mjs","scripts/deploy-vm-remote.sh","scripts/deploy-vm.sh","scripts/governance-report.mjs","scripts/vm-down.sh","scripts/vm-status.sh","tsconfig.base.json","turbo.json","强制对齐技术栈全景.md","快速句对齐.md","快速句对齐方案.md"],"removed":[],"modified":[]}],"total_commits":0,"head_commit":{"id":"f7f58401d267fffa37e2c7282f531354478eeebf","message":"feat: initialize forced alignment workbench\n","url":"https://gitea.g-hi.com/luoanwu/forced-alignment/commit/f7f58401d267fffa37e2c7282f531354478eeebf","author":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@gmail.com","username":""},"verification":null,"timestamp":"2026-07-21T17:58:39-07:00","added":[".agents/skills/business-module-intake/SKILL.md",".agents/skills/frontend-api-react/SKILL.md",".agents/skills/frontend-view-react/SKILL.md",".agents/skills/frontend-view-react/references/view-templates.md",".agents/skills/fullstack-7layer-react/SKILL.md",".agents/skills/fullstack-7layer-react/references/fullstack-react-templates.md",".agents/skills/zustand-store/SKILL.md",".claude/agents/acceptance-runner.md",".claude/agents/module-blueprint.md",".claude/launch.json",".claude/skills/business-module-intake/SKILL.md",".claude/skills/frontend-api-react/SKILL.md",".claude/skills/frontend-view-react/SKILL.md",".claude/skills/frontend-view-react/references/view-templates.md",".claude/skills/fullstack-7layer-react/SKILL.md",".claude/skills/fullstack-7layer-react/references/fullstack-react-templates.md",".claude/skills/zustand-store/SKILL.md",".codex/agents/acceptance-runner.toml",".codex/agents/module-blueprint.toml",".dockerignore",".github/pull_request_template.md",".github/workflows/governance.yml",".gitignore","AGENTS.md","CLAUDE.md","README.md","apps/api-fastify/.env.example","apps/api-fastify/.gitignore","apps/api-fastify/package.json","apps/api-fastify/pnpm-lock.yaml","apps/api-fastify/prisma/migrations/20260608150500_init/migration.sql","apps/api-fastify/prisma/migrations/20260705080000_outbox_dead_letter/migration.sql","apps/api-fastify/prisma/migrations/20260721110000_add_alignment_workbench/migration.sql","apps/api-fastify/prisma/migrations/migration_lock.toml","apps/api-fastify/prisma/schema.prisma","apps/api-fastify/src/app.ts","apps/api-fastify/src/lib/orderMachine.ts","apps/api-fastify/src/lib/statemachine.ts","apps/api-fastify/src/modules/alignment/alignment.service.ts","apps/api-fastify/src/modules/orders/orders.service.ts","apps/api-fastify/src/modules/tenant.ts","apps/api-fastify/src/modules/users/users.service.ts","apps/api-fastify/src/plugins/events.ts","apps/api-fastify/src/plugins/outbox.ts","apps/api-fastify/src/plugins/prisma.ts","apps/api-fastify/src/plugins/queue.ts","apps/api-fastify/src/plugins/redis.ts","apps/api-fastify/src/routes/alignment-runs.ts","apps/api-fastify/src/routes/health.ts","apps/api-fastify/src/routes/jobs.ts","apps/api-fastify/src/routes/orders.ts","apps/api-fastify/src/routes/sse.ts","apps/api-fastify/src/routes/users.ts","apps/api-fastify/src/routes/ws.ts","apps/api-fastify/src/server.ts","apps/api-fastify/src/types.ts","apps/api-fastify/test/http.acceptance.test.ts","apps/api-fastify/test/orders.integration.test.ts","apps/api-fastify/test/outbox.deadletter.test.ts","apps/api-fastify/test/realtime.tenant.test.ts","apps/api-fastify/tsconfig.json","apps/api-fastify/vitest.config.ts","apps/api-nestjs/.env.example","apps/api-nestjs/.gitignore","apps/api-nestjs/docker-compose.yml","apps/api-nestjs/nest-cli.json","apps/api-nestjs/package.json","apps/api-nestjs/pnpm-lock.yaml","apps/api-nestjs/prisma/migrations/20260608150500_init/migration.sql","apps/api-nestjs/prisma/migrations/20260705080000_outbox_dead_letter/migration.sql","apps/api-nestjs/prisma/migrations/20260721110000_add_alignment_workbench/migration.sql","apps/api-nestjs/prisma/migrations/migration_lock.toml","apps/api-nestjs/prisma/schema.prisma","apps/api-nestjs/prisma/seed.ts","apps/api-nestjs/src/alignment/alignment.controller.ts","apps/api-nestjs/src/alignment/alignment.module.ts","apps/api-nestjs/src/alignment/alignment.service.ts","apps/api-nestjs/src/app.module.ts","apps/api-nestjs/src/common/envelope.ts","apps/api-nestjs/src/common/tenant.decorator.ts","apps/api-nestjs/src/common/zod-validation.pipe.ts","apps/api-nestjs/src/create-app.ts","apps/api-nestjs/src/events/event-bus.service.ts","apps/api-nestjs/src/events/events.gateway.ts","apps/api-nestjs/src/events/events.module.ts","apps/api-nestjs/src/events/fanout.service.ts","apps/api-nestjs/src/events/outbox-dispatcher.service.ts","apps/api-nestjs/src/health/health.controller.ts","apps/api-nestjs/src/health/health.module.ts","apps/api-nestjs/src/main.ts","apps/api-nestjs/src/orders/orders.controller.ts","apps/api-nestjs/src/orders/orders.module.ts","apps/api-nestjs/src/orders/orders.service.ts","apps/api-nestjs/src/prisma/prisma.module.ts","apps/api-nestjs/src/prisma/prisma.service.ts","apps/api-nestjs/src/queue/jobs.controller.ts","apps/api-nestjs/src/queue/jobs.processor.ts","apps/api-nestjs/src/queue/queue.module.ts","apps/api-nestjs/src/queue/queue.types.ts","apps/api-nestjs/src/redis/redis.module.ts","apps/api-nestjs/src/sse/sse.controller.ts","apps/api-nestjs/src/sse/sse.module.ts","apps/api-nestjs/src/statemachine/index.ts","apps/api-nestjs/src/statemachine/order.machine.ts","apps/api-nestjs/src/statemachine/statemachine.engine.ts","apps/api-nestjs/src/statemachine/statemachine.types.ts","apps/api-nestjs/src/users/users.controller.ts","apps/api-nestjs/src/users/users.module.ts","apps/api-nestjs/src/users/users.service.ts","apps/api-nestjs/test/http.acceptance.test.ts","apps/api-nestjs/test/orders.integration.test.ts","apps/api-nestjs/test/outbox.deadletter.test.ts","apps/api-nestjs/test/realtime.tenant.test.ts","apps/api-nestjs/tsconfig.build.json","apps/api-nestjs/tsconfig.json","apps/api-nestjs/vitest.config.ts","apps/web/.env.example","apps/web/.gitignore","apps/web/components.json","apps/web/e2e/acceptance.spec.ts","apps/web/eslint.config.mjs","apps/web/next.config.ts","apps/web/package.json","apps/web/playwright.config.ts","apps/web/pnpm-lock.yaml","apps/web/postcss.config.js","apps/web/src/app/api/alignment/align/route.ts","apps/web/src/app/globals.css","apps/web/src/app/layout.tsx","apps/web/src/app/page.tsx","apps/web/src/components/EventFeed.tsx","apps/web/src/components/OrdersPanel.tsx","apps/web/src/components/RealtimeBar.tsx","apps/web/src/components/UsersPanel.tsx","apps/web/src/components/ui/badge.tsx","apps/web/src/components/ui/button.tsx","apps/web/src/components/ui/card.tsx","apps/web/src/components/ui/input.tsx","apps/web/src/components/ui/label.tsx","apps/web/src/components/ui/separator.tsx","apps/web/src/features/alignment/api/alignment.ts","apps/web/src/features/alignment/components/AlignmentWorkbench.tsx","apps/web/src/features/alignment/lib/local-inputs.ts","apps/web/src/hooks/useRealtime.ts","apps/web/src/lib/api.ts","apps/web/src/lib/providers.tsx","apps/web/src/lib/types.ts","apps/web/src/lib/utils.ts","apps/web/src/store/realtime.ts","apps/web/src/store/useAppStore.ts","apps/web/tailwind.config.ts","apps/web/tsconfig.json","bakeoff/README.md","bakeoff/eval_lines.py","bakeoff/inputs/mms_fa.json","bakeoff/inputs/mms_fa_vadcut.json","bakeoff/inputs/mms_fa_vadcut2.json","bakeoff/inputs/mms_fa_vadcut_repair.json","bakeoff/inputs/qwen3_coarse.json","bakeoff/inputs/segments.json","bakeoff/inputs/truth.json","bakeoff/inputs/vocalparse.json","bakeoff/normalize.py","bakeoff/pipeline/concat_sections.py","bakeoff/pipeline/negative_suite.py","bakeoff/pipeline/run_pipeline.py","bakeoff/pipeline/vad_sections.py","bakeoff/results/REPORT-phase2.md","bakeoff/results/REPORT.md","bakeoff/results/eval.latest.json","bakeoff/results/triage-negative.latest.json","bakeoff/runs/mms_fa/input.json","bakeoff/runs/mms_fa/output.json","bakeoff/runs/mms_fa_vadcut/concat.wav","bakeoff/runs/mms_fa_vadcut/input.json","bakeoff/runs/mms_fa_vadcut/mapping.json","bakeoff/runs/mms_fa_vadcut/output.json","bakeoff/runs/mms_fa_vadcut2/concat.wav","bakeoff/runs/mms_fa_vadcut2/input.json","bakeoff/runs/mms_fa_vadcut2/mapping.json","bakeoff/runs/mms_fa_vadcut2/output.json","bakeoff/runs/pipeline/b_section/concat.wav","bakeoff/runs/pipeline/b_section/input.json","bakeoff/runs/pipeline/b_section/mapping.json","bakeoff/runs/pipeline/b_section/output.json","bakeoff/runs/pipeline/b_section/output.restored.json","bakeoff/runs/pipeline/negatives/n1_drop/input.json","bakeoff/runs/pipeline/negatives/n1_drop/mapping.json","bakeoff/runs/pipeline/negatives/n1_drop/output.json","bakeoff/runs/pipeline/negatives/n1_drop/output.restored.json","bakeoff/runs/pipeline/negatives/n1_drop/pipeline/sections.json","bakeoff/runs/pipeline/negatives/n1_drop/pipeline/sentences.json","bakeoff/runs/pipeline/negatives/n1_drop/pipeline/sentences.qualified.json","bakeoff/runs/pipeline/negatives/n1_drop/pipeline/summary.json","bakeoff/runs/pipeline/negatives/n1_drop/transcript.txt","bakeoff/runs/pipeline/negatives/n2_swap/input.json","bakeoff/runs/pipeline/negatives/n2_swap/mapping.json","bakeoff/runs/pipeline/negatives/n2_swap/output.json","bakeoff/runs/pipeline/negatives/n2_swap/output.restored.json","bakeoff/runs/pipeline/negatives/n2_swap/pipeline/sections.json","bakeoff/runs/pipeline/negatives/n2_swap/pipeline/sentences.json","bakeoff/runs/pipeline/negatives/n2_swap/pipeline/sentences.qualified.json","bakeoff/runs/pipeline/negatives/n2_swap/pipeline/summary.json","bakeoff/runs/pipeline/negatives/n2_swap/transcript.txt","bakeoff/runs/pipeline/negatives/n3_foreign/input.json","bakeoff/runs/pipeline/negatives/n3_foreign/mapping.json","bakeoff/runs/pipeline/negatives/n3_foreign/output.json","bakeoff/runs/pipeline/negatives/n3_foreign/output.restored.json","bakeoff/runs/pipeline/negatives/n3_foreign/pipeline/sections.json","bakeoff/runs/pipeline/negatives/n3_foreign/pipeline/sentences.json","bakeoff/runs/pipeline/negatives/n3_foreign/pipeline/sentences.qualified.json","bakeoff/runs/pipeline/negatives/n3_foreign/pipeline/summary.json","bakeoff/runs/pipeline/negatives/n3_foreign/transcript.txt","bakeoff/runs/pipeline/qingtian/sections.json","bakeoff/runs/pipeline/qingtian/sentences.json","bakeoff/runs/pipeline/qingtian/sentences.pre_escalation.json","bakeoff/runs/pipeline/qingtian/sentences.qualified.json","bakeoff/runs/pipeline/qingtian/summary.json","bakeoff/runs/pipeline/vad.json","bakeoff/runs/pipeline/vad.raw.json","bakeoff/runs/pipeline/vocals.16k.wav","bakeoff/runs/triage/n1_input.json","bakeoff/runs/triage/n1_output.json","bakeoff/runs/triage/n2_input.json","bakeoff/runs/triage/n2_output.json","bakeoff/runs/vocalparse/windows.json","bakeoff/runs/window_repair/in_34_34.json","bakeoff/runs/window_repair/in_36_37.json","bakeoff/runs/window_repair/in_46_47.json","bakeoff/runs/window_repair/in_50_50.json","bakeoff/runs/window_repair/in_56_57.json","bakeoff/runs/window_repair/out_34_34.json","bakeoff/runs/window_repair/out_36_37.json","bakeoff/runs/window_repair/out_46_47.json","bakeoff/runs/window_repair/out_50_50.json","bakeoff/runs/window_repair/out_56_57.json","bakeoff/runs/window_repair/win_34_34.wav","bakeoff/runs/window_repair/win_36_37.wav","bakeoff/runs/window_repair/win_46_47.wav","bakeoff/runs/window_repair/win_50_50.wav","bakeoff/runs/window_repair/win_56_57.wav","bakeoff/triage_negative.py","bakeoff/vad_concat_mms.py","bakeoff/window_repair.py","deploy/.env.vm.example","deploy/Caddyfile","deploy/Dockerfile.api","deploy/Dockerfile.web","deploy/docker-compose.vm.yml","design-qa.md","docs/README.md","docs/adr/0001-use-typescript-fullstack.md","docs/adr/0002-use-nextjs-app-router.md","docs/adr/0003-use-nestjs-with-fastify-adapter.md","docs/adr/0004-use-postgresql.md","docs/adr/0005-use-prisma.md","docs/adr/0006-realtime-sse-and-websocket.md","docs/adr/0007-use-bullmq-queue.md","docs/adr/0008-monorepo-pnpm-turborepo.md","docs/adr/0009-dual-backend-governance-parity.md","docs/adr/README.md","docs/deployment-vm.md","docs/design/forced-alignment-workbench-implementation.png","docs/design/forced-alignment-workbench-option-1.png","docs/design/forced-alignment-workbench-real-result.png","docs/domain-glossary.md","docs/domain/forced-alignment-workbench-blueprint.md","docs/domain/owner-matrix.md","docs/governance-experience.md","docs/standards/api-standard.md","docs/standards/backend-standard.md","docs/standards/database-standard.md","docs/standards/frontend-standard.md","docs/standards/git-standard.md","docs/standards/naming-standard.md","docs/standards/review-standard.md","engines/00-对比总表.md","engines/hubertfa.md","engines/qwen3-fa.md","engines/sofa.md","engines/stars.md","package.json","packages/config/eslint/base.mjs","packages/config/package.json","packages/config/prettier/index.json","packages/config/tsconfig/base.json","packages/config/tsconfig/nextjs.json","packages/config/tsconfig/node.json","packages/contracts/package.json","packages/contracts/src/alignment.ts","packages/contracts/src/contracts.test.ts","packages/contracts/src/index.ts","packages/contracts/src/order.ts","packages/contracts/src/realtime.ts","packages/contracts/src/statemachine.test.ts","packages/contracts/src/statemachine.ts","packages/contracts/src/tenant.ts","packages/contracts/src/user.ts","packages/contracts/tsconfig.json","pnpm-lock.yaml","pnpm-workspace.yaml","reports/baseline.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","samples/qingtian.sections.json","samples/qingtian.sentences.json","scripts/check-contract-consumers.mjs","scripts/check-docs-truth.mjs","scripts/check-dual-backend-parity.mjs","scripts/check-governance-docs.mjs","scripts/check-migrations.mjs","scripts/check-naming.mjs","scripts/check-order-concurrency-guard.mjs","scripts/check-runtime-acceptance.mjs","scripts/check-schema-sync.mjs","scripts/check-ui-acceptance.mjs","scripts/check-validation-source.mjs","scripts/deploy-vm-remote.sh","scripts/deploy-vm.sh","scripts/governance-report.mjs","scripts/vm-down.sh","scripts/vm-status.sh","tsconfig.base.json","turbo.json","强制对齐技术栈全景.md","快速句对齐.md","快速句对齐方案.md"],"removed":[],"modified":[]},"repository":{"id":63,"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":"forced-alignment","full_name":"luoanwu/forced-alignment","description":"纯人声与歌词精准强制对齐工作台","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":27,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/forced-alignment/languages","html_url":"https://gitea.g-hi.com/luoanwu/forced-alignment","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/forced-alignment","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/forced-alignment.git","clone_url":"https://gitea.g-hi.com/luoanwu/forced-alignment.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-22T08:56:49+08:00","updated_at":"2026-07-22T08:59:29+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":true,"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
|
8
|
1784681970
|
1784682042
|
0
|
1784681969
|
1784682042
|
group: governance-${{ github.workflow }}-${{ githu group: governance-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: "true"
...
|
governance-governance.yml-refs/heads/main
|
1
|
Edit
Delete
|
|
17730
|
Stop tracking backend/.env (leaked secrets remedia Stop tracking backend/.env (leaked secrets remediation, step 1)...
|
6
|
5
|
ci.yml
|
17651
|
5
|
0
|
refs/heads/main
|
f8c99c0bccfc306a4dcc9afd03e1247a4ebd4a97
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"597fbdc49bc67e7803e9ff0ab9c77dccc99d778e","after":"f8c99c0bccfc306a4dcc9afd03e1247a4ebd4a97","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/597fbdc49bc67e7803e9ff0ab9c77dccc99d778e...f8c99c0bccfc306a4dcc9afd03e1247a4ebd4a97","commits":[{"id":"f8c99c0bccfc306a4dcc9afd03e1247a4ebd4a97","message":"Stop tracking backend/.env (leaked secrets remediation, step 1)\n\nbackend/.env was committed once at 204e3356f with what appear to be\nreal base64-encoded random secrets (DB password, Redis password, JWT\nsecret, MinIO secret key — pattern matches `openssl rand -base64 32`\noutput). The file header indicates it was auto-generated locally by\nscripts/sync-local-env.sh and committed by mistake.\n\nThis commit only stops tracking the file going forward. The leaked\ncontent is still reachable in git history at commit 204e3356f from\nmain and from ~10+ origin feature branches; treat the secrets as\ncompromised and rotate them in any deployment that may have used them.\n\nRoot .gitignore already has a `.env` rule that takes effect once the\nfile is no longer tracked, so no .gitignore change is needed.\n\nTo regenerate backend/.env locally with the new dev defaults:\n bash scripts/sync-local-env.sh --force\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/f8c99c0bccfc306a4dcc9afd03e1247a4ebd4a97","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T08:52:06-07:00","added":[],"removed":["backend/.env"],"modified":[]}],"total_commits":0,"head_commit":{"id":"f8c99c0bccfc306a4dcc9afd03e1247a4ebd4a97","message":"Stop tracking backend/.env (leaked secrets remediation, step 1)\n\nbackend/.env was committed once at 204e3356f with what appear to be\nreal base64-encoded random secrets (DB password, Redis password, JWT\nsecret, MinIO secret key — pattern matches `openssl rand -base64 32`\noutput). The file header indicates it was auto-generated locally by\nscripts/sync-local-env.sh and committed by mistake.\n\nThis commit only stops tracking the file going forward. The leaked\ncontent is still reachable in git history at commit 204e3356f from\nmain and from ~10+ origin feature branches; treat the secrets as\ncompromised and rotate them in any deployment that may have used them.\n\nRoot .gitignore already has a `.env` rule that takes effect once the\nfile is no longer tracked, so no .gitignore change is needed.\n\nTo regenerate backend/.env locally with the new dev defaults:\n bash scripts/sync-local-env.sh --force\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/f8c99c0bccfc306a4dcc9afd03e1247a4ebd4a97","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T08:52:06-07:00","added":[],"removed":["backend/.env"],"modified":[]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5218081,"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-26T23:45:24+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
3
|
6
|
0
|
1777219007
|
0
|
1777218738
|
1777219007
|
group: ci-${{ github.ref }}
cancel-in-progress: group: ci-${{ github.ref }}
cancel-in-progress: "true"
...
|
ci-refs/heads/main
|
1
|
Edit
Delete
|
|
17731
|
Stop tracking backend/.env (leaked secrets remedia Stop tracking backend/.env (leaked secrets remediation, step 1)...
|
6
|
5
|
e2e-tests.yml
|
17652
|
5
|
0
|
refs/heads/main
|
f8c99c0bccfc306a4dcc9afd03e1247a4ebd4a97
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"597fbdc49bc67e7803e9ff0ab9c77dccc99d778e","after":"f8c99c0bccfc306a4dcc9afd03e1247a4ebd4a97","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/597fbdc49bc67e7803e9ff0ab9c77dccc99d778e...f8c99c0bccfc306a4dcc9afd03e1247a4ebd4a97","commits":[{"id":"f8c99c0bccfc306a4dcc9afd03e1247a4ebd4a97","message":"Stop tracking backend/.env (leaked secrets remediation, step 1)\n\nbackend/.env was committed once at 204e3356f with what appear to be\nreal base64-encoded random secrets (DB password, Redis password, JWT\nsecret, MinIO secret key — pattern matches `openssl rand -base64 32`\noutput). The file header indicates it was auto-generated locally by\nscripts/sync-local-env.sh and committed by mistake.\n\nThis commit only stops tracking the file going forward. The leaked\ncontent is still reachable in git history at commit 204e3356f from\nmain and from ~10+ origin feature branches; treat the secrets as\ncompromised and rotate them in any deployment that may have used them.\n\nRoot .gitignore already has a `.env` rule that takes effect once the\nfile is no longer tracked, so no .gitignore change is needed.\n\nTo regenerate backend/.env locally with the new dev defaults:\n bash scripts/sync-local-env.sh --force\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/f8c99c0bccfc306a4dcc9afd03e1247a4ebd4a97","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T08:52:06-07:00","added":[],"removed":["backend/.env"],"modified":[]}],"total_commits":0,"head_commit":{"id":"f8c99c0bccfc306a4dcc9afd03e1247a4ebd4a97","message":"Stop tracking backend/.env (leaked secrets remediation, step 1)\n\nbackend/.env was committed once at 204e3356f with what appear to be\nreal base64-encoded random secrets (DB password, Redis password, JWT\nsecret, MinIO secret key — pattern matches `openssl rand -base64 32`\noutput). The file header indicates it was auto-generated locally by\nscripts/sync-local-env.sh and committed by mistake.\n\nThis commit only stops tracking the file going forward. The leaked\ncontent is still reachable in git history at commit 204e3356f from\nmain and from ~10+ origin feature branches; treat the secrets as\ncompromised and rotate them in any deployment that may have used them.\n\nRoot .gitignore already has a `.env` rule that takes effect once the\nfile is no longer tracked, so no .gitignore change is needed.\n\nTo regenerate backend/.env locally with the new dev defaults:\n bash scripts/sync-local-env.sh --force\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/f8c99c0bccfc306a4dcc9afd03e1247a4ebd4a97","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T08:52:06-07:00","added":[],"removed":["backend/.env"],"modified":[]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5218081,"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-26T23:45:24+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
|
1777221859
|
1777222402
|
0
|
1777218739
|
1777224770
|
|
|
0
|
Edit
Delete
|
|
17732
|
Stop tracking backend/.env (leaked secrets remedia Stop tracking backend/.env (leaked secrets remediation, step 1)...
|
6
|
5
|
deploy.yml
|
17654
|
5
|
0
|
refs/heads/main
|
f8c99c0bccfc306a4dcc9afd03e1247a4ebd4a97
|
0
|
0
|
0
|
workflow_run
|
{"action":"completed","workflo {"action":"completed","workflow":{"id":"test-pipeline.yml","name":"Test Pipeline","path":".github/workflows/test-pipeline.yml","state":"active","created_at":"2026-04-26T08:52:06-07:00","updated_at":"2026-04-26T08:52:06-07:00","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/workflows/test-pipeline.yml","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/src/branch/main/.github/workflows/test-pipeline.yml","badge_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/workflows/test-pipeline.yml/badge.svg?branch=main","deleted_at":"0001-01-01T00:00:00Z"},"workflow_run":{"id":17728,"url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/runs/17728","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/runs/17728","display_title":"Make local one-command startup work end-to-end","path":"test-pipeline.yml@refs/heads/main","event":"push","run_attempt":0,"run_number":17649,"head_sha":"597fbdc49bc67e7803e9ff0ab9c77dccc99d778e","head_branch":"main","status":"completed","actor":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"trigger_actor":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5218086,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":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-26T23:45:24+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"pull":false},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"conclusion":"cancelled","started_at":"1970-01-01T08:00:00+08:00","completed_at":"2026-04-26T23:52:20+08:00"},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5218086,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":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-26T23:45:24+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
workflow_run
|
3
|
12
|
0
|
1777219015
|
0
|
1777218745
|
1777219017
|
group: deploy-${{ github.ref }}
cancel-in-progress group: deploy-${{ github.ref }}
cancel-in-progress: "true"
...
|
deploy-refs/heads/main
|
1
|
Edit
Delete
|
|
17733
|
Stop tracking backend/.env (leaked secrets remedia Stop tracking backend/.env (leaked secrets remediation, step 1)...
|
6
|
5
|
test-pipeline.yml
|
17653
|
5
|
0
|
refs/heads/main
|
f8c99c0bccfc306a4dcc9afd03e1247a4ebd4a97
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"597fbdc49bc67e7803e9ff0ab9c77dccc99d778e","after":"f8c99c0bccfc306a4dcc9afd03e1247a4ebd4a97","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/597fbdc49bc67e7803e9ff0ab9c77dccc99d778e...f8c99c0bccfc306a4dcc9afd03e1247a4ebd4a97","commits":[{"id":"f8c99c0bccfc306a4dcc9afd03e1247a4ebd4a97","message":"Stop tracking backend/.env (leaked secrets remediation, step 1)\n\nbackend/.env was committed once at 204e3356f with what appear to be\nreal base64-encoded random secrets (DB password, Redis password, JWT\nsecret, MinIO secret key — pattern matches `openssl rand -base64 32`\noutput). The file header indicates it was auto-generated locally by\nscripts/sync-local-env.sh and committed by mistake.\n\nThis commit only stops tracking the file going forward. The leaked\ncontent is still reachable in git history at commit 204e3356f from\nmain and from ~10+ origin feature branches; treat the secrets as\ncompromised and rotate them in any deployment that may have used them.\n\nRoot .gitignore already has a `.env` rule that takes effect once the\nfile is no longer tracked, so no .gitignore change is needed.\n\nTo regenerate backend/.env locally with the new dev defaults:\n bash scripts/sync-local-env.sh --force\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/f8c99c0bccfc306a4dcc9afd03e1247a4ebd4a97","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T08:52:06-07:00","added":[],"removed":["backend/.env"],"modified":[]}],"total_commits":0,"head_commit":{"id":"f8c99c0bccfc306a4dcc9afd03e1247a4ebd4a97","message":"Stop tracking backend/.env (leaked secrets remediation, step 1)\n\nbackend/.env was committed once at 204e3356f with what appear to be\nreal base64-encoded random secrets (DB password, Redis password, JWT\nsecret, MinIO secret key — pattern matches `openssl rand -base64 32`\noutput). The file header indicates it was auto-generated locally by\nscripts/sync-local-env.sh and committed by mistake.\n\nThis commit only stops tracking the file going forward. The leaked\ncontent is still reachable in git history at commit 204e3356f from\nmain and from ~10+ origin feature branches; treat the secrets as\ncompromised and rotate them in any deployment that may have used them.\n\nRoot .gitignore already has a `.env` rule that takes effect once the\nfile is no longer tracked, so no .gitignore change is needed.\n\nTo regenerate backend/.env locally with the new dev defaults:\n bash scripts/sync-local-env.sh --force\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/f8c99c0bccfc306a4dcc9afd03e1247a4ebd4a97","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T08:52:06-07:00","added":[],"removed":["backend/.env"],"modified":[]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5218081,"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-26T23:45:24+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
3
|
24
|
0
|
1777219009
|
0
|
1777218745
|
1777219014
|
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
|
|
17734
|
Stop tracking backend/.env (leaked secrets remedia Stop tracking backend/.env (leaked secrets remediation, step 1)...
|
6
|
5
|
health-check.yml
|
17655
|
-2
|
292
|
refs/heads/main
|
f8c99c0bccfc306a4dcc9afd03e1247a4ebd4a97
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"597fbdc49bc67e7803e9ff0ab9c77dccc99d778e","after":"f8c99c0bccfc306a4dcc9afd03e1247a4ebd4a97","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/597fbdc49bc67e7803e9ff0ab9c77dccc99d778e...f8c99c0bccfc306a4dcc9afd03e1247a4ebd4a97","commits":[{"id":"f8c99c0bccfc306a4dcc9afd03e1247a4ebd4a97","message":"Stop tracking backend/.env (leaked secrets remediation, step 1)\n\nbackend/.env was committed once at 204e3356f with what appear to be\nreal base64-encoded random secrets (DB password, Redis password, JWT\nsecret, MinIO secret key — pattern matches `openssl rand -base64 32`\noutput). The file header indicates it was auto-generated locally by\nscripts/sync-local-env.sh and committed by mistake.\n\nThis commit only stops tracking the file going forward. The leaked\ncontent is still reachable in git history at commit 204e3356f from\nmain and from ~10+ origin feature branches; treat the secrets as\ncompromised and rotate them in any deployment that may have used them.\n\nRoot .gitignore already has a `.env` rule that takes effect once the\nfile is no longer tracked, so no .gitignore change is needed.\n\nTo regenerate backend/.env locally with the new dev defaults:\n bash scripts/sync-local-env.sh --force\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/f8c99c0bccfc306a4dcc9afd03e1247a4ebd4a97","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T08:52:06-07:00","added":[],"removed":["backend/.env"],"modified":[]}],"total_commits":0,"head_commit":{"id":"f8c99c0bccfc306a4dcc9afd03e1247a4ebd4a97","message":"Stop tracking backend/.env (leaked secrets remediation, step 1)\n\nbackend/.env was committed once at 204e3356f with what appear to be\nreal base64-encoded random secrets (DB password, Redis password, JWT\nsecret, MinIO secret key — pattern matches `openssl rand -base64 32`\noutput). The file header indicates it was auto-generated locally by\nscripts/sync-local-env.sh and committed by mistake.\n\nThis commit only stops tracking the file going forward. The leaked\ncontent is still reachable in git history at commit 204e3356f from\nmain and from ~10+ origin feature branches; treat the secrets as\ncompromised and rotate them in any deployment that may have used them.\n\nRoot .gitignore already has a `.env` rule that takes effect once the\nfile is no longer tracked, so no .gitignore change is needed.\n\nTo regenerate backend/.env locally with the new dev defaults:\n bash scripts/sync-local-env.sh --force\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/f8c99c0bccfc306a4dcc9afd03e1247a4ebd4a97","author":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"committer":{"name":"luoguoguo","email":"luoguoguo@luoguoguodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-04-26T08:52:06-07:00","added":[],"removed":["backend/.env"],"modified":[]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5218081,"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-26T23:45:24+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
|
1777222403
|
1777222404
|
0
|
1777218950
|
1777222404
|
|
|
0
|
Edit
Delete
|