|
7649
|
feat: 四线并行治理 — Record清零+v-permission扩展+Redis缓存+as feat: 四线并行治理 — Record清零+v-permission扩展+Redis缓存+as any清理...
|
6
|
5
|
e2e-tests.yml
|
7574
|
5
|
0
|
refs/heads/main
|
dbf34b08bbb60650d15b0c55262dbfe8d0a3a655
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"8c39619c9cdb0d888d10942bf50533c8238021df","after":"dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/8c39619c9cdb0d888d10942bf50533c8238021df...dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","commits":[{"id":"dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","message":"feat: 四线并行治理 — Record清零+v-permission扩展+Redis缓存+as any清理\n\n## Line 1: Record\u003cstring,any\u003e 全前端清零 (637→0)\n- 262 个文件批量替换 Record\u003cstring, any\u003e → Record\u003cstring, unknown\u003e\n- 覆盖 API 模块层 137 文件 + 视图/stores/composables 100 文件\n\n## Line 2: v-permission 全面覆盖 (53→104 个视图文件)\n- 新增 51 个视图的 v-permission 指令\n- 覆盖: products/departments/contract-templates/spare-parts/pm/\n stage-knowledge/email-templates/approval-templates/ad-campaigns/\n groupbuy-*/community-*/alliance-*/livestream-*/social-*/content-*/\n geo-*/segments/lead-pools/bom/expense-claims/ap-ledger 等\n\n## Line 3: Redis 缓存扩展 (5→14 个缓存点, 10 个模块)\n- 新建 cache-utils.ts 统一缓存工具层 (withCache + invalidation)\n- 高优: tenant-configs(300s) + roles(1800s) + products(600s) +\n departments(600s) + sla(1800s) + contract-templates(600s)\n- 中优: price-books(600s) + notifications(300s)\n- 写后失效: 所有 create/update/delete 自动清除缓存\n\n## Line 4: as any 清理 (25处)\n- campaign-analytics.controller: 8→0 (精确查询类型)\n- social-interactions.service: 9→0 (Prisma UncheckedCreateInput)\n- store-staff.service: 6→0 (prismaModel 代理)\n- scheduled-jobs.consumer: 2→0 (直接使用已有类型)\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-24T10:14:13+08:00","added":["backend/src/shared/constants/events/common.ts","backend/src/shared/constants/events/finance.ts","backend/src/shared/constants/events/hr.ts","backend/src/shared/constants/events/im.ts","backend/src/shared/constants/events/index.ts","backend/src/shared/constants/events/knowledge.ts","backend/src/shared/constants/events/lifecycle.ts","backend/src/shared/constants/events/marketing.ts","backend/src/shared/constants/events/sales.ts","backend/src/shared/constants/events/service.ts","backend/src/shared/constants/events/store.ts","backend/src/shared/constants/events/supply_chain.ts","backend/src/shared/constants/events/system.ts","backend/src/shared/services/list-cache.service.ts","backend/src/shared/utils/cache-utils.ts"],"removed":[],"modified":["backend/src/consumers/attribution.consumer.ts","backend/src/consumers/campaign-effectiveness.consumer.ts","backend/src/consumers/marketing-workflow-executor.consumer.ts","backend/src/consumers/scheduled-jobs.consumer.ts","backend/src/modules/ai-agents/services/knowledge-vector-enhanced.service.ts","backend/src/modules/alliance-settlements/alliance-settlement.service.test.ts","backend/src/modules/campaign-analytics/campaign-analytics.controller.ts","backend/src/modules/contract-templates/contract-template.service.ts","backend/src/modules/contracts/contract.controller.ts","backend/src/modules/contracts/contract.routes.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/customers/customer.service.ts","backend/src/modules/departments/department.service.test.ts","backend/src/modules/departments/department.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/leads/lead-sla.service.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-interactions/livestream-realtime.service.ts","backend/src/modules/marketing-automation/workflow-trigger.service.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.controller.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.routes.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.service.ts","backend/src/modules/notifications/notification.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/payments/payment.service.test.ts","backend/src/modules/price-books/price-book.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/roles/role.service.ts","backend/src/modules/segments/segment.service.ts","backend/src/modules/sla/sla.service.ts","backend/src/modules/social-interactions/social-interactions.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/tenant-configs/tenant-config.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/constants/events.ts","backend/src/shared/services/partition-maintenance.service.ts","backend/src/shared/state-machines/machines/contract.machine.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/state-machines/types.ts","backend/src/shared/state-machines/utils/transitions/sales.transitions.ts","backend/src/shared/utils/biz-code.ts","frontend/src/api/adapters.ts","frontend/src/api/im-binding.ts","frontend/src/api/modules/ad-accounts.ts","frontend/src/api/modules/ad-audiences.ts","frontend/src/api/modules/ad-creatives.ts","frontend/src/api/modules/ad-placement.ts","frontend/src/api/modules/ad-reports.ts","frontend/src/api/modules/agent-group.ts","frontend/src/api/modules/ai-agent.ts","frontend/src/api/modules/alliance-analytics.ts","frontend/src/api/modules/alliance-merchants.ts","frontend/src/api/modules/alliance-products.ts","frontend/src/api/modules/alliance-promotions.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/analytics.ts","frontend/src/api/modules/approvals.ts","frontend/src/api/modules/assets.ts","frontend/src/api/modules/attribution.ts","frontend/src/api/modules/audit-logs.ts","frontend/src/api/modules/campaign-drafts.ts","frontend/src/api/modules/campaign-library.ts","frontend/src/api/modules/campaign-targets.ts","frontend/src/api/modules/campaign-tools.ts","frontend/src/api/modules/campaign-use-case-templates.ts","frontend/src/api/modules/campaign-wizard.ts","frontend/src/api/modules/campaigns.ts","frontend/src/api/modules/cohort-analysis.ts","frontend/src/api/modules/commissions.ts","frontend/src/api/modules/community-activities.ts","frontend/src/api/modules/community-analytics.ts","frontend/src/api/modules/community-bots.ts","frontend/src/api/modules/community-groups.ts","frontend/src/api/modules/community-levels.ts","frontend/src/api/modules/community-members.ts","frontend/src/api/modules/community-messages.ts","frontend/src/api/modules/community-points.ts","frontend/src/api/modules/consumer-behavior-analytics.ts","frontend/src/api/modules/content-categories.ts","frontend/src/api/modules/content-copyright.ts","frontend/src/api/modules/content-creation.ts","frontend/src/api/modules/content-distribution.ts","frontend/src/api/modules/content-library.ts","frontend/src/api/modules/content-templates.ts","frontend/src/api/modules/contract-templates.ts","frontend/src/api/modules/cpq.ts","frontend/src/api/modules/cross-domain-funnel.ts","frontend/src/api/modules/customer-analytics.ts","frontend/src/api/modules/customer-health.ts","frontend/src/api/modules/customer-journey.ts","frontend/src/api/modules/customer-ltv.ts","frontend/src/api/modules/customer-marketing.ts","frontend/src/api/modules/customer-segmentation.ts","frontend/src/api/modules/devices.ts","frontend/src/api/modules/dictionaries.ts","frontend/src/api/modules/dimension-transform.ts","frontend/src/api/modules/email-marketing.ts","frontend/src/api/modules/email-templates.ts","frontend/src/api/modules/event-logs.ts","frontend/src/api/modules/events.ts","frontend/src/api/modules/expense.ts","frontend/src/api/modules/financial-reports.ts","frontend/src/api/modules/fulfillment.ts","frontend/src/api/modules/geo-fences.ts","frontend/src/api/modules/geo-pois.ts","frontend/src/api/modules/groupbuy-analytics.ts","frontend/src/api/modules/groupbuy-campaigns.ts","frontend/src/api/modules/groupbuy-platforms.ts","frontend/src/api/modules/groupbuy-pricing.ts","frontend/src/api/modules/groupbuy-products.ts","frontend/src/api/modules/groupbuy-settlements.ts","frontend/src/api/modules/hr-benefits.ts","frontend/src/api/modules/hr-payroll.ts","frontend/src/api/modules/im-channels.ts","frontend/src/api/modules/im.ts","frontend/src/api/modules/integration-services.ts","frontend/src/api/modules/intent-analyzer.ts","frontend/src/api/modules/journey-orchestration.ts","frontend/src/api/modules/knowledge-candidates.ts","frontend/src/api/modules/knowledge-capture.ts","frontend/src/api/modules/landing-pages.ts","frontend/src/api/modules/lead-scoring-ai.ts","frontend/src/api/modules/livestream-groupbuy-conversion.ts","frontend/src/api/modules/livestream-groupbuy.ts","frontend/src/api/modules/livestream-interactions.ts","frontend/src/api/modules/livestream-rooms.ts","frontend/src/api/modules/livestream-schedules.ts","frontend/src/api/modules/livestream.ts","frontend/src/api/modules/location-assessments.ts","frontend/src/api/modules/login-logs.ts","frontend/src/api/modules/maintenance.ts","frontend/src/api/modules/marketing-automation.ts","frontend/src/api/modules/marketing-calendar.ts","frontend/src/api/modules/marketing-chatbot.ts","frontend/src/api/modules/marketing-content.ts","frontend/src/api/modules/marketing-forms.ts","frontend/src/api/modules/marketing-matrix.ts","frontend/src/api/modules/marketing-north-star.ts","frontend/src/api/modules/marketing-timeslots.ts","frontend/src/api/modules/marketing.ts","frontend/src/api/modules/omnichannel-dashboard.ts","frontend/src/api/modules/omnichannel-data-hub.ts","frontend/src/api/modules/omnichannel-touchpoints.ts","frontend/src/api/modules/operation-logs.ts","frontend/src/api/modules/opportunities.ts","frontend/src/api/modules/predictive-analytics.ts","frontend/src/api/modules/process-designer.ts","frontend/src/api/modules/process.ts","frontend/src/api/modules/products.ts","frontend/src/api/modules/realtime-trigger.ts","frontend/src/api/modules/reports.ts","frontend/src/api/modules/resource-requests.ts","frontend/src/api/modules/revenue.ts","frontend/src/api/modules/rfm-analysis.ts","frontend/src/api/modules/rma.ts","frontend/src/api/modules/satisfaction.ts","frontend/src/api/modules/scheduled-jobs.ts","frontend/src/api/modules/search.ts","frontend/src/api/modules/segments.ts","frontend/src/api/modules/service-monitor.ts","frontend/src/api/modules/sms-marketing.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/api/modules/social-auto-replies.ts","frontend/src/api/modules/social-competitors.ts","frontend/src/api/modules/social-hot-topics.ts","frontend/src/api/modules/social-interactions.ts","frontend/src/api/modules/spare-parts.ts","frontend/src/api/modules/store-performance.ts","frontend/src/api/modules/stores.ts","frontend/src/api/modules/supplier-management.ts","frontend/src/api/modules/swot-analyses.ts","frontend/src/api/modules/system-events.ts","frontend/src/api/modules/ticket-workflows.ts","frontend/src/api/modules/tickets.ts","frontend/src/api/modules/tob-toc-gateway.ts","frontend/src/api/modules/unified-campaign.ts","frontend/src/api/modules/web-tracking.ts","frontend/src/api/modules/workflow-generator.ts","frontend/src/api/response-normalizer.ts","frontend/src/components/business/ActivityTimeline.vue","frontend/src/components/business/EventStreamPanel.vue","frontend/src/components/business/IMPanel.vue","frontend/src/components/common/DataTable.vue","frontend/src/components/common/ResponsiveDataTable.vue","frontend/src/components/mobile/MobileFilter.vue","frontend/src/components/responsive/ResponsiveFilterBar.vue","frontend/src/types/ai-agent.ts","frontend/src/utils/echarts.ts","frontend/src/views/__tests__/standard-crud-smoke.helper.ts","frontend/src/views/abm-marketing/Index.vue","frontend/src/views/acquisition/Index.vue","frontend/src/views/ad-accounts/Form.vue","frontend/src/views/ad-accounts/Index.vue","frontend/src/views/ad-analytics/Index.vue","frontend/src/views/ad-campaigns/Index.vue","frontend/src/views/ad-creatives/Index.vue","frontend/src/views/ad-placement/ABTests.vue","frontend/src/views/ad-placement/AudiencePacks.vue","frontend/src/views/ad-placement/BudgetAlerts.vue","frontend/src/views/ad-placement/Creatives.vue","frontend/src/views/ad-placement/Index.vue","frontend/src/views/ad-placement/RoiAnalysis.vue","frontend/src/views/alliance-agreements/Index.vue","frontend/src/views/alliance-campaigns/Index.vue","frontend/src/views/alliance-coupons/Index.vue","frontend/src/views/alliance-packages/Index.vue","frontend/src/views/alliance-partners/Index.vue","frontend/src/views/alliance-products/Index.vue","frontend/src/views/analytics/roi/Index.vue","frontend/src/views/ap-ledger/Index.vue","frontend/src/views/approval-configs/Form.vue","frontend/src/views/approval-configs/Index.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/approval-templates/Index.vue","frontend/src/views/attribution/Index.vue","frontend/src/views/auth/Index.vue","frontend/src/views/bom/Index.vue","frontend/src/views/campaign-analytics/Index.vue","frontend/src/views/campaign-library/Index.vue","frontend/src/views/campaign-targets/Index.vue","frontend/src/views/campaign-tools/Index.vue","frontend/src/views/campaigns/Detail.vue","frontend/src/views/campaigns/Index.vue","frontend/src/views/campaigns/components/ToolConfigDialog.vue","frontend/src/views/campaigns/wizard/Step3Tools.vue","frontend/src/views/campaigns/wizard/Step4BasicInfo.vue","frontend/src/views/campaigns/wizard/Step7Review.vue","frontend/src/views/campaigns/wizard/components/ToolConfigForms.vue","frontend/src/views/channel-analytics/Index.vue","frontend/src/views/community-bots/Index.vue","frontend/src/views/community-fission/Index.vue","frontend/src/views/community-groups/Index.vue","frontend/src/views/community-materials/Index.vue","frontend/src/views/community-members/Index.vue","frontend/src/views/community-messages/Index.vue","frontend/src/views/community-points/Index.vue","frontend/src/views/community-tasks/Index.vue","frontend/src/views/consumer-behavior-analytics/Index.vue","frontend/src/views/content-creation/Index.vue","frontend/src/views/content-distribution/Index.vue","frontend/src/views/content-library/Detail.vue","frontend/src/views/content-templates/Index.vue","frontend/src/views/contract-templates/Index.vue","frontend/src/views/contracts/Form.vue","frontend/src/views/conversion-paths/Index.vue","frontend/src/views/cost-allocation/Index.vue","frontend/src/views/cpq/Index.vue","frontend/src/views/cross-domain-funnel/Index.vue","frontend/src/views/customer-health/Index.vue","frontend/src/views/customer-journey/Detail.vue","frontend/src/views/customer-marketing/Index.vue","frontend/src/views/customer-segmentation/Form.vue","frontend/src/views/departments/Detail.vue","frontend/src/views/departments/Index.vue","frontend/src/views/devices/Alerts.vue","frontend/src/views/devices/Form.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/dimension-transform/Index.vue","frontend/src/views/email-templates/Form.vue","frontend/src/views/email-templates/Index.vue","frontend/src/views/event-logs/Index.vue","frontend/src/views/expense-claims/Index.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/geo-pois/Index.vue","frontend/src/views/groupbuy-campaigns/Index.vue","frontend/src/views/groupbuy-inventory/Index.vue","frontend/src/views/groupbuy-orders/Index.vue","frontend/src/views/groupbuy-platforms/Index.vue","frontend/src/views/groupbuy-pricing/Index.vue","frontend/src/views/groupbuy-products/Index.vue","frontend/src/views/groupbuy-promotions/Index.vue","frontend/src/views/groupbuy-settlements/Index.vue","frontend/src/views/hr/attendance/components/AttendanceTab.vue","frontend/src/views/hr/attendance/components/HolidaysTab.vue","frontend/src/views/hr/attendance/components/LeavesTab.vue","frontend/src/views/hr/attendance/components/OvertimeTab.vue","frontend/src/views/hr/attendance/components/ShiftsTab.vue","frontend/src/views/hr/training/components/CertificatesTab.vue","frontend/src/views/hr/training/components/CompetencyTab.vue","frontend/src/views/hr/training/components/CoursesTab.vue","frontend/src/views/hr/training/components/ExamsTab.vue","frontend/src/views/hr/training/components/PlansTab.vue","frontend/src/views/hr/training/components/SessionsTab.vue","frontend/src/views/inventory/Counts.vue","frontend/src/views/inventory/Index.vue","frontend/src/views/inventory/Snapshots.vue","frontend/src/views/journey-orchestration/Form.vue","frontend/src/views/knowledge-feedback/Index.vue","frontend/src/views/lead-assignment/Form.vue","frontend/src/views/lead-pools/Form.vue","frontend/src/views/lead-pools/Index.vue","frontend/src/views/lead-qualification/Form.vue","frontend/src/views/lead-qualification/Index.vue","frontend/src/views/leads/Form.vue","frontend/src/views/leads/Index.vue","frontend/src/views/livestream-gifts/Index.vue","frontend/src/views/livestream-groupbuy-conversion/Index.vue","frontend/src/views/livestream-schedules/Index.vue","frontend/src/views/livestream-scripts/Index.vue","frontend/src/views/local-events/Index.vue","frontend/src/views/local-promotion/Index.vue","frontend/src/views/maintenance/Index.vue","frontend/src/views/maintenance/TaskDetail.vue","frontend/src/views/marketing-automation/Index.vue","frontend/src/views/marketing-effectiveness/Index.vue","frontend/src/views/marketing-north-star/Index.vue","frontend/src/views/marketing-tools/Detail.vue","frontend/src/views/marketing-tools/Index.vue","frontend/src/views/marketing/budget-alerts/Index.vue","frontend/src/views/mdm/Index.vue","frontend/src/views/member-benefits/Index.vue","frontend/src/views/member-levels/Index.vue","frontend/src/views/member-points/Index.vue","frontend/src/views/members/Index.vue","frontend/src/views/menus/Index.vue","frontend/src/views/notification-configs/Index.vue","frontend/src/views/notifications/Index.vue","frontend/src/views/omnichannel-dashboard/Index.vue","frontend/src/views/omnichannel-data-hub/Index.vue","frontend/src/views/opportunities/Form.vue","frontend/src/views/orders/Form.vue","frontend/src/views/orders/Index.vue","frontend/src/views/org-chart/Index.vue","frontend/src/views/partners/Detail.vue","frontend/src/views/payment-plans/Index.vue","frontend/src/views/pm/Index.vue","frontend/src/views/predictive-analytics/Form.vue","frontend/src/views/process-designer/Designer.vue","frontend/src/views/product-analytics/Index.vue","frontend/src/views/products/Index.vue","frontend/src/views/qr-codes/Index.vue","frontend/src/views/quotes/Form.vue","frontend/src/views/realtime-trigger/Form.vue","frontend/src/views/renewal-tasks/Index.vue","frontend/src/views/rfm-analysis/Detail.vue","frontend/src/views/rfm-analysis/Index.vue","frontend/src/views/roles/Index.vue","frontend/src/views/scheduled-jobs/Index.vue","frontend/src/views/segments/Index.vue","frontend/src/views/service-monitor/Index.vue","frontend/src/views/settings/Index.vue","frontend/src/views/social-accounts/Index.vue","frontend/src/views/social-auto-replies/Index.vue","frontend/src/views/social-competitors/Index.vue","frontend/src/views/social-matrix/Index.vue","frontend/src/views/social-posts/Detail.vue","frontend/src/views/social-posts/Index.vue","frontend/src/views/spare-parts/Index.vue","frontend/src/views/spare-parts/components/TransactionHistory.vue","frontend/src/views/stage-knowledge/Index.vue","frontend/src/views/store-configs/Index.vue","frontend/src/views/stores/Detail.vue","frontend/src/views/stores/Index.vue","frontend/src/views/supplier-payments/Index.vue","frontend/src/views/suppliers/Index.vue","frontend/src/views/system-events/Index.vue","frontend/src/views/system-monitor/Index.vue","frontend/src/views/system/AuditLogs.vue","frontend/src/views/tenant-configs/Index.vue","frontend/src/views/tickets/Form.vue","frontend/src/views/tickets/Index.vue","frontend/src/views/users/Index.vue","frontend/src/views/utm-tracking/Form.vue","frontend/src/views/video-publishing/Index.vue","frontend/src/views/web-tracking/Index.vue"]}],"total_commits":0,"head_commit":{"id":"dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","message":"feat: 四线并行治理 — Record清零+v-permission扩展+Redis缓存+as any清理\n\n## Line 1: Record\u003cstring,any\u003e 全前端清零 (637→0)\n- 262 个文件批量替换 Record\u003cstring, any\u003e → Record\u003cstring, unknown\u003e\n- 覆盖 API 模块层 137 文件 + 视图/stores/composables 100 文件\n\n## Line 2: v-permission 全面覆盖 (53→104 个视图文件)\n- 新增 51 个视图的 v-permission 指令\n- 覆盖: products/departments/contract-templates/spare-parts/pm/\n stage-knowledge/email-templates/approval-templates/ad-campaigns/\n groupbuy-*/community-*/alliance-*/livestream-*/social-*/content-*/\n geo-*/segments/lead-pools/bom/expense-claims/ap-ledger 等\n\n## Line 3: Redis 缓存扩展 (5→14 个缓存点, 10 个模块)\n- 新建 cache-utils.ts 统一缓存工具层 (withCache + invalidation)\n- 高优: tenant-configs(300s) + roles(1800s) + products(600s) +\n departments(600s) + sla(1800s) + contract-templates(600s)\n- 中优: price-books(600s) + notifications(300s)\n- 写后失效: 所有 create/update/delete 自动清除缓存\n\n## Line 4: as any 清理 (25处)\n- campaign-analytics.controller: 8→0 (精确查询类型)\n- social-interactions.service: 9→0 (Prisma UncheckedCreateInput)\n- store-staff.service: 6→0 (prismaModel 代理)\n- scheduled-jobs.consumer: 2→0 (直接使用已有类型)\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-24T10:14:13+08:00","added":["backend/src/shared/constants/events/common.ts","backend/src/shared/constants/events/finance.ts","backend/src/shared/constants/events/hr.ts","backend/src/shared/constants/events/im.ts","backend/src/shared/constants/events/index.ts","backend/src/shared/constants/events/knowledge.ts","backend/src/shared/constants/events/lifecycle.ts","backend/src/shared/constants/events/marketing.ts","backend/src/shared/constants/events/sales.ts","backend/src/shared/constants/events/service.ts","backend/src/shared/constants/events/store.ts","backend/src/shared/constants/events/supply_chain.ts","backend/src/shared/constants/events/system.ts","backend/src/shared/services/list-cache.service.ts","backend/src/shared/utils/cache-utils.ts"],"removed":[],"modified":["backend/src/consumers/attribution.consumer.ts","backend/src/consumers/campaign-effectiveness.consumer.ts","backend/src/consumers/marketing-workflow-executor.consumer.ts","backend/src/consumers/scheduled-jobs.consumer.ts","backend/src/modules/ai-agents/services/knowledge-vector-enhanced.service.ts","backend/src/modules/alliance-settlements/alliance-settlement.service.test.ts","backend/src/modules/campaign-analytics/campaign-analytics.controller.ts","backend/src/modules/contract-templates/contract-template.service.ts","backend/src/modules/contracts/contract.controller.ts","backend/src/modules/contracts/contract.routes.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/customers/customer.service.ts","backend/src/modules/departments/department.service.test.ts","backend/src/modules/departments/department.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/leads/lead-sla.service.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-interactions/livestream-realtime.service.ts","backend/src/modules/marketing-automation/workflow-trigger.service.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.controller.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.routes.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.service.ts","backend/src/modules/notifications/notification.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/payments/payment.service.test.ts","backend/src/modules/price-books/price-book.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/roles/role.service.ts","backend/src/modules/segments/segment.service.ts","backend/src/modules/sla/sla.service.ts","backend/src/modules/social-interactions/social-interactions.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/tenant-configs/tenant-config.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/constants/events.ts","backend/src/shared/services/partition-maintenance.service.ts","backend/src/shared/state-machines/machines/contract.machine.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/state-machines/types.ts","backend/src/shared/state-machines/utils/transitions/sales.transitions.ts","backend/src/shared/utils/biz-code.ts","frontend/src/api/adapters.ts","frontend/src/api/im-binding.ts","frontend/src/api/modules/ad-accounts.ts","frontend/src/api/modules/ad-audiences.ts","frontend/src/api/modules/ad-creatives.ts","frontend/src/api/modules/ad-placement.ts","frontend/src/api/modules/ad-reports.ts","frontend/src/api/modules/agent-group.ts","frontend/src/api/modules/ai-agent.ts","frontend/src/api/modules/alliance-analytics.ts","frontend/src/api/modules/alliance-merchants.ts","frontend/src/api/modules/alliance-products.ts","frontend/src/api/modules/alliance-promotions.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/analytics.ts","frontend/src/api/modules/approvals.ts","frontend/src/api/modules/assets.ts","frontend/src/api/modules/attribution.ts","frontend/src/api/modules/audit-logs.ts","frontend/src/api/modules/campaign-drafts.ts","frontend/src/api/modules/campaign-library.ts","frontend/src/api/modules/campaign-targets.ts","frontend/src/api/modules/campaign-tools.ts","frontend/src/api/modules/campaign-use-case-templates.ts","frontend/src/api/modules/campaign-wizard.ts","frontend/src/api/modules/campaigns.ts","frontend/src/api/modules/cohort-analysis.ts","frontend/src/api/modules/commissions.ts","frontend/src/api/modules/community-activities.ts","frontend/src/api/modules/community-analytics.ts","frontend/src/api/modules/community-bots.ts","frontend/src/api/modules/community-groups.ts","frontend/src/api/modules/community-levels.ts","frontend/src/api/modules/community-members.ts","frontend/src/api/modules/community-messages.ts","frontend/src/api/modules/community-points.ts","frontend/src/api/modules/consumer-behavior-analytics.ts","frontend/src/api/modules/content-categories.ts","frontend/src/api/modules/content-copyright.ts","frontend/src/api/modules/content-creation.ts","frontend/src/api/modules/content-distribution.ts","frontend/src/api/modules/content-library.ts","frontend/src/api/modules/content-templates.ts","frontend/src/api/modules/contract-templates.ts","frontend/src/api/modules/cpq.ts","frontend/src/api/modules/cross-domain-funnel.ts","frontend/src/api/modules/customer-analytics.ts","frontend/src/api/modules/customer-health.ts","frontend/src/api/modules/customer-journey.ts","frontend/src/api/modules/customer-ltv.ts","frontend/src/api/modules/customer-marketing.ts","frontend/src/api/modules/customer-segmentation.ts","frontend/src/api/modules/devices.ts","frontend/src/api/modules/dictionaries.ts","frontend/src/api/modules/dimension-transform.ts","frontend/src/api/modules/email-marketing.ts","frontend/src/api/modules/email-templates.ts","frontend/src/api/modules/event-logs.ts","frontend/src/api/modules/events.ts","frontend/src/api/modules/expense.ts","frontend/src/api/modules/financial-reports.ts","frontend/src/api/modules/fulfillment.ts","frontend/src/api/modules/geo-fences.ts","frontend/src/api/modules/geo-pois.ts","frontend/src/api/modules/groupbuy-analytics.ts","frontend/src/api/modules/groupbuy-campaigns.ts","frontend/src/api/modules/groupbuy-platforms.ts","frontend/src/api/modules/groupbuy-pricing.ts","frontend/src/api/modules/groupbuy-products.ts","frontend/src/api/modules/groupbuy-settlements.ts","frontend/src/api/modules/hr-benefits.ts","frontend/src/api/modules/hr-payroll.ts","frontend/src/api/modules/im-channels.ts","frontend/src/api/modules/im.ts","frontend/src/api/modules/integration-services.ts","frontend/src/api/modules/intent-analyzer.ts","frontend/src/api/modules/journey-orchestration.ts","frontend/src/api/modules/knowledge-candidates.ts","frontend/src/api/modules/knowledge-capture.ts","frontend/src/api/modules/landing-pages.ts","frontend/src/api/modules/lead-scoring-ai.ts","frontend/src/api/modules/livestream-groupbuy-conversion.ts","frontend/src/api/modules/livestream-groupbuy.ts","frontend/src/api/modules/livestream-interactions.ts","frontend/src/api/modules/livestream-rooms.ts","frontend/src/api/modules/livestream-schedules.ts","frontend/src/api/modules/livestream.ts","frontend/src/api/modules/location-assessments.ts","frontend/src/api/modules/login-logs.ts","frontend/src/api/modules/maintenance.ts","frontend/src/api/modules/marketing-automation.ts","frontend/src/api/modules/marketing-calendar.ts","frontend/src/api/modules/marketing-chatbot.ts","frontend/src/api/modules/marketing-content.ts","frontend/src/api/modules/marketing-forms.ts","frontend/src/api/modules/marketing-matrix.ts","frontend/src/api/modules/marketing-north-star.ts","frontend/src/api/modules/marketing-timeslots.ts","frontend/src/api/modules/marketing.ts","frontend/src/api/modules/omnichannel-dashboard.ts","frontend/src/api/modules/omnichannel-data-hub.ts","frontend/src/api/modules/omnichannel-touchpoints.ts","frontend/src/api/modules/operation-logs.ts","frontend/src/api/modules/opportunities.ts","frontend/src/api/modules/predictive-analytics.ts","frontend/src/api/modules/process-designer.ts","frontend/src/api/modules/process.ts","frontend/src/api/modules/products.ts","frontend/src/api/modules/realtime-trigger.ts","frontend/src/api/modules/reports.ts","frontend/src/api/modules/resource-requests.ts","frontend/src/api/modules/revenue.ts","frontend/src/api/modules/rfm-analysis.ts","frontend/src/api/modules/rma.ts","frontend/src/api/modules/satisfaction.ts","frontend/src/api/modules/scheduled-jobs.ts","frontend/src/api/modules/search.ts","frontend/src/api/modules/segments.ts","frontend/src/api/modules/service-monitor.ts","frontend/src/api/modules/sms-marketing.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/api/modules/social-auto-replies.ts","frontend/src/api/modules/social-competitors.ts","frontend/src/api/modules/social-hot-topics.ts","frontend/src/api/modules/social-interactions.ts","frontend/src/api/modules/spare-parts.ts","frontend/src/api/modules/store-performance.ts","frontend/src/api/modules/stores.ts","frontend/src/api/modules/supplier-management.ts","frontend/src/api/modules/swot-analyses.ts","frontend/src/api/modules/system-events.ts","frontend/src/api/modules/ticket-workflows.ts","frontend/src/api/modules/tickets.ts","frontend/src/api/modules/tob-toc-gateway.ts","frontend/src/api/modules/unified-campaign.ts","frontend/src/api/modules/web-tracking.ts","frontend/src/api/modules/workflow-generator.ts","frontend/src/api/response-normalizer.ts","frontend/src/components/business/ActivityTimeline.vue","frontend/src/components/business/EventStreamPanel.vue","frontend/src/components/business/IMPanel.vue","frontend/src/components/common/DataTable.vue","frontend/src/components/common/ResponsiveDataTable.vue","frontend/src/components/mobile/MobileFilter.vue","frontend/src/components/responsive/ResponsiveFilterBar.vue","frontend/src/types/ai-agent.ts","frontend/src/utils/echarts.ts","frontend/src/views/__tests__/standard-crud-smoke.helper.ts","frontend/src/views/abm-marketing/Index.vue","frontend/src/views/acquisition/Index.vue","frontend/src/views/ad-accounts/Form.vue","frontend/src/views/ad-accounts/Index.vue","frontend/src/views/ad-analytics/Index.vue","frontend/src/views/ad-campaigns/Index.vue","frontend/src/views/ad-creatives/Index.vue","frontend/src/views/ad-placement/ABTests.vue","frontend/src/views/ad-placement/AudiencePacks.vue","frontend/src/views/ad-placement/BudgetAlerts.vue","frontend/src/views/ad-placement/Creatives.vue","frontend/src/views/ad-placement/Index.vue","frontend/src/views/ad-placement/RoiAnalysis.vue","frontend/src/views/alliance-agreements/Index.vue","frontend/src/views/alliance-campaigns/Index.vue","frontend/src/views/alliance-coupons/Index.vue","frontend/src/views/alliance-packages/Index.vue","frontend/src/views/alliance-partners/Index.vue","frontend/src/views/alliance-products/Index.vue","frontend/src/views/analytics/roi/Index.vue","frontend/src/views/ap-ledger/Index.vue","frontend/src/views/approval-configs/Form.vue","frontend/src/views/approval-configs/Index.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/approval-templates/Index.vue","frontend/src/views/attribution/Index.vue","frontend/src/views/auth/Index.vue","frontend/src/views/bom/Index.vue","frontend/src/views/campaign-analytics/Index.vue","frontend/src/views/campaign-library/Index.vue","frontend/src/views/campaign-targets/Index.vue","frontend/src/views/campaign-tools/Index.vue","frontend/src/views/campaigns/Detail.vue","frontend/src/views/campaigns/Index.vue","frontend/src/views/campaigns/components/ToolConfigDialog.vue","frontend/src/views/campaigns/wizard/Step3Tools.vue","frontend/src/views/campaigns/wizard/Step4BasicInfo.vue","frontend/src/views/campaigns/wizard/Step7Review.vue","frontend/src/views/campaigns/wizard/components/ToolConfigForms.vue","frontend/src/views/channel-analytics/Index.vue","frontend/src/views/community-bots/Index.vue","frontend/src/views/community-fission/Index.vue","frontend/src/views/community-groups/Index.vue","frontend/src/views/community-materials/Index.vue","frontend/src/views/community-members/Index.vue","frontend/src/views/community-messages/Index.vue","frontend/src/views/community-points/Index.vue","frontend/src/views/community-tasks/Index.vue","frontend/src/views/consumer-behavior-analytics/Index.vue","frontend/src/views/content-creation/Index.vue","frontend/src/views/content-distribution/Index.vue","frontend/src/views/content-library/Detail.vue","frontend/src/views/content-templates/Index.vue","frontend/src/views/contract-templates/Index.vue","frontend/src/views/contracts/Form.vue","frontend/src/views/conversion-paths/Index.vue","frontend/src/views/cost-allocation/Index.vue","frontend/src/views/cpq/Index.vue","frontend/src/views/cross-domain-funnel/Index.vue","frontend/src/views/customer-health/Index.vue","frontend/src/views/customer-journey/Detail.vue","frontend/src/views/customer-marketing/Index.vue","frontend/src/views/customer-segmentation/Form.vue","frontend/src/views/departments/Detail.vue","frontend/src/views/departments/Index.vue","frontend/src/views/devices/Alerts.vue","frontend/src/views/devices/Form.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/dimension-transform/Index.vue","frontend/src/views/email-templates/Form.vue","frontend/src/views/email-templates/Index.vue","frontend/src/views/event-logs/Index.vue","frontend/src/views/expense-claims/Index.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/geo-pois/Index.vue","frontend/src/views/groupbuy-campaigns/Index.vue","frontend/src/views/groupbuy-inventory/Index.vue","frontend/src/views/groupbuy-orders/Index.vue","frontend/src/views/groupbuy-platforms/Index.vue","frontend/src/views/groupbuy-pricing/Index.vue","frontend/src/views/groupbuy-products/Index.vue","frontend/src/views/groupbuy-promotions/Index.vue","frontend/src/views/groupbuy-settlements/Index.vue","frontend/src/views/hr/attendance/components/AttendanceTab.vue","frontend/src/views/hr/attendance/components/HolidaysTab.vue","frontend/src/views/hr/attendance/components/LeavesTab.vue","frontend/src/views/hr/attendance/components/OvertimeTab.vue","frontend/src/views/hr/attendance/components/ShiftsTab.vue","frontend/src/views/hr/training/components/CertificatesTab.vue","frontend/src/views/hr/training/components/CompetencyTab.vue","frontend/src/views/hr/training/components/CoursesTab.vue","frontend/src/views/hr/training/components/ExamsTab.vue","frontend/src/views/hr/training/components/PlansTab.vue","frontend/src/views/hr/training/components/SessionsTab.vue","frontend/src/views/inventory/Counts.vue","frontend/src/views/inventory/Index.vue","frontend/src/views/inventory/Snapshots.vue","frontend/src/views/journey-orchestration/Form.vue","frontend/src/views/knowledge-feedback/Index.vue","frontend/src/views/lead-assignment/Form.vue","frontend/src/views/lead-pools/Form.vue","frontend/src/views/lead-pools/Index.vue","frontend/src/views/lead-qualification/Form.vue","frontend/src/views/lead-qualification/Index.vue","frontend/src/views/leads/Form.vue","frontend/src/views/leads/Index.vue","frontend/src/views/livestream-gifts/Index.vue","frontend/src/views/livestream-groupbuy-conversion/Index.vue","frontend/src/views/livestream-schedules/Index.vue","frontend/src/views/livestream-scripts/Index.vue","frontend/src/views/local-events/Index.vue","frontend/src/views/local-promotion/Index.vue","frontend/src/views/maintenance/Index.vue","frontend/src/views/maintenance/TaskDetail.vue","frontend/src/views/marketing-automation/Index.vue","frontend/src/views/marketing-effectiveness/Index.vue","frontend/src/views/marketing-north-star/Index.vue","frontend/src/views/marketing-tools/Detail.vue","frontend/src/views/marketing-tools/Index.vue","frontend/src/views/marketing/budget-alerts/Index.vue","frontend/src/views/mdm/Index.vue","frontend/src/views/member-benefits/Index.vue","frontend/src/views/member-levels/Index.vue","frontend/src/views/member-points/Index.vue","frontend/src/views/members/Index.vue","frontend/src/views/menus/Index.vue","frontend/src/views/notification-configs/Index.vue","frontend/src/views/notifications/Index.vue","frontend/src/views/omnichannel-dashboard/Index.vue","frontend/src/views/omnichannel-data-hub/Index.vue","frontend/src/views/opportunities/Form.vue","frontend/src/views/orders/Form.vue","frontend/src/views/orders/Index.vue","frontend/src/views/org-chart/Index.vue","frontend/src/views/partners/Detail.vue","frontend/src/views/payment-plans/Index.vue","frontend/src/views/pm/Index.vue","frontend/src/views/predictive-analytics/Form.vue","frontend/src/views/process-designer/Designer.vue","frontend/src/views/product-analytics/Index.vue","frontend/src/views/products/Index.vue","frontend/src/views/qr-codes/Index.vue","frontend/src/views/quotes/Form.vue","frontend/src/views/realtime-trigger/Form.vue","frontend/src/views/renewal-tasks/Index.vue","frontend/src/views/rfm-analysis/Detail.vue","frontend/src/views/rfm-analysis/Index.vue","frontend/src/views/roles/Index.vue","frontend/src/views/scheduled-jobs/Index.vue","frontend/src/views/segments/Index.vue","frontend/src/views/service-monitor/Index.vue","frontend/src/views/settings/Index.vue","frontend/src/views/social-accounts/Index.vue","frontend/src/views/social-auto-replies/Index.vue","frontend/src/views/social-competitors/Index.vue","frontend/src/views/social-matrix/Index.vue","frontend/src/views/social-posts/Detail.vue","frontend/src/views/social-posts/Index.vue","frontend/src/views/spare-parts/Index.vue","frontend/src/views/spare-parts/components/TransactionHistory.vue","frontend/src/views/stage-knowledge/Index.vue","frontend/src/views/store-configs/Index.vue","frontend/src/views/stores/Detail.vue","frontend/src/views/stores/Index.vue","frontend/src/views/supplier-payments/Index.vue","frontend/src/views/suppliers/Index.vue","frontend/src/views/system-events/Index.vue","frontend/src/views/system-monitor/Index.vue","frontend/src/views/system/AuditLogs.vue","frontend/src/views/tenant-configs/Index.vue","frontend/src/views/tickets/Form.vue","frontend/src/views/tickets/Index.vue","frontend/src/views/users/Index.vue","frontend/src/views/utm-tracking/Form.vue","frontend/src/views/video-publishing/Index.vue","frontend/src/views/web-tracking/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":1956552,"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":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-24T09:45:16+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
|
1774318462
|
1774319005
|
0
|
1774318460
|
1774319045
|
|
|
0
|
Edit
Delete
|
|
7650
|
feat: 四线并行治理 — Record清零+v-permission扩展+Redis缓存+as feat: 四线并行治理 — Record清零+v-permission扩展+Redis缓存+as any清理...
|
6
|
5
|
test-pipeline.yml
|
7575
|
5
|
0
|
refs/heads/main
|
dbf34b08bbb60650d15b0c55262dbfe8d0a3a655
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"8c39619c9cdb0d888d10942bf50533c8238021df","after":"dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/8c39619c9cdb0d888d10942bf50533c8238021df...dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","commits":[{"id":"dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","message":"feat: 四线并行治理 — Record清零+v-permission扩展+Redis缓存+as any清理\n\n## Line 1: Record\u003cstring,any\u003e 全前端清零 (637→0)\n- 262 个文件批量替换 Record\u003cstring, any\u003e → Record\u003cstring, unknown\u003e\n- 覆盖 API 模块层 137 文件 + 视图/stores/composables 100 文件\n\n## Line 2: v-permission 全面覆盖 (53→104 个视图文件)\n- 新增 51 个视图的 v-permission 指令\n- 覆盖: products/departments/contract-templates/spare-parts/pm/\n stage-knowledge/email-templates/approval-templates/ad-campaigns/\n groupbuy-*/community-*/alliance-*/livestream-*/social-*/content-*/\n geo-*/segments/lead-pools/bom/expense-claims/ap-ledger 等\n\n## Line 3: Redis 缓存扩展 (5→14 个缓存点, 10 个模块)\n- 新建 cache-utils.ts 统一缓存工具层 (withCache + invalidation)\n- 高优: tenant-configs(300s) + roles(1800s) + products(600s) +\n departments(600s) + sla(1800s) + contract-templates(600s)\n- 中优: price-books(600s) + notifications(300s)\n- 写后失效: 所有 create/update/delete 自动清除缓存\n\n## Line 4: as any 清理 (25处)\n- campaign-analytics.controller: 8→0 (精确查询类型)\n- social-interactions.service: 9→0 (Prisma UncheckedCreateInput)\n- store-staff.service: 6→0 (prismaModel 代理)\n- scheduled-jobs.consumer: 2→0 (直接使用已有类型)\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-24T10:14:13+08:00","added":["backend/src/shared/constants/events/common.ts","backend/src/shared/constants/events/finance.ts","backend/src/shared/constants/events/hr.ts","backend/src/shared/constants/events/im.ts","backend/src/shared/constants/events/index.ts","backend/src/shared/constants/events/knowledge.ts","backend/src/shared/constants/events/lifecycle.ts","backend/src/shared/constants/events/marketing.ts","backend/src/shared/constants/events/sales.ts","backend/src/shared/constants/events/service.ts","backend/src/shared/constants/events/store.ts","backend/src/shared/constants/events/supply_chain.ts","backend/src/shared/constants/events/system.ts","backend/src/shared/services/list-cache.service.ts","backend/src/shared/utils/cache-utils.ts"],"removed":[],"modified":["backend/src/consumers/attribution.consumer.ts","backend/src/consumers/campaign-effectiveness.consumer.ts","backend/src/consumers/marketing-workflow-executor.consumer.ts","backend/src/consumers/scheduled-jobs.consumer.ts","backend/src/modules/ai-agents/services/knowledge-vector-enhanced.service.ts","backend/src/modules/alliance-settlements/alliance-settlement.service.test.ts","backend/src/modules/campaign-analytics/campaign-analytics.controller.ts","backend/src/modules/contract-templates/contract-template.service.ts","backend/src/modules/contracts/contract.controller.ts","backend/src/modules/contracts/contract.routes.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/customers/customer.service.ts","backend/src/modules/departments/department.service.test.ts","backend/src/modules/departments/department.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/leads/lead-sla.service.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-interactions/livestream-realtime.service.ts","backend/src/modules/marketing-automation/workflow-trigger.service.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.controller.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.routes.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.service.ts","backend/src/modules/notifications/notification.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/payments/payment.service.test.ts","backend/src/modules/price-books/price-book.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/roles/role.service.ts","backend/src/modules/segments/segment.service.ts","backend/src/modules/sla/sla.service.ts","backend/src/modules/social-interactions/social-interactions.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/tenant-configs/tenant-config.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/constants/events.ts","backend/src/shared/services/partition-maintenance.service.ts","backend/src/shared/state-machines/machines/contract.machine.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/state-machines/types.ts","backend/src/shared/state-machines/utils/transitions/sales.transitions.ts","backend/src/shared/utils/biz-code.ts","frontend/src/api/adapters.ts","frontend/src/api/im-binding.ts","frontend/src/api/modules/ad-accounts.ts","frontend/src/api/modules/ad-audiences.ts","frontend/src/api/modules/ad-creatives.ts","frontend/src/api/modules/ad-placement.ts","frontend/src/api/modules/ad-reports.ts","frontend/src/api/modules/agent-group.ts","frontend/src/api/modules/ai-agent.ts","frontend/src/api/modules/alliance-analytics.ts","frontend/src/api/modules/alliance-merchants.ts","frontend/src/api/modules/alliance-products.ts","frontend/src/api/modules/alliance-promotions.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/analytics.ts","frontend/src/api/modules/approvals.ts","frontend/src/api/modules/assets.ts","frontend/src/api/modules/attribution.ts","frontend/src/api/modules/audit-logs.ts","frontend/src/api/modules/campaign-drafts.ts","frontend/src/api/modules/campaign-library.ts","frontend/src/api/modules/campaign-targets.ts","frontend/src/api/modules/campaign-tools.ts","frontend/src/api/modules/campaign-use-case-templates.ts","frontend/src/api/modules/campaign-wizard.ts","frontend/src/api/modules/campaigns.ts","frontend/src/api/modules/cohort-analysis.ts","frontend/src/api/modules/commissions.ts","frontend/src/api/modules/community-activities.ts","frontend/src/api/modules/community-analytics.ts","frontend/src/api/modules/community-bots.ts","frontend/src/api/modules/community-groups.ts","frontend/src/api/modules/community-levels.ts","frontend/src/api/modules/community-members.ts","frontend/src/api/modules/community-messages.ts","frontend/src/api/modules/community-points.ts","frontend/src/api/modules/consumer-behavior-analytics.ts","frontend/src/api/modules/content-categories.ts","frontend/src/api/modules/content-copyright.ts","frontend/src/api/modules/content-creation.ts","frontend/src/api/modules/content-distribution.ts","frontend/src/api/modules/content-library.ts","frontend/src/api/modules/content-templates.ts","frontend/src/api/modules/contract-templates.ts","frontend/src/api/modules/cpq.ts","frontend/src/api/modules/cross-domain-funnel.ts","frontend/src/api/modules/customer-analytics.ts","frontend/src/api/modules/customer-health.ts","frontend/src/api/modules/customer-journey.ts","frontend/src/api/modules/customer-ltv.ts","frontend/src/api/modules/customer-marketing.ts","frontend/src/api/modules/customer-segmentation.ts","frontend/src/api/modules/devices.ts","frontend/src/api/modules/dictionaries.ts","frontend/src/api/modules/dimension-transform.ts","frontend/src/api/modules/email-marketing.ts","frontend/src/api/modules/email-templates.ts","frontend/src/api/modules/event-logs.ts","frontend/src/api/modules/events.ts","frontend/src/api/modules/expense.ts","frontend/src/api/modules/financial-reports.ts","frontend/src/api/modules/fulfillment.ts","frontend/src/api/modules/geo-fences.ts","frontend/src/api/modules/geo-pois.ts","frontend/src/api/modules/groupbuy-analytics.ts","frontend/src/api/modules/groupbuy-campaigns.ts","frontend/src/api/modules/groupbuy-platforms.ts","frontend/src/api/modules/groupbuy-pricing.ts","frontend/src/api/modules/groupbuy-products.ts","frontend/src/api/modules/groupbuy-settlements.ts","frontend/src/api/modules/hr-benefits.ts","frontend/src/api/modules/hr-payroll.ts","frontend/src/api/modules/im-channels.ts","frontend/src/api/modules/im.ts","frontend/src/api/modules/integration-services.ts","frontend/src/api/modules/intent-analyzer.ts","frontend/src/api/modules/journey-orchestration.ts","frontend/src/api/modules/knowledge-candidates.ts","frontend/src/api/modules/knowledge-capture.ts","frontend/src/api/modules/landing-pages.ts","frontend/src/api/modules/lead-scoring-ai.ts","frontend/src/api/modules/livestream-groupbuy-conversion.ts","frontend/src/api/modules/livestream-groupbuy.ts","frontend/src/api/modules/livestream-interactions.ts","frontend/src/api/modules/livestream-rooms.ts","frontend/src/api/modules/livestream-schedules.ts","frontend/src/api/modules/livestream.ts","frontend/src/api/modules/location-assessments.ts","frontend/src/api/modules/login-logs.ts","frontend/src/api/modules/maintenance.ts","frontend/src/api/modules/marketing-automation.ts","frontend/src/api/modules/marketing-calendar.ts","frontend/src/api/modules/marketing-chatbot.ts","frontend/src/api/modules/marketing-content.ts","frontend/src/api/modules/marketing-forms.ts","frontend/src/api/modules/marketing-matrix.ts","frontend/src/api/modules/marketing-north-star.ts","frontend/src/api/modules/marketing-timeslots.ts","frontend/src/api/modules/marketing.ts","frontend/src/api/modules/omnichannel-dashboard.ts","frontend/src/api/modules/omnichannel-data-hub.ts","frontend/src/api/modules/omnichannel-touchpoints.ts","frontend/src/api/modules/operation-logs.ts","frontend/src/api/modules/opportunities.ts","frontend/src/api/modules/predictive-analytics.ts","frontend/src/api/modules/process-designer.ts","frontend/src/api/modules/process.ts","frontend/src/api/modules/products.ts","frontend/src/api/modules/realtime-trigger.ts","frontend/src/api/modules/reports.ts","frontend/src/api/modules/resource-requests.ts","frontend/src/api/modules/revenue.ts","frontend/src/api/modules/rfm-analysis.ts","frontend/src/api/modules/rma.ts","frontend/src/api/modules/satisfaction.ts","frontend/src/api/modules/scheduled-jobs.ts","frontend/src/api/modules/search.ts","frontend/src/api/modules/segments.ts","frontend/src/api/modules/service-monitor.ts","frontend/src/api/modules/sms-marketing.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/api/modules/social-auto-replies.ts","frontend/src/api/modules/social-competitors.ts","frontend/src/api/modules/social-hot-topics.ts","frontend/src/api/modules/social-interactions.ts","frontend/src/api/modules/spare-parts.ts","frontend/src/api/modules/store-performance.ts","frontend/src/api/modules/stores.ts","frontend/src/api/modules/supplier-management.ts","frontend/src/api/modules/swot-analyses.ts","frontend/src/api/modules/system-events.ts","frontend/src/api/modules/ticket-workflows.ts","frontend/src/api/modules/tickets.ts","frontend/src/api/modules/tob-toc-gateway.ts","frontend/src/api/modules/unified-campaign.ts","frontend/src/api/modules/web-tracking.ts","frontend/src/api/modules/workflow-generator.ts","frontend/src/api/response-normalizer.ts","frontend/src/components/business/ActivityTimeline.vue","frontend/src/components/business/EventStreamPanel.vue","frontend/src/components/business/IMPanel.vue","frontend/src/components/common/DataTable.vue","frontend/src/components/common/ResponsiveDataTable.vue","frontend/src/components/mobile/MobileFilter.vue","frontend/src/components/responsive/ResponsiveFilterBar.vue","frontend/src/types/ai-agent.ts","frontend/src/utils/echarts.ts","frontend/src/views/__tests__/standard-crud-smoke.helper.ts","frontend/src/views/abm-marketing/Index.vue","frontend/src/views/acquisition/Index.vue","frontend/src/views/ad-accounts/Form.vue","frontend/src/views/ad-accounts/Index.vue","frontend/src/views/ad-analytics/Index.vue","frontend/src/views/ad-campaigns/Index.vue","frontend/src/views/ad-creatives/Index.vue","frontend/src/views/ad-placement/ABTests.vue","frontend/src/views/ad-placement/AudiencePacks.vue","frontend/src/views/ad-placement/BudgetAlerts.vue","frontend/src/views/ad-placement/Creatives.vue","frontend/src/views/ad-placement/Index.vue","frontend/src/views/ad-placement/RoiAnalysis.vue","frontend/src/views/alliance-agreements/Index.vue","frontend/src/views/alliance-campaigns/Index.vue","frontend/src/views/alliance-coupons/Index.vue","frontend/src/views/alliance-packages/Index.vue","frontend/src/views/alliance-partners/Index.vue","frontend/src/views/alliance-products/Index.vue","frontend/src/views/analytics/roi/Index.vue","frontend/src/views/ap-ledger/Index.vue","frontend/src/views/approval-configs/Form.vue","frontend/src/views/approval-configs/Index.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/approval-templates/Index.vue","frontend/src/views/attribution/Index.vue","frontend/src/views/auth/Index.vue","frontend/src/views/bom/Index.vue","frontend/src/views/campaign-analytics/Index.vue","frontend/src/views/campaign-library/Index.vue","frontend/src/views/campaign-targets/Index.vue","frontend/src/views/campaign-tools/Index.vue","frontend/src/views/campaigns/Detail.vue","frontend/src/views/campaigns/Index.vue","frontend/src/views/campaigns/components/ToolConfigDialog.vue","frontend/src/views/campaigns/wizard/Step3Tools.vue","frontend/src/views/campaigns/wizard/Step4BasicInfo.vue","frontend/src/views/campaigns/wizard/Step7Review.vue","frontend/src/views/campaigns/wizard/components/ToolConfigForms.vue","frontend/src/views/channel-analytics/Index.vue","frontend/src/views/community-bots/Index.vue","frontend/src/views/community-fission/Index.vue","frontend/src/views/community-groups/Index.vue","frontend/src/views/community-materials/Index.vue","frontend/src/views/community-members/Index.vue","frontend/src/views/community-messages/Index.vue","frontend/src/views/community-points/Index.vue","frontend/src/views/community-tasks/Index.vue","frontend/src/views/consumer-behavior-analytics/Index.vue","frontend/src/views/content-creation/Index.vue","frontend/src/views/content-distribution/Index.vue","frontend/src/views/content-library/Detail.vue","frontend/src/views/content-templates/Index.vue","frontend/src/views/contract-templates/Index.vue","frontend/src/views/contracts/Form.vue","frontend/src/views/conversion-paths/Index.vue","frontend/src/views/cost-allocation/Index.vue","frontend/src/views/cpq/Index.vue","frontend/src/views/cross-domain-funnel/Index.vue","frontend/src/views/customer-health/Index.vue","frontend/src/views/customer-journey/Detail.vue","frontend/src/views/customer-marketing/Index.vue","frontend/src/views/customer-segmentation/Form.vue","frontend/src/views/departments/Detail.vue","frontend/src/views/departments/Index.vue","frontend/src/views/devices/Alerts.vue","frontend/src/views/devices/Form.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/dimension-transform/Index.vue","frontend/src/views/email-templates/Form.vue","frontend/src/views/email-templates/Index.vue","frontend/src/views/event-logs/Index.vue","frontend/src/views/expense-claims/Index.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/geo-pois/Index.vue","frontend/src/views/groupbuy-campaigns/Index.vue","frontend/src/views/groupbuy-inventory/Index.vue","frontend/src/views/groupbuy-orders/Index.vue","frontend/src/views/groupbuy-platforms/Index.vue","frontend/src/views/groupbuy-pricing/Index.vue","frontend/src/views/groupbuy-products/Index.vue","frontend/src/views/groupbuy-promotions/Index.vue","frontend/src/views/groupbuy-settlements/Index.vue","frontend/src/views/hr/attendance/components/AttendanceTab.vue","frontend/src/views/hr/attendance/components/HolidaysTab.vue","frontend/src/views/hr/attendance/components/LeavesTab.vue","frontend/src/views/hr/attendance/components/OvertimeTab.vue","frontend/src/views/hr/attendance/components/ShiftsTab.vue","frontend/src/views/hr/training/components/CertificatesTab.vue","frontend/src/views/hr/training/components/CompetencyTab.vue","frontend/src/views/hr/training/components/CoursesTab.vue","frontend/src/views/hr/training/components/ExamsTab.vue","frontend/src/views/hr/training/components/PlansTab.vue","frontend/src/views/hr/training/components/SessionsTab.vue","frontend/src/views/inventory/Counts.vue","frontend/src/views/inventory/Index.vue","frontend/src/views/inventory/Snapshots.vue","frontend/src/views/journey-orchestration/Form.vue","frontend/src/views/knowledge-feedback/Index.vue","frontend/src/views/lead-assignment/Form.vue","frontend/src/views/lead-pools/Form.vue","frontend/src/views/lead-pools/Index.vue","frontend/src/views/lead-qualification/Form.vue","frontend/src/views/lead-qualification/Index.vue","frontend/src/views/leads/Form.vue","frontend/src/views/leads/Index.vue","frontend/src/views/livestream-gifts/Index.vue","frontend/src/views/livestream-groupbuy-conversion/Index.vue","frontend/src/views/livestream-schedules/Index.vue","frontend/src/views/livestream-scripts/Index.vue","frontend/src/views/local-events/Index.vue","frontend/src/views/local-promotion/Index.vue","frontend/src/views/maintenance/Index.vue","frontend/src/views/maintenance/TaskDetail.vue","frontend/src/views/marketing-automation/Index.vue","frontend/src/views/marketing-effectiveness/Index.vue","frontend/src/views/marketing-north-star/Index.vue","frontend/src/views/marketing-tools/Detail.vue","frontend/src/views/marketing-tools/Index.vue","frontend/src/views/marketing/budget-alerts/Index.vue","frontend/src/views/mdm/Index.vue","frontend/src/views/member-benefits/Index.vue","frontend/src/views/member-levels/Index.vue","frontend/src/views/member-points/Index.vue","frontend/src/views/members/Index.vue","frontend/src/views/menus/Index.vue","frontend/src/views/notification-configs/Index.vue","frontend/src/views/notifications/Index.vue","frontend/src/views/omnichannel-dashboard/Index.vue","frontend/src/views/omnichannel-data-hub/Index.vue","frontend/src/views/opportunities/Form.vue","frontend/src/views/orders/Form.vue","frontend/src/views/orders/Index.vue","frontend/src/views/org-chart/Index.vue","frontend/src/views/partners/Detail.vue","frontend/src/views/payment-plans/Index.vue","frontend/src/views/pm/Index.vue","frontend/src/views/predictive-analytics/Form.vue","frontend/src/views/process-designer/Designer.vue","frontend/src/views/product-analytics/Index.vue","frontend/src/views/products/Index.vue","frontend/src/views/qr-codes/Index.vue","frontend/src/views/quotes/Form.vue","frontend/src/views/realtime-trigger/Form.vue","frontend/src/views/renewal-tasks/Index.vue","frontend/src/views/rfm-analysis/Detail.vue","frontend/src/views/rfm-analysis/Index.vue","frontend/src/views/roles/Index.vue","frontend/src/views/scheduled-jobs/Index.vue","frontend/src/views/segments/Index.vue","frontend/src/views/service-monitor/Index.vue","frontend/src/views/settings/Index.vue","frontend/src/views/social-accounts/Index.vue","frontend/src/views/social-auto-replies/Index.vue","frontend/src/views/social-competitors/Index.vue","frontend/src/views/social-matrix/Index.vue","frontend/src/views/social-posts/Detail.vue","frontend/src/views/social-posts/Index.vue","frontend/src/views/spare-parts/Index.vue","frontend/src/views/spare-parts/components/TransactionHistory.vue","frontend/src/views/stage-knowledge/Index.vue","frontend/src/views/store-configs/Index.vue","frontend/src/views/stores/Detail.vue","frontend/src/views/stores/Index.vue","frontend/src/views/supplier-payments/Index.vue","frontend/src/views/suppliers/Index.vue","frontend/src/views/system-events/Index.vue","frontend/src/views/system-monitor/Index.vue","frontend/src/views/system/AuditLogs.vue","frontend/src/views/tenant-configs/Index.vue","frontend/src/views/tickets/Form.vue","frontend/src/views/tickets/Index.vue","frontend/src/views/users/Index.vue","frontend/src/views/utm-tracking/Form.vue","frontend/src/views/video-publishing/Index.vue","frontend/src/views/web-tracking/Index.vue"]}],"total_commits":0,"head_commit":{"id":"dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","message":"feat: 四线并行治理 — Record清零+v-permission扩展+Redis缓存+as any清理\n\n## Line 1: Record\u003cstring,any\u003e 全前端清零 (637→0)\n- 262 个文件批量替换 Record\u003cstring, any\u003e → Record\u003cstring, unknown\u003e\n- 覆盖 API 模块层 137 文件 + 视图/stores/composables 100 文件\n\n## Line 2: v-permission 全面覆盖 (53→104 个视图文件)\n- 新增 51 个视图的 v-permission 指令\n- 覆盖: products/departments/contract-templates/spare-parts/pm/\n stage-knowledge/email-templates/approval-templates/ad-campaigns/\n groupbuy-*/community-*/alliance-*/livestream-*/social-*/content-*/\n geo-*/segments/lead-pools/bom/expense-claims/ap-ledger 等\n\n## Line 3: Redis 缓存扩展 (5→14 个缓存点, 10 个模块)\n- 新建 cache-utils.ts 统一缓存工具层 (withCache + invalidation)\n- 高优: tenant-configs(300s) + roles(1800s) + products(600s) +\n departments(600s) + sla(1800s) + contract-templates(600s)\n- 中优: price-books(600s) + notifications(300s)\n- 写后失效: 所有 create/update/delete 自动清除缓存\n\n## Line 4: as any 清理 (25处)\n- campaign-analytics.controller: 8→0 (精确查询类型)\n- social-interactions.service: 9→0 (Prisma UncheckedCreateInput)\n- store-staff.service: 6→0 (prismaModel 代理)\n- scheduled-jobs.consumer: 2→0 (直接使用已有类型)\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-24T10:14:13+08:00","added":["backend/src/shared/constants/events/common.ts","backend/src/shared/constants/events/finance.ts","backend/src/shared/constants/events/hr.ts","backend/src/shared/constants/events/im.ts","backend/src/shared/constants/events/index.ts","backend/src/shared/constants/events/knowledge.ts","backend/src/shared/constants/events/lifecycle.ts","backend/src/shared/constants/events/marketing.ts","backend/src/shared/constants/events/sales.ts","backend/src/shared/constants/events/service.ts","backend/src/shared/constants/events/store.ts","backend/src/shared/constants/events/supply_chain.ts","backend/src/shared/constants/events/system.ts","backend/src/shared/services/list-cache.service.ts","backend/src/shared/utils/cache-utils.ts"],"removed":[],"modified":["backend/src/consumers/attribution.consumer.ts","backend/src/consumers/campaign-effectiveness.consumer.ts","backend/src/consumers/marketing-workflow-executor.consumer.ts","backend/src/consumers/scheduled-jobs.consumer.ts","backend/src/modules/ai-agents/services/knowledge-vector-enhanced.service.ts","backend/src/modules/alliance-settlements/alliance-settlement.service.test.ts","backend/src/modules/campaign-analytics/campaign-analytics.controller.ts","backend/src/modules/contract-templates/contract-template.service.ts","backend/src/modules/contracts/contract.controller.ts","backend/src/modules/contracts/contract.routes.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/customers/customer.service.ts","backend/src/modules/departments/department.service.test.ts","backend/src/modules/departments/department.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/leads/lead-sla.service.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-interactions/livestream-realtime.service.ts","backend/src/modules/marketing-automation/workflow-trigger.service.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.controller.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.routes.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.service.ts","backend/src/modules/notifications/notification.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/payments/payment.service.test.ts","backend/src/modules/price-books/price-book.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/roles/role.service.ts","backend/src/modules/segments/segment.service.ts","backend/src/modules/sla/sla.service.ts","backend/src/modules/social-interactions/social-interactions.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/tenant-configs/tenant-config.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/constants/events.ts","backend/src/shared/services/partition-maintenance.service.ts","backend/src/shared/state-machines/machines/contract.machine.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/state-machines/types.ts","backend/src/shared/state-machines/utils/transitions/sales.transitions.ts","backend/src/shared/utils/biz-code.ts","frontend/src/api/adapters.ts","frontend/src/api/im-binding.ts","frontend/src/api/modules/ad-accounts.ts","frontend/src/api/modules/ad-audiences.ts","frontend/src/api/modules/ad-creatives.ts","frontend/src/api/modules/ad-placement.ts","frontend/src/api/modules/ad-reports.ts","frontend/src/api/modules/agent-group.ts","frontend/src/api/modules/ai-agent.ts","frontend/src/api/modules/alliance-analytics.ts","frontend/src/api/modules/alliance-merchants.ts","frontend/src/api/modules/alliance-products.ts","frontend/src/api/modules/alliance-promotions.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/analytics.ts","frontend/src/api/modules/approvals.ts","frontend/src/api/modules/assets.ts","frontend/src/api/modules/attribution.ts","frontend/src/api/modules/audit-logs.ts","frontend/src/api/modules/campaign-drafts.ts","frontend/src/api/modules/campaign-library.ts","frontend/src/api/modules/campaign-targets.ts","frontend/src/api/modules/campaign-tools.ts","frontend/src/api/modules/campaign-use-case-templates.ts","frontend/src/api/modules/campaign-wizard.ts","frontend/src/api/modules/campaigns.ts","frontend/src/api/modules/cohort-analysis.ts","frontend/src/api/modules/commissions.ts","frontend/src/api/modules/community-activities.ts","frontend/src/api/modules/community-analytics.ts","frontend/src/api/modules/community-bots.ts","frontend/src/api/modules/community-groups.ts","frontend/src/api/modules/community-levels.ts","frontend/src/api/modules/community-members.ts","frontend/src/api/modules/community-messages.ts","frontend/src/api/modules/community-points.ts","frontend/src/api/modules/consumer-behavior-analytics.ts","frontend/src/api/modules/content-categories.ts","frontend/src/api/modules/content-copyright.ts","frontend/src/api/modules/content-creation.ts","frontend/src/api/modules/content-distribution.ts","frontend/src/api/modules/content-library.ts","frontend/src/api/modules/content-templates.ts","frontend/src/api/modules/contract-templates.ts","frontend/src/api/modules/cpq.ts","frontend/src/api/modules/cross-domain-funnel.ts","frontend/src/api/modules/customer-analytics.ts","frontend/src/api/modules/customer-health.ts","frontend/src/api/modules/customer-journey.ts","frontend/src/api/modules/customer-ltv.ts","frontend/src/api/modules/customer-marketing.ts","frontend/src/api/modules/customer-segmentation.ts","frontend/src/api/modules/devices.ts","frontend/src/api/modules/dictionaries.ts","frontend/src/api/modules/dimension-transform.ts","frontend/src/api/modules/email-marketing.ts","frontend/src/api/modules/email-templates.ts","frontend/src/api/modules/event-logs.ts","frontend/src/api/modules/events.ts","frontend/src/api/modules/expense.ts","frontend/src/api/modules/financial-reports.ts","frontend/src/api/modules/fulfillment.ts","frontend/src/api/modules/geo-fences.ts","frontend/src/api/modules/geo-pois.ts","frontend/src/api/modules/groupbuy-analytics.ts","frontend/src/api/modules/groupbuy-campaigns.ts","frontend/src/api/modules/groupbuy-platforms.ts","frontend/src/api/modules/groupbuy-pricing.ts","frontend/src/api/modules/groupbuy-products.ts","frontend/src/api/modules/groupbuy-settlements.ts","frontend/src/api/modules/hr-benefits.ts","frontend/src/api/modules/hr-payroll.ts","frontend/src/api/modules/im-channels.ts","frontend/src/api/modules/im.ts","frontend/src/api/modules/integration-services.ts","frontend/src/api/modules/intent-analyzer.ts","frontend/src/api/modules/journey-orchestration.ts","frontend/src/api/modules/knowledge-candidates.ts","frontend/src/api/modules/knowledge-capture.ts","frontend/src/api/modules/landing-pages.ts","frontend/src/api/modules/lead-scoring-ai.ts","frontend/src/api/modules/livestream-groupbuy-conversion.ts","frontend/src/api/modules/livestream-groupbuy.ts","frontend/src/api/modules/livestream-interactions.ts","frontend/src/api/modules/livestream-rooms.ts","frontend/src/api/modules/livestream-schedules.ts","frontend/src/api/modules/livestream.ts","frontend/src/api/modules/location-assessments.ts","frontend/src/api/modules/login-logs.ts","frontend/src/api/modules/maintenance.ts","frontend/src/api/modules/marketing-automation.ts","frontend/src/api/modules/marketing-calendar.ts","frontend/src/api/modules/marketing-chatbot.ts","frontend/src/api/modules/marketing-content.ts","frontend/src/api/modules/marketing-forms.ts","frontend/src/api/modules/marketing-matrix.ts","frontend/src/api/modules/marketing-north-star.ts","frontend/src/api/modules/marketing-timeslots.ts","frontend/src/api/modules/marketing.ts","frontend/src/api/modules/omnichannel-dashboard.ts","frontend/src/api/modules/omnichannel-data-hub.ts","frontend/src/api/modules/omnichannel-touchpoints.ts","frontend/src/api/modules/operation-logs.ts","frontend/src/api/modules/opportunities.ts","frontend/src/api/modules/predictive-analytics.ts","frontend/src/api/modules/process-designer.ts","frontend/src/api/modules/process.ts","frontend/src/api/modules/products.ts","frontend/src/api/modules/realtime-trigger.ts","frontend/src/api/modules/reports.ts","frontend/src/api/modules/resource-requests.ts","frontend/src/api/modules/revenue.ts","frontend/src/api/modules/rfm-analysis.ts","frontend/src/api/modules/rma.ts","frontend/src/api/modules/satisfaction.ts","frontend/src/api/modules/scheduled-jobs.ts","frontend/src/api/modules/search.ts","frontend/src/api/modules/segments.ts","frontend/src/api/modules/service-monitor.ts","frontend/src/api/modules/sms-marketing.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/api/modules/social-auto-replies.ts","frontend/src/api/modules/social-competitors.ts","frontend/src/api/modules/social-hot-topics.ts","frontend/src/api/modules/social-interactions.ts","frontend/src/api/modules/spare-parts.ts","frontend/src/api/modules/store-performance.ts","frontend/src/api/modules/stores.ts","frontend/src/api/modules/supplier-management.ts","frontend/src/api/modules/swot-analyses.ts","frontend/src/api/modules/system-events.ts","frontend/src/api/modules/ticket-workflows.ts","frontend/src/api/modules/tickets.ts","frontend/src/api/modules/tob-toc-gateway.ts","frontend/src/api/modules/unified-campaign.ts","frontend/src/api/modules/web-tracking.ts","frontend/src/api/modules/workflow-generator.ts","frontend/src/api/response-normalizer.ts","frontend/src/components/business/ActivityTimeline.vue","frontend/src/components/business/EventStreamPanel.vue","frontend/src/components/business/IMPanel.vue","frontend/src/components/common/DataTable.vue","frontend/src/components/common/ResponsiveDataTable.vue","frontend/src/components/mobile/MobileFilter.vue","frontend/src/components/responsive/ResponsiveFilterBar.vue","frontend/src/types/ai-agent.ts","frontend/src/utils/echarts.ts","frontend/src/views/__tests__/standard-crud-smoke.helper.ts","frontend/src/views/abm-marketing/Index.vue","frontend/src/views/acquisition/Index.vue","frontend/src/views/ad-accounts/Form.vue","frontend/src/views/ad-accounts/Index.vue","frontend/src/views/ad-analytics/Index.vue","frontend/src/views/ad-campaigns/Index.vue","frontend/src/views/ad-creatives/Index.vue","frontend/src/views/ad-placement/ABTests.vue","frontend/src/views/ad-placement/AudiencePacks.vue","frontend/src/views/ad-placement/BudgetAlerts.vue","frontend/src/views/ad-placement/Creatives.vue","frontend/src/views/ad-placement/Index.vue","frontend/src/views/ad-placement/RoiAnalysis.vue","frontend/src/views/alliance-agreements/Index.vue","frontend/src/views/alliance-campaigns/Index.vue","frontend/src/views/alliance-coupons/Index.vue","frontend/src/views/alliance-packages/Index.vue","frontend/src/views/alliance-partners/Index.vue","frontend/src/views/alliance-products/Index.vue","frontend/src/views/analytics/roi/Index.vue","frontend/src/views/ap-ledger/Index.vue","frontend/src/views/approval-configs/Form.vue","frontend/src/views/approval-configs/Index.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/approval-templates/Index.vue","frontend/src/views/attribution/Index.vue","frontend/src/views/auth/Index.vue","frontend/src/views/bom/Index.vue","frontend/src/views/campaign-analytics/Index.vue","frontend/src/views/campaign-library/Index.vue","frontend/src/views/campaign-targets/Index.vue","frontend/src/views/campaign-tools/Index.vue","frontend/src/views/campaigns/Detail.vue","frontend/src/views/campaigns/Index.vue","frontend/src/views/campaigns/components/ToolConfigDialog.vue","frontend/src/views/campaigns/wizard/Step3Tools.vue","frontend/src/views/campaigns/wizard/Step4BasicInfo.vue","frontend/src/views/campaigns/wizard/Step7Review.vue","frontend/src/views/campaigns/wizard/components/ToolConfigForms.vue","frontend/src/views/channel-analytics/Index.vue","frontend/src/views/community-bots/Index.vue","frontend/src/views/community-fission/Index.vue","frontend/src/views/community-groups/Index.vue","frontend/src/views/community-materials/Index.vue","frontend/src/views/community-members/Index.vue","frontend/src/views/community-messages/Index.vue","frontend/src/views/community-points/Index.vue","frontend/src/views/community-tasks/Index.vue","frontend/src/views/consumer-behavior-analytics/Index.vue","frontend/src/views/content-creation/Index.vue","frontend/src/views/content-distribution/Index.vue","frontend/src/views/content-library/Detail.vue","frontend/src/views/content-templates/Index.vue","frontend/src/views/contract-templates/Index.vue","frontend/src/views/contracts/Form.vue","frontend/src/views/conversion-paths/Index.vue","frontend/src/views/cost-allocation/Index.vue","frontend/src/views/cpq/Index.vue","frontend/src/views/cross-domain-funnel/Index.vue","frontend/src/views/customer-health/Index.vue","frontend/src/views/customer-journey/Detail.vue","frontend/src/views/customer-marketing/Index.vue","frontend/src/views/customer-segmentation/Form.vue","frontend/src/views/departments/Detail.vue","frontend/src/views/departments/Index.vue","frontend/src/views/devices/Alerts.vue","frontend/src/views/devices/Form.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/dimension-transform/Index.vue","frontend/src/views/email-templates/Form.vue","frontend/src/views/email-templates/Index.vue","frontend/src/views/event-logs/Index.vue","frontend/src/views/expense-claims/Index.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/geo-pois/Index.vue","frontend/src/views/groupbuy-campaigns/Index.vue","frontend/src/views/groupbuy-inventory/Index.vue","frontend/src/views/groupbuy-orders/Index.vue","frontend/src/views/groupbuy-platforms/Index.vue","frontend/src/views/groupbuy-pricing/Index.vue","frontend/src/views/groupbuy-products/Index.vue","frontend/src/views/groupbuy-promotions/Index.vue","frontend/src/views/groupbuy-settlements/Index.vue","frontend/src/views/hr/attendance/components/AttendanceTab.vue","frontend/src/views/hr/attendance/components/HolidaysTab.vue","frontend/src/views/hr/attendance/components/LeavesTab.vue","frontend/src/views/hr/attendance/components/OvertimeTab.vue","frontend/src/views/hr/attendance/components/ShiftsTab.vue","frontend/src/views/hr/training/components/CertificatesTab.vue","frontend/src/views/hr/training/components/CompetencyTab.vue","frontend/src/views/hr/training/components/CoursesTab.vue","frontend/src/views/hr/training/components/ExamsTab.vue","frontend/src/views/hr/training/components/PlansTab.vue","frontend/src/views/hr/training/components/SessionsTab.vue","frontend/src/views/inventory/Counts.vue","frontend/src/views/inventory/Index.vue","frontend/src/views/inventory/Snapshots.vue","frontend/src/views/journey-orchestration/Form.vue","frontend/src/views/knowledge-feedback/Index.vue","frontend/src/views/lead-assignment/Form.vue","frontend/src/views/lead-pools/Form.vue","frontend/src/views/lead-pools/Index.vue","frontend/src/views/lead-qualification/Form.vue","frontend/src/views/lead-qualification/Index.vue","frontend/src/views/leads/Form.vue","frontend/src/views/leads/Index.vue","frontend/src/views/livestream-gifts/Index.vue","frontend/src/views/livestream-groupbuy-conversion/Index.vue","frontend/src/views/livestream-schedules/Index.vue","frontend/src/views/livestream-scripts/Index.vue","frontend/src/views/local-events/Index.vue","frontend/src/views/local-promotion/Index.vue","frontend/src/views/maintenance/Index.vue","frontend/src/views/maintenance/TaskDetail.vue","frontend/src/views/marketing-automation/Index.vue","frontend/src/views/marketing-effectiveness/Index.vue","frontend/src/views/marketing-north-star/Index.vue","frontend/src/views/marketing-tools/Detail.vue","frontend/src/views/marketing-tools/Index.vue","frontend/src/views/marketing/budget-alerts/Index.vue","frontend/src/views/mdm/Index.vue","frontend/src/views/member-benefits/Index.vue","frontend/src/views/member-levels/Index.vue","frontend/src/views/member-points/Index.vue","frontend/src/views/members/Index.vue","frontend/src/views/menus/Index.vue","frontend/src/views/notification-configs/Index.vue","frontend/src/views/notifications/Index.vue","frontend/src/views/omnichannel-dashboard/Index.vue","frontend/src/views/omnichannel-data-hub/Index.vue","frontend/src/views/opportunities/Form.vue","frontend/src/views/orders/Form.vue","frontend/src/views/orders/Index.vue","frontend/src/views/org-chart/Index.vue","frontend/src/views/partners/Detail.vue","frontend/src/views/payment-plans/Index.vue","frontend/src/views/pm/Index.vue","frontend/src/views/predictive-analytics/Form.vue","frontend/src/views/process-designer/Designer.vue","frontend/src/views/product-analytics/Index.vue","frontend/src/views/products/Index.vue","frontend/src/views/qr-codes/Index.vue","frontend/src/views/quotes/Form.vue","frontend/src/views/realtime-trigger/Form.vue","frontend/src/views/renewal-tasks/Index.vue","frontend/src/views/rfm-analysis/Detail.vue","frontend/src/views/rfm-analysis/Index.vue","frontend/src/views/roles/Index.vue","frontend/src/views/scheduled-jobs/Index.vue","frontend/src/views/segments/Index.vue","frontend/src/views/service-monitor/Index.vue","frontend/src/views/settings/Index.vue","frontend/src/views/social-accounts/Index.vue","frontend/src/views/social-auto-replies/Index.vue","frontend/src/views/social-competitors/Index.vue","frontend/src/views/social-matrix/Index.vue","frontend/src/views/social-posts/Detail.vue","frontend/src/views/social-posts/Index.vue","frontend/src/views/spare-parts/Index.vue","frontend/src/views/spare-parts/components/TransactionHistory.vue","frontend/src/views/stage-knowledge/Index.vue","frontend/src/views/store-configs/Index.vue","frontend/src/views/stores/Detail.vue","frontend/src/views/stores/Index.vue","frontend/src/views/supplier-payments/Index.vue","frontend/src/views/suppliers/Index.vue","frontend/src/views/system-events/Index.vue","frontend/src/views/system-monitor/Index.vue","frontend/src/views/system/AuditLogs.vue","frontend/src/views/tenant-configs/Index.vue","frontend/src/views/tickets/Form.vue","frontend/src/views/tickets/Index.vue","frontend/src/views/users/Index.vue","frontend/src/views/utm-tracking/Form.vue","frontend/src/views/video-publishing/Index.vue","frontend/src/views/web-tracking/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":1956552,"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":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-24T09:45:16+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
68
|
1774319006
|
1774319038
|
0
|
1774318460
|
1774319280
|
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
|
|
7651
|
feat: 四线并行治理 — Record清零+v-permission扩展+Redis缓存+as feat: 四线并行治理 — Record清零+v-permission扩展+Redis缓存+as any清理...
|
6
|
5
|
health-check.yml
|
7576
|
-2
|
130
|
refs/heads/main
|
dbf34b08bbb60650d15b0c55262dbfe8d0a3a655
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"8c39619c9cdb0d888d10942bf50533c8238021df","after":"dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/8c39619c9cdb0d888d10942bf50533c8238021df...dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","commits":[{"id":"dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","message":"feat: 四线并行治理 — Record清零+v-permission扩展+Redis缓存+as any清理\n\n## Line 1: Record\u003cstring,any\u003e 全前端清零 (637→0)\n- 262 个文件批量替换 Record\u003cstring, any\u003e → Record\u003cstring, unknown\u003e\n- 覆盖 API 模块层 137 文件 + 视图/stores/composables 100 文件\n\n## Line 2: v-permission 全面覆盖 (53→104 个视图文件)\n- 新增 51 个视图的 v-permission 指令\n- 覆盖: products/departments/contract-templates/spare-parts/pm/\n stage-knowledge/email-templates/approval-templates/ad-campaigns/\n groupbuy-*/community-*/alliance-*/livestream-*/social-*/content-*/\n geo-*/segments/lead-pools/bom/expense-claims/ap-ledger 等\n\n## Line 3: Redis 缓存扩展 (5→14 个缓存点, 10 个模块)\n- 新建 cache-utils.ts 统一缓存工具层 (withCache + invalidation)\n- 高优: tenant-configs(300s) + roles(1800s) + products(600s) +\n departments(600s) + sla(1800s) + contract-templates(600s)\n- 中优: price-books(600s) + notifications(300s)\n- 写后失效: 所有 create/update/delete 自动清除缓存\n\n## Line 4: as any 清理 (25处)\n- campaign-analytics.controller: 8→0 (精确查询类型)\n- social-interactions.service: 9→0 (Prisma UncheckedCreateInput)\n- store-staff.service: 6→0 (prismaModel 代理)\n- scheduled-jobs.consumer: 2→0 (直接使用已有类型)\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-24T10:14:13+08:00","added":["backend/src/shared/constants/events/common.ts","backend/src/shared/constants/events/finance.ts","backend/src/shared/constants/events/hr.ts","backend/src/shared/constants/events/im.ts","backend/src/shared/constants/events/index.ts","backend/src/shared/constants/events/knowledge.ts","backend/src/shared/constants/events/lifecycle.ts","backend/src/shared/constants/events/marketing.ts","backend/src/shared/constants/events/sales.ts","backend/src/shared/constants/events/service.ts","backend/src/shared/constants/events/store.ts","backend/src/shared/constants/events/supply_chain.ts","backend/src/shared/constants/events/system.ts","backend/src/shared/services/list-cache.service.ts","backend/src/shared/utils/cache-utils.ts"],"removed":[],"modified":["backend/src/consumers/attribution.consumer.ts","backend/src/consumers/campaign-effectiveness.consumer.ts","backend/src/consumers/marketing-workflow-executor.consumer.ts","backend/src/consumers/scheduled-jobs.consumer.ts","backend/src/modules/ai-agents/services/knowledge-vector-enhanced.service.ts","backend/src/modules/alliance-settlements/alliance-settlement.service.test.ts","backend/src/modules/campaign-analytics/campaign-analytics.controller.ts","backend/src/modules/contract-templates/contract-template.service.ts","backend/src/modules/contracts/contract.controller.ts","backend/src/modules/contracts/contract.routes.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/customers/customer.service.ts","backend/src/modules/departments/department.service.test.ts","backend/src/modules/departments/department.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/leads/lead-sla.service.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-interactions/livestream-realtime.service.ts","backend/src/modules/marketing-automation/workflow-trigger.service.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.controller.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.routes.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.service.ts","backend/src/modules/notifications/notification.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/payments/payment.service.test.ts","backend/src/modules/price-books/price-book.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/roles/role.service.ts","backend/src/modules/segments/segment.service.ts","backend/src/modules/sla/sla.service.ts","backend/src/modules/social-interactions/social-interactions.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/tenant-configs/tenant-config.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/constants/events.ts","backend/src/shared/services/partition-maintenance.service.ts","backend/src/shared/state-machines/machines/contract.machine.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/state-machines/types.ts","backend/src/shared/state-machines/utils/transitions/sales.transitions.ts","backend/src/shared/utils/biz-code.ts","frontend/src/api/adapters.ts","frontend/src/api/im-binding.ts","frontend/src/api/modules/ad-accounts.ts","frontend/src/api/modules/ad-audiences.ts","frontend/src/api/modules/ad-creatives.ts","frontend/src/api/modules/ad-placement.ts","frontend/src/api/modules/ad-reports.ts","frontend/src/api/modules/agent-group.ts","frontend/src/api/modules/ai-agent.ts","frontend/src/api/modules/alliance-analytics.ts","frontend/src/api/modules/alliance-merchants.ts","frontend/src/api/modules/alliance-products.ts","frontend/src/api/modules/alliance-promotions.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/analytics.ts","frontend/src/api/modules/approvals.ts","frontend/src/api/modules/assets.ts","frontend/src/api/modules/attribution.ts","frontend/src/api/modules/audit-logs.ts","frontend/src/api/modules/campaign-drafts.ts","frontend/src/api/modules/campaign-library.ts","frontend/src/api/modules/campaign-targets.ts","frontend/src/api/modules/campaign-tools.ts","frontend/src/api/modules/campaign-use-case-templates.ts","frontend/src/api/modules/campaign-wizard.ts","frontend/src/api/modules/campaigns.ts","frontend/src/api/modules/cohort-analysis.ts","frontend/src/api/modules/commissions.ts","frontend/src/api/modules/community-activities.ts","frontend/src/api/modules/community-analytics.ts","frontend/src/api/modules/community-bots.ts","frontend/src/api/modules/community-groups.ts","frontend/src/api/modules/community-levels.ts","frontend/src/api/modules/community-members.ts","frontend/src/api/modules/community-messages.ts","frontend/src/api/modules/community-points.ts","frontend/src/api/modules/consumer-behavior-analytics.ts","frontend/src/api/modules/content-categories.ts","frontend/src/api/modules/content-copyright.ts","frontend/src/api/modules/content-creation.ts","frontend/src/api/modules/content-distribution.ts","frontend/src/api/modules/content-library.ts","frontend/src/api/modules/content-templates.ts","frontend/src/api/modules/contract-templates.ts","frontend/src/api/modules/cpq.ts","frontend/src/api/modules/cross-domain-funnel.ts","frontend/src/api/modules/customer-analytics.ts","frontend/src/api/modules/customer-health.ts","frontend/src/api/modules/customer-journey.ts","frontend/src/api/modules/customer-ltv.ts","frontend/src/api/modules/customer-marketing.ts","frontend/src/api/modules/customer-segmentation.ts","frontend/src/api/modules/devices.ts","frontend/src/api/modules/dictionaries.ts","frontend/src/api/modules/dimension-transform.ts","frontend/src/api/modules/email-marketing.ts","frontend/src/api/modules/email-templates.ts","frontend/src/api/modules/event-logs.ts","frontend/src/api/modules/events.ts","frontend/src/api/modules/expense.ts","frontend/src/api/modules/financial-reports.ts","frontend/src/api/modules/fulfillment.ts","frontend/src/api/modules/geo-fences.ts","frontend/src/api/modules/geo-pois.ts","frontend/src/api/modules/groupbuy-analytics.ts","frontend/src/api/modules/groupbuy-campaigns.ts","frontend/src/api/modules/groupbuy-platforms.ts","frontend/src/api/modules/groupbuy-pricing.ts","frontend/src/api/modules/groupbuy-products.ts","frontend/src/api/modules/groupbuy-settlements.ts","frontend/src/api/modules/hr-benefits.ts","frontend/src/api/modules/hr-payroll.ts","frontend/src/api/modules/im-channels.ts","frontend/src/api/modules/im.ts","frontend/src/api/modules/integration-services.ts","frontend/src/api/modules/intent-analyzer.ts","frontend/src/api/modules/journey-orchestration.ts","frontend/src/api/modules/knowledge-candidates.ts","frontend/src/api/modules/knowledge-capture.ts","frontend/src/api/modules/landing-pages.ts","frontend/src/api/modules/lead-scoring-ai.ts","frontend/src/api/modules/livestream-groupbuy-conversion.ts","frontend/src/api/modules/livestream-groupbuy.ts","frontend/src/api/modules/livestream-interactions.ts","frontend/src/api/modules/livestream-rooms.ts","frontend/src/api/modules/livestream-schedules.ts","frontend/src/api/modules/livestream.ts","frontend/src/api/modules/location-assessments.ts","frontend/src/api/modules/login-logs.ts","frontend/src/api/modules/maintenance.ts","frontend/src/api/modules/marketing-automation.ts","frontend/src/api/modules/marketing-calendar.ts","frontend/src/api/modules/marketing-chatbot.ts","frontend/src/api/modules/marketing-content.ts","frontend/src/api/modules/marketing-forms.ts","frontend/src/api/modules/marketing-matrix.ts","frontend/src/api/modules/marketing-north-star.ts","frontend/src/api/modules/marketing-timeslots.ts","frontend/src/api/modules/marketing.ts","frontend/src/api/modules/omnichannel-dashboard.ts","frontend/src/api/modules/omnichannel-data-hub.ts","frontend/src/api/modules/omnichannel-touchpoints.ts","frontend/src/api/modules/operation-logs.ts","frontend/src/api/modules/opportunities.ts","frontend/src/api/modules/predictive-analytics.ts","frontend/src/api/modules/process-designer.ts","frontend/src/api/modules/process.ts","frontend/src/api/modules/products.ts","frontend/src/api/modules/realtime-trigger.ts","frontend/src/api/modules/reports.ts","frontend/src/api/modules/resource-requests.ts","frontend/src/api/modules/revenue.ts","frontend/src/api/modules/rfm-analysis.ts","frontend/src/api/modules/rma.ts","frontend/src/api/modules/satisfaction.ts","frontend/src/api/modules/scheduled-jobs.ts","frontend/src/api/modules/search.ts","frontend/src/api/modules/segments.ts","frontend/src/api/modules/service-monitor.ts","frontend/src/api/modules/sms-marketing.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/api/modules/social-auto-replies.ts","frontend/src/api/modules/social-competitors.ts","frontend/src/api/modules/social-hot-topics.ts","frontend/src/api/modules/social-interactions.ts","frontend/src/api/modules/spare-parts.ts","frontend/src/api/modules/store-performance.ts","frontend/src/api/modules/stores.ts","frontend/src/api/modules/supplier-management.ts","frontend/src/api/modules/swot-analyses.ts","frontend/src/api/modules/system-events.ts","frontend/src/api/modules/ticket-workflows.ts","frontend/src/api/modules/tickets.ts","frontend/src/api/modules/tob-toc-gateway.ts","frontend/src/api/modules/unified-campaign.ts","frontend/src/api/modules/web-tracking.ts","frontend/src/api/modules/workflow-generator.ts","frontend/src/api/response-normalizer.ts","frontend/src/components/business/ActivityTimeline.vue","frontend/src/components/business/EventStreamPanel.vue","frontend/src/components/business/IMPanel.vue","frontend/src/components/common/DataTable.vue","frontend/src/components/common/ResponsiveDataTable.vue","frontend/src/components/mobile/MobileFilter.vue","frontend/src/components/responsive/ResponsiveFilterBar.vue","frontend/src/types/ai-agent.ts","frontend/src/utils/echarts.ts","frontend/src/views/__tests__/standard-crud-smoke.helper.ts","frontend/src/views/abm-marketing/Index.vue","frontend/src/views/acquisition/Index.vue","frontend/src/views/ad-accounts/Form.vue","frontend/src/views/ad-accounts/Index.vue","frontend/src/views/ad-analytics/Index.vue","frontend/src/views/ad-campaigns/Index.vue","frontend/src/views/ad-creatives/Index.vue","frontend/src/views/ad-placement/ABTests.vue","frontend/src/views/ad-placement/AudiencePacks.vue","frontend/src/views/ad-placement/BudgetAlerts.vue","frontend/src/views/ad-placement/Creatives.vue","frontend/src/views/ad-placement/Index.vue","frontend/src/views/ad-placement/RoiAnalysis.vue","frontend/src/views/alliance-agreements/Index.vue","frontend/src/views/alliance-campaigns/Index.vue","frontend/src/views/alliance-coupons/Index.vue","frontend/src/views/alliance-packages/Index.vue","frontend/src/views/alliance-partners/Index.vue","frontend/src/views/alliance-products/Index.vue","frontend/src/views/analytics/roi/Index.vue","frontend/src/views/ap-ledger/Index.vue","frontend/src/views/approval-configs/Form.vue","frontend/src/views/approval-configs/Index.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/approval-templates/Index.vue","frontend/src/views/attribution/Index.vue","frontend/src/views/auth/Index.vue","frontend/src/views/bom/Index.vue","frontend/src/views/campaign-analytics/Index.vue","frontend/src/views/campaign-library/Index.vue","frontend/src/views/campaign-targets/Index.vue","frontend/src/views/campaign-tools/Index.vue","frontend/src/views/campaigns/Detail.vue","frontend/src/views/campaigns/Index.vue","frontend/src/views/campaigns/components/ToolConfigDialog.vue","frontend/src/views/campaigns/wizard/Step3Tools.vue","frontend/src/views/campaigns/wizard/Step4BasicInfo.vue","frontend/src/views/campaigns/wizard/Step7Review.vue","frontend/src/views/campaigns/wizard/components/ToolConfigForms.vue","frontend/src/views/channel-analytics/Index.vue","frontend/src/views/community-bots/Index.vue","frontend/src/views/community-fission/Index.vue","frontend/src/views/community-groups/Index.vue","frontend/src/views/community-materials/Index.vue","frontend/src/views/community-members/Index.vue","frontend/src/views/community-messages/Index.vue","frontend/src/views/community-points/Index.vue","frontend/src/views/community-tasks/Index.vue","frontend/src/views/consumer-behavior-analytics/Index.vue","frontend/src/views/content-creation/Index.vue","frontend/src/views/content-distribution/Index.vue","frontend/src/views/content-library/Detail.vue","frontend/src/views/content-templates/Index.vue","frontend/src/views/contract-templates/Index.vue","frontend/src/views/contracts/Form.vue","frontend/src/views/conversion-paths/Index.vue","frontend/src/views/cost-allocation/Index.vue","frontend/src/views/cpq/Index.vue","frontend/src/views/cross-domain-funnel/Index.vue","frontend/src/views/customer-health/Index.vue","frontend/src/views/customer-journey/Detail.vue","frontend/src/views/customer-marketing/Index.vue","frontend/src/views/customer-segmentation/Form.vue","frontend/src/views/departments/Detail.vue","frontend/src/views/departments/Index.vue","frontend/src/views/devices/Alerts.vue","frontend/src/views/devices/Form.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/dimension-transform/Index.vue","frontend/src/views/email-templates/Form.vue","frontend/src/views/email-templates/Index.vue","frontend/src/views/event-logs/Index.vue","frontend/src/views/expense-claims/Index.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/geo-pois/Index.vue","frontend/src/views/groupbuy-campaigns/Index.vue","frontend/src/views/groupbuy-inventory/Index.vue","frontend/src/views/groupbuy-orders/Index.vue","frontend/src/views/groupbuy-platforms/Index.vue","frontend/src/views/groupbuy-pricing/Index.vue","frontend/src/views/groupbuy-products/Index.vue","frontend/src/views/groupbuy-promotions/Index.vue","frontend/src/views/groupbuy-settlements/Index.vue","frontend/src/views/hr/attendance/components/AttendanceTab.vue","frontend/src/views/hr/attendance/components/HolidaysTab.vue","frontend/src/views/hr/attendance/components/LeavesTab.vue","frontend/src/views/hr/attendance/components/OvertimeTab.vue","frontend/src/views/hr/attendance/components/ShiftsTab.vue","frontend/src/views/hr/training/components/CertificatesTab.vue","frontend/src/views/hr/training/components/CompetencyTab.vue","frontend/src/views/hr/training/components/CoursesTab.vue","frontend/src/views/hr/training/components/ExamsTab.vue","frontend/src/views/hr/training/components/PlansTab.vue","frontend/src/views/hr/training/components/SessionsTab.vue","frontend/src/views/inventory/Counts.vue","frontend/src/views/inventory/Index.vue","frontend/src/views/inventory/Snapshots.vue","frontend/src/views/journey-orchestration/Form.vue","frontend/src/views/knowledge-feedback/Index.vue","frontend/src/views/lead-assignment/Form.vue","frontend/src/views/lead-pools/Form.vue","frontend/src/views/lead-pools/Index.vue","frontend/src/views/lead-qualification/Form.vue","frontend/src/views/lead-qualification/Index.vue","frontend/src/views/leads/Form.vue","frontend/src/views/leads/Index.vue","frontend/src/views/livestream-gifts/Index.vue","frontend/src/views/livestream-groupbuy-conversion/Index.vue","frontend/src/views/livestream-schedules/Index.vue","frontend/src/views/livestream-scripts/Index.vue","frontend/src/views/local-events/Index.vue","frontend/src/views/local-promotion/Index.vue","frontend/src/views/maintenance/Index.vue","frontend/src/views/maintenance/TaskDetail.vue","frontend/src/views/marketing-automation/Index.vue","frontend/src/views/marketing-effectiveness/Index.vue","frontend/src/views/marketing-north-star/Index.vue","frontend/src/views/marketing-tools/Detail.vue","frontend/src/views/marketing-tools/Index.vue","frontend/src/views/marketing/budget-alerts/Index.vue","frontend/src/views/mdm/Index.vue","frontend/src/views/member-benefits/Index.vue","frontend/src/views/member-levels/Index.vue","frontend/src/views/member-points/Index.vue","frontend/src/views/members/Index.vue","frontend/src/views/menus/Index.vue","frontend/src/views/notification-configs/Index.vue","frontend/src/views/notifications/Index.vue","frontend/src/views/omnichannel-dashboard/Index.vue","frontend/src/views/omnichannel-data-hub/Index.vue","frontend/src/views/opportunities/Form.vue","frontend/src/views/orders/Form.vue","frontend/src/views/orders/Index.vue","frontend/src/views/org-chart/Index.vue","frontend/src/views/partners/Detail.vue","frontend/src/views/payment-plans/Index.vue","frontend/src/views/pm/Index.vue","frontend/src/views/predictive-analytics/Form.vue","frontend/src/views/process-designer/Designer.vue","frontend/src/views/product-analytics/Index.vue","frontend/src/views/products/Index.vue","frontend/src/views/qr-codes/Index.vue","frontend/src/views/quotes/Form.vue","frontend/src/views/realtime-trigger/Form.vue","frontend/src/views/renewal-tasks/Index.vue","frontend/src/views/rfm-analysis/Detail.vue","frontend/src/views/rfm-analysis/Index.vue","frontend/src/views/roles/Index.vue","frontend/src/views/scheduled-jobs/Index.vue","frontend/src/views/segments/Index.vue","frontend/src/views/service-monitor/Index.vue","frontend/src/views/settings/Index.vue","frontend/src/views/social-accounts/Index.vue","frontend/src/views/social-auto-replies/Index.vue","frontend/src/views/social-competitors/Index.vue","frontend/src/views/social-matrix/Index.vue","frontend/src/views/social-posts/Detail.vue","frontend/src/views/social-posts/Index.vue","frontend/src/views/spare-parts/Index.vue","frontend/src/views/spare-parts/components/TransactionHistory.vue","frontend/src/views/stage-knowledge/Index.vue","frontend/src/views/store-configs/Index.vue","frontend/src/views/stores/Detail.vue","frontend/src/views/stores/Index.vue","frontend/src/views/supplier-payments/Index.vue","frontend/src/views/suppliers/Index.vue","frontend/src/views/system-events/Index.vue","frontend/src/views/system-monitor/Index.vue","frontend/src/views/system/AuditLogs.vue","frontend/src/views/tenant-configs/Index.vue","frontend/src/views/tickets/Form.vue","frontend/src/views/tickets/Index.vue","frontend/src/views/users/Index.vue","frontend/src/views/utm-tracking/Form.vue","frontend/src/views/video-publishing/Index.vue","frontend/src/views/web-tracking/Index.vue"]}],"total_commits":0,"head_commit":{"id":"dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","message":"feat: 四线并行治理 — Record清零+v-permission扩展+Redis缓存+as any清理\n\n## Line 1: Record\u003cstring,any\u003e 全前端清零 (637→0)\n- 262 个文件批量替换 Record\u003cstring, any\u003e → Record\u003cstring, unknown\u003e\n- 覆盖 API 模块层 137 文件 + 视图/stores/composables 100 文件\n\n## Line 2: v-permission 全面覆盖 (53→104 个视图文件)\n- 新增 51 个视图的 v-permission 指令\n- 覆盖: products/departments/contract-templates/spare-parts/pm/\n stage-knowledge/email-templates/approval-templates/ad-campaigns/\n groupbuy-*/community-*/alliance-*/livestream-*/social-*/content-*/\n geo-*/segments/lead-pools/bom/expense-claims/ap-ledger 等\n\n## Line 3: Redis 缓存扩展 (5→14 个缓存点, 10 个模块)\n- 新建 cache-utils.ts 统一缓存工具层 (withCache + invalidation)\n- 高优: tenant-configs(300s) + roles(1800s) + products(600s) +\n departments(600s) + sla(1800s) + contract-templates(600s)\n- 中优: price-books(600s) + notifications(300s)\n- 写后失效: 所有 create/update/delete 自动清除缓存\n\n## Line 4: as any 清理 (25处)\n- campaign-analytics.controller: 8→0 (精确查询类型)\n- social-interactions.service: 9→0 (Prisma UncheckedCreateInput)\n- store-staff.service: 6→0 (prismaModel 代理)\n- scheduled-jobs.consumer: 2→0 (直接使用已有类型)\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-24T10:14:13+08:00","added":["backend/src/shared/constants/events/common.ts","backend/src/shared/constants/events/finance.ts","backend/src/shared/constants/events/hr.ts","backend/src/shared/constants/events/im.ts","backend/src/shared/constants/events/index.ts","backend/src/shared/constants/events/knowledge.ts","backend/src/shared/constants/events/lifecycle.ts","backend/src/shared/constants/events/marketing.ts","backend/src/shared/constants/events/sales.ts","backend/src/shared/constants/events/service.ts","backend/src/shared/constants/events/store.ts","backend/src/shared/constants/events/supply_chain.ts","backend/src/shared/constants/events/system.ts","backend/src/shared/services/list-cache.service.ts","backend/src/shared/utils/cache-utils.ts"],"removed":[],"modified":["backend/src/consumers/attribution.consumer.ts","backend/src/consumers/campaign-effectiveness.consumer.ts","backend/src/consumers/marketing-workflow-executor.consumer.ts","backend/src/consumers/scheduled-jobs.consumer.ts","backend/src/modules/ai-agents/services/knowledge-vector-enhanced.service.ts","backend/src/modules/alliance-settlements/alliance-settlement.service.test.ts","backend/src/modules/campaign-analytics/campaign-analytics.controller.ts","backend/src/modules/contract-templates/contract-template.service.ts","backend/src/modules/contracts/contract.controller.ts","backend/src/modules/contracts/contract.routes.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/customers/customer.service.ts","backend/src/modules/departments/department.service.test.ts","backend/src/modules/departments/department.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/leads/lead-sla.service.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-interactions/livestream-realtime.service.ts","backend/src/modules/marketing-automation/workflow-trigger.service.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.controller.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.routes.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.service.ts","backend/src/modules/notifications/notification.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/payments/payment.service.test.ts","backend/src/modules/price-books/price-book.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/roles/role.service.ts","backend/src/modules/segments/segment.service.ts","backend/src/modules/sla/sla.service.ts","backend/src/modules/social-interactions/social-interactions.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/tenant-configs/tenant-config.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/constants/events.ts","backend/src/shared/services/partition-maintenance.service.ts","backend/src/shared/state-machines/machines/contract.machine.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/state-machines/types.ts","backend/src/shared/state-machines/utils/transitions/sales.transitions.ts","backend/src/shared/utils/biz-code.ts","frontend/src/api/adapters.ts","frontend/src/api/im-binding.ts","frontend/src/api/modules/ad-accounts.ts","frontend/src/api/modules/ad-audiences.ts","frontend/src/api/modules/ad-creatives.ts","frontend/src/api/modules/ad-placement.ts","frontend/src/api/modules/ad-reports.ts","frontend/src/api/modules/agent-group.ts","frontend/src/api/modules/ai-agent.ts","frontend/src/api/modules/alliance-analytics.ts","frontend/src/api/modules/alliance-merchants.ts","frontend/src/api/modules/alliance-products.ts","frontend/src/api/modules/alliance-promotions.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/analytics.ts","frontend/src/api/modules/approvals.ts","frontend/src/api/modules/assets.ts","frontend/src/api/modules/attribution.ts","frontend/src/api/modules/audit-logs.ts","frontend/src/api/modules/campaign-drafts.ts","frontend/src/api/modules/campaign-library.ts","frontend/src/api/modules/campaign-targets.ts","frontend/src/api/modules/campaign-tools.ts","frontend/src/api/modules/campaign-use-case-templates.ts","frontend/src/api/modules/campaign-wizard.ts","frontend/src/api/modules/campaigns.ts","frontend/src/api/modules/cohort-analysis.ts","frontend/src/api/modules/commissions.ts","frontend/src/api/modules/community-activities.ts","frontend/src/api/modules/community-analytics.ts","frontend/src/api/modules/community-bots.ts","frontend/src/api/modules/community-groups.ts","frontend/src/api/modules/community-levels.ts","frontend/src/api/modules/community-members.ts","frontend/src/api/modules/community-messages.ts","frontend/src/api/modules/community-points.ts","frontend/src/api/modules/consumer-behavior-analytics.ts","frontend/src/api/modules/content-categories.ts","frontend/src/api/modules/content-copyright.ts","frontend/src/api/modules/content-creation.ts","frontend/src/api/modules/content-distribution.ts","frontend/src/api/modules/content-library.ts","frontend/src/api/modules/content-templates.ts","frontend/src/api/modules/contract-templates.ts","frontend/src/api/modules/cpq.ts","frontend/src/api/modules/cross-domain-funnel.ts","frontend/src/api/modules/customer-analytics.ts","frontend/src/api/modules/customer-health.ts","frontend/src/api/modules/customer-journey.ts","frontend/src/api/modules/customer-ltv.ts","frontend/src/api/modules/customer-marketing.ts","frontend/src/api/modules/customer-segmentation.ts","frontend/src/api/modules/devices.ts","frontend/src/api/modules/dictionaries.ts","frontend/src/api/modules/dimension-transform.ts","frontend/src/api/modules/email-marketing.ts","frontend/src/api/modules/email-templates.ts","frontend/src/api/modules/event-logs.ts","frontend/src/api/modules/events.ts","frontend/src/api/modules/expense.ts","frontend/src/api/modules/financial-reports.ts","frontend/src/api/modules/fulfillment.ts","frontend/src/api/modules/geo-fences.ts","frontend/src/api/modules/geo-pois.ts","frontend/src/api/modules/groupbuy-analytics.ts","frontend/src/api/modules/groupbuy-campaigns.ts","frontend/src/api/modules/groupbuy-platforms.ts","frontend/src/api/modules/groupbuy-pricing.ts","frontend/src/api/modules/groupbuy-products.ts","frontend/src/api/modules/groupbuy-settlements.ts","frontend/src/api/modules/hr-benefits.ts","frontend/src/api/modules/hr-payroll.ts","frontend/src/api/modules/im-channels.ts","frontend/src/api/modules/im.ts","frontend/src/api/modules/integration-services.ts","frontend/src/api/modules/intent-analyzer.ts","frontend/src/api/modules/journey-orchestration.ts","frontend/src/api/modules/knowledge-candidates.ts","frontend/src/api/modules/knowledge-capture.ts","frontend/src/api/modules/landing-pages.ts","frontend/src/api/modules/lead-scoring-ai.ts","frontend/src/api/modules/livestream-groupbuy-conversion.ts","frontend/src/api/modules/livestream-groupbuy.ts","frontend/src/api/modules/livestream-interactions.ts","frontend/src/api/modules/livestream-rooms.ts","frontend/src/api/modules/livestream-schedules.ts","frontend/src/api/modules/livestream.ts","frontend/src/api/modules/location-assessments.ts","frontend/src/api/modules/login-logs.ts","frontend/src/api/modules/maintenance.ts","frontend/src/api/modules/marketing-automation.ts","frontend/src/api/modules/marketing-calendar.ts","frontend/src/api/modules/marketing-chatbot.ts","frontend/src/api/modules/marketing-content.ts","frontend/src/api/modules/marketing-forms.ts","frontend/src/api/modules/marketing-matrix.ts","frontend/src/api/modules/marketing-north-star.ts","frontend/src/api/modules/marketing-timeslots.ts","frontend/src/api/modules/marketing.ts","frontend/src/api/modules/omnichannel-dashboard.ts","frontend/src/api/modules/omnichannel-data-hub.ts","frontend/src/api/modules/omnichannel-touchpoints.ts","frontend/src/api/modules/operation-logs.ts","frontend/src/api/modules/opportunities.ts","frontend/src/api/modules/predictive-analytics.ts","frontend/src/api/modules/process-designer.ts","frontend/src/api/modules/process.ts","frontend/src/api/modules/products.ts","frontend/src/api/modules/realtime-trigger.ts","frontend/src/api/modules/reports.ts","frontend/src/api/modules/resource-requests.ts","frontend/src/api/modules/revenue.ts","frontend/src/api/modules/rfm-analysis.ts","frontend/src/api/modules/rma.ts","frontend/src/api/modules/satisfaction.ts","frontend/src/api/modules/scheduled-jobs.ts","frontend/src/api/modules/search.ts","frontend/src/api/modules/segments.ts","frontend/src/api/modules/service-monitor.ts","frontend/src/api/modules/sms-marketing.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/api/modules/social-auto-replies.ts","frontend/src/api/modules/social-competitors.ts","frontend/src/api/modules/social-hot-topics.ts","frontend/src/api/modules/social-interactions.ts","frontend/src/api/modules/spare-parts.ts","frontend/src/api/modules/store-performance.ts","frontend/src/api/modules/stores.ts","frontend/src/api/modules/supplier-management.ts","frontend/src/api/modules/swot-analyses.ts","frontend/src/api/modules/system-events.ts","frontend/src/api/modules/ticket-workflows.ts","frontend/src/api/modules/tickets.ts","frontend/src/api/modules/tob-toc-gateway.ts","frontend/src/api/modules/unified-campaign.ts","frontend/src/api/modules/web-tracking.ts","frontend/src/api/modules/workflow-generator.ts","frontend/src/api/response-normalizer.ts","frontend/src/components/business/ActivityTimeline.vue","frontend/src/components/business/EventStreamPanel.vue","frontend/src/components/business/IMPanel.vue","frontend/src/components/common/DataTable.vue","frontend/src/components/common/ResponsiveDataTable.vue","frontend/src/components/mobile/MobileFilter.vue","frontend/src/components/responsive/ResponsiveFilterBar.vue","frontend/src/types/ai-agent.ts","frontend/src/utils/echarts.ts","frontend/src/views/__tests__/standard-crud-smoke.helper.ts","frontend/src/views/abm-marketing/Index.vue","frontend/src/views/acquisition/Index.vue","frontend/src/views/ad-accounts/Form.vue","frontend/src/views/ad-accounts/Index.vue","frontend/src/views/ad-analytics/Index.vue","frontend/src/views/ad-campaigns/Index.vue","frontend/src/views/ad-creatives/Index.vue","frontend/src/views/ad-placement/ABTests.vue","frontend/src/views/ad-placement/AudiencePacks.vue","frontend/src/views/ad-placement/BudgetAlerts.vue","frontend/src/views/ad-placement/Creatives.vue","frontend/src/views/ad-placement/Index.vue","frontend/src/views/ad-placement/RoiAnalysis.vue","frontend/src/views/alliance-agreements/Index.vue","frontend/src/views/alliance-campaigns/Index.vue","frontend/src/views/alliance-coupons/Index.vue","frontend/src/views/alliance-packages/Index.vue","frontend/src/views/alliance-partners/Index.vue","frontend/src/views/alliance-products/Index.vue","frontend/src/views/analytics/roi/Index.vue","frontend/src/views/ap-ledger/Index.vue","frontend/src/views/approval-configs/Form.vue","frontend/src/views/approval-configs/Index.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/approval-templates/Index.vue","frontend/src/views/attribution/Index.vue","frontend/src/views/auth/Index.vue","frontend/src/views/bom/Index.vue","frontend/src/views/campaign-analytics/Index.vue","frontend/src/views/campaign-library/Index.vue","frontend/src/views/campaign-targets/Index.vue","frontend/src/views/campaign-tools/Index.vue","frontend/src/views/campaigns/Detail.vue","frontend/src/views/campaigns/Index.vue","frontend/src/views/campaigns/components/ToolConfigDialog.vue","frontend/src/views/campaigns/wizard/Step3Tools.vue","frontend/src/views/campaigns/wizard/Step4BasicInfo.vue","frontend/src/views/campaigns/wizard/Step7Review.vue","frontend/src/views/campaigns/wizard/components/ToolConfigForms.vue","frontend/src/views/channel-analytics/Index.vue","frontend/src/views/community-bots/Index.vue","frontend/src/views/community-fission/Index.vue","frontend/src/views/community-groups/Index.vue","frontend/src/views/community-materials/Index.vue","frontend/src/views/community-members/Index.vue","frontend/src/views/community-messages/Index.vue","frontend/src/views/community-points/Index.vue","frontend/src/views/community-tasks/Index.vue","frontend/src/views/consumer-behavior-analytics/Index.vue","frontend/src/views/content-creation/Index.vue","frontend/src/views/content-distribution/Index.vue","frontend/src/views/content-library/Detail.vue","frontend/src/views/content-templates/Index.vue","frontend/src/views/contract-templates/Index.vue","frontend/src/views/contracts/Form.vue","frontend/src/views/conversion-paths/Index.vue","frontend/src/views/cost-allocation/Index.vue","frontend/src/views/cpq/Index.vue","frontend/src/views/cross-domain-funnel/Index.vue","frontend/src/views/customer-health/Index.vue","frontend/src/views/customer-journey/Detail.vue","frontend/src/views/customer-marketing/Index.vue","frontend/src/views/customer-segmentation/Form.vue","frontend/src/views/departments/Detail.vue","frontend/src/views/departments/Index.vue","frontend/src/views/devices/Alerts.vue","frontend/src/views/devices/Form.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/dimension-transform/Index.vue","frontend/src/views/email-templates/Form.vue","frontend/src/views/email-templates/Index.vue","frontend/src/views/event-logs/Index.vue","frontend/src/views/expense-claims/Index.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/geo-pois/Index.vue","frontend/src/views/groupbuy-campaigns/Index.vue","frontend/src/views/groupbuy-inventory/Index.vue","frontend/src/views/groupbuy-orders/Index.vue","frontend/src/views/groupbuy-platforms/Index.vue","frontend/src/views/groupbuy-pricing/Index.vue","frontend/src/views/groupbuy-products/Index.vue","frontend/src/views/groupbuy-promotions/Index.vue","frontend/src/views/groupbuy-settlements/Index.vue","frontend/src/views/hr/attendance/components/AttendanceTab.vue","frontend/src/views/hr/attendance/components/HolidaysTab.vue","frontend/src/views/hr/attendance/components/LeavesTab.vue","frontend/src/views/hr/attendance/components/OvertimeTab.vue","frontend/src/views/hr/attendance/components/ShiftsTab.vue","frontend/src/views/hr/training/components/CertificatesTab.vue","frontend/src/views/hr/training/components/CompetencyTab.vue","frontend/src/views/hr/training/components/CoursesTab.vue","frontend/src/views/hr/training/components/ExamsTab.vue","frontend/src/views/hr/training/components/PlansTab.vue","frontend/src/views/hr/training/components/SessionsTab.vue","frontend/src/views/inventory/Counts.vue","frontend/src/views/inventory/Index.vue","frontend/src/views/inventory/Snapshots.vue","frontend/src/views/journey-orchestration/Form.vue","frontend/src/views/knowledge-feedback/Index.vue","frontend/src/views/lead-assignment/Form.vue","frontend/src/views/lead-pools/Form.vue","frontend/src/views/lead-pools/Index.vue","frontend/src/views/lead-qualification/Form.vue","frontend/src/views/lead-qualification/Index.vue","frontend/src/views/leads/Form.vue","frontend/src/views/leads/Index.vue","frontend/src/views/livestream-gifts/Index.vue","frontend/src/views/livestream-groupbuy-conversion/Index.vue","frontend/src/views/livestream-schedules/Index.vue","frontend/src/views/livestream-scripts/Index.vue","frontend/src/views/local-events/Index.vue","frontend/src/views/local-promotion/Index.vue","frontend/src/views/maintenance/Index.vue","frontend/src/views/maintenance/TaskDetail.vue","frontend/src/views/marketing-automation/Index.vue","frontend/src/views/marketing-effectiveness/Index.vue","frontend/src/views/marketing-north-star/Index.vue","frontend/src/views/marketing-tools/Detail.vue","frontend/src/views/marketing-tools/Index.vue","frontend/src/views/marketing/budget-alerts/Index.vue","frontend/src/views/mdm/Index.vue","frontend/src/views/member-benefits/Index.vue","frontend/src/views/member-levels/Index.vue","frontend/src/views/member-points/Index.vue","frontend/src/views/members/Index.vue","frontend/src/views/menus/Index.vue","frontend/src/views/notification-configs/Index.vue","frontend/src/views/notifications/Index.vue","frontend/src/views/omnichannel-dashboard/Index.vue","frontend/src/views/omnichannel-data-hub/Index.vue","frontend/src/views/opportunities/Form.vue","frontend/src/views/orders/Form.vue","frontend/src/views/orders/Index.vue","frontend/src/views/org-chart/Index.vue","frontend/src/views/partners/Detail.vue","frontend/src/views/payment-plans/Index.vue","frontend/src/views/pm/Index.vue","frontend/src/views/predictive-analytics/Form.vue","frontend/src/views/process-designer/Designer.vue","frontend/src/views/product-analytics/Index.vue","frontend/src/views/products/Index.vue","frontend/src/views/qr-codes/Index.vue","frontend/src/views/quotes/Form.vue","frontend/src/views/realtime-trigger/Form.vue","frontend/src/views/renewal-tasks/Index.vue","frontend/src/views/rfm-analysis/Detail.vue","frontend/src/views/rfm-analysis/Index.vue","frontend/src/views/roles/Index.vue","frontend/src/views/scheduled-jobs/Index.vue","frontend/src/views/segments/Index.vue","frontend/src/views/service-monitor/Index.vue","frontend/src/views/settings/Index.vue","frontend/src/views/social-accounts/Index.vue","frontend/src/views/social-auto-replies/Index.vue","frontend/src/views/social-competitors/Index.vue","frontend/src/views/social-matrix/Index.vue","frontend/src/views/social-posts/Detail.vue","frontend/src/views/social-posts/Index.vue","frontend/src/views/spare-parts/Index.vue","frontend/src/views/spare-parts/components/TransactionHistory.vue","frontend/src/views/stage-knowledge/Index.vue","frontend/src/views/store-configs/Index.vue","frontend/src/views/stores/Detail.vue","frontend/src/views/stores/Index.vue","frontend/src/views/supplier-payments/Index.vue","frontend/src/views/suppliers/Index.vue","frontend/src/views/system-events/Index.vue","frontend/src/views/system-monitor/Index.vue","frontend/src/views/system/AuditLogs.vue","frontend/src/views/tenant-configs/Index.vue","frontend/src/views/tickets/Form.vue","frontend/src/views/tickets/Index.vue","frontend/src/views/users/Index.vue","frontend/src/views/utm-tracking/Form.vue","frontend/src/views/video-publishing/Index.vue","frontend/src/views/web-tracking/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":1956552,"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":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-24T09:45:16+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
|
1774319038
|
1774319038
|
0
|
1774318540
|
1774319038
|
|
|
0
|
Edit
Delete
|
|
7652
|
feat: 四线并行治理 — Record清零+v-permission扩展+Redis缓存+as feat: 四线并行治理 — Record清零+v-permission扩展+Redis缓存+as any清理...
|
6
|
5
|
health-check.yml
|
7577
|
-2
|
130
|
refs/heads/main
|
dbf34b08bbb60650d15b0c55262dbfe8d0a3a655
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"8c39619c9cdb0d888d10942bf50533c8238021df","after":"dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/8c39619c9cdb0d888d10942bf50533c8238021df...dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","commits":[{"id":"dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","message":"feat: 四线并行治理 — Record清零+v-permission扩展+Redis缓存+as any清理\n\n## Line 1: Record\u003cstring,any\u003e 全前端清零 (637→0)\n- 262 个文件批量替换 Record\u003cstring, any\u003e → Record\u003cstring, unknown\u003e\n- 覆盖 API 模块层 137 文件 + 视图/stores/composables 100 文件\n\n## Line 2: v-permission 全面覆盖 (53→104 个视图文件)\n- 新增 51 个视图的 v-permission 指令\n- 覆盖: products/departments/contract-templates/spare-parts/pm/\n stage-knowledge/email-templates/approval-templates/ad-campaigns/\n groupbuy-*/community-*/alliance-*/livestream-*/social-*/content-*/\n geo-*/segments/lead-pools/bom/expense-claims/ap-ledger 等\n\n## Line 3: Redis 缓存扩展 (5→14 个缓存点, 10 个模块)\n- 新建 cache-utils.ts 统一缓存工具层 (withCache + invalidation)\n- 高优: tenant-configs(300s) + roles(1800s) + products(600s) +\n departments(600s) + sla(1800s) + contract-templates(600s)\n- 中优: price-books(600s) + notifications(300s)\n- 写后失效: 所有 create/update/delete 自动清除缓存\n\n## Line 4: as any 清理 (25处)\n- campaign-analytics.controller: 8→0 (精确查询类型)\n- social-interactions.service: 9→0 (Prisma UncheckedCreateInput)\n- store-staff.service: 6→0 (prismaModel 代理)\n- scheduled-jobs.consumer: 2→0 (直接使用已有类型)\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-24T10:14:13+08:00","added":["backend/src/shared/constants/events/common.ts","backend/src/shared/constants/events/finance.ts","backend/src/shared/constants/events/hr.ts","backend/src/shared/constants/events/im.ts","backend/src/shared/constants/events/index.ts","backend/src/shared/constants/events/knowledge.ts","backend/src/shared/constants/events/lifecycle.ts","backend/src/shared/constants/events/marketing.ts","backend/src/shared/constants/events/sales.ts","backend/src/shared/constants/events/service.ts","backend/src/shared/constants/events/store.ts","backend/src/shared/constants/events/supply_chain.ts","backend/src/shared/constants/events/system.ts","backend/src/shared/services/list-cache.service.ts","backend/src/shared/utils/cache-utils.ts"],"removed":[],"modified":["backend/src/consumers/attribution.consumer.ts","backend/src/consumers/campaign-effectiveness.consumer.ts","backend/src/consumers/marketing-workflow-executor.consumer.ts","backend/src/consumers/scheduled-jobs.consumer.ts","backend/src/modules/ai-agents/services/knowledge-vector-enhanced.service.ts","backend/src/modules/alliance-settlements/alliance-settlement.service.test.ts","backend/src/modules/campaign-analytics/campaign-analytics.controller.ts","backend/src/modules/contract-templates/contract-template.service.ts","backend/src/modules/contracts/contract.controller.ts","backend/src/modules/contracts/contract.routes.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/customers/customer.service.ts","backend/src/modules/departments/department.service.test.ts","backend/src/modules/departments/department.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/leads/lead-sla.service.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-interactions/livestream-realtime.service.ts","backend/src/modules/marketing-automation/workflow-trigger.service.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.controller.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.routes.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.service.ts","backend/src/modules/notifications/notification.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/payments/payment.service.test.ts","backend/src/modules/price-books/price-book.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/roles/role.service.ts","backend/src/modules/segments/segment.service.ts","backend/src/modules/sla/sla.service.ts","backend/src/modules/social-interactions/social-interactions.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/tenant-configs/tenant-config.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/constants/events.ts","backend/src/shared/services/partition-maintenance.service.ts","backend/src/shared/state-machines/machines/contract.machine.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/state-machines/types.ts","backend/src/shared/state-machines/utils/transitions/sales.transitions.ts","backend/src/shared/utils/biz-code.ts","frontend/src/api/adapters.ts","frontend/src/api/im-binding.ts","frontend/src/api/modules/ad-accounts.ts","frontend/src/api/modules/ad-audiences.ts","frontend/src/api/modules/ad-creatives.ts","frontend/src/api/modules/ad-placement.ts","frontend/src/api/modules/ad-reports.ts","frontend/src/api/modules/agent-group.ts","frontend/src/api/modules/ai-agent.ts","frontend/src/api/modules/alliance-analytics.ts","frontend/src/api/modules/alliance-merchants.ts","frontend/src/api/modules/alliance-products.ts","frontend/src/api/modules/alliance-promotions.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/analytics.ts","frontend/src/api/modules/approvals.ts","frontend/src/api/modules/assets.ts","frontend/src/api/modules/attribution.ts","frontend/src/api/modules/audit-logs.ts","frontend/src/api/modules/campaign-drafts.ts","frontend/src/api/modules/campaign-library.ts","frontend/src/api/modules/campaign-targets.ts","frontend/src/api/modules/campaign-tools.ts","frontend/src/api/modules/campaign-use-case-templates.ts","frontend/src/api/modules/campaign-wizard.ts","frontend/src/api/modules/campaigns.ts","frontend/src/api/modules/cohort-analysis.ts","frontend/src/api/modules/commissions.ts","frontend/src/api/modules/community-activities.ts","frontend/src/api/modules/community-analytics.ts","frontend/src/api/modules/community-bots.ts","frontend/src/api/modules/community-groups.ts","frontend/src/api/modules/community-levels.ts","frontend/src/api/modules/community-members.ts","frontend/src/api/modules/community-messages.ts","frontend/src/api/modules/community-points.ts","frontend/src/api/modules/consumer-behavior-analytics.ts","frontend/src/api/modules/content-categories.ts","frontend/src/api/modules/content-copyright.ts","frontend/src/api/modules/content-creation.ts","frontend/src/api/modules/content-distribution.ts","frontend/src/api/modules/content-library.ts","frontend/src/api/modules/content-templates.ts","frontend/src/api/modules/contract-templates.ts","frontend/src/api/modules/cpq.ts","frontend/src/api/modules/cross-domain-funnel.ts","frontend/src/api/modules/customer-analytics.ts","frontend/src/api/modules/customer-health.ts","frontend/src/api/modules/customer-journey.ts","frontend/src/api/modules/customer-ltv.ts","frontend/src/api/modules/customer-marketing.ts","frontend/src/api/modules/customer-segmentation.ts","frontend/src/api/modules/devices.ts","frontend/src/api/modules/dictionaries.ts","frontend/src/api/modules/dimension-transform.ts","frontend/src/api/modules/email-marketing.ts","frontend/src/api/modules/email-templates.ts","frontend/src/api/modules/event-logs.ts","frontend/src/api/modules/events.ts","frontend/src/api/modules/expense.ts","frontend/src/api/modules/financial-reports.ts","frontend/src/api/modules/fulfillment.ts","frontend/src/api/modules/geo-fences.ts","frontend/src/api/modules/geo-pois.ts","frontend/src/api/modules/groupbuy-analytics.ts","frontend/src/api/modules/groupbuy-campaigns.ts","frontend/src/api/modules/groupbuy-platforms.ts","frontend/src/api/modules/groupbuy-pricing.ts","frontend/src/api/modules/groupbuy-products.ts","frontend/src/api/modules/groupbuy-settlements.ts","frontend/src/api/modules/hr-benefits.ts","frontend/src/api/modules/hr-payroll.ts","frontend/src/api/modules/im-channels.ts","frontend/src/api/modules/im.ts","frontend/src/api/modules/integration-services.ts","frontend/src/api/modules/intent-analyzer.ts","frontend/src/api/modules/journey-orchestration.ts","frontend/src/api/modules/knowledge-candidates.ts","frontend/src/api/modules/knowledge-capture.ts","frontend/src/api/modules/landing-pages.ts","frontend/src/api/modules/lead-scoring-ai.ts","frontend/src/api/modules/livestream-groupbuy-conversion.ts","frontend/src/api/modules/livestream-groupbuy.ts","frontend/src/api/modules/livestream-interactions.ts","frontend/src/api/modules/livestream-rooms.ts","frontend/src/api/modules/livestream-schedules.ts","frontend/src/api/modules/livestream.ts","frontend/src/api/modules/location-assessments.ts","frontend/src/api/modules/login-logs.ts","frontend/src/api/modules/maintenance.ts","frontend/src/api/modules/marketing-automation.ts","frontend/src/api/modules/marketing-calendar.ts","frontend/src/api/modules/marketing-chatbot.ts","frontend/src/api/modules/marketing-content.ts","frontend/src/api/modules/marketing-forms.ts","frontend/src/api/modules/marketing-matrix.ts","frontend/src/api/modules/marketing-north-star.ts","frontend/src/api/modules/marketing-timeslots.ts","frontend/src/api/modules/marketing.ts","frontend/src/api/modules/omnichannel-dashboard.ts","frontend/src/api/modules/omnichannel-data-hub.ts","frontend/src/api/modules/omnichannel-touchpoints.ts","frontend/src/api/modules/operation-logs.ts","frontend/src/api/modules/opportunities.ts","frontend/src/api/modules/predictive-analytics.ts","frontend/src/api/modules/process-designer.ts","frontend/src/api/modules/process.ts","frontend/src/api/modules/products.ts","frontend/src/api/modules/realtime-trigger.ts","frontend/src/api/modules/reports.ts","frontend/src/api/modules/resource-requests.ts","frontend/src/api/modules/revenue.ts","frontend/src/api/modules/rfm-analysis.ts","frontend/src/api/modules/rma.ts","frontend/src/api/modules/satisfaction.ts","frontend/src/api/modules/scheduled-jobs.ts","frontend/src/api/modules/search.ts","frontend/src/api/modules/segments.ts","frontend/src/api/modules/service-monitor.ts","frontend/src/api/modules/sms-marketing.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/api/modules/social-auto-replies.ts","frontend/src/api/modules/social-competitors.ts","frontend/src/api/modules/social-hot-topics.ts","frontend/src/api/modules/social-interactions.ts","frontend/src/api/modules/spare-parts.ts","frontend/src/api/modules/store-performance.ts","frontend/src/api/modules/stores.ts","frontend/src/api/modules/supplier-management.ts","frontend/src/api/modules/swot-analyses.ts","frontend/src/api/modules/system-events.ts","frontend/src/api/modules/ticket-workflows.ts","frontend/src/api/modules/tickets.ts","frontend/src/api/modules/tob-toc-gateway.ts","frontend/src/api/modules/unified-campaign.ts","frontend/src/api/modules/web-tracking.ts","frontend/src/api/modules/workflow-generator.ts","frontend/src/api/response-normalizer.ts","frontend/src/components/business/ActivityTimeline.vue","frontend/src/components/business/EventStreamPanel.vue","frontend/src/components/business/IMPanel.vue","frontend/src/components/common/DataTable.vue","frontend/src/components/common/ResponsiveDataTable.vue","frontend/src/components/mobile/MobileFilter.vue","frontend/src/components/responsive/ResponsiveFilterBar.vue","frontend/src/types/ai-agent.ts","frontend/src/utils/echarts.ts","frontend/src/views/__tests__/standard-crud-smoke.helper.ts","frontend/src/views/abm-marketing/Index.vue","frontend/src/views/acquisition/Index.vue","frontend/src/views/ad-accounts/Form.vue","frontend/src/views/ad-accounts/Index.vue","frontend/src/views/ad-analytics/Index.vue","frontend/src/views/ad-campaigns/Index.vue","frontend/src/views/ad-creatives/Index.vue","frontend/src/views/ad-placement/ABTests.vue","frontend/src/views/ad-placement/AudiencePacks.vue","frontend/src/views/ad-placement/BudgetAlerts.vue","frontend/src/views/ad-placement/Creatives.vue","frontend/src/views/ad-placement/Index.vue","frontend/src/views/ad-placement/RoiAnalysis.vue","frontend/src/views/alliance-agreements/Index.vue","frontend/src/views/alliance-campaigns/Index.vue","frontend/src/views/alliance-coupons/Index.vue","frontend/src/views/alliance-packages/Index.vue","frontend/src/views/alliance-partners/Index.vue","frontend/src/views/alliance-products/Index.vue","frontend/src/views/analytics/roi/Index.vue","frontend/src/views/ap-ledger/Index.vue","frontend/src/views/approval-configs/Form.vue","frontend/src/views/approval-configs/Index.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/approval-templates/Index.vue","frontend/src/views/attribution/Index.vue","frontend/src/views/auth/Index.vue","frontend/src/views/bom/Index.vue","frontend/src/views/campaign-analytics/Index.vue","frontend/src/views/campaign-library/Index.vue","frontend/src/views/campaign-targets/Index.vue","frontend/src/views/campaign-tools/Index.vue","frontend/src/views/campaigns/Detail.vue","frontend/src/views/campaigns/Index.vue","frontend/src/views/campaigns/components/ToolConfigDialog.vue","frontend/src/views/campaigns/wizard/Step3Tools.vue","frontend/src/views/campaigns/wizard/Step4BasicInfo.vue","frontend/src/views/campaigns/wizard/Step7Review.vue","frontend/src/views/campaigns/wizard/components/ToolConfigForms.vue","frontend/src/views/channel-analytics/Index.vue","frontend/src/views/community-bots/Index.vue","frontend/src/views/community-fission/Index.vue","frontend/src/views/community-groups/Index.vue","frontend/src/views/community-materials/Index.vue","frontend/src/views/community-members/Index.vue","frontend/src/views/community-messages/Index.vue","frontend/src/views/community-points/Index.vue","frontend/src/views/community-tasks/Index.vue","frontend/src/views/consumer-behavior-analytics/Index.vue","frontend/src/views/content-creation/Index.vue","frontend/src/views/content-distribution/Index.vue","frontend/src/views/content-library/Detail.vue","frontend/src/views/content-templates/Index.vue","frontend/src/views/contract-templates/Index.vue","frontend/src/views/contracts/Form.vue","frontend/src/views/conversion-paths/Index.vue","frontend/src/views/cost-allocation/Index.vue","frontend/src/views/cpq/Index.vue","frontend/src/views/cross-domain-funnel/Index.vue","frontend/src/views/customer-health/Index.vue","frontend/src/views/customer-journey/Detail.vue","frontend/src/views/customer-marketing/Index.vue","frontend/src/views/customer-segmentation/Form.vue","frontend/src/views/departments/Detail.vue","frontend/src/views/departments/Index.vue","frontend/src/views/devices/Alerts.vue","frontend/src/views/devices/Form.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/dimension-transform/Index.vue","frontend/src/views/email-templates/Form.vue","frontend/src/views/email-templates/Index.vue","frontend/src/views/event-logs/Index.vue","frontend/src/views/expense-claims/Index.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/geo-pois/Index.vue","frontend/src/views/groupbuy-campaigns/Index.vue","frontend/src/views/groupbuy-inventory/Index.vue","frontend/src/views/groupbuy-orders/Index.vue","frontend/src/views/groupbuy-platforms/Index.vue","frontend/src/views/groupbuy-pricing/Index.vue","frontend/src/views/groupbuy-products/Index.vue","frontend/src/views/groupbuy-promotions/Index.vue","frontend/src/views/groupbuy-settlements/Index.vue","frontend/src/views/hr/attendance/components/AttendanceTab.vue","frontend/src/views/hr/attendance/components/HolidaysTab.vue","frontend/src/views/hr/attendance/components/LeavesTab.vue","frontend/src/views/hr/attendance/components/OvertimeTab.vue","frontend/src/views/hr/attendance/components/ShiftsTab.vue","frontend/src/views/hr/training/components/CertificatesTab.vue","frontend/src/views/hr/training/components/CompetencyTab.vue","frontend/src/views/hr/training/components/CoursesTab.vue","frontend/src/views/hr/training/components/ExamsTab.vue","frontend/src/views/hr/training/components/PlansTab.vue","frontend/src/views/hr/training/components/SessionsTab.vue","frontend/src/views/inventory/Counts.vue","frontend/src/views/inventory/Index.vue","frontend/src/views/inventory/Snapshots.vue","frontend/src/views/journey-orchestration/Form.vue","frontend/src/views/knowledge-feedback/Index.vue","frontend/src/views/lead-assignment/Form.vue","frontend/src/views/lead-pools/Form.vue","frontend/src/views/lead-pools/Index.vue","frontend/src/views/lead-qualification/Form.vue","frontend/src/views/lead-qualification/Index.vue","frontend/src/views/leads/Form.vue","frontend/src/views/leads/Index.vue","frontend/src/views/livestream-gifts/Index.vue","frontend/src/views/livestream-groupbuy-conversion/Index.vue","frontend/src/views/livestream-schedules/Index.vue","frontend/src/views/livestream-scripts/Index.vue","frontend/src/views/local-events/Index.vue","frontend/src/views/local-promotion/Index.vue","frontend/src/views/maintenance/Index.vue","frontend/src/views/maintenance/TaskDetail.vue","frontend/src/views/marketing-automation/Index.vue","frontend/src/views/marketing-effectiveness/Index.vue","frontend/src/views/marketing-north-star/Index.vue","frontend/src/views/marketing-tools/Detail.vue","frontend/src/views/marketing-tools/Index.vue","frontend/src/views/marketing/budget-alerts/Index.vue","frontend/src/views/mdm/Index.vue","frontend/src/views/member-benefits/Index.vue","frontend/src/views/member-levels/Index.vue","frontend/src/views/member-points/Index.vue","frontend/src/views/members/Index.vue","frontend/src/views/menus/Index.vue","frontend/src/views/notification-configs/Index.vue","frontend/src/views/notifications/Index.vue","frontend/src/views/omnichannel-dashboard/Index.vue","frontend/src/views/omnichannel-data-hub/Index.vue","frontend/src/views/opportunities/Form.vue","frontend/src/views/orders/Form.vue","frontend/src/views/orders/Index.vue","frontend/src/views/org-chart/Index.vue","frontend/src/views/partners/Detail.vue","frontend/src/views/payment-plans/Index.vue","frontend/src/views/pm/Index.vue","frontend/src/views/predictive-analytics/Form.vue","frontend/src/views/process-designer/Designer.vue","frontend/src/views/product-analytics/Index.vue","frontend/src/views/products/Index.vue","frontend/src/views/qr-codes/Index.vue","frontend/src/views/quotes/Form.vue","frontend/src/views/realtime-trigger/Form.vue","frontend/src/views/renewal-tasks/Index.vue","frontend/src/views/rfm-analysis/Detail.vue","frontend/src/views/rfm-analysis/Index.vue","frontend/src/views/roles/Index.vue","frontend/src/views/scheduled-jobs/Index.vue","frontend/src/views/segments/Index.vue","frontend/src/views/service-monitor/Index.vue","frontend/src/views/settings/Index.vue","frontend/src/views/social-accounts/Index.vue","frontend/src/views/social-auto-replies/Index.vue","frontend/src/views/social-competitors/Index.vue","frontend/src/views/social-matrix/Index.vue","frontend/src/views/social-posts/Detail.vue","frontend/src/views/social-posts/Index.vue","frontend/src/views/spare-parts/Index.vue","frontend/src/views/spare-parts/components/TransactionHistory.vue","frontend/src/views/stage-knowledge/Index.vue","frontend/src/views/store-configs/Index.vue","frontend/src/views/stores/Detail.vue","frontend/src/views/stores/Index.vue","frontend/src/views/supplier-payments/Index.vue","frontend/src/views/suppliers/Index.vue","frontend/src/views/system-events/Index.vue","frontend/src/views/system-monitor/Index.vue","frontend/src/views/system/AuditLogs.vue","frontend/src/views/tenant-configs/Index.vue","frontend/src/views/tickets/Form.vue","frontend/src/views/tickets/Index.vue","frontend/src/views/users/Index.vue","frontend/src/views/utm-tracking/Form.vue","frontend/src/views/video-publishing/Index.vue","frontend/src/views/web-tracking/Index.vue"]}],"total_commits":0,"head_commit":{"id":"dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","message":"feat: 四线并行治理 — Record清零+v-permission扩展+Redis缓存+as any清理\n\n## Line 1: Record\u003cstring,any\u003e 全前端清零 (637→0)\n- 262 个文件批量替换 Record\u003cstring, any\u003e → Record\u003cstring, unknown\u003e\n- 覆盖 API 模块层 137 文件 + 视图/stores/composables 100 文件\n\n## Line 2: v-permission 全面覆盖 (53→104 个视图文件)\n- 新增 51 个视图的 v-permission 指令\n- 覆盖: products/departments/contract-templates/spare-parts/pm/\n stage-knowledge/email-templates/approval-templates/ad-campaigns/\n groupbuy-*/community-*/alliance-*/livestream-*/social-*/content-*/\n geo-*/segments/lead-pools/bom/expense-claims/ap-ledger 等\n\n## Line 3: Redis 缓存扩展 (5→14 个缓存点, 10 个模块)\n- 新建 cache-utils.ts 统一缓存工具层 (withCache + invalidation)\n- 高优: tenant-configs(300s) + roles(1800s) + products(600s) +\n departments(600s) + sla(1800s) + contract-templates(600s)\n- 中优: price-books(600s) + notifications(300s)\n- 写后失效: 所有 create/update/delete 自动清除缓存\n\n## Line 4: as any 清理 (25处)\n- campaign-analytics.controller: 8→0 (精确查询类型)\n- social-interactions.service: 9→0 (Prisma UncheckedCreateInput)\n- store-staff.service: 6→0 (prismaModel 代理)\n- scheduled-jobs.consumer: 2→0 (直接使用已有类型)\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-24T10:14:13+08:00","added":["backend/src/shared/constants/events/common.ts","backend/src/shared/constants/events/finance.ts","backend/src/shared/constants/events/hr.ts","backend/src/shared/constants/events/im.ts","backend/src/shared/constants/events/index.ts","backend/src/shared/constants/events/knowledge.ts","backend/src/shared/constants/events/lifecycle.ts","backend/src/shared/constants/events/marketing.ts","backend/src/shared/constants/events/sales.ts","backend/src/shared/constants/events/service.ts","backend/src/shared/constants/events/store.ts","backend/src/shared/constants/events/supply_chain.ts","backend/src/shared/constants/events/system.ts","backend/src/shared/services/list-cache.service.ts","backend/src/shared/utils/cache-utils.ts"],"removed":[],"modified":["backend/src/consumers/attribution.consumer.ts","backend/src/consumers/campaign-effectiveness.consumer.ts","backend/src/consumers/marketing-workflow-executor.consumer.ts","backend/src/consumers/scheduled-jobs.consumer.ts","backend/src/modules/ai-agents/services/knowledge-vector-enhanced.service.ts","backend/src/modules/alliance-settlements/alliance-settlement.service.test.ts","backend/src/modules/campaign-analytics/campaign-analytics.controller.ts","backend/src/modules/contract-templates/contract-template.service.ts","backend/src/modules/contracts/contract.controller.ts","backend/src/modules/contracts/contract.routes.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/customers/customer.service.ts","backend/src/modules/departments/department.service.test.ts","backend/src/modules/departments/department.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/leads/lead-sla.service.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-interactions/livestream-realtime.service.ts","backend/src/modules/marketing-automation/workflow-trigger.service.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.controller.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.routes.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.service.ts","backend/src/modules/notifications/notification.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/payments/payment.service.test.ts","backend/src/modules/price-books/price-book.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/roles/role.service.ts","backend/src/modules/segments/segment.service.ts","backend/src/modules/sla/sla.service.ts","backend/src/modules/social-interactions/social-interactions.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/tenant-configs/tenant-config.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/constants/events.ts","backend/src/shared/services/partition-maintenance.service.ts","backend/src/shared/state-machines/machines/contract.machine.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/state-machines/types.ts","backend/src/shared/state-machines/utils/transitions/sales.transitions.ts","backend/src/shared/utils/biz-code.ts","frontend/src/api/adapters.ts","frontend/src/api/im-binding.ts","frontend/src/api/modules/ad-accounts.ts","frontend/src/api/modules/ad-audiences.ts","frontend/src/api/modules/ad-creatives.ts","frontend/src/api/modules/ad-placement.ts","frontend/src/api/modules/ad-reports.ts","frontend/src/api/modules/agent-group.ts","frontend/src/api/modules/ai-agent.ts","frontend/src/api/modules/alliance-analytics.ts","frontend/src/api/modules/alliance-merchants.ts","frontend/src/api/modules/alliance-products.ts","frontend/src/api/modules/alliance-promotions.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/analytics.ts","frontend/src/api/modules/approvals.ts","frontend/src/api/modules/assets.ts","frontend/src/api/modules/attribution.ts","frontend/src/api/modules/audit-logs.ts","frontend/src/api/modules/campaign-drafts.ts","frontend/src/api/modules/campaign-library.ts","frontend/src/api/modules/campaign-targets.ts","frontend/src/api/modules/campaign-tools.ts","frontend/src/api/modules/campaign-use-case-templates.ts","frontend/src/api/modules/campaign-wizard.ts","frontend/src/api/modules/campaigns.ts","frontend/src/api/modules/cohort-analysis.ts","frontend/src/api/modules/commissions.ts","frontend/src/api/modules/community-activities.ts","frontend/src/api/modules/community-analytics.ts","frontend/src/api/modules/community-bots.ts","frontend/src/api/modules/community-groups.ts","frontend/src/api/modules/community-levels.ts","frontend/src/api/modules/community-members.ts","frontend/src/api/modules/community-messages.ts","frontend/src/api/modules/community-points.ts","frontend/src/api/modules/consumer-behavior-analytics.ts","frontend/src/api/modules/content-categories.ts","frontend/src/api/modules/content-copyright.ts","frontend/src/api/modules/content-creation.ts","frontend/src/api/modules/content-distribution.ts","frontend/src/api/modules/content-library.ts","frontend/src/api/modules/content-templates.ts","frontend/src/api/modules/contract-templates.ts","frontend/src/api/modules/cpq.ts","frontend/src/api/modules/cross-domain-funnel.ts","frontend/src/api/modules/customer-analytics.ts","frontend/src/api/modules/customer-health.ts","frontend/src/api/modules/customer-journey.ts","frontend/src/api/modules/customer-ltv.ts","frontend/src/api/modules/customer-marketing.ts","frontend/src/api/modules/customer-segmentation.ts","frontend/src/api/modules/devices.ts","frontend/src/api/modules/dictionaries.ts","frontend/src/api/modules/dimension-transform.ts","frontend/src/api/modules/email-marketing.ts","frontend/src/api/modules/email-templates.ts","frontend/src/api/modules/event-logs.ts","frontend/src/api/modules/events.ts","frontend/src/api/modules/expense.ts","frontend/src/api/modules/financial-reports.ts","frontend/src/api/modules/fulfillment.ts","frontend/src/api/modules/geo-fences.ts","frontend/src/api/modules/geo-pois.ts","frontend/src/api/modules/groupbuy-analytics.ts","frontend/src/api/modules/groupbuy-campaigns.ts","frontend/src/api/modules/groupbuy-platforms.ts","frontend/src/api/modules/groupbuy-pricing.ts","frontend/src/api/modules/groupbuy-products.ts","frontend/src/api/modules/groupbuy-settlements.ts","frontend/src/api/modules/hr-benefits.ts","frontend/src/api/modules/hr-payroll.ts","frontend/src/api/modules/im-channels.ts","frontend/src/api/modules/im.ts","frontend/src/api/modules/integration-services.ts","frontend/src/api/modules/intent-analyzer.ts","frontend/src/api/modules/journey-orchestration.ts","frontend/src/api/modules/knowledge-candidates.ts","frontend/src/api/modules/knowledge-capture.ts","frontend/src/api/modules/landing-pages.ts","frontend/src/api/modules/lead-scoring-ai.ts","frontend/src/api/modules/livestream-groupbuy-conversion.ts","frontend/src/api/modules/livestream-groupbuy.ts","frontend/src/api/modules/livestream-interactions.ts","frontend/src/api/modules/livestream-rooms.ts","frontend/src/api/modules/livestream-schedules.ts","frontend/src/api/modules/livestream.ts","frontend/src/api/modules/location-assessments.ts","frontend/src/api/modules/login-logs.ts","frontend/src/api/modules/maintenance.ts","frontend/src/api/modules/marketing-automation.ts","frontend/src/api/modules/marketing-calendar.ts","frontend/src/api/modules/marketing-chatbot.ts","frontend/src/api/modules/marketing-content.ts","frontend/src/api/modules/marketing-forms.ts","frontend/src/api/modules/marketing-matrix.ts","frontend/src/api/modules/marketing-north-star.ts","frontend/src/api/modules/marketing-timeslots.ts","frontend/src/api/modules/marketing.ts","frontend/src/api/modules/omnichannel-dashboard.ts","frontend/src/api/modules/omnichannel-data-hub.ts","frontend/src/api/modules/omnichannel-touchpoints.ts","frontend/src/api/modules/operation-logs.ts","frontend/src/api/modules/opportunities.ts","frontend/src/api/modules/predictive-analytics.ts","frontend/src/api/modules/process-designer.ts","frontend/src/api/modules/process.ts","frontend/src/api/modules/products.ts","frontend/src/api/modules/realtime-trigger.ts","frontend/src/api/modules/reports.ts","frontend/src/api/modules/resource-requests.ts","frontend/src/api/modules/revenue.ts","frontend/src/api/modules/rfm-analysis.ts","frontend/src/api/modules/rma.ts","frontend/src/api/modules/satisfaction.ts","frontend/src/api/modules/scheduled-jobs.ts","frontend/src/api/modules/search.ts","frontend/src/api/modules/segments.ts","frontend/src/api/modules/service-monitor.ts","frontend/src/api/modules/sms-marketing.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/api/modules/social-auto-replies.ts","frontend/src/api/modules/social-competitors.ts","frontend/src/api/modules/social-hot-topics.ts","frontend/src/api/modules/social-interactions.ts","frontend/src/api/modules/spare-parts.ts","frontend/src/api/modules/store-performance.ts","frontend/src/api/modules/stores.ts","frontend/src/api/modules/supplier-management.ts","frontend/src/api/modules/swot-analyses.ts","frontend/src/api/modules/system-events.ts","frontend/src/api/modules/ticket-workflows.ts","frontend/src/api/modules/tickets.ts","frontend/src/api/modules/tob-toc-gateway.ts","frontend/src/api/modules/unified-campaign.ts","frontend/src/api/modules/web-tracking.ts","frontend/src/api/modules/workflow-generator.ts","frontend/src/api/response-normalizer.ts","frontend/src/components/business/ActivityTimeline.vue","frontend/src/components/business/EventStreamPanel.vue","frontend/src/components/business/IMPanel.vue","frontend/src/components/common/DataTable.vue","frontend/src/components/common/ResponsiveDataTable.vue","frontend/src/components/mobile/MobileFilter.vue","frontend/src/components/responsive/ResponsiveFilterBar.vue","frontend/src/types/ai-agent.ts","frontend/src/utils/echarts.ts","frontend/src/views/__tests__/standard-crud-smoke.helper.ts","frontend/src/views/abm-marketing/Index.vue","frontend/src/views/acquisition/Index.vue","frontend/src/views/ad-accounts/Form.vue","frontend/src/views/ad-accounts/Index.vue","frontend/src/views/ad-analytics/Index.vue","frontend/src/views/ad-campaigns/Index.vue","frontend/src/views/ad-creatives/Index.vue","frontend/src/views/ad-placement/ABTests.vue","frontend/src/views/ad-placement/AudiencePacks.vue","frontend/src/views/ad-placement/BudgetAlerts.vue","frontend/src/views/ad-placement/Creatives.vue","frontend/src/views/ad-placement/Index.vue","frontend/src/views/ad-placement/RoiAnalysis.vue","frontend/src/views/alliance-agreements/Index.vue","frontend/src/views/alliance-campaigns/Index.vue","frontend/src/views/alliance-coupons/Index.vue","frontend/src/views/alliance-packages/Index.vue","frontend/src/views/alliance-partners/Index.vue","frontend/src/views/alliance-products/Index.vue","frontend/src/views/analytics/roi/Index.vue","frontend/src/views/ap-ledger/Index.vue","frontend/src/views/approval-configs/Form.vue","frontend/src/views/approval-configs/Index.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/approval-templates/Index.vue","frontend/src/views/attribution/Index.vue","frontend/src/views/auth/Index.vue","frontend/src/views/bom/Index.vue","frontend/src/views/campaign-analytics/Index.vue","frontend/src/views/campaign-library/Index.vue","frontend/src/views/campaign-targets/Index.vue","frontend/src/views/campaign-tools/Index.vue","frontend/src/views/campaigns/Detail.vue","frontend/src/views/campaigns/Index.vue","frontend/src/views/campaigns/components/ToolConfigDialog.vue","frontend/src/views/campaigns/wizard/Step3Tools.vue","frontend/src/views/campaigns/wizard/Step4BasicInfo.vue","frontend/src/views/campaigns/wizard/Step7Review.vue","frontend/src/views/campaigns/wizard/components/ToolConfigForms.vue","frontend/src/views/channel-analytics/Index.vue","frontend/src/views/community-bots/Index.vue","frontend/src/views/community-fission/Index.vue","frontend/src/views/community-groups/Index.vue","frontend/src/views/community-materials/Index.vue","frontend/src/views/community-members/Index.vue","frontend/src/views/community-messages/Index.vue","frontend/src/views/community-points/Index.vue","frontend/src/views/community-tasks/Index.vue","frontend/src/views/consumer-behavior-analytics/Index.vue","frontend/src/views/content-creation/Index.vue","frontend/src/views/content-distribution/Index.vue","frontend/src/views/content-library/Detail.vue","frontend/src/views/content-templates/Index.vue","frontend/src/views/contract-templates/Index.vue","frontend/src/views/contracts/Form.vue","frontend/src/views/conversion-paths/Index.vue","frontend/src/views/cost-allocation/Index.vue","frontend/src/views/cpq/Index.vue","frontend/src/views/cross-domain-funnel/Index.vue","frontend/src/views/customer-health/Index.vue","frontend/src/views/customer-journey/Detail.vue","frontend/src/views/customer-marketing/Index.vue","frontend/src/views/customer-segmentation/Form.vue","frontend/src/views/departments/Detail.vue","frontend/src/views/departments/Index.vue","frontend/src/views/devices/Alerts.vue","frontend/src/views/devices/Form.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/dimension-transform/Index.vue","frontend/src/views/email-templates/Form.vue","frontend/src/views/email-templates/Index.vue","frontend/src/views/event-logs/Index.vue","frontend/src/views/expense-claims/Index.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/geo-pois/Index.vue","frontend/src/views/groupbuy-campaigns/Index.vue","frontend/src/views/groupbuy-inventory/Index.vue","frontend/src/views/groupbuy-orders/Index.vue","frontend/src/views/groupbuy-platforms/Index.vue","frontend/src/views/groupbuy-pricing/Index.vue","frontend/src/views/groupbuy-products/Index.vue","frontend/src/views/groupbuy-promotions/Index.vue","frontend/src/views/groupbuy-settlements/Index.vue","frontend/src/views/hr/attendance/components/AttendanceTab.vue","frontend/src/views/hr/attendance/components/HolidaysTab.vue","frontend/src/views/hr/attendance/components/LeavesTab.vue","frontend/src/views/hr/attendance/components/OvertimeTab.vue","frontend/src/views/hr/attendance/components/ShiftsTab.vue","frontend/src/views/hr/training/components/CertificatesTab.vue","frontend/src/views/hr/training/components/CompetencyTab.vue","frontend/src/views/hr/training/components/CoursesTab.vue","frontend/src/views/hr/training/components/ExamsTab.vue","frontend/src/views/hr/training/components/PlansTab.vue","frontend/src/views/hr/training/components/SessionsTab.vue","frontend/src/views/inventory/Counts.vue","frontend/src/views/inventory/Index.vue","frontend/src/views/inventory/Snapshots.vue","frontend/src/views/journey-orchestration/Form.vue","frontend/src/views/knowledge-feedback/Index.vue","frontend/src/views/lead-assignment/Form.vue","frontend/src/views/lead-pools/Form.vue","frontend/src/views/lead-pools/Index.vue","frontend/src/views/lead-qualification/Form.vue","frontend/src/views/lead-qualification/Index.vue","frontend/src/views/leads/Form.vue","frontend/src/views/leads/Index.vue","frontend/src/views/livestream-gifts/Index.vue","frontend/src/views/livestream-groupbuy-conversion/Index.vue","frontend/src/views/livestream-schedules/Index.vue","frontend/src/views/livestream-scripts/Index.vue","frontend/src/views/local-events/Index.vue","frontend/src/views/local-promotion/Index.vue","frontend/src/views/maintenance/Index.vue","frontend/src/views/maintenance/TaskDetail.vue","frontend/src/views/marketing-automation/Index.vue","frontend/src/views/marketing-effectiveness/Index.vue","frontend/src/views/marketing-north-star/Index.vue","frontend/src/views/marketing-tools/Detail.vue","frontend/src/views/marketing-tools/Index.vue","frontend/src/views/marketing/budget-alerts/Index.vue","frontend/src/views/mdm/Index.vue","frontend/src/views/member-benefits/Index.vue","frontend/src/views/member-levels/Index.vue","frontend/src/views/member-points/Index.vue","frontend/src/views/members/Index.vue","frontend/src/views/menus/Index.vue","frontend/src/views/notification-configs/Index.vue","frontend/src/views/notifications/Index.vue","frontend/src/views/omnichannel-dashboard/Index.vue","frontend/src/views/omnichannel-data-hub/Index.vue","frontend/src/views/opportunities/Form.vue","frontend/src/views/orders/Form.vue","frontend/src/views/orders/Index.vue","frontend/src/views/org-chart/Index.vue","frontend/src/views/partners/Detail.vue","frontend/src/views/payment-plans/Index.vue","frontend/src/views/pm/Index.vue","frontend/src/views/predictive-analytics/Form.vue","frontend/src/views/process-designer/Designer.vue","frontend/src/views/product-analytics/Index.vue","frontend/src/views/products/Index.vue","frontend/src/views/qr-codes/Index.vue","frontend/src/views/quotes/Form.vue","frontend/src/views/realtime-trigger/Form.vue","frontend/src/views/renewal-tasks/Index.vue","frontend/src/views/rfm-analysis/Detail.vue","frontend/src/views/rfm-analysis/Index.vue","frontend/src/views/roles/Index.vue","frontend/src/views/scheduled-jobs/Index.vue","frontend/src/views/segments/Index.vue","frontend/src/views/service-monitor/Index.vue","frontend/src/views/settings/Index.vue","frontend/src/views/social-accounts/Index.vue","frontend/src/views/social-auto-replies/Index.vue","frontend/src/views/social-competitors/Index.vue","frontend/src/views/social-matrix/Index.vue","frontend/src/views/social-posts/Detail.vue","frontend/src/views/social-posts/Index.vue","frontend/src/views/spare-parts/Index.vue","frontend/src/views/spare-parts/components/TransactionHistory.vue","frontend/src/views/stage-knowledge/Index.vue","frontend/src/views/store-configs/Index.vue","frontend/src/views/stores/Detail.vue","frontend/src/views/stores/Index.vue","frontend/src/views/supplier-payments/Index.vue","frontend/src/views/suppliers/Index.vue","frontend/src/views/system-events/Index.vue","frontend/src/views/system-monitor/Index.vue","frontend/src/views/system/AuditLogs.vue","frontend/src/views/tenant-configs/Index.vue","frontend/src/views/tickets/Form.vue","frontend/src/views/tickets/Index.vue","frontend/src/views/users/Index.vue","frontend/src/views/utm-tracking/Form.vue","frontend/src/views/video-publishing/Index.vue","frontend/src/views/web-tracking/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":1956552,"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":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-24T09:45:16+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
|
1774319040
|
1774319041
|
0
|
1774318840
|
1774319041
|
|
|
0
|
Edit
Delete
|
|
7653
|
feat: 四线并行治理 — Record清零+v-permission扩展+Redis缓存+as feat: 四线并行治理 — Record清零+v-permission扩展+Redis缓存+as any清理...
|
6
|
5
|
test-report.yml
|
7578
|
5
|
0
|
refs/heads/main
|
dbf34b08bbb60650d15b0c55262dbfe8d0a3a655
|
0
|
0
|
0
|
workflow_run
|
{"action":"completed","workflo {"action":"completed","workflow":{"id":"e2e-tests.yml","name":"E2E Tests","path":".github/workflows/e2e-tests.yml","state":"active","created_at":"2026-03-24T10:14:13+08:00","updated_at":"2026-03-24T10:14:13+08:00","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/workflows/e2e-tests.yml","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/src/branch/main/.github/workflows/e2e-tests.yml","badge_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/workflows/e2e-tests.yml/badge.svg?branch=main","deleted_at":"0001-01-01T00:00:00Z"},"workflow_run":{"id":7649,"url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/runs/7649","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/runs/7649","display_title":"feat: 四线并行治理 — Record清零+v-permission扩展+Redis缓存+as any清理","path":"e2e-tests.yml@refs/heads/main","event":"push","run_attempt":0,"run_number":7574,"head_sha":"dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","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":1958148,"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":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-24T10:14:22+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"pull":false},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"conclusion":"failure","started_at":"2026-03-24T10:14:22+08:00","completed_at":"2026-03-24T10:23:25+08:00"},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1958148,"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":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-24T10:14:22+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
workflow_run
|
2
|
14
|
1774319046
|
1774319049
|
0
|
1774319005
|
1774319065
|
|
|
0
|
Edit
Delete
|
|
7654
|
feat: 四线并行治理 — Record清零+v-permission扩展+Redis缓存+as feat: 四线并行治理 — Record清零+v-permission扩展+Redis缓存+as any清理...
|
6
|
5
|
deploy.yml
|
7579
|
5
|
0
|
refs/heads/main
|
dbf34b08bbb60650d15b0c55262dbfe8d0a3a655
|
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-03-24T10:14:13+08:00","updated_at":"2026-03-24T10:14:13+08:00","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/workflows/test-pipeline.yml","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/src/branch/main/.github/workflows/test-pipeline.yml","badge_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/workflows/test-pipeline.yml/badge.svg?branch=main","deleted_at":"0001-01-01T00:00:00Z"},"workflow_run":{"id":7650,"url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/runs/7650","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/runs/7650","display_title":"feat: 四线并行治理 — Record清零+v-permission扩展+Redis缓存+as any清理","path":"test-pipeline.yml@refs/heads/main","event":"push","run_attempt":0,"run_number":7575,"head_sha":"dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","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":1958148,"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":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-24T10:14:22+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"pull":false},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"conclusion":"failure","started_at":"2026-03-24T10:23:26+08:00","completed_at":"2026-03-24T10:23:58+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":1958148,"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":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-24T10:14:22+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
workflow_run
|
3
|
26
|
1774319050
|
1774319102
|
0
|
1774319038
|
1774319102
|
group: deploy-${{ github.ref }}
cancel-in-progress group: deploy-${{ github.ref }}
cancel-in-progress: "false"
...
|
deploy-refs/heads/main
|
0
|
Edit
Delete
|
|
7655
|
feat: 四线并行治理 — Record清零+v-permission扩展+Redis缓存+as feat: 四线并行治理 — Record清零+v-permission扩展+Redis缓存+as any清理...
|
6
|
5
|
test-report.yml
|
7580
|
5
|
0
|
refs/heads/main
|
dbf34b08bbb60650d15b0c55262dbfe8d0a3a655
|
0
|
0
|
0
|
workflow_run
|
{"action":"completed","workflo {"action":"completed","workflow":{"id":"e2e-tests.yml","name":"E2E Tests","path":".github/workflows/e2e-tests.yml","state":"active","created_at":"2026-03-24T10:14:13+08:00","updated_at":"2026-03-24T10:14:13+08:00","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/workflows/e2e-tests.yml","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/src/branch/main/.github/workflows/e2e-tests.yml","badge_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/workflows/e2e-tests.yml/badge.svg?branch=main","deleted_at":"0001-01-01T00:00:00Z"},"workflow_run":{"id":7649,"url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/runs/7649","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/runs/7649","display_title":"feat: 四线并行治理 — Record清零+v-permission扩展+Redis缓存+as any清理","path":"e2e-tests.yml@refs/heads/main","event":"push","run_attempt":0,"run_number":7574,"head_sha":"dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","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":1958148,"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":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-24T10:14:22+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"pull":false},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"conclusion":"failure","started_at":"2026-03-24T10:14:22+08:00","completed_at":"2026-03-24T10:23:25+08:00"},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":1958148,"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":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-24T10:14:22+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
workflow_run
|
2
|
14
|
1774319060
|
1774319062
|
0
|
1774319045
|
1774319097
|
|
|
0
|
Edit
Delete
|
|
7656
|
feat: 四线并行治理 — Record清零+v-permission扩展+Redis缓存+as feat: 四线并行治理 — Record清零+v-permission扩展+Redis缓存+as any清理...
|
6
|
5
|
deploy.yml
|
7581
|
5
|
0
|
refs/heads/main
|
dbf34b08bbb60650d15b0c55262dbfe8d0a3a655
|
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-03-24T10:14:13+08:00","updated_at":"2026-03-24T10:14:13+08:00","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/workflows/test-pipeline.yml","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/src/branch/main/.github/workflows/test-pipeline.yml","badge_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/workflows/test-pipeline.yml/badge.svg?branch=main","deleted_at":"0001-01-01T00:00:00Z"},"workflow_run":{"id":7650,"url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/runs/7650","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/runs/7650","display_title":"feat: 四线并行治理 — Record清零+v-permission扩展+Redis缓存+as any清理","path":"test-pipeline.yml@refs/heads/main","event":"push","run_attempt":0,"run_number":7575,"head_sha":"dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","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":1958148,"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":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-24T10:14:22+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"pull":false},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"conclusion":"failure","started_at":"2026-03-24T10:23:26+08:00","completed_at":"2026-03-24T10:23:58+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":1958148,"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":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-24T10:14:22+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
|
17
|
1774319103
|
1774319281
|
0
|
1774319102
|
1774319281
|
group: deploy-${{ github.ref }}
cancel-in-progress group: deploy-${{ github.ref }}
cancel-in-progress: "false"
...
|
deploy-refs/heads/main
|
0
|
Edit
Delete
|
|
7657
|
feat: 四线并行治理 — Record清零+v-permission扩展+Redis缓存+as feat: 四线并行治理 — Record清零+v-permission扩展+Redis缓存+as any清理...
|
6
|
5
|
health-check.yml
|
7582
|
-2
|
130
|
refs/heads/main
|
dbf34b08bbb60650d15b0c55262dbfe8d0a3a655
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"8c39619c9cdb0d888d10942bf50533c8238021df","after":"dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/8c39619c9cdb0d888d10942bf50533c8238021df...dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","commits":[{"id":"dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","message":"feat: 四线并行治理 — Record清零+v-permission扩展+Redis缓存+as any清理\n\n## Line 1: Record\u003cstring,any\u003e 全前端清零 (637→0)\n- 262 个文件批量替换 Record\u003cstring, any\u003e → Record\u003cstring, unknown\u003e\n- 覆盖 API 模块层 137 文件 + 视图/stores/composables 100 文件\n\n## Line 2: v-permission 全面覆盖 (53→104 个视图文件)\n- 新增 51 个视图的 v-permission 指令\n- 覆盖: products/departments/contract-templates/spare-parts/pm/\n stage-knowledge/email-templates/approval-templates/ad-campaigns/\n groupbuy-*/community-*/alliance-*/livestream-*/social-*/content-*/\n geo-*/segments/lead-pools/bom/expense-claims/ap-ledger 等\n\n## Line 3: Redis 缓存扩展 (5→14 个缓存点, 10 个模块)\n- 新建 cache-utils.ts 统一缓存工具层 (withCache + invalidation)\n- 高优: tenant-configs(300s) + roles(1800s) + products(600s) +\n departments(600s) + sla(1800s) + contract-templates(600s)\n- 中优: price-books(600s) + notifications(300s)\n- 写后失效: 所有 create/update/delete 自动清除缓存\n\n## Line 4: as any 清理 (25处)\n- campaign-analytics.controller: 8→0 (精确查询类型)\n- social-interactions.service: 9→0 (Prisma UncheckedCreateInput)\n- store-staff.service: 6→0 (prismaModel 代理)\n- scheduled-jobs.consumer: 2→0 (直接使用已有类型)\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-24T10:14:13+08:00","added":["backend/src/shared/constants/events/common.ts","backend/src/shared/constants/events/finance.ts","backend/src/shared/constants/events/hr.ts","backend/src/shared/constants/events/im.ts","backend/src/shared/constants/events/index.ts","backend/src/shared/constants/events/knowledge.ts","backend/src/shared/constants/events/lifecycle.ts","backend/src/shared/constants/events/marketing.ts","backend/src/shared/constants/events/sales.ts","backend/src/shared/constants/events/service.ts","backend/src/shared/constants/events/store.ts","backend/src/shared/constants/events/supply_chain.ts","backend/src/shared/constants/events/system.ts","backend/src/shared/services/list-cache.service.ts","backend/src/shared/utils/cache-utils.ts"],"removed":[],"modified":["backend/src/consumers/attribution.consumer.ts","backend/src/consumers/campaign-effectiveness.consumer.ts","backend/src/consumers/marketing-workflow-executor.consumer.ts","backend/src/consumers/scheduled-jobs.consumer.ts","backend/src/modules/ai-agents/services/knowledge-vector-enhanced.service.ts","backend/src/modules/alliance-settlements/alliance-settlement.service.test.ts","backend/src/modules/campaign-analytics/campaign-analytics.controller.ts","backend/src/modules/contract-templates/contract-template.service.ts","backend/src/modules/contracts/contract.controller.ts","backend/src/modules/contracts/contract.routes.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/customers/customer.service.ts","backend/src/modules/departments/department.service.test.ts","backend/src/modules/departments/department.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/leads/lead-sla.service.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-interactions/livestream-realtime.service.ts","backend/src/modules/marketing-automation/workflow-trigger.service.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.controller.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.routes.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.service.ts","backend/src/modules/notifications/notification.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/payments/payment.service.test.ts","backend/src/modules/price-books/price-book.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/roles/role.service.ts","backend/src/modules/segments/segment.service.ts","backend/src/modules/sla/sla.service.ts","backend/src/modules/social-interactions/social-interactions.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/tenant-configs/tenant-config.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/constants/events.ts","backend/src/shared/services/partition-maintenance.service.ts","backend/src/shared/state-machines/machines/contract.machine.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/state-machines/types.ts","backend/src/shared/state-machines/utils/transitions/sales.transitions.ts","backend/src/shared/utils/biz-code.ts","frontend/src/api/adapters.ts","frontend/src/api/im-binding.ts","frontend/src/api/modules/ad-accounts.ts","frontend/src/api/modules/ad-audiences.ts","frontend/src/api/modules/ad-creatives.ts","frontend/src/api/modules/ad-placement.ts","frontend/src/api/modules/ad-reports.ts","frontend/src/api/modules/agent-group.ts","frontend/src/api/modules/ai-agent.ts","frontend/src/api/modules/alliance-analytics.ts","frontend/src/api/modules/alliance-merchants.ts","frontend/src/api/modules/alliance-products.ts","frontend/src/api/modules/alliance-promotions.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/analytics.ts","frontend/src/api/modules/approvals.ts","frontend/src/api/modules/assets.ts","frontend/src/api/modules/attribution.ts","frontend/src/api/modules/audit-logs.ts","frontend/src/api/modules/campaign-drafts.ts","frontend/src/api/modules/campaign-library.ts","frontend/src/api/modules/campaign-targets.ts","frontend/src/api/modules/campaign-tools.ts","frontend/src/api/modules/campaign-use-case-templates.ts","frontend/src/api/modules/campaign-wizard.ts","frontend/src/api/modules/campaigns.ts","frontend/src/api/modules/cohort-analysis.ts","frontend/src/api/modules/commissions.ts","frontend/src/api/modules/community-activities.ts","frontend/src/api/modules/community-analytics.ts","frontend/src/api/modules/community-bots.ts","frontend/src/api/modules/community-groups.ts","frontend/src/api/modules/community-levels.ts","frontend/src/api/modules/community-members.ts","frontend/src/api/modules/community-messages.ts","frontend/src/api/modules/community-points.ts","frontend/src/api/modules/consumer-behavior-analytics.ts","frontend/src/api/modules/content-categories.ts","frontend/src/api/modules/content-copyright.ts","frontend/src/api/modules/content-creation.ts","frontend/src/api/modules/content-distribution.ts","frontend/src/api/modules/content-library.ts","frontend/src/api/modules/content-templates.ts","frontend/src/api/modules/contract-templates.ts","frontend/src/api/modules/cpq.ts","frontend/src/api/modules/cross-domain-funnel.ts","frontend/src/api/modules/customer-analytics.ts","frontend/src/api/modules/customer-health.ts","frontend/src/api/modules/customer-journey.ts","frontend/src/api/modules/customer-ltv.ts","frontend/src/api/modules/customer-marketing.ts","frontend/src/api/modules/customer-segmentation.ts","frontend/src/api/modules/devices.ts","frontend/src/api/modules/dictionaries.ts","frontend/src/api/modules/dimension-transform.ts","frontend/src/api/modules/email-marketing.ts","frontend/src/api/modules/email-templates.ts","frontend/src/api/modules/event-logs.ts","frontend/src/api/modules/events.ts","frontend/src/api/modules/expense.ts","frontend/src/api/modules/financial-reports.ts","frontend/src/api/modules/fulfillment.ts","frontend/src/api/modules/geo-fences.ts","frontend/src/api/modules/geo-pois.ts","frontend/src/api/modules/groupbuy-analytics.ts","frontend/src/api/modules/groupbuy-campaigns.ts","frontend/src/api/modules/groupbuy-platforms.ts","frontend/src/api/modules/groupbuy-pricing.ts","frontend/src/api/modules/groupbuy-products.ts","frontend/src/api/modules/groupbuy-settlements.ts","frontend/src/api/modules/hr-benefits.ts","frontend/src/api/modules/hr-payroll.ts","frontend/src/api/modules/im-channels.ts","frontend/src/api/modules/im.ts","frontend/src/api/modules/integration-services.ts","frontend/src/api/modules/intent-analyzer.ts","frontend/src/api/modules/journey-orchestration.ts","frontend/src/api/modules/knowledge-candidates.ts","frontend/src/api/modules/knowledge-capture.ts","frontend/src/api/modules/landing-pages.ts","frontend/src/api/modules/lead-scoring-ai.ts","frontend/src/api/modules/livestream-groupbuy-conversion.ts","frontend/src/api/modules/livestream-groupbuy.ts","frontend/src/api/modules/livestream-interactions.ts","frontend/src/api/modules/livestream-rooms.ts","frontend/src/api/modules/livestream-schedules.ts","frontend/src/api/modules/livestream.ts","frontend/src/api/modules/location-assessments.ts","frontend/src/api/modules/login-logs.ts","frontend/src/api/modules/maintenance.ts","frontend/src/api/modules/marketing-automation.ts","frontend/src/api/modules/marketing-calendar.ts","frontend/src/api/modules/marketing-chatbot.ts","frontend/src/api/modules/marketing-content.ts","frontend/src/api/modules/marketing-forms.ts","frontend/src/api/modules/marketing-matrix.ts","frontend/src/api/modules/marketing-north-star.ts","frontend/src/api/modules/marketing-timeslots.ts","frontend/src/api/modules/marketing.ts","frontend/src/api/modules/omnichannel-dashboard.ts","frontend/src/api/modules/omnichannel-data-hub.ts","frontend/src/api/modules/omnichannel-touchpoints.ts","frontend/src/api/modules/operation-logs.ts","frontend/src/api/modules/opportunities.ts","frontend/src/api/modules/predictive-analytics.ts","frontend/src/api/modules/process-designer.ts","frontend/src/api/modules/process.ts","frontend/src/api/modules/products.ts","frontend/src/api/modules/realtime-trigger.ts","frontend/src/api/modules/reports.ts","frontend/src/api/modules/resource-requests.ts","frontend/src/api/modules/revenue.ts","frontend/src/api/modules/rfm-analysis.ts","frontend/src/api/modules/rma.ts","frontend/src/api/modules/satisfaction.ts","frontend/src/api/modules/scheduled-jobs.ts","frontend/src/api/modules/search.ts","frontend/src/api/modules/segments.ts","frontend/src/api/modules/service-monitor.ts","frontend/src/api/modules/sms-marketing.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/api/modules/social-auto-replies.ts","frontend/src/api/modules/social-competitors.ts","frontend/src/api/modules/social-hot-topics.ts","frontend/src/api/modules/social-interactions.ts","frontend/src/api/modules/spare-parts.ts","frontend/src/api/modules/store-performance.ts","frontend/src/api/modules/stores.ts","frontend/src/api/modules/supplier-management.ts","frontend/src/api/modules/swot-analyses.ts","frontend/src/api/modules/system-events.ts","frontend/src/api/modules/ticket-workflows.ts","frontend/src/api/modules/tickets.ts","frontend/src/api/modules/tob-toc-gateway.ts","frontend/src/api/modules/unified-campaign.ts","frontend/src/api/modules/web-tracking.ts","frontend/src/api/modules/workflow-generator.ts","frontend/src/api/response-normalizer.ts","frontend/src/components/business/ActivityTimeline.vue","frontend/src/components/business/EventStreamPanel.vue","frontend/src/components/business/IMPanel.vue","frontend/src/components/common/DataTable.vue","frontend/src/components/common/ResponsiveDataTable.vue","frontend/src/components/mobile/MobileFilter.vue","frontend/src/components/responsive/ResponsiveFilterBar.vue","frontend/src/types/ai-agent.ts","frontend/src/utils/echarts.ts","frontend/src/views/__tests__/standard-crud-smoke.helper.ts","frontend/src/views/abm-marketing/Index.vue","frontend/src/views/acquisition/Index.vue","frontend/src/views/ad-accounts/Form.vue","frontend/src/views/ad-accounts/Index.vue","frontend/src/views/ad-analytics/Index.vue","frontend/src/views/ad-campaigns/Index.vue","frontend/src/views/ad-creatives/Index.vue","frontend/src/views/ad-placement/ABTests.vue","frontend/src/views/ad-placement/AudiencePacks.vue","frontend/src/views/ad-placement/BudgetAlerts.vue","frontend/src/views/ad-placement/Creatives.vue","frontend/src/views/ad-placement/Index.vue","frontend/src/views/ad-placement/RoiAnalysis.vue","frontend/src/views/alliance-agreements/Index.vue","frontend/src/views/alliance-campaigns/Index.vue","frontend/src/views/alliance-coupons/Index.vue","frontend/src/views/alliance-packages/Index.vue","frontend/src/views/alliance-partners/Index.vue","frontend/src/views/alliance-products/Index.vue","frontend/src/views/analytics/roi/Index.vue","frontend/src/views/ap-ledger/Index.vue","frontend/src/views/approval-configs/Form.vue","frontend/src/views/approval-configs/Index.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/approval-templates/Index.vue","frontend/src/views/attribution/Index.vue","frontend/src/views/auth/Index.vue","frontend/src/views/bom/Index.vue","frontend/src/views/campaign-analytics/Index.vue","frontend/src/views/campaign-library/Index.vue","frontend/src/views/campaign-targets/Index.vue","frontend/src/views/campaign-tools/Index.vue","frontend/src/views/campaigns/Detail.vue","frontend/src/views/campaigns/Index.vue","frontend/src/views/campaigns/components/ToolConfigDialog.vue","frontend/src/views/campaigns/wizard/Step3Tools.vue","frontend/src/views/campaigns/wizard/Step4BasicInfo.vue","frontend/src/views/campaigns/wizard/Step7Review.vue","frontend/src/views/campaigns/wizard/components/ToolConfigForms.vue","frontend/src/views/channel-analytics/Index.vue","frontend/src/views/community-bots/Index.vue","frontend/src/views/community-fission/Index.vue","frontend/src/views/community-groups/Index.vue","frontend/src/views/community-materials/Index.vue","frontend/src/views/community-members/Index.vue","frontend/src/views/community-messages/Index.vue","frontend/src/views/community-points/Index.vue","frontend/src/views/community-tasks/Index.vue","frontend/src/views/consumer-behavior-analytics/Index.vue","frontend/src/views/content-creation/Index.vue","frontend/src/views/content-distribution/Index.vue","frontend/src/views/content-library/Detail.vue","frontend/src/views/content-templates/Index.vue","frontend/src/views/contract-templates/Index.vue","frontend/src/views/contracts/Form.vue","frontend/src/views/conversion-paths/Index.vue","frontend/src/views/cost-allocation/Index.vue","frontend/src/views/cpq/Index.vue","frontend/src/views/cross-domain-funnel/Index.vue","frontend/src/views/customer-health/Index.vue","frontend/src/views/customer-journey/Detail.vue","frontend/src/views/customer-marketing/Index.vue","frontend/src/views/customer-segmentation/Form.vue","frontend/src/views/departments/Detail.vue","frontend/src/views/departments/Index.vue","frontend/src/views/devices/Alerts.vue","frontend/src/views/devices/Form.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/dimension-transform/Index.vue","frontend/src/views/email-templates/Form.vue","frontend/src/views/email-templates/Index.vue","frontend/src/views/event-logs/Index.vue","frontend/src/views/expense-claims/Index.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/geo-pois/Index.vue","frontend/src/views/groupbuy-campaigns/Index.vue","frontend/src/views/groupbuy-inventory/Index.vue","frontend/src/views/groupbuy-orders/Index.vue","frontend/src/views/groupbuy-platforms/Index.vue","frontend/src/views/groupbuy-pricing/Index.vue","frontend/src/views/groupbuy-products/Index.vue","frontend/src/views/groupbuy-promotions/Index.vue","frontend/src/views/groupbuy-settlements/Index.vue","frontend/src/views/hr/attendance/components/AttendanceTab.vue","frontend/src/views/hr/attendance/components/HolidaysTab.vue","frontend/src/views/hr/attendance/components/LeavesTab.vue","frontend/src/views/hr/attendance/components/OvertimeTab.vue","frontend/src/views/hr/attendance/components/ShiftsTab.vue","frontend/src/views/hr/training/components/CertificatesTab.vue","frontend/src/views/hr/training/components/CompetencyTab.vue","frontend/src/views/hr/training/components/CoursesTab.vue","frontend/src/views/hr/training/components/ExamsTab.vue","frontend/src/views/hr/training/components/PlansTab.vue","frontend/src/views/hr/training/components/SessionsTab.vue","frontend/src/views/inventory/Counts.vue","frontend/src/views/inventory/Index.vue","frontend/src/views/inventory/Snapshots.vue","frontend/src/views/journey-orchestration/Form.vue","frontend/src/views/knowledge-feedback/Index.vue","frontend/src/views/lead-assignment/Form.vue","frontend/src/views/lead-pools/Form.vue","frontend/src/views/lead-pools/Index.vue","frontend/src/views/lead-qualification/Form.vue","frontend/src/views/lead-qualification/Index.vue","frontend/src/views/leads/Form.vue","frontend/src/views/leads/Index.vue","frontend/src/views/livestream-gifts/Index.vue","frontend/src/views/livestream-groupbuy-conversion/Index.vue","frontend/src/views/livestream-schedules/Index.vue","frontend/src/views/livestream-scripts/Index.vue","frontend/src/views/local-events/Index.vue","frontend/src/views/local-promotion/Index.vue","frontend/src/views/maintenance/Index.vue","frontend/src/views/maintenance/TaskDetail.vue","frontend/src/views/marketing-automation/Index.vue","frontend/src/views/marketing-effectiveness/Index.vue","frontend/src/views/marketing-north-star/Index.vue","frontend/src/views/marketing-tools/Detail.vue","frontend/src/views/marketing-tools/Index.vue","frontend/src/views/marketing/budget-alerts/Index.vue","frontend/src/views/mdm/Index.vue","frontend/src/views/member-benefits/Index.vue","frontend/src/views/member-levels/Index.vue","frontend/src/views/member-points/Index.vue","frontend/src/views/members/Index.vue","frontend/src/views/menus/Index.vue","frontend/src/views/notification-configs/Index.vue","frontend/src/views/notifications/Index.vue","frontend/src/views/omnichannel-dashboard/Index.vue","frontend/src/views/omnichannel-data-hub/Index.vue","frontend/src/views/opportunities/Form.vue","frontend/src/views/orders/Form.vue","frontend/src/views/orders/Index.vue","frontend/src/views/org-chart/Index.vue","frontend/src/views/partners/Detail.vue","frontend/src/views/payment-plans/Index.vue","frontend/src/views/pm/Index.vue","frontend/src/views/predictive-analytics/Form.vue","frontend/src/views/process-designer/Designer.vue","frontend/src/views/product-analytics/Index.vue","frontend/src/views/products/Index.vue","frontend/src/views/qr-codes/Index.vue","frontend/src/views/quotes/Form.vue","frontend/src/views/realtime-trigger/Form.vue","frontend/src/views/renewal-tasks/Index.vue","frontend/src/views/rfm-analysis/Detail.vue","frontend/src/views/rfm-analysis/Index.vue","frontend/src/views/roles/Index.vue","frontend/src/views/scheduled-jobs/Index.vue","frontend/src/views/segments/Index.vue","frontend/src/views/service-monitor/Index.vue","frontend/src/views/settings/Index.vue","frontend/src/views/social-accounts/Index.vue","frontend/src/views/social-auto-replies/Index.vue","frontend/src/views/social-competitors/Index.vue","frontend/src/views/social-matrix/Index.vue","frontend/src/views/social-posts/Detail.vue","frontend/src/views/social-posts/Index.vue","frontend/src/views/spare-parts/Index.vue","frontend/src/views/spare-parts/components/TransactionHistory.vue","frontend/src/views/stage-knowledge/Index.vue","frontend/src/views/store-configs/Index.vue","frontend/src/views/stores/Detail.vue","frontend/src/views/stores/Index.vue","frontend/src/views/supplier-payments/Index.vue","frontend/src/views/suppliers/Index.vue","frontend/src/views/system-events/Index.vue","frontend/src/views/system-monitor/Index.vue","frontend/src/views/system/AuditLogs.vue","frontend/src/views/tenant-configs/Index.vue","frontend/src/views/tickets/Form.vue","frontend/src/views/tickets/Index.vue","frontend/src/views/users/Index.vue","frontend/src/views/utm-tracking/Form.vue","frontend/src/views/video-publishing/Index.vue","frontend/src/views/web-tracking/Index.vue"]}],"total_commits":0,"head_commit":{"id":"dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","message":"feat: 四线并行治理 — Record清零+v-permission扩展+Redis缓存+as any清理\n\n## Line 1: Record\u003cstring,any\u003e 全前端清零 (637→0)\n- 262 个文件批量替换 Record\u003cstring, any\u003e → Record\u003cstring, unknown\u003e\n- 覆盖 API 模块层 137 文件 + 视图/stores/composables 100 文件\n\n## Line 2: v-permission 全面覆盖 (53→104 个视图文件)\n- 新增 51 个视图的 v-permission 指令\n- 覆盖: products/departments/contract-templates/spare-parts/pm/\n stage-knowledge/email-templates/approval-templates/ad-campaigns/\n groupbuy-*/community-*/alliance-*/livestream-*/social-*/content-*/\n geo-*/segments/lead-pools/bom/expense-claims/ap-ledger 等\n\n## Line 3: Redis 缓存扩展 (5→14 个缓存点, 10 个模块)\n- 新建 cache-utils.ts 统一缓存工具层 (withCache + invalidation)\n- 高优: tenant-configs(300s) + roles(1800s) + products(600s) +\n departments(600s) + sla(1800s) + contract-templates(600s)\n- 中优: price-books(600s) + notifications(300s)\n- 写后失效: 所有 create/update/delete 自动清除缓存\n\n## Line 4: as any 清理 (25处)\n- campaign-analytics.controller: 8→0 (精确查询类型)\n- social-interactions.service: 9→0 (Prisma UncheckedCreateInput)\n- store-staff.service: 6→0 (prismaModel 代理)\n- scheduled-jobs.consumer: 2→0 (直接使用已有类型)\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-24T10:14:13+08:00","added":["backend/src/shared/constants/events/common.ts","backend/src/shared/constants/events/finance.ts","backend/src/shared/constants/events/hr.ts","backend/src/shared/constants/events/im.ts","backend/src/shared/constants/events/index.ts","backend/src/shared/constants/events/knowledge.ts","backend/src/shared/constants/events/lifecycle.ts","backend/src/shared/constants/events/marketing.ts","backend/src/shared/constants/events/sales.ts","backend/src/shared/constants/events/service.ts","backend/src/shared/constants/events/store.ts","backend/src/shared/constants/events/supply_chain.ts","backend/src/shared/constants/events/system.ts","backend/src/shared/services/list-cache.service.ts","backend/src/shared/utils/cache-utils.ts"],"removed":[],"modified":["backend/src/consumers/attribution.consumer.ts","backend/src/consumers/campaign-effectiveness.consumer.ts","backend/src/consumers/marketing-workflow-executor.consumer.ts","backend/src/consumers/scheduled-jobs.consumer.ts","backend/src/modules/ai-agents/services/knowledge-vector-enhanced.service.ts","backend/src/modules/alliance-settlements/alliance-settlement.service.test.ts","backend/src/modules/campaign-analytics/campaign-analytics.controller.ts","backend/src/modules/contract-templates/contract-template.service.ts","backend/src/modules/contracts/contract.controller.ts","backend/src/modules/contracts/contract.routes.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/customers/customer.service.ts","backend/src/modules/departments/department.service.test.ts","backend/src/modules/departments/department.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/leads/lead-sla.service.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-interactions/livestream-realtime.service.ts","backend/src/modules/marketing-automation/workflow-trigger.service.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.controller.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.routes.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.service.ts","backend/src/modules/notifications/notification.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/payments/payment.service.test.ts","backend/src/modules/price-books/price-book.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/roles/role.service.ts","backend/src/modules/segments/segment.service.ts","backend/src/modules/sla/sla.service.ts","backend/src/modules/social-interactions/social-interactions.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/tenant-configs/tenant-config.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/constants/events.ts","backend/src/shared/services/partition-maintenance.service.ts","backend/src/shared/state-machines/machines/contract.machine.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/state-machines/types.ts","backend/src/shared/state-machines/utils/transitions/sales.transitions.ts","backend/src/shared/utils/biz-code.ts","frontend/src/api/adapters.ts","frontend/src/api/im-binding.ts","frontend/src/api/modules/ad-accounts.ts","frontend/src/api/modules/ad-audiences.ts","frontend/src/api/modules/ad-creatives.ts","frontend/src/api/modules/ad-placement.ts","frontend/src/api/modules/ad-reports.ts","frontend/src/api/modules/agent-group.ts","frontend/src/api/modules/ai-agent.ts","frontend/src/api/modules/alliance-analytics.ts","frontend/src/api/modules/alliance-merchants.ts","frontend/src/api/modules/alliance-products.ts","frontend/src/api/modules/alliance-promotions.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/analytics.ts","frontend/src/api/modules/approvals.ts","frontend/src/api/modules/assets.ts","frontend/src/api/modules/attribution.ts","frontend/src/api/modules/audit-logs.ts","frontend/src/api/modules/campaign-drafts.ts","frontend/src/api/modules/campaign-library.ts","frontend/src/api/modules/campaign-targets.ts","frontend/src/api/modules/campaign-tools.ts","frontend/src/api/modules/campaign-use-case-templates.ts","frontend/src/api/modules/campaign-wizard.ts","frontend/src/api/modules/campaigns.ts","frontend/src/api/modules/cohort-analysis.ts","frontend/src/api/modules/commissions.ts","frontend/src/api/modules/community-activities.ts","frontend/src/api/modules/community-analytics.ts","frontend/src/api/modules/community-bots.ts","frontend/src/api/modules/community-groups.ts","frontend/src/api/modules/community-levels.ts","frontend/src/api/modules/community-members.ts","frontend/src/api/modules/community-messages.ts","frontend/src/api/modules/community-points.ts","frontend/src/api/modules/consumer-behavior-analytics.ts","frontend/src/api/modules/content-categories.ts","frontend/src/api/modules/content-copyright.ts","frontend/src/api/modules/content-creation.ts","frontend/src/api/modules/content-distribution.ts","frontend/src/api/modules/content-library.ts","frontend/src/api/modules/content-templates.ts","frontend/src/api/modules/contract-templates.ts","frontend/src/api/modules/cpq.ts","frontend/src/api/modules/cross-domain-funnel.ts","frontend/src/api/modules/customer-analytics.ts","frontend/src/api/modules/customer-health.ts","frontend/src/api/modules/customer-journey.ts","frontend/src/api/modules/customer-ltv.ts","frontend/src/api/modules/customer-marketing.ts","frontend/src/api/modules/customer-segmentation.ts","frontend/src/api/modules/devices.ts","frontend/src/api/modules/dictionaries.ts","frontend/src/api/modules/dimension-transform.ts","frontend/src/api/modules/email-marketing.ts","frontend/src/api/modules/email-templates.ts","frontend/src/api/modules/event-logs.ts","frontend/src/api/modules/events.ts","frontend/src/api/modules/expense.ts","frontend/src/api/modules/financial-reports.ts","frontend/src/api/modules/fulfillment.ts","frontend/src/api/modules/geo-fences.ts","frontend/src/api/modules/geo-pois.ts","frontend/src/api/modules/groupbuy-analytics.ts","frontend/src/api/modules/groupbuy-campaigns.ts","frontend/src/api/modules/groupbuy-platforms.ts","frontend/src/api/modules/groupbuy-pricing.ts","frontend/src/api/modules/groupbuy-products.ts","frontend/src/api/modules/groupbuy-settlements.ts","frontend/src/api/modules/hr-benefits.ts","frontend/src/api/modules/hr-payroll.ts","frontend/src/api/modules/im-channels.ts","frontend/src/api/modules/im.ts","frontend/src/api/modules/integration-services.ts","frontend/src/api/modules/intent-analyzer.ts","frontend/src/api/modules/journey-orchestration.ts","frontend/src/api/modules/knowledge-candidates.ts","frontend/src/api/modules/knowledge-capture.ts","frontend/src/api/modules/landing-pages.ts","frontend/src/api/modules/lead-scoring-ai.ts","frontend/src/api/modules/livestream-groupbuy-conversion.ts","frontend/src/api/modules/livestream-groupbuy.ts","frontend/src/api/modules/livestream-interactions.ts","frontend/src/api/modules/livestream-rooms.ts","frontend/src/api/modules/livestream-schedules.ts","frontend/src/api/modules/livestream.ts","frontend/src/api/modules/location-assessments.ts","frontend/src/api/modules/login-logs.ts","frontend/src/api/modules/maintenance.ts","frontend/src/api/modules/marketing-automation.ts","frontend/src/api/modules/marketing-calendar.ts","frontend/src/api/modules/marketing-chatbot.ts","frontend/src/api/modules/marketing-content.ts","frontend/src/api/modules/marketing-forms.ts","frontend/src/api/modules/marketing-matrix.ts","frontend/src/api/modules/marketing-north-star.ts","frontend/src/api/modules/marketing-timeslots.ts","frontend/src/api/modules/marketing.ts","frontend/src/api/modules/omnichannel-dashboard.ts","frontend/src/api/modules/omnichannel-data-hub.ts","frontend/src/api/modules/omnichannel-touchpoints.ts","frontend/src/api/modules/operation-logs.ts","frontend/src/api/modules/opportunities.ts","frontend/src/api/modules/predictive-analytics.ts","frontend/src/api/modules/process-designer.ts","frontend/src/api/modules/process.ts","frontend/src/api/modules/products.ts","frontend/src/api/modules/realtime-trigger.ts","frontend/src/api/modules/reports.ts","frontend/src/api/modules/resource-requests.ts","frontend/src/api/modules/revenue.ts","frontend/src/api/modules/rfm-analysis.ts","frontend/src/api/modules/rma.ts","frontend/src/api/modules/satisfaction.ts","frontend/src/api/modules/scheduled-jobs.ts","frontend/src/api/modules/search.ts","frontend/src/api/modules/segments.ts","frontend/src/api/modules/service-monitor.ts","frontend/src/api/modules/sms-marketing.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/api/modules/social-auto-replies.ts","frontend/src/api/modules/social-competitors.ts","frontend/src/api/modules/social-hot-topics.ts","frontend/src/api/modules/social-interactions.ts","frontend/src/api/modules/spare-parts.ts","frontend/src/api/modules/store-performance.ts","frontend/src/api/modules/stores.ts","frontend/src/api/modules/supplier-management.ts","frontend/src/api/modules/swot-analyses.ts","frontend/src/api/modules/system-events.ts","frontend/src/api/modules/ticket-workflows.ts","frontend/src/api/modules/tickets.ts","frontend/src/api/modules/tob-toc-gateway.ts","frontend/src/api/modules/unified-campaign.ts","frontend/src/api/modules/web-tracking.ts","frontend/src/api/modules/workflow-generator.ts","frontend/src/api/response-normalizer.ts","frontend/src/components/business/ActivityTimeline.vue","frontend/src/components/business/EventStreamPanel.vue","frontend/src/components/business/IMPanel.vue","frontend/src/components/common/DataTable.vue","frontend/src/components/common/ResponsiveDataTable.vue","frontend/src/components/mobile/MobileFilter.vue","frontend/src/components/responsive/ResponsiveFilterBar.vue","frontend/src/types/ai-agent.ts","frontend/src/utils/echarts.ts","frontend/src/views/__tests__/standard-crud-smoke.helper.ts","frontend/src/views/abm-marketing/Index.vue","frontend/src/views/acquisition/Index.vue","frontend/src/views/ad-accounts/Form.vue","frontend/src/views/ad-accounts/Index.vue","frontend/src/views/ad-analytics/Index.vue","frontend/src/views/ad-campaigns/Index.vue","frontend/src/views/ad-creatives/Index.vue","frontend/src/views/ad-placement/ABTests.vue","frontend/src/views/ad-placement/AudiencePacks.vue","frontend/src/views/ad-placement/BudgetAlerts.vue","frontend/src/views/ad-placement/Creatives.vue","frontend/src/views/ad-placement/Index.vue","frontend/src/views/ad-placement/RoiAnalysis.vue","frontend/src/views/alliance-agreements/Index.vue","frontend/src/views/alliance-campaigns/Index.vue","frontend/src/views/alliance-coupons/Index.vue","frontend/src/views/alliance-packages/Index.vue","frontend/src/views/alliance-partners/Index.vue","frontend/src/views/alliance-products/Index.vue","frontend/src/views/analytics/roi/Index.vue","frontend/src/views/ap-ledger/Index.vue","frontend/src/views/approval-configs/Form.vue","frontend/src/views/approval-configs/Index.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/approval-templates/Index.vue","frontend/src/views/attribution/Index.vue","frontend/src/views/auth/Index.vue","frontend/src/views/bom/Index.vue","frontend/src/views/campaign-analytics/Index.vue","frontend/src/views/campaign-library/Index.vue","frontend/src/views/campaign-targets/Index.vue","frontend/src/views/campaign-tools/Index.vue","frontend/src/views/campaigns/Detail.vue","frontend/src/views/campaigns/Index.vue","frontend/src/views/campaigns/components/ToolConfigDialog.vue","frontend/src/views/campaigns/wizard/Step3Tools.vue","frontend/src/views/campaigns/wizard/Step4BasicInfo.vue","frontend/src/views/campaigns/wizard/Step7Review.vue","frontend/src/views/campaigns/wizard/components/ToolConfigForms.vue","frontend/src/views/channel-analytics/Index.vue","frontend/src/views/community-bots/Index.vue","frontend/src/views/community-fission/Index.vue","frontend/src/views/community-groups/Index.vue","frontend/src/views/community-materials/Index.vue","frontend/src/views/community-members/Index.vue","frontend/src/views/community-messages/Index.vue","frontend/src/views/community-points/Index.vue","frontend/src/views/community-tasks/Index.vue","frontend/src/views/consumer-behavior-analytics/Index.vue","frontend/src/views/content-creation/Index.vue","frontend/src/views/content-distribution/Index.vue","frontend/src/views/content-library/Detail.vue","frontend/src/views/content-templates/Index.vue","frontend/src/views/contract-templates/Index.vue","frontend/src/views/contracts/Form.vue","frontend/src/views/conversion-paths/Index.vue","frontend/src/views/cost-allocation/Index.vue","frontend/src/views/cpq/Index.vue","frontend/src/views/cross-domain-funnel/Index.vue","frontend/src/views/customer-health/Index.vue","frontend/src/views/customer-journey/Detail.vue","frontend/src/views/customer-marketing/Index.vue","frontend/src/views/customer-segmentation/Form.vue","frontend/src/views/departments/Detail.vue","frontend/src/views/departments/Index.vue","frontend/src/views/devices/Alerts.vue","frontend/src/views/devices/Form.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/dimension-transform/Index.vue","frontend/src/views/email-templates/Form.vue","frontend/src/views/email-templates/Index.vue","frontend/src/views/event-logs/Index.vue","frontend/src/views/expense-claims/Index.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/geo-pois/Index.vue","frontend/src/views/groupbuy-campaigns/Index.vue","frontend/src/views/groupbuy-inventory/Index.vue","frontend/src/views/groupbuy-orders/Index.vue","frontend/src/views/groupbuy-platforms/Index.vue","frontend/src/views/groupbuy-pricing/Index.vue","frontend/src/views/groupbuy-products/Index.vue","frontend/src/views/groupbuy-promotions/Index.vue","frontend/src/views/groupbuy-settlements/Index.vue","frontend/src/views/hr/attendance/components/AttendanceTab.vue","frontend/src/views/hr/attendance/components/HolidaysTab.vue","frontend/src/views/hr/attendance/components/LeavesTab.vue","frontend/src/views/hr/attendance/components/OvertimeTab.vue","frontend/src/views/hr/attendance/components/ShiftsTab.vue","frontend/src/views/hr/training/components/CertificatesTab.vue","frontend/src/views/hr/training/components/CompetencyTab.vue","frontend/src/views/hr/training/components/CoursesTab.vue","frontend/src/views/hr/training/components/ExamsTab.vue","frontend/src/views/hr/training/components/PlansTab.vue","frontend/src/views/hr/training/components/SessionsTab.vue","frontend/src/views/inventory/Counts.vue","frontend/src/views/inventory/Index.vue","frontend/src/views/inventory/Snapshots.vue","frontend/src/views/journey-orchestration/Form.vue","frontend/src/views/knowledge-feedback/Index.vue","frontend/src/views/lead-assignment/Form.vue","frontend/src/views/lead-pools/Form.vue","frontend/src/views/lead-pools/Index.vue","frontend/src/views/lead-qualification/Form.vue","frontend/src/views/lead-qualification/Index.vue","frontend/src/views/leads/Form.vue","frontend/src/views/leads/Index.vue","frontend/src/views/livestream-gifts/Index.vue","frontend/src/views/livestream-groupbuy-conversion/Index.vue","frontend/src/views/livestream-schedules/Index.vue","frontend/src/views/livestream-scripts/Index.vue","frontend/src/views/local-events/Index.vue","frontend/src/views/local-promotion/Index.vue","frontend/src/views/maintenance/Index.vue","frontend/src/views/maintenance/TaskDetail.vue","frontend/src/views/marketing-automation/Index.vue","frontend/src/views/marketing-effectiveness/Index.vue","frontend/src/views/marketing-north-star/Index.vue","frontend/src/views/marketing-tools/Detail.vue","frontend/src/views/marketing-tools/Index.vue","frontend/src/views/marketing/budget-alerts/Index.vue","frontend/src/views/mdm/Index.vue","frontend/src/views/member-benefits/Index.vue","frontend/src/views/member-levels/Index.vue","frontend/src/views/member-points/Index.vue","frontend/src/views/members/Index.vue","frontend/src/views/menus/Index.vue","frontend/src/views/notification-configs/Index.vue","frontend/src/views/notifications/Index.vue","frontend/src/views/omnichannel-dashboard/Index.vue","frontend/src/views/omnichannel-data-hub/Index.vue","frontend/src/views/opportunities/Form.vue","frontend/src/views/orders/Form.vue","frontend/src/views/orders/Index.vue","frontend/src/views/org-chart/Index.vue","frontend/src/views/partners/Detail.vue","frontend/src/views/payment-plans/Index.vue","frontend/src/views/pm/Index.vue","frontend/src/views/predictive-analytics/Form.vue","frontend/src/views/process-designer/Designer.vue","frontend/src/views/product-analytics/Index.vue","frontend/src/views/products/Index.vue","frontend/src/views/qr-codes/Index.vue","frontend/src/views/quotes/Form.vue","frontend/src/views/realtime-trigger/Form.vue","frontend/src/views/renewal-tasks/Index.vue","frontend/src/views/rfm-analysis/Detail.vue","frontend/src/views/rfm-analysis/Index.vue","frontend/src/views/roles/Index.vue","frontend/src/views/scheduled-jobs/Index.vue","frontend/src/views/segments/Index.vue","frontend/src/views/service-monitor/Index.vue","frontend/src/views/settings/Index.vue","frontend/src/views/social-accounts/Index.vue","frontend/src/views/social-auto-replies/Index.vue","frontend/src/views/social-competitors/Index.vue","frontend/src/views/social-matrix/Index.vue","frontend/src/views/social-posts/Detail.vue","frontend/src/views/social-posts/Index.vue","frontend/src/views/spare-parts/Index.vue","frontend/src/views/spare-parts/components/TransactionHistory.vue","frontend/src/views/stage-knowledge/Index.vue","frontend/src/views/store-configs/Index.vue","frontend/src/views/stores/Detail.vue","frontend/src/views/stores/Index.vue","frontend/src/views/supplier-payments/Index.vue","frontend/src/views/suppliers/Index.vue","frontend/src/views/system-events/Index.vue","frontend/src/views/system-monitor/Index.vue","frontend/src/views/system/AuditLogs.vue","frontend/src/views/tenant-configs/Index.vue","frontend/src/views/tickets/Form.vue","frontend/src/views/tickets/Index.vue","frontend/src/views/users/Index.vue","frontend/src/views/utm-tracking/Form.vue","frontend/src/views/video-publishing/Index.vue","frontend/src/views/web-tracking/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":1956552,"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":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-24T09:45:16+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
|
1774319281
|
1774319282
|
0
|
1774319140
|
1774319282
|
|
|
0
|
Edit
Delete
|
|
7658
|
feat: 四线并行治理 — Record清零+v-permission扩展+Redis缓存+as feat: 四线并行治理 — Record清零+v-permission扩展+Redis缓存+as any清理...
|
6
|
5
|
deploy.yml
|
7583
|
5
|
0
|
refs/heads/main
|
dbf34b08bbb60650d15b0c55262dbfe8d0a3a655
|
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-03-24T10:14:13+08:00","updated_at":"2026-03-24T10:14:13+08:00","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/workflows/test-pipeline.yml","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/src/branch/main/.github/workflows/test-pipeline.yml","badge_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/workflows/test-pipeline.yml/badge.svg?branch=main","deleted_at":"0001-01-01T00:00:00Z"},"workflow_run":{"id":7650,"url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/runs/7650","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/runs/7650","display_title":"feat: 四线并行治理 — Record清零+v-permission扩展+Redis缓存+as any清理","path":"test-pipeline.yml@refs/heads/main","event":"push","run_attempt":0,"run_number":7575,"head_sha":"dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","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":1958148,"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":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-24T10:14:22+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"pull":false},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"conclusion":"failure","started_at":"2026-03-24T10:23:26+08:00","completed_at":"2026-03-24T10:23:58+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":1958148,"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":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-24T10:14:22+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
workflow_run
|
1
|
40
|
1774319283
|
1774319305
|
0
|
1774319281
|
1774319305
|
group: deploy-${{ github.ref }}
cancel-in-progress group: deploy-${{ github.ref }}
cancel-in-progress: "false"
...
|
deploy-refs/heads/main
|
0
|
Edit
Delete
|
|
7659
|
feat: 四线并行治理 — Record清零+v-permission扩展+Redis缓存+as feat: 四线并行治理 — Record清零+v-permission扩展+Redis缓存+as any清理...
|
6
|
5
|
health-check.yml
|
7584
|
-2
|
130
|
refs/heads/main
|
dbf34b08bbb60650d15b0c55262dbfe8d0a3a655
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"8c39619c9cdb0d888d10942bf50533c8238021df","after":"dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/8c39619c9cdb0d888d10942bf50533c8238021df...dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","commits":[{"id":"dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","message":"feat: 四线并行治理 — Record清零+v-permission扩展+Redis缓存+as any清理\n\n## Line 1: Record\u003cstring,any\u003e 全前端清零 (637→0)\n- 262 个文件批量替换 Record\u003cstring, any\u003e → Record\u003cstring, unknown\u003e\n- 覆盖 API 模块层 137 文件 + 视图/stores/composables 100 文件\n\n## Line 2: v-permission 全面覆盖 (53→104 个视图文件)\n- 新增 51 个视图的 v-permission 指令\n- 覆盖: products/departments/contract-templates/spare-parts/pm/\n stage-knowledge/email-templates/approval-templates/ad-campaigns/\n groupbuy-*/community-*/alliance-*/livestream-*/social-*/content-*/\n geo-*/segments/lead-pools/bom/expense-claims/ap-ledger 等\n\n## Line 3: Redis 缓存扩展 (5→14 个缓存点, 10 个模块)\n- 新建 cache-utils.ts 统一缓存工具层 (withCache + invalidation)\n- 高优: tenant-configs(300s) + roles(1800s) + products(600s) +\n departments(600s) + sla(1800s) + contract-templates(600s)\n- 中优: price-books(600s) + notifications(300s)\n- 写后失效: 所有 create/update/delete 自动清除缓存\n\n## Line 4: as any 清理 (25处)\n- campaign-analytics.controller: 8→0 (精确查询类型)\n- social-interactions.service: 9→0 (Prisma UncheckedCreateInput)\n- store-staff.service: 6→0 (prismaModel 代理)\n- scheduled-jobs.consumer: 2→0 (直接使用已有类型)\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-24T10:14:13+08:00","added":["backend/src/shared/constants/events/common.ts","backend/src/shared/constants/events/finance.ts","backend/src/shared/constants/events/hr.ts","backend/src/shared/constants/events/im.ts","backend/src/shared/constants/events/index.ts","backend/src/shared/constants/events/knowledge.ts","backend/src/shared/constants/events/lifecycle.ts","backend/src/shared/constants/events/marketing.ts","backend/src/shared/constants/events/sales.ts","backend/src/shared/constants/events/service.ts","backend/src/shared/constants/events/store.ts","backend/src/shared/constants/events/supply_chain.ts","backend/src/shared/constants/events/system.ts","backend/src/shared/services/list-cache.service.ts","backend/src/shared/utils/cache-utils.ts"],"removed":[],"modified":["backend/src/consumers/attribution.consumer.ts","backend/src/consumers/campaign-effectiveness.consumer.ts","backend/src/consumers/marketing-workflow-executor.consumer.ts","backend/src/consumers/scheduled-jobs.consumer.ts","backend/src/modules/ai-agents/services/knowledge-vector-enhanced.service.ts","backend/src/modules/alliance-settlements/alliance-settlement.service.test.ts","backend/src/modules/campaign-analytics/campaign-analytics.controller.ts","backend/src/modules/contract-templates/contract-template.service.ts","backend/src/modules/contracts/contract.controller.ts","backend/src/modules/contracts/contract.routes.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/customers/customer.service.ts","backend/src/modules/departments/department.service.test.ts","backend/src/modules/departments/department.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/leads/lead-sla.service.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-interactions/livestream-realtime.service.ts","backend/src/modules/marketing-automation/workflow-trigger.service.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.controller.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.routes.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.service.ts","backend/src/modules/notifications/notification.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/payments/payment.service.test.ts","backend/src/modules/price-books/price-book.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/roles/role.service.ts","backend/src/modules/segments/segment.service.ts","backend/src/modules/sla/sla.service.ts","backend/src/modules/social-interactions/social-interactions.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/tenant-configs/tenant-config.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/constants/events.ts","backend/src/shared/services/partition-maintenance.service.ts","backend/src/shared/state-machines/machines/contract.machine.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/state-machines/types.ts","backend/src/shared/state-machines/utils/transitions/sales.transitions.ts","backend/src/shared/utils/biz-code.ts","frontend/src/api/adapters.ts","frontend/src/api/im-binding.ts","frontend/src/api/modules/ad-accounts.ts","frontend/src/api/modules/ad-audiences.ts","frontend/src/api/modules/ad-creatives.ts","frontend/src/api/modules/ad-placement.ts","frontend/src/api/modules/ad-reports.ts","frontend/src/api/modules/agent-group.ts","frontend/src/api/modules/ai-agent.ts","frontend/src/api/modules/alliance-analytics.ts","frontend/src/api/modules/alliance-merchants.ts","frontend/src/api/modules/alliance-products.ts","frontend/src/api/modules/alliance-promotions.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/analytics.ts","frontend/src/api/modules/approvals.ts","frontend/src/api/modules/assets.ts","frontend/src/api/modules/attribution.ts","frontend/src/api/modules/audit-logs.ts","frontend/src/api/modules/campaign-drafts.ts","frontend/src/api/modules/campaign-library.ts","frontend/src/api/modules/campaign-targets.ts","frontend/src/api/modules/campaign-tools.ts","frontend/src/api/modules/campaign-use-case-templates.ts","frontend/src/api/modules/campaign-wizard.ts","frontend/src/api/modules/campaigns.ts","frontend/src/api/modules/cohort-analysis.ts","frontend/src/api/modules/commissions.ts","frontend/src/api/modules/community-activities.ts","frontend/src/api/modules/community-analytics.ts","frontend/src/api/modules/community-bots.ts","frontend/src/api/modules/community-groups.ts","frontend/src/api/modules/community-levels.ts","frontend/src/api/modules/community-members.ts","frontend/src/api/modules/community-messages.ts","frontend/src/api/modules/community-points.ts","frontend/src/api/modules/consumer-behavior-analytics.ts","frontend/src/api/modules/content-categories.ts","frontend/src/api/modules/content-copyright.ts","frontend/src/api/modules/content-creation.ts","frontend/src/api/modules/content-distribution.ts","frontend/src/api/modules/content-library.ts","frontend/src/api/modules/content-templates.ts","frontend/src/api/modules/contract-templates.ts","frontend/src/api/modules/cpq.ts","frontend/src/api/modules/cross-domain-funnel.ts","frontend/src/api/modules/customer-analytics.ts","frontend/src/api/modules/customer-health.ts","frontend/src/api/modules/customer-journey.ts","frontend/src/api/modules/customer-ltv.ts","frontend/src/api/modules/customer-marketing.ts","frontend/src/api/modules/customer-segmentation.ts","frontend/src/api/modules/devices.ts","frontend/src/api/modules/dictionaries.ts","frontend/src/api/modules/dimension-transform.ts","frontend/src/api/modules/email-marketing.ts","frontend/src/api/modules/email-templates.ts","frontend/src/api/modules/event-logs.ts","frontend/src/api/modules/events.ts","frontend/src/api/modules/expense.ts","frontend/src/api/modules/financial-reports.ts","frontend/src/api/modules/fulfillment.ts","frontend/src/api/modules/geo-fences.ts","frontend/src/api/modules/geo-pois.ts","frontend/src/api/modules/groupbuy-analytics.ts","frontend/src/api/modules/groupbuy-campaigns.ts","frontend/src/api/modules/groupbuy-platforms.ts","frontend/src/api/modules/groupbuy-pricing.ts","frontend/src/api/modules/groupbuy-products.ts","frontend/src/api/modules/groupbuy-settlements.ts","frontend/src/api/modules/hr-benefits.ts","frontend/src/api/modules/hr-payroll.ts","frontend/src/api/modules/im-channels.ts","frontend/src/api/modules/im.ts","frontend/src/api/modules/integration-services.ts","frontend/src/api/modules/intent-analyzer.ts","frontend/src/api/modules/journey-orchestration.ts","frontend/src/api/modules/knowledge-candidates.ts","frontend/src/api/modules/knowledge-capture.ts","frontend/src/api/modules/landing-pages.ts","frontend/src/api/modules/lead-scoring-ai.ts","frontend/src/api/modules/livestream-groupbuy-conversion.ts","frontend/src/api/modules/livestream-groupbuy.ts","frontend/src/api/modules/livestream-interactions.ts","frontend/src/api/modules/livestream-rooms.ts","frontend/src/api/modules/livestream-schedules.ts","frontend/src/api/modules/livestream.ts","frontend/src/api/modules/location-assessments.ts","frontend/src/api/modules/login-logs.ts","frontend/src/api/modules/maintenance.ts","frontend/src/api/modules/marketing-automation.ts","frontend/src/api/modules/marketing-calendar.ts","frontend/src/api/modules/marketing-chatbot.ts","frontend/src/api/modules/marketing-content.ts","frontend/src/api/modules/marketing-forms.ts","frontend/src/api/modules/marketing-matrix.ts","frontend/src/api/modules/marketing-north-star.ts","frontend/src/api/modules/marketing-timeslots.ts","frontend/src/api/modules/marketing.ts","frontend/src/api/modules/omnichannel-dashboard.ts","frontend/src/api/modules/omnichannel-data-hub.ts","frontend/src/api/modules/omnichannel-touchpoints.ts","frontend/src/api/modules/operation-logs.ts","frontend/src/api/modules/opportunities.ts","frontend/src/api/modules/predictive-analytics.ts","frontend/src/api/modules/process-designer.ts","frontend/src/api/modules/process.ts","frontend/src/api/modules/products.ts","frontend/src/api/modules/realtime-trigger.ts","frontend/src/api/modules/reports.ts","frontend/src/api/modules/resource-requests.ts","frontend/src/api/modules/revenue.ts","frontend/src/api/modules/rfm-analysis.ts","frontend/src/api/modules/rma.ts","frontend/src/api/modules/satisfaction.ts","frontend/src/api/modules/scheduled-jobs.ts","frontend/src/api/modules/search.ts","frontend/src/api/modules/segments.ts","frontend/src/api/modules/service-monitor.ts","frontend/src/api/modules/sms-marketing.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/api/modules/social-auto-replies.ts","frontend/src/api/modules/social-competitors.ts","frontend/src/api/modules/social-hot-topics.ts","frontend/src/api/modules/social-interactions.ts","frontend/src/api/modules/spare-parts.ts","frontend/src/api/modules/store-performance.ts","frontend/src/api/modules/stores.ts","frontend/src/api/modules/supplier-management.ts","frontend/src/api/modules/swot-analyses.ts","frontend/src/api/modules/system-events.ts","frontend/src/api/modules/ticket-workflows.ts","frontend/src/api/modules/tickets.ts","frontend/src/api/modules/tob-toc-gateway.ts","frontend/src/api/modules/unified-campaign.ts","frontend/src/api/modules/web-tracking.ts","frontend/src/api/modules/workflow-generator.ts","frontend/src/api/response-normalizer.ts","frontend/src/components/business/ActivityTimeline.vue","frontend/src/components/business/EventStreamPanel.vue","frontend/src/components/business/IMPanel.vue","frontend/src/components/common/DataTable.vue","frontend/src/components/common/ResponsiveDataTable.vue","frontend/src/components/mobile/MobileFilter.vue","frontend/src/components/responsive/ResponsiveFilterBar.vue","frontend/src/types/ai-agent.ts","frontend/src/utils/echarts.ts","frontend/src/views/__tests__/standard-crud-smoke.helper.ts","frontend/src/views/abm-marketing/Index.vue","frontend/src/views/acquisition/Index.vue","frontend/src/views/ad-accounts/Form.vue","frontend/src/views/ad-accounts/Index.vue","frontend/src/views/ad-analytics/Index.vue","frontend/src/views/ad-campaigns/Index.vue","frontend/src/views/ad-creatives/Index.vue","frontend/src/views/ad-placement/ABTests.vue","frontend/src/views/ad-placement/AudiencePacks.vue","frontend/src/views/ad-placement/BudgetAlerts.vue","frontend/src/views/ad-placement/Creatives.vue","frontend/src/views/ad-placement/Index.vue","frontend/src/views/ad-placement/RoiAnalysis.vue","frontend/src/views/alliance-agreements/Index.vue","frontend/src/views/alliance-campaigns/Index.vue","frontend/src/views/alliance-coupons/Index.vue","frontend/src/views/alliance-packages/Index.vue","frontend/src/views/alliance-partners/Index.vue","frontend/src/views/alliance-products/Index.vue","frontend/src/views/analytics/roi/Index.vue","frontend/src/views/ap-ledger/Index.vue","frontend/src/views/approval-configs/Form.vue","frontend/src/views/approval-configs/Index.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/approval-templates/Index.vue","frontend/src/views/attribution/Index.vue","frontend/src/views/auth/Index.vue","frontend/src/views/bom/Index.vue","frontend/src/views/campaign-analytics/Index.vue","frontend/src/views/campaign-library/Index.vue","frontend/src/views/campaign-targets/Index.vue","frontend/src/views/campaign-tools/Index.vue","frontend/src/views/campaigns/Detail.vue","frontend/src/views/campaigns/Index.vue","frontend/src/views/campaigns/components/ToolConfigDialog.vue","frontend/src/views/campaigns/wizard/Step3Tools.vue","frontend/src/views/campaigns/wizard/Step4BasicInfo.vue","frontend/src/views/campaigns/wizard/Step7Review.vue","frontend/src/views/campaigns/wizard/components/ToolConfigForms.vue","frontend/src/views/channel-analytics/Index.vue","frontend/src/views/community-bots/Index.vue","frontend/src/views/community-fission/Index.vue","frontend/src/views/community-groups/Index.vue","frontend/src/views/community-materials/Index.vue","frontend/src/views/community-members/Index.vue","frontend/src/views/community-messages/Index.vue","frontend/src/views/community-points/Index.vue","frontend/src/views/community-tasks/Index.vue","frontend/src/views/consumer-behavior-analytics/Index.vue","frontend/src/views/content-creation/Index.vue","frontend/src/views/content-distribution/Index.vue","frontend/src/views/content-library/Detail.vue","frontend/src/views/content-templates/Index.vue","frontend/src/views/contract-templates/Index.vue","frontend/src/views/contracts/Form.vue","frontend/src/views/conversion-paths/Index.vue","frontend/src/views/cost-allocation/Index.vue","frontend/src/views/cpq/Index.vue","frontend/src/views/cross-domain-funnel/Index.vue","frontend/src/views/customer-health/Index.vue","frontend/src/views/customer-journey/Detail.vue","frontend/src/views/customer-marketing/Index.vue","frontend/src/views/customer-segmentation/Form.vue","frontend/src/views/departments/Detail.vue","frontend/src/views/departments/Index.vue","frontend/src/views/devices/Alerts.vue","frontend/src/views/devices/Form.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/dimension-transform/Index.vue","frontend/src/views/email-templates/Form.vue","frontend/src/views/email-templates/Index.vue","frontend/src/views/event-logs/Index.vue","frontend/src/views/expense-claims/Index.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/geo-pois/Index.vue","frontend/src/views/groupbuy-campaigns/Index.vue","frontend/src/views/groupbuy-inventory/Index.vue","frontend/src/views/groupbuy-orders/Index.vue","frontend/src/views/groupbuy-platforms/Index.vue","frontend/src/views/groupbuy-pricing/Index.vue","frontend/src/views/groupbuy-products/Index.vue","frontend/src/views/groupbuy-promotions/Index.vue","frontend/src/views/groupbuy-settlements/Index.vue","frontend/src/views/hr/attendance/components/AttendanceTab.vue","frontend/src/views/hr/attendance/components/HolidaysTab.vue","frontend/src/views/hr/attendance/components/LeavesTab.vue","frontend/src/views/hr/attendance/components/OvertimeTab.vue","frontend/src/views/hr/attendance/components/ShiftsTab.vue","frontend/src/views/hr/training/components/CertificatesTab.vue","frontend/src/views/hr/training/components/CompetencyTab.vue","frontend/src/views/hr/training/components/CoursesTab.vue","frontend/src/views/hr/training/components/ExamsTab.vue","frontend/src/views/hr/training/components/PlansTab.vue","frontend/src/views/hr/training/components/SessionsTab.vue","frontend/src/views/inventory/Counts.vue","frontend/src/views/inventory/Index.vue","frontend/src/views/inventory/Snapshots.vue","frontend/src/views/journey-orchestration/Form.vue","frontend/src/views/knowledge-feedback/Index.vue","frontend/src/views/lead-assignment/Form.vue","frontend/src/views/lead-pools/Form.vue","frontend/src/views/lead-pools/Index.vue","frontend/src/views/lead-qualification/Form.vue","frontend/src/views/lead-qualification/Index.vue","frontend/src/views/leads/Form.vue","frontend/src/views/leads/Index.vue","frontend/src/views/livestream-gifts/Index.vue","frontend/src/views/livestream-groupbuy-conversion/Index.vue","frontend/src/views/livestream-schedules/Index.vue","frontend/src/views/livestream-scripts/Index.vue","frontend/src/views/local-events/Index.vue","frontend/src/views/local-promotion/Index.vue","frontend/src/views/maintenance/Index.vue","frontend/src/views/maintenance/TaskDetail.vue","frontend/src/views/marketing-automation/Index.vue","frontend/src/views/marketing-effectiveness/Index.vue","frontend/src/views/marketing-north-star/Index.vue","frontend/src/views/marketing-tools/Detail.vue","frontend/src/views/marketing-tools/Index.vue","frontend/src/views/marketing/budget-alerts/Index.vue","frontend/src/views/mdm/Index.vue","frontend/src/views/member-benefits/Index.vue","frontend/src/views/member-levels/Index.vue","frontend/src/views/member-points/Index.vue","frontend/src/views/members/Index.vue","frontend/src/views/menus/Index.vue","frontend/src/views/notification-configs/Index.vue","frontend/src/views/notifications/Index.vue","frontend/src/views/omnichannel-dashboard/Index.vue","frontend/src/views/omnichannel-data-hub/Index.vue","frontend/src/views/opportunities/Form.vue","frontend/src/views/orders/Form.vue","frontend/src/views/orders/Index.vue","frontend/src/views/org-chart/Index.vue","frontend/src/views/partners/Detail.vue","frontend/src/views/payment-plans/Index.vue","frontend/src/views/pm/Index.vue","frontend/src/views/predictive-analytics/Form.vue","frontend/src/views/process-designer/Designer.vue","frontend/src/views/product-analytics/Index.vue","frontend/src/views/products/Index.vue","frontend/src/views/qr-codes/Index.vue","frontend/src/views/quotes/Form.vue","frontend/src/views/realtime-trigger/Form.vue","frontend/src/views/renewal-tasks/Index.vue","frontend/src/views/rfm-analysis/Detail.vue","frontend/src/views/rfm-analysis/Index.vue","frontend/src/views/roles/Index.vue","frontend/src/views/scheduled-jobs/Index.vue","frontend/src/views/segments/Index.vue","frontend/src/views/service-monitor/Index.vue","frontend/src/views/settings/Index.vue","frontend/src/views/social-accounts/Index.vue","frontend/src/views/social-auto-replies/Index.vue","frontend/src/views/social-competitors/Index.vue","frontend/src/views/social-matrix/Index.vue","frontend/src/views/social-posts/Detail.vue","frontend/src/views/social-posts/Index.vue","frontend/src/views/spare-parts/Index.vue","frontend/src/views/spare-parts/components/TransactionHistory.vue","frontend/src/views/stage-knowledge/Index.vue","frontend/src/views/store-configs/Index.vue","frontend/src/views/stores/Detail.vue","frontend/src/views/stores/Index.vue","frontend/src/views/supplier-payments/Index.vue","frontend/src/views/suppliers/Index.vue","frontend/src/views/system-events/Index.vue","frontend/src/views/system-monitor/Index.vue","frontend/src/views/system/AuditLogs.vue","frontend/src/views/tenant-configs/Index.vue","frontend/src/views/tickets/Form.vue","frontend/src/views/tickets/Index.vue","frontend/src/views/users/Index.vue","frontend/src/views/utm-tracking/Form.vue","frontend/src/views/video-publishing/Index.vue","frontend/src/views/web-tracking/Index.vue"]}],"total_commits":0,"head_commit":{"id":"dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","message":"feat: 四线并行治理 — Record清零+v-permission扩展+Redis缓存+as any清理\n\n## Line 1: Record\u003cstring,any\u003e 全前端清零 (637→0)\n- 262 个文件批量替换 Record\u003cstring, any\u003e → Record\u003cstring, unknown\u003e\n- 覆盖 API 模块层 137 文件 + 视图/stores/composables 100 文件\n\n## Line 2: v-permission 全面覆盖 (53→104 个视图文件)\n- 新增 51 个视图的 v-permission 指令\n- 覆盖: products/departments/contract-templates/spare-parts/pm/\n stage-knowledge/email-templates/approval-templates/ad-campaigns/\n groupbuy-*/community-*/alliance-*/livestream-*/social-*/content-*/\n geo-*/segments/lead-pools/bom/expense-claims/ap-ledger 等\n\n## Line 3: Redis 缓存扩展 (5→14 个缓存点, 10 个模块)\n- 新建 cache-utils.ts 统一缓存工具层 (withCache + invalidation)\n- 高优: tenant-configs(300s) + roles(1800s) + products(600s) +\n departments(600s) + sla(1800s) + contract-templates(600s)\n- 中优: price-books(600s) + notifications(300s)\n- 写后失效: 所有 create/update/delete 自动清除缓存\n\n## Line 4: as any 清理 (25处)\n- campaign-analytics.controller: 8→0 (精确查询类型)\n- social-interactions.service: 9→0 (Prisma UncheckedCreateInput)\n- store-staff.service: 6→0 (prismaModel 代理)\n- scheduled-jobs.consumer: 2→0 (直接使用已有类型)\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-24T10:14:13+08:00","added":["backend/src/shared/constants/events/common.ts","backend/src/shared/constants/events/finance.ts","backend/src/shared/constants/events/hr.ts","backend/src/shared/constants/events/im.ts","backend/src/shared/constants/events/index.ts","backend/src/shared/constants/events/knowledge.ts","backend/src/shared/constants/events/lifecycle.ts","backend/src/shared/constants/events/marketing.ts","backend/src/shared/constants/events/sales.ts","backend/src/shared/constants/events/service.ts","backend/src/shared/constants/events/store.ts","backend/src/shared/constants/events/supply_chain.ts","backend/src/shared/constants/events/system.ts","backend/src/shared/services/list-cache.service.ts","backend/src/shared/utils/cache-utils.ts"],"removed":[],"modified":["backend/src/consumers/attribution.consumer.ts","backend/src/consumers/campaign-effectiveness.consumer.ts","backend/src/consumers/marketing-workflow-executor.consumer.ts","backend/src/consumers/scheduled-jobs.consumer.ts","backend/src/modules/ai-agents/services/knowledge-vector-enhanced.service.ts","backend/src/modules/alliance-settlements/alliance-settlement.service.test.ts","backend/src/modules/campaign-analytics/campaign-analytics.controller.ts","backend/src/modules/contract-templates/contract-template.service.ts","backend/src/modules/contracts/contract.controller.ts","backend/src/modules/contracts/contract.routes.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/customers/customer.service.ts","backend/src/modules/departments/department.service.test.ts","backend/src/modules/departments/department.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/leads/lead-sla.service.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-interactions/livestream-realtime.service.ts","backend/src/modules/marketing-automation/workflow-trigger.service.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.controller.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.routes.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.service.ts","backend/src/modules/notifications/notification.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/payments/payment.service.test.ts","backend/src/modules/price-books/price-book.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/roles/role.service.ts","backend/src/modules/segments/segment.service.ts","backend/src/modules/sla/sla.service.ts","backend/src/modules/social-interactions/social-interactions.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/tenant-configs/tenant-config.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/constants/events.ts","backend/src/shared/services/partition-maintenance.service.ts","backend/src/shared/state-machines/machines/contract.machine.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/state-machines/types.ts","backend/src/shared/state-machines/utils/transitions/sales.transitions.ts","backend/src/shared/utils/biz-code.ts","frontend/src/api/adapters.ts","frontend/src/api/im-binding.ts","frontend/src/api/modules/ad-accounts.ts","frontend/src/api/modules/ad-audiences.ts","frontend/src/api/modules/ad-creatives.ts","frontend/src/api/modules/ad-placement.ts","frontend/src/api/modules/ad-reports.ts","frontend/src/api/modules/agent-group.ts","frontend/src/api/modules/ai-agent.ts","frontend/src/api/modules/alliance-analytics.ts","frontend/src/api/modules/alliance-merchants.ts","frontend/src/api/modules/alliance-products.ts","frontend/src/api/modules/alliance-promotions.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/analytics.ts","frontend/src/api/modules/approvals.ts","frontend/src/api/modules/assets.ts","frontend/src/api/modules/attribution.ts","frontend/src/api/modules/audit-logs.ts","frontend/src/api/modules/campaign-drafts.ts","frontend/src/api/modules/campaign-library.ts","frontend/src/api/modules/campaign-targets.ts","frontend/src/api/modules/campaign-tools.ts","frontend/src/api/modules/campaign-use-case-templates.ts","frontend/src/api/modules/campaign-wizard.ts","frontend/src/api/modules/campaigns.ts","frontend/src/api/modules/cohort-analysis.ts","frontend/src/api/modules/commissions.ts","frontend/src/api/modules/community-activities.ts","frontend/src/api/modules/community-analytics.ts","frontend/src/api/modules/community-bots.ts","frontend/src/api/modules/community-groups.ts","frontend/src/api/modules/community-levels.ts","frontend/src/api/modules/community-members.ts","frontend/src/api/modules/community-messages.ts","frontend/src/api/modules/community-points.ts","frontend/src/api/modules/consumer-behavior-analytics.ts","frontend/src/api/modules/content-categories.ts","frontend/src/api/modules/content-copyright.ts","frontend/src/api/modules/content-creation.ts","frontend/src/api/modules/content-distribution.ts","frontend/src/api/modules/content-library.ts","frontend/src/api/modules/content-templates.ts","frontend/src/api/modules/contract-templates.ts","frontend/src/api/modules/cpq.ts","frontend/src/api/modules/cross-domain-funnel.ts","frontend/src/api/modules/customer-analytics.ts","frontend/src/api/modules/customer-health.ts","frontend/src/api/modules/customer-journey.ts","frontend/src/api/modules/customer-ltv.ts","frontend/src/api/modules/customer-marketing.ts","frontend/src/api/modules/customer-segmentation.ts","frontend/src/api/modules/devices.ts","frontend/src/api/modules/dictionaries.ts","frontend/src/api/modules/dimension-transform.ts","frontend/src/api/modules/email-marketing.ts","frontend/src/api/modules/email-templates.ts","frontend/src/api/modules/event-logs.ts","frontend/src/api/modules/events.ts","frontend/src/api/modules/expense.ts","frontend/src/api/modules/financial-reports.ts","frontend/src/api/modules/fulfillment.ts","frontend/src/api/modules/geo-fences.ts","frontend/src/api/modules/geo-pois.ts","frontend/src/api/modules/groupbuy-analytics.ts","frontend/src/api/modules/groupbuy-campaigns.ts","frontend/src/api/modules/groupbuy-platforms.ts","frontend/src/api/modules/groupbuy-pricing.ts","frontend/src/api/modules/groupbuy-products.ts","frontend/src/api/modules/groupbuy-settlements.ts","frontend/src/api/modules/hr-benefits.ts","frontend/src/api/modules/hr-payroll.ts","frontend/src/api/modules/im-channels.ts","frontend/src/api/modules/im.ts","frontend/src/api/modules/integration-services.ts","frontend/src/api/modules/intent-analyzer.ts","frontend/src/api/modules/journey-orchestration.ts","frontend/src/api/modules/knowledge-candidates.ts","frontend/src/api/modules/knowledge-capture.ts","frontend/src/api/modules/landing-pages.ts","frontend/src/api/modules/lead-scoring-ai.ts","frontend/src/api/modules/livestream-groupbuy-conversion.ts","frontend/src/api/modules/livestream-groupbuy.ts","frontend/src/api/modules/livestream-interactions.ts","frontend/src/api/modules/livestream-rooms.ts","frontend/src/api/modules/livestream-schedules.ts","frontend/src/api/modules/livestream.ts","frontend/src/api/modules/location-assessments.ts","frontend/src/api/modules/login-logs.ts","frontend/src/api/modules/maintenance.ts","frontend/src/api/modules/marketing-automation.ts","frontend/src/api/modules/marketing-calendar.ts","frontend/src/api/modules/marketing-chatbot.ts","frontend/src/api/modules/marketing-content.ts","frontend/src/api/modules/marketing-forms.ts","frontend/src/api/modules/marketing-matrix.ts","frontend/src/api/modules/marketing-north-star.ts","frontend/src/api/modules/marketing-timeslots.ts","frontend/src/api/modules/marketing.ts","frontend/src/api/modules/omnichannel-dashboard.ts","frontend/src/api/modules/omnichannel-data-hub.ts","frontend/src/api/modules/omnichannel-touchpoints.ts","frontend/src/api/modules/operation-logs.ts","frontend/src/api/modules/opportunities.ts","frontend/src/api/modules/predictive-analytics.ts","frontend/src/api/modules/process-designer.ts","frontend/src/api/modules/process.ts","frontend/src/api/modules/products.ts","frontend/src/api/modules/realtime-trigger.ts","frontend/src/api/modules/reports.ts","frontend/src/api/modules/resource-requests.ts","frontend/src/api/modules/revenue.ts","frontend/src/api/modules/rfm-analysis.ts","frontend/src/api/modules/rma.ts","frontend/src/api/modules/satisfaction.ts","frontend/src/api/modules/scheduled-jobs.ts","frontend/src/api/modules/search.ts","frontend/src/api/modules/segments.ts","frontend/src/api/modules/service-monitor.ts","frontend/src/api/modules/sms-marketing.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/api/modules/social-auto-replies.ts","frontend/src/api/modules/social-competitors.ts","frontend/src/api/modules/social-hot-topics.ts","frontend/src/api/modules/social-interactions.ts","frontend/src/api/modules/spare-parts.ts","frontend/src/api/modules/store-performance.ts","frontend/src/api/modules/stores.ts","frontend/src/api/modules/supplier-management.ts","frontend/src/api/modules/swot-analyses.ts","frontend/src/api/modules/system-events.ts","frontend/src/api/modules/ticket-workflows.ts","frontend/src/api/modules/tickets.ts","frontend/src/api/modules/tob-toc-gateway.ts","frontend/src/api/modules/unified-campaign.ts","frontend/src/api/modules/web-tracking.ts","frontend/src/api/modules/workflow-generator.ts","frontend/src/api/response-normalizer.ts","frontend/src/components/business/ActivityTimeline.vue","frontend/src/components/business/EventStreamPanel.vue","frontend/src/components/business/IMPanel.vue","frontend/src/components/common/DataTable.vue","frontend/src/components/common/ResponsiveDataTable.vue","frontend/src/components/mobile/MobileFilter.vue","frontend/src/components/responsive/ResponsiveFilterBar.vue","frontend/src/types/ai-agent.ts","frontend/src/utils/echarts.ts","frontend/src/views/__tests__/standard-crud-smoke.helper.ts","frontend/src/views/abm-marketing/Index.vue","frontend/src/views/acquisition/Index.vue","frontend/src/views/ad-accounts/Form.vue","frontend/src/views/ad-accounts/Index.vue","frontend/src/views/ad-analytics/Index.vue","frontend/src/views/ad-campaigns/Index.vue","frontend/src/views/ad-creatives/Index.vue","frontend/src/views/ad-placement/ABTests.vue","frontend/src/views/ad-placement/AudiencePacks.vue","frontend/src/views/ad-placement/BudgetAlerts.vue","frontend/src/views/ad-placement/Creatives.vue","frontend/src/views/ad-placement/Index.vue","frontend/src/views/ad-placement/RoiAnalysis.vue","frontend/src/views/alliance-agreements/Index.vue","frontend/src/views/alliance-campaigns/Index.vue","frontend/src/views/alliance-coupons/Index.vue","frontend/src/views/alliance-packages/Index.vue","frontend/src/views/alliance-partners/Index.vue","frontend/src/views/alliance-products/Index.vue","frontend/src/views/analytics/roi/Index.vue","frontend/src/views/ap-ledger/Index.vue","frontend/src/views/approval-configs/Form.vue","frontend/src/views/approval-configs/Index.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/approval-templates/Index.vue","frontend/src/views/attribution/Index.vue","frontend/src/views/auth/Index.vue","frontend/src/views/bom/Index.vue","frontend/src/views/campaign-analytics/Index.vue","frontend/src/views/campaign-library/Index.vue","frontend/src/views/campaign-targets/Index.vue","frontend/src/views/campaign-tools/Index.vue","frontend/src/views/campaigns/Detail.vue","frontend/src/views/campaigns/Index.vue","frontend/src/views/campaigns/components/ToolConfigDialog.vue","frontend/src/views/campaigns/wizard/Step3Tools.vue","frontend/src/views/campaigns/wizard/Step4BasicInfo.vue","frontend/src/views/campaigns/wizard/Step7Review.vue","frontend/src/views/campaigns/wizard/components/ToolConfigForms.vue","frontend/src/views/channel-analytics/Index.vue","frontend/src/views/community-bots/Index.vue","frontend/src/views/community-fission/Index.vue","frontend/src/views/community-groups/Index.vue","frontend/src/views/community-materials/Index.vue","frontend/src/views/community-members/Index.vue","frontend/src/views/community-messages/Index.vue","frontend/src/views/community-points/Index.vue","frontend/src/views/community-tasks/Index.vue","frontend/src/views/consumer-behavior-analytics/Index.vue","frontend/src/views/content-creation/Index.vue","frontend/src/views/content-distribution/Index.vue","frontend/src/views/content-library/Detail.vue","frontend/src/views/content-templates/Index.vue","frontend/src/views/contract-templates/Index.vue","frontend/src/views/contracts/Form.vue","frontend/src/views/conversion-paths/Index.vue","frontend/src/views/cost-allocation/Index.vue","frontend/src/views/cpq/Index.vue","frontend/src/views/cross-domain-funnel/Index.vue","frontend/src/views/customer-health/Index.vue","frontend/src/views/customer-journey/Detail.vue","frontend/src/views/customer-marketing/Index.vue","frontend/src/views/customer-segmentation/Form.vue","frontend/src/views/departments/Detail.vue","frontend/src/views/departments/Index.vue","frontend/src/views/devices/Alerts.vue","frontend/src/views/devices/Form.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/dimension-transform/Index.vue","frontend/src/views/email-templates/Form.vue","frontend/src/views/email-templates/Index.vue","frontend/src/views/event-logs/Index.vue","frontend/src/views/expense-claims/Index.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/geo-pois/Index.vue","frontend/src/views/groupbuy-campaigns/Index.vue","frontend/src/views/groupbuy-inventory/Index.vue","frontend/src/views/groupbuy-orders/Index.vue","frontend/src/views/groupbuy-platforms/Index.vue","frontend/src/views/groupbuy-pricing/Index.vue","frontend/src/views/groupbuy-products/Index.vue","frontend/src/views/groupbuy-promotions/Index.vue","frontend/src/views/groupbuy-settlements/Index.vue","frontend/src/views/hr/attendance/components/AttendanceTab.vue","frontend/src/views/hr/attendance/components/HolidaysTab.vue","frontend/src/views/hr/attendance/components/LeavesTab.vue","frontend/src/views/hr/attendance/components/OvertimeTab.vue","frontend/src/views/hr/attendance/components/ShiftsTab.vue","frontend/src/views/hr/training/components/CertificatesTab.vue","frontend/src/views/hr/training/components/CompetencyTab.vue","frontend/src/views/hr/training/components/CoursesTab.vue","frontend/src/views/hr/training/components/ExamsTab.vue","frontend/src/views/hr/training/components/PlansTab.vue","frontend/src/views/hr/training/components/SessionsTab.vue","frontend/src/views/inventory/Counts.vue","frontend/src/views/inventory/Index.vue","frontend/src/views/inventory/Snapshots.vue","frontend/src/views/journey-orchestration/Form.vue","frontend/src/views/knowledge-feedback/Index.vue","frontend/src/views/lead-assignment/Form.vue","frontend/src/views/lead-pools/Form.vue","frontend/src/views/lead-pools/Index.vue","frontend/src/views/lead-qualification/Form.vue","frontend/src/views/lead-qualification/Index.vue","frontend/src/views/leads/Form.vue","frontend/src/views/leads/Index.vue","frontend/src/views/livestream-gifts/Index.vue","frontend/src/views/livestream-groupbuy-conversion/Index.vue","frontend/src/views/livestream-schedules/Index.vue","frontend/src/views/livestream-scripts/Index.vue","frontend/src/views/local-events/Index.vue","frontend/src/views/local-promotion/Index.vue","frontend/src/views/maintenance/Index.vue","frontend/src/views/maintenance/TaskDetail.vue","frontend/src/views/marketing-automation/Index.vue","frontend/src/views/marketing-effectiveness/Index.vue","frontend/src/views/marketing-north-star/Index.vue","frontend/src/views/marketing-tools/Detail.vue","frontend/src/views/marketing-tools/Index.vue","frontend/src/views/marketing/budget-alerts/Index.vue","frontend/src/views/mdm/Index.vue","frontend/src/views/member-benefits/Index.vue","frontend/src/views/member-levels/Index.vue","frontend/src/views/member-points/Index.vue","frontend/src/views/members/Index.vue","frontend/src/views/menus/Index.vue","frontend/src/views/notification-configs/Index.vue","frontend/src/views/notifications/Index.vue","frontend/src/views/omnichannel-dashboard/Index.vue","frontend/src/views/omnichannel-data-hub/Index.vue","frontend/src/views/opportunities/Form.vue","frontend/src/views/orders/Form.vue","frontend/src/views/orders/Index.vue","frontend/src/views/org-chart/Index.vue","frontend/src/views/partners/Detail.vue","frontend/src/views/payment-plans/Index.vue","frontend/src/views/pm/Index.vue","frontend/src/views/predictive-analytics/Form.vue","frontend/src/views/process-designer/Designer.vue","frontend/src/views/product-analytics/Index.vue","frontend/src/views/products/Index.vue","frontend/src/views/qr-codes/Index.vue","frontend/src/views/quotes/Form.vue","frontend/src/views/realtime-trigger/Form.vue","frontend/src/views/renewal-tasks/Index.vue","frontend/src/views/rfm-analysis/Detail.vue","frontend/src/views/rfm-analysis/Index.vue","frontend/src/views/roles/Index.vue","frontend/src/views/scheduled-jobs/Index.vue","frontend/src/views/segments/Index.vue","frontend/src/views/service-monitor/Index.vue","frontend/src/views/settings/Index.vue","frontend/src/views/social-accounts/Index.vue","frontend/src/views/social-auto-replies/Index.vue","frontend/src/views/social-competitors/Index.vue","frontend/src/views/social-matrix/Index.vue","frontend/src/views/social-posts/Detail.vue","frontend/src/views/social-posts/Index.vue","frontend/src/views/spare-parts/Index.vue","frontend/src/views/spare-parts/components/TransactionHistory.vue","frontend/src/views/stage-knowledge/Index.vue","frontend/src/views/store-configs/Index.vue","frontend/src/views/stores/Detail.vue","frontend/src/views/stores/Index.vue","frontend/src/views/supplier-payments/Index.vue","frontend/src/views/suppliers/Index.vue","frontend/src/views/system-events/Index.vue","frontend/src/views/system-monitor/Index.vue","frontend/src/views/system/AuditLogs.vue","frontend/src/views/tenant-configs/Index.vue","frontend/src/views/tickets/Form.vue","frontend/src/views/tickets/Index.vue","frontend/src/views/users/Index.vue","frontend/src/views/utm-tracking/Form.vue","frontend/src/views/video-publishing/Index.vue","frontend/src/views/web-tracking/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":1956552,"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":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-24T09:45:16+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
|
1774319441
|
1774319442
|
0
|
1774319440
|
1774319442
|
|
|
0
|
Edit
Delete
|
|
7660
|
feat: 四线并行治理 — Record清零+v-permission扩展+Redis缓存+as feat: 四线并行治理 — Record清零+v-permission扩展+Redis缓存+as any清理...
|
6
|
5
|
health-check.yml
|
7585
|
-2
|
130
|
refs/heads/main
|
dbf34b08bbb60650d15b0c55262dbfe8d0a3a655
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"8c39619c9cdb0d888d10942bf50533c8238021df","after":"dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/8c39619c9cdb0d888d10942bf50533c8238021df...dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","commits":[{"id":"dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","message":"feat: 四线并行治理 — Record清零+v-permission扩展+Redis缓存+as any清理\n\n## Line 1: Record\u003cstring,any\u003e 全前端清零 (637→0)\n- 262 个文件批量替换 Record\u003cstring, any\u003e → Record\u003cstring, unknown\u003e\n- 覆盖 API 模块层 137 文件 + 视图/stores/composables 100 文件\n\n## Line 2: v-permission 全面覆盖 (53→104 个视图文件)\n- 新增 51 个视图的 v-permission 指令\n- 覆盖: products/departments/contract-templates/spare-parts/pm/\n stage-knowledge/email-templates/approval-templates/ad-campaigns/\n groupbuy-*/community-*/alliance-*/livestream-*/social-*/content-*/\n geo-*/segments/lead-pools/bom/expense-claims/ap-ledger 等\n\n## Line 3: Redis 缓存扩展 (5→14 个缓存点, 10 个模块)\n- 新建 cache-utils.ts 统一缓存工具层 (withCache + invalidation)\n- 高优: tenant-configs(300s) + roles(1800s) + products(600s) +\n departments(600s) + sla(1800s) + contract-templates(600s)\n- 中优: price-books(600s) + notifications(300s)\n- 写后失效: 所有 create/update/delete 自动清除缓存\n\n## Line 4: as any 清理 (25处)\n- campaign-analytics.controller: 8→0 (精确查询类型)\n- social-interactions.service: 9→0 (Prisma UncheckedCreateInput)\n- store-staff.service: 6→0 (prismaModel 代理)\n- scheduled-jobs.consumer: 2→0 (直接使用已有类型)\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-24T10:14:13+08:00","added":["backend/src/shared/constants/events/common.ts","backend/src/shared/constants/events/finance.ts","backend/src/shared/constants/events/hr.ts","backend/src/shared/constants/events/im.ts","backend/src/shared/constants/events/index.ts","backend/src/shared/constants/events/knowledge.ts","backend/src/shared/constants/events/lifecycle.ts","backend/src/shared/constants/events/marketing.ts","backend/src/shared/constants/events/sales.ts","backend/src/shared/constants/events/service.ts","backend/src/shared/constants/events/store.ts","backend/src/shared/constants/events/supply_chain.ts","backend/src/shared/constants/events/system.ts","backend/src/shared/services/list-cache.service.ts","backend/src/shared/utils/cache-utils.ts"],"removed":[],"modified":["backend/src/consumers/attribution.consumer.ts","backend/src/consumers/campaign-effectiveness.consumer.ts","backend/src/consumers/marketing-workflow-executor.consumer.ts","backend/src/consumers/scheduled-jobs.consumer.ts","backend/src/modules/ai-agents/services/knowledge-vector-enhanced.service.ts","backend/src/modules/alliance-settlements/alliance-settlement.service.test.ts","backend/src/modules/campaign-analytics/campaign-analytics.controller.ts","backend/src/modules/contract-templates/contract-template.service.ts","backend/src/modules/contracts/contract.controller.ts","backend/src/modules/contracts/contract.routes.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/customers/customer.service.ts","backend/src/modules/departments/department.service.test.ts","backend/src/modules/departments/department.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/leads/lead-sla.service.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-interactions/livestream-realtime.service.ts","backend/src/modules/marketing-automation/workflow-trigger.service.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.controller.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.routes.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.service.ts","backend/src/modules/notifications/notification.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/payments/payment.service.test.ts","backend/src/modules/price-books/price-book.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/roles/role.service.ts","backend/src/modules/segments/segment.service.ts","backend/src/modules/sla/sla.service.ts","backend/src/modules/social-interactions/social-interactions.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/tenant-configs/tenant-config.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/constants/events.ts","backend/src/shared/services/partition-maintenance.service.ts","backend/src/shared/state-machines/machines/contract.machine.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/state-machines/types.ts","backend/src/shared/state-machines/utils/transitions/sales.transitions.ts","backend/src/shared/utils/biz-code.ts","frontend/src/api/adapters.ts","frontend/src/api/im-binding.ts","frontend/src/api/modules/ad-accounts.ts","frontend/src/api/modules/ad-audiences.ts","frontend/src/api/modules/ad-creatives.ts","frontend/src/api/modules/ad-placement.ts","frontend/src/api/modules/ad-reports.ts","frontend/src/api/modules/agent-group.ts","frontend/src/api/modules/ai-agent.ts","frontend/src/api/modules/alliance-analytics.ts","frontend/src/api/modules/alliance-merchants.ts","frontend/src/api/modules/alliance-products.ts","frontend/src/api/modules/alliance-promotions.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/analytics.ts","frontend/src/api/modules/approvals.ts","frontend/src/api/modules/assets.ts","frontend/src/api/modules/attribution.ts","frontend/src/api/modules/audit-logs.ts","frontend/src/api/modules/campaign-drafts.ts","frontend/src/api/modules/campaign-library.ts","frontend/src/api/modules/campaign-targets.ts","frontend/src/api/modules/campaign-tools.ts","frontend/src/api/modules/campaign-use-case-templates.ts","frontend/src/api/modules/campaign-wizard.ts","frontend/src/api/modules/campaigns.ts","frontend/src/api/modules/cohort-analysis.ts","frontend/src/api/modules/commissions.ts","frontend/src/api/modules/community-activities.ts","frontend/src/api/modules/community-analytics.ts","frontend/src/api/modules/community-bots.ts","frontend/src/api/modules/community-groups.ts","frontend/src/api/modules/community-levels.ts","frontend/src/api/modules/community-members.ts","frontend/src/api/modules/community-messages.ts","frontend/src/api/modules/community-points.ts","frontend/src/api/modules/consumer-behavior-analytics.ts","frontend/src/api/modules/content-categories.ts","frontend/src/api/modules/content-copyright.ts","frontend/src/api/modules/content-creation.ts","frontend/src/api/modules/content-distribution.ts","frontend/src/api/modules/content-library.ts","frontend/src/api/modules/content-templates.ts","frontend/src/api/modules/contract-templates.ts","frontend/src/api/modules/cpq.ts","frontend/src/api/modules/cross-domain-funnel.ts","frontend/src/api/modules/customer-analytics.ts","frontend/src/api/modules/customer-health.ts","frontend/src/api/modules/customer-journey.ts","frontend/src/api/modules/customer-ltv.ts","frontend/src/api/modules/customer-marketing.ts","frontend/src/api/modules/customer-segmentation.ts","frontend/src/api/modules/devices.ts","frontend/src/api/modules/dictionaries.ts","frontend/src/api/modules/dimension-transform.ts","frontend/src/api/modules/email-marketing.ts","frontend/src/api/modules/email-templates.ts","frontend/src/api/modules/event-logs.ts","frontend/src/api/modules/events.ts","frontend/src/api/modules/expense.ts","frontend/src/api/modules/financial-reports.ts","frontend/src/api/modules/fulfillment.ts","frontend/src/api/modules/geo-fences.ts","frontend/src/api/modules/geo-pois.ts","frontend/src/api/modules/groupbuy-analytics.ts","frontend/src/api/modules/groupbuy-campaigns.ts","frontend/src/api/modules/groupbuy-platforms.ts","frontend/src/api/modules/groupbuy-pricing.ts","frontend/src/api/modules/groupbuy-products.ts","frontend/src/api/modules/groupbuy-settlements.ts","frontend/src/api/modules/hr-benefits.ts","frontend/src/api/modules/hr-payroll.ts","frontend/src/api/modules/im-channels.ts","frontend/src/api/modules/im.ts","frontend/src/api/modules/integration-services.ts","frontend/src/api/modules/intent-analyzer.ts","frontend/src/api/modules/journey-orchestration.ts","frontend/src/api/modules/knowledge-candidates.ts","frontend/src/api/modules/knowledge-capture.ts","frontend/src/api/modules/landing-pages.ts","frontend/src/api/modules/lead-scoring-ai.ts","frontend/src/api/modules/livestream-groupbuy-conversion.ts","frontend/src/api/modules/livestream-groupbuy.ts","frontend/src/api/modules/livestream-interactions.ts","frontend/src/api/modules/livestream-rooms.ts","frontend/src/api/modules/livestream-schedules.ts","frontend/src/api/modules/livestream.ts","frontend/src/api/modules/location-assessments.ts","frontend/src/api/modules/login-logs.ts","frontend/src/api/modules/maintenance.ts","frontend/src/api/modules/marketing-automation.ts","frontend/src/api/modules/marketing-calendar.ts","frontend/src/api/modules/marketing-chatbot.ts","frontend/src/api/modules/marketing-content.ts","frontend/src/api/modules/marketing-forms.ts","frontend/src/api/modules/marketing-matrix.ts","frontend/src/api/modules/marketing-north-star.ts","frontend/src/api/modules/marketing-timeslots.ts","frontend/src/api/modules/marketing.ts","frontend/src/api/modules/omnichannel-dashboard.ts","frontend/src/api/modules/omnichannel-data-hub.ts","frontend/src/api/modules/omnichannel-touchpoints.ts","frontend/src/api/modules/operation-logs.ts","frontend/src/api/modules/opportunities.ts","frontend/src/api/modules/predictive-analytics.ts","frontend/src/api/modules/process-designer.ts","frontend/src/api/modules/process.ts","frontend/src/api/modules/products.ts","frontend/src/api/modules/realtime-trigger.ts","frontend/src/api/modules/reports.ts","frontend/src/api/modules/resource-requests.ts","frontend/src/api/modules/revenue.ts","frontend/src/api/modules/rfm-analysis.ts","frontend/src/api/modules/rma.ts","frontend/src/api/modules/satisfaction.ts","frontend/src/api/modules/scheduled-jobs.ts","frontend/src/api/modules/search.ts","frontend/src/api/modules/segments.ts","frontend/src/api/modules/service-monitor.ts","frontend/src/api/modules/sms-marketing.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/api/modules/social-auto-replies.ts","frontend/src/api/modules/social-competitors.ts","frontend/src/api/modules/social-hot-topics.ts","frontend/src/api/modules/social-interactions.ts","frontend/src/api/modules/spare-parts.ts","frontend/src/api/modules/store-performance.ts","frontend/src/api/modules/stores.ts","frontend/src/api/modules/supplier-management.ts","frontend/src/api/modules/swot-analyses.ts","frontend/src/api/modules/system-events.ts","frontend/src/api/modules/ticket-workflows.ts","frontend/src/api/modules/tickets.ts","frontend/src/api/modules/tob-toc-gateway.ts","frontend/src/api/modules/unified-campaign.ts","frontend/src/api/modules/web-tracking.ts","frontend/src/api/modules/workflow-generator.ts","frontend/src/api/response-normalizer.ts","frontend/src/components/business/ActivityTimeline.vue","frontend/src/components/business/EventStreamPanel.vue","frontend/src/components/business/IMPanel.vue","frontend/src/components/common/DataTable.vue","frontend/src/components/common/ResponsiveDataTable.vue","frontend/src/components/mobile/MobileFilter.vue","frontend/src/components/responsive/ResponsiveFilterBar.vue","frontend/src/types/ai-agent.ts","frontend/src/utils/echarts.ts","frontend/src/views/__tests__/standard-crud-smoke.helper.ts","frontend/src/views/abm-marketing/Index.vue","frontend/src/views/acquisition/Index.vue","frontend/src/views/ad-accounts/Form.vue","frontend/src/views/ad-accounts/Index.vue","frontend/src/views/ad-analytics/Index.vue","frontend/src/views/ad-campaigns/Index.vue","frontend/src/views/ad-creatives/Index.vue","frontend/src/views/ad-placement/ABTests.vue","frontend/src/views/ad-placement/AudiencePacks.vue","frontend/src/views/ad-placement/BudgetAlerts.vue","frontend/src/views/ad-placement/Creatives.vue","frontend/src/views/ad-placement/Index.vue","frontend/src/views/ad-placement/RoiAnalysis.vue","frontend/src/views/alliance-agreements/Index.vue","frontend/src/views/alliance-campaigns/Index.vue","frontend/src/views/alliance-coupons/Index.vue","frontend/src/views/alliance-packages/Index.vue","frontend/src/views/alliance-partners/Index.vue","frontend/src/views/alliance-products/Index.vue","frontend/src/views/analytics/roi/Index.vue","frontend/src/views/ap-ledger/Index.vue","frontend/src/views/approval-configs/Form.vue","frontend/src/views/approval-configs/Index.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/approval-templates/Index.vue","frontend/src/views/attribution/Index.vue","frontend/src/views/auth/Index.vue","frontend/src/views/bom/Index.vue","frontend/src/views/campaign-analytics/Index.vue","frontend/src/views/campaign-library/Index.vue","frontend/src/views/campaign-targets/Index.vue","frontend/src/views/campaign-tools/Index.vue","frontend/src/views/campaigns/Detail.vue","frontend/src/views/campaigns/Index.vue","frontend/src/views/campaigns/components/ToolConfigDialog.vue","frontend/src/views/campaigns/wizard/Step3Tools.vue","frontend/src/views/campaigns/wizard/Step4BasicInfo.vue","frontend/src/views/campaigns/wizard/Step7Review.vue","frontend/src/views/campaigns/wizard/components/ToolConfigForms.vue","frontend/src/views/channel-analytics/Index.vue","frontend/src/views/community-bots/Index.vue","frontend/src/views/community-fission/Index.vue","frontend/src/views/community-groups/Index.vue","frontend/src/views/community-materials/Index.vue","frontend/src/views/community-members/Index.vue","frontend/src/views/community-messages/Index.vue","frontend/src/views/community-points/Index.vue","frontend/src/views/community-tasks/Index.vue","frontend/src/views/consumer-behavior-analytics/Index.vue","frontend/src/views/content-creation/Index.vue","frontend/src/views/content-distribution/Index.vue","frontend/src/views/content-library/Detail.vue","frontend/src/views/content-templates/Index.vue","frontend/src/views/contract-templates/Index.vue","frontend/src/views/contracts/Form.vue","frontend/src/views/conversion-paths/Index.vue","frontend/src/views/cost-allocation/Index.vue","frontend/src/views/cpq/Index.vue","frontend/src/views/cross-domain-funnel/Index.vue","frontend/src/views/customer-health/Index.vue","frontend/src/views/customer-journey/Detail.vue","frontend/src/views/customer-marketing/Index.vue","frontend/src/views/customer-segmentation/Form.vue","frontend/src/views/departments/Detail.vue","frontend/src/views/departments/Index.vue","frontend/src/views/devices/Alerts.vue","frontend/src/views/devices/Form.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/dimension-transform/Index.vue","frontend/src/views/email-templates/Form.vue","frontend/src/views/email-templates/Index.vue","frontend/src/views/event-logs/Index.vue","frontend/src/views/expense-claims/Index.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/geo-pois/Index.vue","frontend/src/views/groupbuy-campaigns/Index.vue","frontend/src/views/groupbuy-inventory/Index.vue","frontend/src/views/groupbuy-orders/Index.vue","frontend/src/views/groupbuy-platforms/Index.vue","frontend/src/views/groupbuy-pricing/Index.vue","frontend/src/views/groupbuy-products/Index.vue","frontend/src/views/groupbuy-promotions/Index.vue","frontend/src/views/groupbuy-settlements/Index.vue","frontend/src/views/hr/attendance/components/AttendanceTab.vue","frontend/src/views/hr/attendance/components/HolidaysTab.vue","frontend/src/views/hr/attendance/components/LeavesTab.vue","frontend/src/views/hr/attendance/components/OvertimeTab.vue","frontend/src/views/hr/attendance/components/ShiftsTab.vue","frontend/src/views/hr/training/components/CertificatesTab.vue","frontend/src/views/hr/training/components/CompetencyTab.vue","frontend/src/views/hr/training/components/CoursesTab.vue","frontend/src/views/hr/training/components/ExamsTab.vue","frontend/src/views/hr/training/components/PlansTab.vue","frontend/src/views/hr/training/components/SessionsTab.vue","frontend/src/views/inventory/Counts.vue","frontend/src/views/inventory/Index.vue","frontend/src/views/inventory/Snapshots.vue","frontend/src/views/journey-orchestration/Form.vue","frontend/src/views/knowledge-feedback/Index.vue","frontend/src/views/lead-assignment/Form.vue","frontend/src/views/lead-pools/Form.vue","frontend/src/views/lead-pools/Index.vue","frontend/src/views/lead-qualification/Form.vue","frontend/src/views/lead-qualification/Index.vue","frontend/src/views/leads/Form.vue","frontend/src/views/leads/Index.vue","frontend/src/views/livestream-gifts/Index.vue","frontend/src/views/livestream-groupbuy-conversion/Index.vue","frontend/src/views/livestream-schedules/Index.vue","frontend/src/views/livestream-scripts/Index.vue","frontend/src/views/local-events/Index.vue","frontend/src/views/local-promotion/Index.vue","frontend/src/views/maintenance/Index.vue","frontend/src/views/maintenance/TaskDetail.vue","frontend/src/views/marketing-automation/Index.vue","frontend/src/views/marketing-effectiveness/Index.vue","frontend/src/views/marketing-north-star/Index.vue","frontend/src/views/marketing-tools/Detail.vue","frontend/src/views/marketing-tools/Index.vue","frontend/src/views/marketing/budget-alerts/Index.vue","frontend/src/views/mdm/Index.vue","frontend/src/views/member-benefits/Index.vue","frontend/src/views/member-levels/Index.vue","frontend/src/views/member-points/Index.vue","frontend/src/views/members/Index.vue","frontend/src/views/menus/Index.vue","frontend/src/views/notification-configs/Index.vue","frontend/src/views/notifications/Index.vue","frontend/src/views/omnichannel-dashboard/Index.vue","frontend/src/views/omnichannel-data-hub/Index.vue","frontend/src/views/opportunities/Form.vue","frontend/src/views/orders/Form.vue","frontend/src/views/orders/Index.vue","frontend/src/views/org-chart/Index.vue","frontend/src/views/partners/Detail.vue","frontend/src/views/payment-plans/Index.vue","frontend/src/views/pm/Index.vue","frontend/src/views/predictive-analytics/Form.vue","frontend/src/views/process-designer/Designer.vue","frontend/src/views/product-analytics/Index.vue","frontend/src/views/products/Index.vue","frontend/src/views/qr-codes/Index.vue","frontend/src/views/quotes/Form.vue","frontend/src/views/realtime-trigger/Form.vue","frontend/src/views/renewal-tasks/Index.vue","frontend/src/views/rfm-analysis/Detail.vue","frontend/src/views/rfm-analysis/Index.vue","frontend/src/views/roles/Index.vue","frontend/src/views/scheduled-jobs/Index.vue","frontend/src/views/segments/Index.vue","frontend/src/views/service-monitor/Index.vue","frontend/src/views/settings/Index.vue","frontend/src/views/social-accounts/Index.vue","frontend/src/views/social-auto-replies/Index.vue","frontend/src/views/social-competitors/Index.vue","frontend/src/views/social-matrix/Index.vue","frontend/src/views/social-posts/Detail.vue","frontend/src/views/social-posts/Index.vue","frontend/src/views/spare-parts/Index.vue","frontend/src/views/spare-parts/components/TransactionHistory.vue","frontend/src/views/stage-knowledge/Index.vue","frontend/src/views/store-configs/Index.vue","frontend/src/views/stores/Detail.vue","frontend/src/views/stores/Index.vue","frontend/src/views/supplier-payments/Index.vue","frontend/src/views/suppliers/Index.vue","frontend/src/views/system-events/Index.vue","frontend/src/views/system-monitor/Index.vue","frontend/src/views/system/AuditLogs.vue","frontend/src/views/tenant-configs/Index.vue","frontend/src/views/tickets/Form.vue","frontend/src/views/tickets/Index.vue","frontend/src/views/users/Index.vue","frontend/src/views/utm-tracking/Form.vue","frontend/src/views/video-publishing/Index.vue","frontend/src/views/web-tracking/Index.vue"]}],"total_commits":0,"head_commit":{"id":"dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","message":"feat: 四线并行治理 — Record清零+v-permission扩展+Redis缓存+as any清理\n\n## Line 1: Record\u003cstring,any\u003e 全前端清零 (637→0)\n- 262 个文件批量替换 Record\u003cstring, any\u003e → Record\u003cstring, unknown\u003e\n- 覆盖 API 模块层 137 文件 + 视图/stores/composables 100 文件\n\n## Line 2: v-permission 全面覆盖 (53→104 个视图文件)\n- 新增 51 个视图的 v-permission 指令\n- 覆盖: products/departments/contract-templates/spare-parts/pm/\n stage-knowledge/email-templates/approval-templates/ad-campaigns/\n groupbuy-*/community-*/alliance-*/livestream-*/social-*/content-*/\n geo-*/segments/lead-pools/bom/expense-claims/ap-ledger 等\n\n## Line 3: Redis 缓存扩展 (5→14 个缓存点, 10 个模块)\n- 新建 cache-utils.ts 统一缓存工具层 (withCache + invalidation)\n- 高优: tenant-configs(300s) + roles(1800s) + products(600s) +\n departments(600s) + sla(1800s) + contract-templates(600s)\n- 中优: price-books(600s) + notifications(300s)\n- 写后失效: 所有 create/update/delete 自动清除缓存\n\n## Line 4: as any 清理 (25处)\n- campaign-analytics.controller: 8→0 (精确查询类型)\n- social-interactions.service: 9→0 (Prisma UncheckedCreateInput)\n- store-staff.service: 6→0 (prismaModel 代理)\n- scheduled-jobs.consumer: 2→0 (直接使用已有类型)\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-24T10:14:13+08:00","added":["backend/src/shared/constants/events/common.ts","backend/src/shared/constants/events/finance.ts","backend/src/shared/constants/events/hr.ts","backend/src/shared/constants/events/im.ts","backend/src/shared/constants/events/index.ts","backend/src/shared/constants/events/knowledge.ts","backend/src/shared/constants/events/lifecycle.ts","backend/src/shared/constants/events/marketing.ts","backend/src/shared/constants/events/sales.ts","backend/src/shared/constants/events/service.ts","backend/src/shared/constants/events/store.ts","backend/src/shared/constants/events/supply_chain.ts","backend/src/shared/constants/events/system.ts","backend/src/shared/services/list-cache.service.ts","backend/src/shared/utils/cache-utils.ts"],"removed":[],"modified":["backend/src/consumers/attribution.consumer.ts","backend/src/consumers/campaign-effectiveness.consumer.ts","backend/src/consumers/marketing-workflow-executor.consumer.ts","backend/src/consumers/scheduled-jobs.consumer.ts","backend/src/modules/ai-agents/services/knowledge-vector-enhanced.service.ts","backend/src/modules/alliance-settlements/alliance-settlement.service.test.ts","backend/src/modules/campaign-analytics/campaign-analytics.controller.ts","backend/src/modules/contract-templates/contract-template.service.ts","backend/src/modules/contracts/contract.controller.ts","backend/src/modules/contracts/contract.routes.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/customers/customer.service.ts","backend/src/modules/departments/department.service.test.ts","backend/src/modules/departments/department.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/leads/lead-sla.service.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-interactions/livestream-realtime.service.ts","backend/src/modules/marketing-automation/workflow-trigger.service.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.controller.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.routes.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.service.ts","backend/src/modules/notifications/notification.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/payments/payment.service.test.ts","backend/src/modules/price-books/price-book.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/roles/role.service.ts","backend/src/modules/segments/segment.service.ts","backend/src/modules/sla/sla.service.ts","backend/src/modules/social-interactions/social-interactions.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/tenant-configs/tenant-config.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/constants/events.ts","backend/src/shared/services/partition-maintenance.service.ts","backend/src/shared/state-machines/machines/contract.machine.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/state-machines/types.ts","backend/src/shared/state-machines/utils/transitions/sales.transitions.ts","backend/src/shared/utils/biz-code.ts","frontend/src/api/adapters.ts","frontend/src/api/im-binding.ts","frontend/src/api/modules/ad-accounts.ts","frontend/src/api/modules/ad-audiences.ts","frontend/src/api/modules/ad-creatives.ts","frontend/src/api/modules/ad-placement.ts","frontend/src/api/modules/ad-reports.ts","frontend/src/api/modules/agent-group.ts","frontend/src/api/modules/ai-agent.ts","frontend/src/api/modules/alliance-analytics.ts","frontend/src/api/modules/alliance-merchants.ts","frontend/src/api/modules/alliance-products.ts","frontend/src/api/modules/alliance-promotions.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/analytics.ts","frontend/src/api/modules/approvals.ts","frontend/src/api/modules/assets.ts","frontend/src/api/modules/attribution.ts","frontend/src/api/modules/audit-logs.ts","frontend/src/api/modules/campaign-drafts.ts","frontend/src/api/modules/campaign-library.ts","frontend/src/api/modules/campaign-targets.ts","frontend/src/api/modules/campaign-tools.ts","frontend/src/api/modules/campaign-use-case-templates.ts","frontend/src/api/modules/campaign-wizard.ts","frontend/src/api/modules/campaigns.ts","frontend/src/api/modules/cohort-analysis.ts","frontend/src/api/modules/commissions.ts","frontend/src/api/modules/community-activities.ts","frontend/src/api/modules/community-analytics.ts","frontend/src/api/modules/community-bots.ts","frontend/src/api/modules/community-groups.ts","frontend/src/api/modules/community-levels.ts","frontend/src/api/modules/community-members.ts","frontend/src/api/modules/community-messages.ts","frontend/src/api/modules/community-points.ts","frontend/src/api/modules/consumer-behavior-analytics.ts","frontend/src/api/modules/content-categories.ts","frontend/src/api/modules/content-copyright.ts","frontend/src/api/modules/content-creation.ts","frontend/src/api/modules/content-distribution.ts","frontend/src/api/modules/content-library.ts","frontend/src/api/modules/content-templates.ts","frontend/src/api/modules/contract-templates.ts","frontend/src/api/modules/cpq.ts","frontend/src/api/modules/cross-domain-funnel.ts","frontend/src/api/modules/customer-analytics.ts","frontend/src/api/modules/customer-health.ts","frontend/src/api/modules/customer-journey.ts","frontend/src/api/modules/customer-ltv.ts","frontend/src/api/modules/customer-marketing.ts","frontend/src/api/modules/customer-segmentation.ts","frontend/src/api/modules/devices.ts","frontend/src/api/modules/dictionaries.ts","frontend/src/api/modules/dimension-transform.ts","frontend/src/api/modules/email-marketing.ts","frontend/src/api/modules/email-templates.ts","frontend/src/api/modules/event-logs.ts","frontend/src/api/modules/events.ts","frontend/src/api/modules/expense.ts","frontend/src/api/modules/financial-reports.ts","frontend/src/api/modules/fulfillment.ts","frontend/src/api/modules/geo-fences.ts","frontend/src/api/modules/geo-pois.ts","frontend/src/api/modules/groupbuy-analytics.ts","frontend/src/api/modules/groupbuy-campaigns.ts","frontend/src/api/modules/groupbuy-platforms.ts","frontend/src/api/modules/groupbuy-pricing.ts","frontend/src/api/modules/groupbuy-products.ts","frontend/src/api/modules/groupbuy-settlements.ts","frontend/src/api/modules/hr-benefits.ts","frontend/src/api/modules/hr-payroll.ts","frontend/src/api/modules/im-channels.ts","frontend/src/api/modules/im.ts","frontend/src/api/modules/integration-services.ts","frontend/src/api/modules/intent-analyzer.ts","frontend/src/api/modules/journey-orchestration.ts","frontend/src/api/modules/knowledge-candidates.ts","frontend/src/api/modules/knowledge-capture.ts","frontend/src/api/modules/landing-pages.ts","frontend/src/api/modules/lead-scoring-ai.ts","frontend/src/api/modules/livestream-groupbuy-conversion.ts","frontend/src/api/modules/livestream-groupbuy.ts","frontend/src/api/modules/livestream-interactions.ts","frontend/src/api/modules/livestream-rooms.ts","frontend/src/api/modules/livestream-schedules.ts","frontend/src/api/modules/livestream.ts","frontend/src/api/modules/location-assessments.ts","frontend/src/api/modules/login-logs.ts","frontend/src/api/modules/maintenance.ts","frontend/src/api/modules/marketing-automation.ts","frontend/src/api/modules/marketing-calendar.ts","frontend/src/api/modules/marketing-chatbot.ts","frontend/src/api/modules/marketing-content.ts","frontend/src/api/modules/marketing-forms.ts","frontend/src/api/modules/marketing-matrix.ts","frontend/src/api/modules/marketing-north-star.ts","frontend/src/api/modules/marketing-timeslots.ts","frontend/src/api/modules/marketing.ts","frontend/src/api/modules/omnichannel-dashboard.ts","frontend/src/api/modules/omnichannel-data-hub.ts","frontend/src/api/modules/omnichannel-touchpoints.ts","frontend/src/api/modules/operation-logs.ts","frontend/src/api/modules/opportunities.ts","frontend/src/api/modules/predictive-analytics.ts","frontend/src/api/modules/process-designer.ts","frontend/src/api/modules/process.ts","frontend/src/api/modules/products.ts","frontend/src/api/modules/realtime-trigger.ts","frontend/src/api/modules/reports.ts","frontend/src/api/modules/resource-requests.ts","frontend/src/api/modules/revenue.ts","frontend/src/api/modules/rfm-analysis.ts","frontend/src/api/modules/rma.ts","frontend/src/api/modules/satisfaction.ts","frontend/src/api/modules/scheduled-jobs.ts","frontend/src/api/modules/search.ts","frontend/src/api/modules/segments.ts","frontend/src/api/modules/service-monitor.ts","frontend/src/api/modules/sms-marketing.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/api/modules/social-auto-replies.ts","frontend/src/api/modules/social-competitors.ts","frontend/src/api/modules/social-hot-topics.ts","frontend/src/api/modules/social-interactions.ts","frontend/src/api/modules/spare-parts.ts","frontend/src/api/modules/store-performance.ts","frontend/src/api/modules/stores.ts","frontend/src/api/modules/supplier-management.ts","frontend/src/api/modules/swot-analyses.ts","frontend/src/api/modules/system-events.ts","frontend/src/api/modules/ticket-workflows.ts","frontend/src/api/modules/tickets.ts","frontend/src/api/modules/tob-toc-gateway.ts","frontend/src/api/modules/unified-campaign.ts","frontend/src/api/modules/web-tracking.ts","frontend/src/api/modules/workflow-generator.ts","frontend/src/api/response-normalizer.ts","frontend/src/components/business/ActivityTimeline.vue","frontend/src/components/business/EventStreamPanel.vue","frontend/src/components/business/IMPanel.vue","frontend/src/components/common/DataTable.vue","frontend/src/components/common/ResponsiveDataTable.vue","frontend/src/components/mobile/MobileFilter.vue","frontend/src/components/responsive/ResponsiveFilterBar.vue","frontend/src/types/ai-agent.ts","frontend/src/utils/echarts.ts","frontend/src/views/__tests__/standard-crud-smoke.helper.ts","frontend/src/views/abm-marketing/Index.vue","frontend/src/views/acquisition/Index.vue","frontend/src/views/ad-accounts/Form.vue","frontend/src/views/ad-accounts/Index.vue","frontend/src/views/ad-analytics/Index.vue","frontend/src/views/ad-campaigns/Index.vue","frontend/src/views/ad-creatives/Index.vue","frontend/src/views/ad-placement/ABTests.vue","frontend/src/views/ad-placement/AudiencePacks.vue","frontend/src/views/ad-placement/BudgetAlerts.vue","frontend/src/views/ad-placement/Creatives.vue","frontend/src/views/ad-placement/Index.vue","frontend/src/views/ad-placement/RoiAnalysis.vue","frontend/src/views/alliance-agreements/Index.vue","frontend/src/views/alliance-campaigns/Index.vue","frontend/src/views/alliance-coupons/Index.vue","frontend/src/views/alliance-packages/Index.vue","frontend/src/views/alliance-partners/Index.vue","frontend/src/views/alliance-products/Index.vue","frontend/src/views/analytics/roi/Index.vue","frontend/src/views/ap-ledger/Index.vue","frontend/src/views/approval-configs/Form.vue","frontend/src/views/approval-configs/Index.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/approval-templates/Index.vue","frontend/src/views/attribution/Index.vue","frontend/src/views/auth/Index.vue","frontend/src/views/bom/Index.vue","frontend/src/views/campaign-analytics/Index.vue","frontend/src/views/campaign-library/Index.vue","frontend/src/views/campaign-targets/Index.vue","frontend/src/views/campaign-tools/Index.vue","frontend/src/views/campaigns/Detail.vue","frontend/src/views/campaigns/Index.vue","frontend/src/views/campaigns/components/ToolConfigDialog.vue","frontend/src/views/campaigns/wizard/Step3Tools.vue","frontend/src/views/campaigns/wizard/Step4BasicInfo.vue","frontend/src/views/campaigns/wizard/Step7Review.vue","frontend/src/views/campaigns/wizard/components/ToolConfigForms.vue","frontend/src/views/channel-analytics/Index.vue","frontend/src/views/community-bots/Index.vue","frontend/src/views/community-fission/Index.vue","frontend/src/views/community-groups/Index.vue","frontend/src/views/community-materials/Index.vue","frontend/src/views/community-members/Index.vue","frontend/src/views/community-messages/Index.vue","frontend/src/views/community-points/Index.vue","frontend/src/views/community-tasks/Index.vue","frontend/src/views/consumer-behavior-analytics/Index.vue","frontend/src/views/content-creation/Index.vue","frontend/src/views/content-distribution/Index.vue","frontend/src/views/content-library/Detail.vue","frontend/src/views/content-templates/Index.vue","frontend/src/views/contract-templates/Index.vue","frontend/src/views/contracts/Form.vue","frontend/src/views/conversion-paths/Index.vue","frontend/src/views/cost-allocation/Index.vue","frontend/src/views/cpq/Index.vue","frontend/src/views/cross-domain-funnel/Index.vue","frontend/src/views/customer-health/Index.vue","frontend/src/views/customer-journey/Detail.vue","frontend/src/views/customer-marketing/Index.vue","frontend/src/views/customer-segmentation/Form.vue","frontend/src/views/departments/Detail.vue","frontend/src/views/departments/Index.vue","frontend/src/views/devices/Alerts.vue","frontend/src/views/devices/Form.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/dimension-transform/Index.vue","frontend/src/views/email-templates/Form.vue","frontend/src/views/email-templates/Index.vue","frontend/src/views/event-logs/Index.vue","frontend/src/views/expense-claims/Index.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/geo-pois/Index.vue","frontend/src/views/groupbuy-campaigns/Index.vue","frontend/src/views/groupbuy-inventory/Index.vue","frontend/src/views/groupbuy-orders/Index.vue","frontend/src/views/groupbuy-platforms/Index.vue","frontend/src/views/groupbuy-pricing/Index.vue","frontend/src/views/groupbuy-products/Index.vue","frontend/src/views/groupbuy-promotions/Index.vue","frontend/src/views/groupbuy-settlements/Index.vue","frontend/src/views/hr/attendance/components/AttendanceTab.vue","frontend/src/views/hr/attendance/components/HolidaysTab.vue","frontend/src/views/hr/attendance/components/LeavesTab.vue","frontend/src/views/hr/attendance/components/OvertimeTab.vue","frontend/src/views/hr/attendance/components/ShiftsTab.vue","frontend/src/views/hr/training/components/CertificatesTab.vue","frontend/src/views/hr/training/components/CompetencyTab.vue","frontend/src/views/hr/training/components/CoursesTab.vue","frontend/src/views/hr/training/components/ExamsTab.vue","frontend/src/views/hr/training/components/PlansTab.vue","frontend/src/views/hr/training/components/SessionsTab.vue","frontend/src/views/inventory/Counts.vue","frontend/src/views/inventory/Index.vue","frontend/src/views/inventory/Snapshots.vue","frontend/src/views/journey-orchestration/Form.vue","frontend/src/views/knowledge-feedback/Index.vue","frontend/src/views/lead-assignment/Form.vue","frontend/src/views/lead-pools/Form.vue","frontend/src/views/lead-pools/Index.vue","frontend/src/views/lead-qualification/Form.vue","frontend/src/views/lead-qualification/Index.vue","frontend/src/views/leads/Form.vue","frontend/src/views/leads/Index.vue","frontend/src/views/livestream-gifts/Index.vue","frontend/src/views/livestream-groupbuy-conversion/Index.vue","frontend/src/views/livestream-schedules/Index.vue","frontend/src/views/livestream-scripts/Index.vue","frontend/src/views/local-events/Index.vue","frontend/src/views/local-promotion/Index.vue","frontend/src/views/maintenance/Index.vue","frontend/src/views/maintenance/TaskDetail.vue","frontend/src/views/marketing-automation/Index.vue","frontend/src/views/marketing-effectiveness/Index.vue","frontend/src/views/marketing-north-star/Index.vue","frontend/src/views/marketing-tools/Detail.vue","frontend/src/views/marketing-tools/Index.vue","frontend/src/views/marketing/budget-alerts/Index.vue","frontend/src/views/mdm/Index.vue","frontend/src/views/member-benefits/Index.vue","frontend/src/views/member-levels/Index.vue","frontend/src/views/member-points/Index.vue","frontend/src/views/members/Index.vue","frontend/src/views/menus/Index.vue","frontend/src/views/notification-configs/Index.vue","frontend/src/views/notifications/Index.vue","frontend/src/views/omnichannel-dashboard/Index.vue","frontend/src/views/omnichannel-data-hub/Index.vue","frontend/src/views/opportunities/Form.vue","frontend/src/views/orders/Form.vue","frontend/src/views/orders/Index.vue","frontend/src/views/org-chart/Index.vue","frontend/src/views/partners/Detail.vue","frontend/src/views/payment-plans/Index.vue","frontend/src/views/pm/Index.vue","frontend/src/views/predictive-analytics/Form.vue","frontend/src/views/process-designer/Designer.vue","frontend/src/views/product-analytics/Index.vue","frontend/src/views/products/Index.vue","frontend/src/views/qr-codes/Index.vue","frontend/src/views/quotes/Form.vue","frontend/src/views/realtime-trigger/Form.vue","frontend/src/views/renewal-tasks/Index.vue","frontend/src/views/rfm-analysis/Detail.vue","frontend/src/views/rfm-analysis/Index.vue","frontend/src/views/roles/Index.vue","frontend/src/views/scheduled-jobs/Index.vue","frontend/src/views/segments/Index.vue","frontend/src/views/service-monitor/Index.vue","frontend/src/views/settings/Index.vue","frontend/src/views/social-accounts/Index.vue","frontend/src/views/social-auto-replies/Index.vue","frontend/src/views/social-competitors/Index.vue","frontend/src/views/social-matrix/Index.vue","frontend/src/views/social-posts/Detail.vue","frontend/src/views/social-posts/Index.vue","frontend/src/views/spare-parts/Index.vue","frontend/src/views/spare-parts/components/TransactionHistory.vue","frontend/src/views/stage-knowledge/Index.vue","frontend/src/views/store-configs/Index.vue","frontend/src/views/stores/Detail.vue","frontend/src/views/stores/Index.vue","frontend/src/views/supplier-payments/Index.vue","frontend/src/views/suppliers/Index.vue","frontend/src/views/system-events/Index.vue","frontend/src/views/system-monitor/Index.vue","frontend/src/views/system/AuditLogs.vue","frontend/src/views/tenant-configs/Index.vue","frontend/src/views/tickets/Form.vue","frontend/src/views/tickets/Index.vue","frontend/src/views/users/Index.vue","frontend/src/views/utm-tracking/Form.vue","frontend/src/views/video-publishing/Index.vue","frontend/src/views/web-tracking/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":1956552,"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":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-24T09:45:16+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
|
1774319741
|
1774319742
|
0
|
1774319740
|
1774319742
|
|
|
0
|
Edit
Delete
|
|
7661
|
feat: 四线并行治理 — Record清零+v-permission扩展+Redis缓存+as feat: 四线并行治理 — Record清零+v-permission扩展+Redis缓存+as any清理...
|
6
|
5
|
health-check.yml
|
7586
|
-2
|
130
|
refs/heads/main
|
dbf34b08bbb60650d15b0c55262dbfe8d0a3a655
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"8c39619c9cdb0d888d10942bf50533c8238021df","after":"dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/8c39619c9cdb0d888d10942bf50533c8238021df...dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","commits":[{"id":"dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","message":"feat: 四线并行治理 — Record清零+v-permission扩展+Redis缓存+as any清理\n\n## Line 1: Record\u003cstring,any\u003e 全前端清零 (637→0)\n- 262 个文件批量替换 Record\u003cstring, any\u003e → Record\u003cstring, unknown\u003e\n- 覆盖 API 模块层 137 文件 + 视图/stores/composables 100 文件\n\n## Line 2: v-permission 全面覆盖 (53→104 个视图文件)\n- 新增 51 个视图的 v-permission 指令\n- 覆盖: products/departments/contract-templates/spare-parts/pm/\n stage-knowledge/email-templates/approval-templates/ad-campaigns/\n groupbuy-*/community-*/alliance-*/livestream-*/social-*/content-*/\n geo-*/segments/lead-pools/bom/expense-claims/ap-ledger 等\n\n## Line 3: Redis 缓存扩展 (5→14 个缓存点, 10 个模块)\n- 新建 cache-utils.ts 统一缓存工具层 (withCache + invalidation)\n- 高优: tenant-configs(300s) + roles(1800s) + products(600s) +\n departments(600s) + sla(1800s) + contract-templates(600s)\n- 中优: price-books(600s) + notifications(300s)\n- 写后失效: 所有 create/update/delete 自动清除缓存\n\n## Line 4: as any 清理 (25处)\n- campaign-analytics.controller: 8→0 (精确查询类型)\n- social-interactions.service: 9→0 (Prisma UncheckedCreateInput)\n- store-staff.service: 6→0 (prismaModel 代理)\n- scheduled-jobs.consumer: 2→0 (直接使用已有类型)\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-24T10:14:13+08:00","added":["backend/src/shared/constants/events/common.ts","backend/src/shared/constants/events/finance.ts","backend/src/shared/constants/events/hr.ts","backend/src/shared/constants/events/im.ts","backend/src/shared/constants/events/index.ts","backend/src/shared/constants/events/knowledge.ts","backend/src/shared/constants/events/lifecycle.ts","backend/src/shared/constants/events/marketing.ts","backend/src/shared/constants/events/sales.ts","backend/src/shared/constants/events/service.ts","backend/src/shared/constants/events/store.ts","backend/src/shared/constants/events/supply_chain.ts","backend/src/shared/constants/events/system.ts","backend/src/shared/services/list-cache.service.ts","backend/src/shared/utils/cache-utils.ts"],"removed":[],"modified":["backend/src/consumers/attribution.consumer.ts","backend/src/consumers/campaign-effectiveness.consumer.ts","backend/src/consumers/marketing-workflow-executor.consumer.ts","backend/src/consumers/scheduled-jobs.consumer.ts","backend/src/modules/ai-agents/services/knowledge-vector-enhanced.service.ts","backend/src/modules/alliance-settlements/alliance-settlement.service.test.ts","backend/src/modules/campaign-analytics/campaign-analytics.controller.ts","backend/src/modules/contract-templates/contract-template.service.ts","backend/src/modules/contracts/contract.controller.ts","backend/src/modules/contracts/contract.routes.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/customers/customer.service.ts","backend/src/modules/departments/department.service.test.ts","backend/src/modules/departments/department.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/leads/lead-sla.service.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-interactions/livestream-realtime.service.ts","backend/src/modules/marketing-automation/workflow-trigger.service.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.controller.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.routes.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.service.ts","backend/src/modules/notifications/notification.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/payments/payment.service.test.ts","backend/src/modules/price-books/price-book.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/roles/role.service.ts","backend/src/modules/segments/segment.service.ts","backend/src/modules/sla/sla.service.ts","backend/src/modules/social-interactions/social-interactions.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/tenant-configs/tenant-config.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/constants/events.ts","backend/src/shared/services/partition-maintenance.service.ts","backend/src/shared/state-machines/machines/contract.machine.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/state-machines/types.ts","backend/src/shared/state-machines/utils/transitions/sales.transitions.ts","backend/src/shared/utils/biz-code.ts","frontend/src/api/adapters.ts","frontend/src/api/im-binding.ts","frontend/src/api/modules/ad-accounts.ts","frontend/src/api/modules/ad-audiences.ts","frontend/src/api/modules/ad-creatives.ts","frontend/src/api/modules/ad-placement.ts","frontend/src/api/modules/ad-reports.ts","frontend/src/api/modules/agent-group.ts","frontend/src/api/modules/ai-agent.ts","frontend/src/api/modules/alliance-analytics.ts","frontend/src/api/modules/alliance-merchants.ts","frontend/src/api/modules/alliance-products.ts","frontend/src/api/modules/alliance-promotions.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/analytics.ts","frontend/src/api/modules/approvals.ts","frontend/src/api/modules/assets.ts","frontend/src/api/modules/attribution.ts","frontend/src/api/modules/audit-logs.ts","frontend/src/api/modules/campaign-drafts.ts","frontend/src/api/modules/campaign-library.ts","frontend/src/api/modules/campaign-targets.ts","frontend/src/api/modules/campaign-tools.ts","frontend/src/api/modules/campaign-use-case-templates.ts","frontend/src/api/modules/campaign-wizard.ts","frontend/src/api/modules/campaigns.ts","frontend/src/api/modules/cohort-analysis.ts","frontend/src/api/modules/commissions.ts","frontend/src/api/modules/community-activities.ts","frontend/src/api/modules/community-analytics.ts","frontend/src/api/modules/community-bots.ts","frontend/src/api/modules/community-groups.ts","frontend/src/api/modules/community-levels.ts","frontend/src/api/modules/community-members.ts","frontend/src/api/modules/community-messages.ts","frontend/src/api/modules/community-points.ts","frontend/src/api/modules/consumer-behavior-analytics.ts","frontend/src/api/modules/content-categories.ts","frontend/src/api/modules/content-copyright.ts","frontend/src/api/modules/content-creation.ts","frontend/src/api/modules/content-distribution.ts","frontend/src/api/modules/content-library.ts","frontend/src/api/modules/content-templates.ts","frontend/src/api/modules/contract-templates.ts","frontend/src/api/modules/cpq.ts","frontend/src/api/modules/cross-domain-funnel.ts","frontend/src/api/modules/customer-analytics.ts","frontend/src/api/modules/customer-health.ts","frontend/src/api/modules/customer-journey.ts","frontend/src/api/modules/customer-ltv.ts","frontend/src/api/modules/customer-marketing.ts","frontend/src/api/modules/customer-segmentation.ts","frontend/src/api/modules/devices.ts","frontend/src/api/modules/dictionaries.ts","frontend/src/api/modules/dimension-transform.ts","frontend/src/api/modules/email-marketing.ts","frontend/src/api/modules/email-templates.ts","frontend/src/api/modules/event-logs.ts","frontend/src/api/modules/events.ts","frontend/src/api/modules/expense.ts","frontend/src/api/modules/financial-reports.ts","frontend/src/api/modules/fulfillment.ts","frontend/src/api/modules/geo-fences.ts","frontend/src/api/modules/geo-pois.ts","frontend/src/api/modules/groupbuy-analytics.ts","frontend/src/api/modules/groupbuy-campaigns.ts","frontend/src/api/modules/groupbuy-platforms.ts","frontend/src/api/modules/groupbuy-pricing.ts","frontend/src/api/modules/groupbuy-products.ts","frontend/src/api/modules/groupbuy-settlements.ts","frontend/src/api/modules/hr-benefits.ts","frontend/src/api/modules/hr-payroll.ts","frontend/src/api/modules/im-channels.ts","frontend/src/api/modules/im.ts","frontend/src/api/modules/integration-services.ts","frontend/src/api/modules/intent-analyzer.ts","frontend/src/api/modules/journey-orchestration.ts","frontend/src/api/modules/knowledge-candidates.ts","frontend/src/api/modules/knowledge-capture.ts","frontend/src/api/modules/landing-pages.ts","frontend/src/api/modules/lead-scoring-ai.ts","frontend/src/api/modules/livestream-groupbuy-conversion.ts","frontend/src/api/modules/livestream-groupbuy.ts","frontend/src/api/modules/livestream-interactions.ts","frontend/src/api/modules/livestream-rooms.ts","frontend/src/api/modules/livestream-schedules.ts","frontend/src/api/modules/livestream.ts","frontend/src/api/modules/location-assessments.ts","frontend/src/api/modules/login-logs.ts","frontend/src/api/modules/maintenance.ts","frontend/src/api/modules/marketing-automation.ts","frontend/src/api/modules/marketing-calendar.ts","frontend/src/api/modules/marketing-chatbot.ts","frontend/src/api/modules/marketing-content.ts","frontend/src/api/modules/marketing-forms.ts","frontend/src/api/modules/marketing-matrix.ts","frontend/src/api/modules/marketing-north-star.ts","frontend/src/api/modules/marketing-timeslots.ts","frontend/src/api/modules/marketing.ts","frontend/src/api/modules/omnichannel-dashboard.ts","frontend/src/api/modules/omnichannel-data-hub.ts","frontend/src/api/modules/omnichannel-touchpoints.ts","frontend/src/api/modules/operation-logs.ts","frontend/src/api/modules/opportunities.ts","frontend/src/api/modules/predictive-analytics.ts","frontend/src/api/modules/process-designer.ts","frontend/src/api/modules/process.ts","frontend/src/api/modules/products.ts","frontend/src/api/modules/realtime-trigger.ts","frontend/src/api/modules/reports.ts","frontend/src/api/modules/resource-requests.ts","frontend/src/api/modules/revenue.ts","frontend/src/api/modules/rfm-analysis.ts","frontend/src/api/modules/rma.ts","frontend/src/api/modules/satisfaction.ts","frontend/src/api/modules/scheduled-jobs.ts","frontend/src/api/modules/search.ts","frontend/src/api/modules/segments.ts","frontend/src/api/modules/service-monitor.ts","frontend/src/api/modules/sms-marketing.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/api/modules/social-auto-replies.ts","frontend/src/api/modules/social-competitors.ts","frontend/src/api/modules/social-hot-topics.ts","frontend/src/api/modules/social-interactions.ts","frontend/src/api/modules/spare-parts.ts","frontend/src/api/modules/store-performance.ts","frontend/src/api/modules/stores.ts","frontend/src/api/modules/supplier-management.ts","frontend/src/api/modules/swot-analyses.ts","frontend/src/api/modules/system-events.ts","frontend/src/api/modules/ticket-workflows.ts","frontend/src/api/modules/tickets.ts","frontend/src/api/modules/tob-toc-gateway.ts","frontend/src/api/modules/unified-campaign.ts","frontend/src/api/modules/web-tracking.ts","frontend/src/api/modules/workflow-generator.ts","frontend/src/api/response-normalizer.ts","frontend/src/components/business/ActivityTimeline.vue","frontend/src/components/business/EventStreamPanel.vue","frontend/src/components/business/IMPanel.vue","frontend/src/components/common/DataTable.vue","frontend/src/components/common/ResponsiveDataTable.vue","frontend/src/components/mobile/MobileFilter.vue","frontend/src/components/responsive/ResponsiveFilterBar.vue","frontend/src/types/ai-agent.ts","frontend/src/utils/echarts.ts","frontend/src/views/__tests__/standard-crud-smoke.helper.ts","frontend/src/views/abm-marketing/Index.vue","frontend/src/views/acquisition/Index.vue","frontend/src/views/ad-accounts/Form.vue","frontend/src/views/ad-accounts/Index.vue","frontend/src/views/ad-analytics/Index.vue","frontend/src/views/ad-campaigns/Index.vue","frontend/src/views/ad-creatives/Index.vue","frontend/src/views/ad-placement/ABTests.vue","frontend/src/views/ad-placement/AudiencePacks.vue","frontend/src/views/ad-placement/BudgetAlerts.vue","frontend/src/views/ad-placement/Creatives.vue","frontend/src/views/ad-placement/Index.vue","frontend/src/views/ad-placement/RoiAnalysis.vue","frontend/src/views/alliance-agreements/Index.vue","frontend/src/views/alliance-campaigns/Index.vue","frontend/src/views/alliance-coupons/Index.vue","frontend/src/views/alliance-packages/Index.vue","frontend/src/views/alliance-partners/Index.vue","frontend/src/views/alliance-products/Index.vue","frontend/src/views/analytics/roi/Index.vue","frontend/src/views/ap-ledger/Index.vue","frontend/src/views/approval-configs/Form.vue","frontend/src/views/approval-configs/Index.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/approval-templates/Index.vue","frontend/src/views/attribution/Index.vue","frontend/src/views/auth/Index.vue","frontend/src/views/bom/Index.vue","frontend/src/views/campaign-analytics/Index.vue","frontend/src/views/campaign-library/Index.vue","frontend/src/views/campaign-targets/Index.vue","frontend/src/views/campaign-tools/Index.vue","frontend/src/views/campaigns/Detail.vue","frontend/src/views/campaigns/Index.vue","frontend/src/views/campaigns/components/ToolConfigDialog.vue","frontend/src/views/campaigns/wizard/Step3Tools.vue","frontend/src/views/campaigns/wizard/Step4BasicInfo.vue","frontend/src/views/campaigns/wizard/Step7Review.vue","frontend/src/views/campaigns/wizard/components/ToolConfigForms.vue","frontend/src/views/channel-analytics/Index.vue","frontend/src/views/community-bots/Index.vue","frontend/src/views/community-fission/Index.vue","frontend/src/views/community-groups/Index.vue","frontend/src/views/community-materials/Index.vue","frontend/src/views/community-members/Index.vue","frontend/src/views/community-messages/Index.vue","frontend/src/views/community-points/Index.vue","frontend/src/views/community-tasks/Index.vue","frontend/src/views/consumer-behavior-analytics/Index.vue","frontend/src/views/content-creation/Index.vue","frontend/src/views/content-distribution/Index.vue","frontend/src/views/content-library/Detail.vue","frontend/src/views/content-templates/Index.vue","frontend/src/views/contract-templates/Index.vue","frontend/src/views/contracts/Form.vue","frontend/src/views/conversion-paths/Index.vue","frontend/src/views/cost-allocation/Index.vue","frontend/src/views/cpq/Index.vue","frontend/src/views/cross-domain-funnel/Index.vue","frontend/src/views/customer-health/Index.vue","frontend/src/views/customer-journey/Detail.vue","frontend/src/views/customer-marketing/Index.vue","frontend/src/views/customer-segmentation/Form.vue","frontend/src/views/departments/Detail.vue","frontend/src/views/departments/Index.vue","frontend/src/views/devices/Alerts.vue","frontend/src/views/devices/Form.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/dimension-transform/Index.vue","frontend/src/views/email-templates/Form.vue","frontend/src/views/email-templates/Index.vue","frontend/src/views/event-logs/Index.vue","frontend/src/views/expense-claims/Index.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/geo-pois/Index.vue","frontend/src/views/groupbuy-campaigns/Index.vue","frontend/src/views/groupbuy-inventory/Index.vue","frontend/src/views/groupbuy-orders/Index.vue","frontend/src/views/groupbuy-platforms/Index.vue","frontend/src/views/groupbuy-pricing/Index.vue","frontend/src/views/groupbuy-products/Index.vue","frontend/src/views/groupbuy-promotions/Index.vue","frontend/src/views/groupbuy-settlements/Index.vue","frontend/src/views/hr/attendance/components/AttendanceTab.vue","frontend/src/views/hr/attendance/components/HolidaysTab.vue","frontend/src/views/hr/attendance/components/LeavesTab.vue","frontend/src/views/hr/attendance/components/OvertimeTab.vue","frontend/src/views/hr/attendance/components/ShiftsTab.vue","frontend/src/views/hr/training/components/CertificatesTab.vue","frontend/src/views/hr/training/components/CompetencyTab.vue","frontend/src/views/hr/training/components/CoursesTab.vue","frontend/src/views/hr/training/components/ExamsTab.vue","frontend/src/views/hr/training/components/PlansTab.vue","frontend/src/views/hr/training/components/SessionsTab.vue","frontend/src/views/inventory/Counts.vue","frontend/src/views/inventory/Index.vue","frontend/src/views/inventory/Snapshots.vue","frontend/src/views/journey-orchestration/Form.vue","frontend/src/views/knowledge-feedback/Index.vue","frontend/src/views/lead-assignment/Form.vue","frontend/src/views/lead-pools/Form.vue","frontend/src/views/lead-pools/Index.vue","frontend/src/views/lead-qualification/Form.vue","frontend/src/views/lead-qualification/Index.vue","frontend/src/views/leads/Form.vue","frontend/src/views/leads/Index.vue","frontend/src/views/livestream-gifts/Index.vue","frontend/src/views/livestream-groupbuy-conversion/Index.vue","frontend/src/views/livestream-schedules/Index.vue","frontend/src/views/livestream-scripts/Index.vue","frontend/src/views/local-events/Index.vue","frontend/src/views/local-promotion/Index.vue","frontend/src/views/maintenance/Index.vue","frontend/src/views/maintenance/TaskDetail.vue","frontend/src/views/marketing-automation/Index.vue","frontend/src/views/marketing-effectiveness/Index.vue","frontend/src/views/marketing-north-star/Index.vue","frontend/src/views/marketing-tools/Detail.vue","frontend/src/views/marketing-tools/Index.vue","frontend/src/views/marketing/budget-alerts/Index.vue","frontend/src/views/mdm/Index.vue","frontend/src/views/member-benefits/Index.vue","frontend/src/views/member-levels/Index.vue","frontend/src/views/member-points/Index.vue","frontend/src/views/members/Index.vue","frontend/src/views/menus/Index.vue","frontend/src/views/notification-configs/Index.vue","frontend/src/views/notifications/Index.vue","frontend/src/views/omnichannel-dashboard/Index.vue","frontend/src/views/omnichannel-data-hub/Index.vue","frontend/src/views/opportunities/Form.vue","frontend/src/views/orders/Form.vue","frontend/src/views/orders/Index.vue","frontend/src/views/org-chart/Index.vue","frontend/src/views/partners/Detail.vue","frontend/src/views/payment-plans/Index.vue","frontend/src/views/pm/Index.vue","frontend/src/views/predictive-analytics/Form.vue","frontend/src/views/process-designer/Designer.vue","frontend/src/views/product-analytics/Index.vue","frontend/src/views/products/Index.vue","frontend/src/views/qr-codes/Index.vue","frontend/src/views/quotes/Form.vue","frontend/src/views/realtime-trigger/Form.vue","frontend/src/views/renewal-tasks/Index.vue","frontend/src/views/rfm-analysis/Detail.vue","frontend/src/views/rfm-analysis/Index.vue","frontend/src/views/roles/Index.vue","frontend/src/views/scheduled-jobs/Index.vue","frontend/src/views/segments/Index.vue","frontend/src/views/service-monitor/Index.vue","frontend/src/views/settings/Index.vue","frontend/src/views/social-accounts/Index.vue","frontend/src/views/social-auto-replies/Index.vue","frontend/src/views/social-competitors/Index.vue","frontend/src/views/social-matrix/Index.vue","frontend/src/views/social-posts/Detail.vue","frontend/src/views/social-posts/Index.vue","frontend/src/views/spare-parts/Index.vue","frontend/src/views/spare-parts/components/TransactionHistory.vue","frontend/src/views/stage-knowledge/Index.vue","frontend/src/views/store-configs/Index.vue","frontend/src/views/stores/Detail.vue","frontend/src/views/stores/Index.vue","frontend/src/views/supplier-payments/Index.vue","frontend/src/views/suppliers/Index.vue","frontend/src/views/system-events/Index.vue","frontend/src/views/system-monitor/Index.vue","frontend/src/views/system/AuditLogs.vue","frontend/src/views/tenant-configs/Index.vue","frontend/src/views/tickets/Form.vue","frontend/src/views/tickets/Index.vue","frontend/src/views/users/Index.vue","frontend/src/views/utm-tracking/Form.vue","frontend/src/views/video-publishing/Index.vue","frontend/src/views/web-tracking/Index.vue"]}],"total_commits":0,"head_commit":{"id":"dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","message":"feat: 四线并行治理 — Record清零+v-permission扩展+Redis缓存+as any清理\n\n## Line 1: Record\u003cstring,any\u003e 全前端清零 (637→0)\n- 262 个文件批量替换 Record\u003cstring, any\u003e → Record\u003cstring, unknown\u003e\n- 覆盖 API 模块层 137 文件 + 视图/stores/composables 100 文件\n\n## Line 2: v-permission 全面覆盖 (53→104 个视图文件)\n- 新增 51 个视图的 v-permission 指令\n- 覆盖: products/departments/contract-templates/spare-parts/pm/\n stage-knowledge/email-templates/approval-templates/ad-campaigns/\n groupbuy-*/community-*/alliance-*/livestream-*/social-*/content-*/\n geo-*/segments/lead-pools/bom/expense-claims/ap-ledger 等\n\n## Line 3: Redis 缓存扩展 (5→14 个缓存点, 10 个模块)\n- 新建 cache-utils.ts 统一缓存工具层 (withCache + invalidation)\n- 高优: tenant-configs(300s) + roles(1800s) + products(600s) +\n departments(600s) + sla(1800s) + contract-templates(600s)\n- 中优: price-books(600s) + notifications(300s)\n- 写后失效: 所有 create/update/delete 自动清除缓存\n\n## Line 4: as any 清理 (25处)\n- campaign-analytics.controller: 8→0 (精确查询类型)\n- social-interactions.service: 9→0 (Prisma UncheckedCreateInput)\n- store-staff.service: 6→0 (prismaModel 代理)\n- scheduled-jobs.consumer: 2→0 (直接使用已有类型)\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-24T10:14:13+08:00","added":["backend/src/shared/constants/events/common.ts","backend/src/shared/constants/events/finance.ts","backend/src/shared/constants/events/hr.ts","backend/src/shared/constants/events/im.ts","backend/src/shared/constants/events/index.ts","backend/src/shared/constants/events/knowledge.ts","backend/src/shared/constants/events/lifecycle.ts","backend/src/shared/constants/events/marketing.ts","backend/src/shared/constants/events/sales.ts","backend/src/shared/constants/events/service.ts","backend/src/shared/constants/events/store.ts","backend/src/shared/constants/events/supply_chain.ts","backend/src/shared/constants/events/system.ts","backend/src/shared/services/list-cache.service.ts","backend/src/shared/utils/cache-utils.ts"],"removed":[],"modified":["backend/src/consumers/attribution.consumer.ts","backend/src/consumers/campaign-effectiveness.consumer.ts","backend/src/consumers/marketing-workflow-executor.consumer.ts","backend/src/consumers/scheduled-jobs.consumer.ts","backend/src/modules/ai-agents/services/knowledge-vector-enhanced.service.ts","backend/src/modules/alliance-settlements/alliance-settlement.service.test.ts","backend/src/modules/campaign-analytics/campaign-analytics.controller.ts","backend/src/modules/contract-templates/contract-template.service.ts","backend/src/modules/contracts/contract.controller.ts","backend/src/modules/contracts/contract.routes.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/customers/customer.service.ts","backend/src/modules/departments/department.service.test.ts","backend/src/modules/departments/department.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/leads/lead-sla.service.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-interactions/livestream-realtime.service.ts","backend/src/modules/marketing-automation/workflow-trigger.service.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.controller.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.routes.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.service.ts","backend/src/modules/notifications/notification.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/payments/payment.service.test.ts","backend/src/modules/price-books/price-book.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/roles/role.service.ts","backend/src/modules/segments/segment.service.ts","backend/src/modules/sla/sla.service.ts","backend/src/modules/social-interactions/social-interactions.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/tenant-configs/tenant-config.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/constants/events.ts","backend/src/shared/services/partition-maintenance.service.ts","backend/src/shared/state-machines/machines/contract.machine.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/state-machines/types.ts","backend/src/shared/state-machines/utils/transitions/sales.transitions.ts","backend/src/shared/utils/biz-code.ts","frontend/src/api/adapters.ts","frontend/src/api/im-binding.ts","frontend/src/api/modules/ad-accounts.ts","frontend/src/api/modules/ad-audiences.ts","frontend/src/api/modules/ad-creatives.ts","frontend/src/api/modules/ad-placement.ts","frontend/src/api/modules/ad-reports.ts","frontend/src/api/modules/agent-group.ts","frontend/src/api/modules/ai-agent.ts","frontend/src/api/modules/alliance-analytics.ts","frontend/src/api/modules/alliance-merchants.ts","frontend/src/api/modules/alliance-products.ts","frontend/src/api/modules/alliance-promotions.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/analytics.ts","frontend/src/api/modules/approvals.ts","frontend/src/api/modules/assets.ts","frontend/src/api/modules/attribution.ts","frontend/src/api/modules/audit-logs.ts","frontend/src/api/modules/campaign-drafts.ts","frontend/src/api/modules/campaign-library.ts","frontend/src/api/modules/campaign-targets.ts","frontend/src/api/modules/campaign-tools.ts","frontend/src/api/modules/campaign-use-case-templates.ts","frontend/src/api/modules/campaign-wizard.ts","frontend/src/api/modules/campaigns.ts","frontend/src/api/modules/cohort-analysis.ts","frontend/src/api/modules/commissions.ts","frontend/src/api/modules/community-activities.ts","frontend/src/api/modules/community-analytics.ts","frontend/src/api/modules/community-bots.ts","frontend/src/api/modules/community-groups.ts","frontend/src/api/modules/community-levels.ts","frontend/src/api/modules/community-members.ts","frontend/src/api/modules/community-messages.ts","frontend/src/api/modules/community-points.ts","frontend/src/api/modules/consumer-behavior-analytics.ts","frontend/src/api/modules/content-categories.ts","frontend/src/api/modules/content-copyright.ts","frontend/src/api/modules/content-creation.ts","frontend/src/api/modules/content-distribution.ts","frontend/src/api/modules/content-library.ts","frontend/src/api/modules/content-templates.ts","frontend/src/api/modules/contract-templates.ts","frontend/src/api/modules/cpq.ts","frontend/src/api/modules/cross-domain-funnel.ts","frontend/src/api/modules/customer-analytics.ts","frontend/src/api/modules/customer-health.ts","frontend/src/api/modules/customer-journey.ts","frontend/src/api/modules/customer-ltv.ts","frontend/src/api/modules/customer-marketing.ts","frontend/src/api/modules/customer-segmentation.ts","frontend/src/api/modules/devices.ts","frontend/src/api/modules/dictionaries.ts","frontend/src/api/modules/dimension-transform.ts","frontend/src/api/modules/email-marketing.ts","frontend/src/api/modules/email-templates.ts","frontend/src/api/modules/event-logs.ts","frontend/src/api/modules/events.ts","frontend/src/api/modules/expense.ts","frontend/src/api/modules/financial-reports.ts","frontend/src/api/modules/fulfillment.ts","frontend/src/api/modules/geo-fences.ts","frontend/src/api/modules/geo-pois.ts","frontend/src/api/modules/groupbuy-analytics.ts","frontend/src/api/modules/groupbuy-campaigns.ts","frontend/src/api/modules/groupbuy-platforms.ts","frontend/src/api/modules/groupbuy-pricing.ts","frontend/src/api/modules/groupbuy-products.ts","frontend/src/api/modules/groupbuy-settlements.ts","frontend/src/api/modules/hr-benefits.ts","frontend/src/api/modules/hr-payroll.ts","frontend/src/api/modules/im-channels.ts","frontend/src/api/modules/im.ts","frontend/src/api/modules/integration-services.ts","frontend/src/api/modules/intent-analyzer.ts","frontend/src/api/modules/journey-orchestration.ts","frontend/src/api/modules/knowledge-candidates.ts","frontend/src/api/modules/knowledge-capture.ts","frontend/src/api/modules/landing-pages.ts","frontend/src/api/modules/lead-scoring-ai.ts","frontend/src/api/modules/livestream-groupbuy-conversion.ts","frontend/src/api/modules/livestream-groupbuy.ts","frontend/src/api/modules/livestream-interactions.ts","frontend/src/api/modules/livestream-rooms.ts","frontend/src/api/modules/livestream-schedules.ts","frontend/src/api/modules/livestream.ts","frontend/src/api/modules/location-assessments.ts","frontend/src/api/modules/login-logs.ts","frontend/src/api/modules/maintenance.ts","frontend/src/api/modules/marketing-automation.ts","frontend/src/api/modules/marketing-calendar.ts","frontend/src/api/modules/marketing-chatbot.ts","frontend/src/api/modules/marketing-content.ts","frontend/src/api/modules/marketing-forms.ts","frontend/src/api/modules/marketing-matrix.ts","frontend/src/api/modules/marketing-north-star.ts","frontend/src/api/modules/marketing-timeslots.ts","frontend/src/api/modules/marketing.ts","frontend/src/api/modules/omnichannel-dashboard.ts","frontend/src/api/modules/omnichannel-data-hub.ts","frontend/src/api/modules/omnichannel-touchpoints.ts","frontend/src/api/modules/operation-logs.ts","frontend/src/api/modules/opportunities.ts","frontend/src/api/modules/predictive-analytics.ts","frontend/src/api/modules/process-designer.ts","frontend/src/api/modules/process.ts","frontend/src/api/modules/products.ts","frontend/src/api/modules/realtime-trigger.ts","frontend/src/api/modules/reports.ts","frontend/src/api/modules/resource-requests.ts","frontend/src/api/modules/revenue.ts","frontend/src/api/modules/rfm-analysis.ts","frontend/src/api/modules/rma.ts","frontend/src/api/modules/satisfaction.ts","frontend/src/api/modules/scheduled-jobs.ts","frontend/src/api/modules/search.ts","frontend/src/api/modules/segments.ts","frontend/src/api/modules/service-monitor.ts","frontend/src/api/modules/sms-marketing.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/api/modules/social-auto-replies.ts","frontend/src/api/modules/social-competitors.ts","frontend/src/api/modules/social-hot-topics.ts","frontend/src/api/modules/social-interactions.ts","frontend/src/api/modules/spare-parts.ts","frontend/src/api/modules/store-performance.ts","frontend/src/api/modules/stores.ts","frontend/src/api/modules/supplier-management.ts","frontend/src/api/modules/swot-analyses.ts","frontend/src/api/modules/system-events.ts","frontend/src/api/modules/ticket-workflows.ts","frontend/src/api/modules/tickets.ts","frontend/src/api/modules/tob-toc-gateway.ts","frontend/src/api/modules/unified-campaign.ts","frontend/src/api/modules/web-tracking.ts","frontend/src/api/modules/workflow-generator.ts","frontend/src/api/response-normalizer.ts","frontend/src/components/business/ActivityTimeline.vue","frontend/src/components/business/EventStreamPanel.vue","frontend/src/components/business/IMPanel.vue","frontend/src/components/common/DataTable.vue","frontend/src/components/common/ResponsiveDataTable.vue","frontend/src/components/mobile/MobileFilter.vue","frontend/src/components/responsive/ResponsiveFilterBar.vue","frontend/src/types/ai-agent.ts","frontend/src/utils/echarts.ts","frontend/src/views/__tests__/standard-crud-smoke.helper.ts","frontend/src/views/abm-marketing/Index.vue","frontend/src/views/acquisition/Index.vue","frontend/src/views/ad-accounts/Form.vue","frontend/src/views/ad-accounts/Index.vue","frontend/src/views/ad-analytics/Index.vue","frontend/src/views/ad-campaigns/Index.vue","frontend/src/views/ad-creatives/Index.vue","frontend/src/views/ad-placement/ABTests.vue","frontend/src/views/ad-placement/AudiencePacks.vue","frontend/src/views/ad-placement/BudgetAlerts.vue","frontend/src/views/ad-placement/Creatives.vue","frontend/src/views/ad-placement/Index.vue","frontend/src/views/ad-placement/RoiAnalysis.vue","frontend/src/views/alliance-agreements/Index.vue","frontend/src/views/alliance-campaigns/Index.vue","frontend/src/views/alliance-coupons/Index.vue","frontend/src/views/alliance-packages/Index.vue","frontend/src/views/alliance-partners/Index.vue","frontend/src/views/alliance-products/Index.vue","frontend/src/views/analytics/roi/Index.vue","frontend/src/views/ap-ledger/Index.vue","frontend/src/views/approval-configs/Form.vue","frontend/src/views/approval-configs/Index.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/approval-templates/Index.vue","frontend/src/views/attribution/Index.vue","frontend/src/views/auth/Index.vue","frontend/src/views/bom/Index.vue","frontend/src/views/campaign-analytics/Index.vue","frontend/src/views/campaign-library/Index.vue","frontend/src/views/campaign-targets/Index.vue","frontend/src/views/campaign-tools/Index.vue","frontend/src/views/campaigns/Detail.vue","frontend/src/views/campaigns/Index.vue","frontend/src/views/campaigns/components/ToolConfigDialog.vue","frontend/src/views/campaigns/wizard/Step3Tools.vue","frontend/src/views/campaigns/wizard/Step4BasicInfo.vue","frontend/src/views/campaigns/wizard/Step7Review.vue","frontend/src/views/campaigns/wizard/components/ToolConfigForms.vue","frontend/src/views/channel-analytics/Index.vue","frontend/src/views/community-bots/Index.vue","frontend/src/views/community-fission/Index.vue","frontend/src/views/community-groups/Index.vue","frontend/src/views/community-materials/Index.vue","frontend/src/views/community-members/Index.vue","frontend/src/views/community-messages/Index.vue","frontend/src/views/community-points/Index.vue","frontend/src/views/community-tasks/Index.vue","frontend/src/views/consumer-behavior-analytics/Index.vue","frontend/src/views/content-creation/Index.vue","frontend/src/views/content-distribution/Index.vue","frontend/src/views/content-library/Detail.vue","frontend/src/views/content-templates/Index.vue","frontend/src/views/contract-templates/Index.vue","frontend/src/views/contracts/Form.vue","frontend/src/views/conversion-paths/Index.vue","frontend/src/views/cost-allocation/Index.vue","frontend/src/views/cpq/Index.vue","frontend/src/views/cross-domain-funnel/Index.vue","frontend/src/views/customer-health/Index.vue","frontend/src/views/customer-journey/Detail.vue","frontend/src/views/customer-marketing/Index.vue","frontend/src/views/customer-segmentation/Form.vue","frontend/src/views/departments/Detail.vue","frontend/src/views/departments/Index.vue","frontend/src/views/devices/Alerts.vue","frontend/src/views/devices/Form.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/dimension-transform/Index.vue","frontend/src/views/email-templates/Form.vue","frontend/src/views/email-templates/Index.vue","frontend/src/views/event-logs/Index.vue","frontend/src/views/expense-claims/Index.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/geo-pois/Index.vue","frontend/src/views/groupbuy-campaigns/Index.vue","frontend/src/views/groupbuy-inventory/Index.vue","frontend/src/views/groupbuy-orders/Index.vue","frontend/src/views/groupbuy-platforms/Index.vue","frontend/src/views/groupbuy-pricing/Index.vue","frontend/src/views/groupbuy-products/Index.vue","frontend/src/views/groupbuy-promotions/Index.vue","frontend/src/views/groupbuy-settlements/Index.vue","frontend/src/views/hr/attendance/components/AttendanceTab.vue","frontend/src/views/hr/attendance/components/HolidaysTab.vue","frontend/src/views/hr/attendance/components/LeavesTab.vue","frontend/src/views/hr/attendance/components/OvertimeTab.vue","frontend/src/views/hr/attendance/components/ShiftsTab.vue","frontend/src/views/hr/training/components/CertificatesTab.vue","frontend/src/views/hr/training/components/CompetencyTab.vue","frontend/src/views/hr/training/components/CoursesTab.vue","frontend/src/views/hr/training/components/ExamsTab.vue","frontend/src/views/hr/training/components/PlansTab.vue","frontend/src/views/hr/training/components/SessionsTab.vue","frontend/src/views/inventory/Counts.vue","frontend/src/views/inventory/Index.vue","frontend/src/views/inventory/Snapshots.vue","frontend/src/views/journey-orchestration/Form.vue","frontend/src/views/knowledge-feedback/Index.vue","frontend/src/views/lead-assignment/Form.vue","frontend/src/views/lead-pools/Form.vue","frontend/src/views/lead-pools/Index.vue","frontend/src/views/lead-qualification/Form.vue","frontend/src/views/lead-qualification/Index.vue","frontend/src/views/leads/Form.vue","frontend/src/views/leads/Index.vue","frontend/src/views/livestream-gifts/Index.vue","frontend/src/views/livestream-groupbuy-conversion/Index.vue","frontend/src/views/livestream-schedules/Index.vue","frontend/src/views/livestream-scripts/Index.vue","frontend/src/views/local-events/Index.vue","frontend/src/views/local-promotion/Index.vue","frontend/src/views/maintenance/Index.vue","frontend/src/views/maintenance/TaskDetail.vue","frontend/src/views/marketing-automation/Index.vue","frontend/src/views/marketing-effectiveness/Index.vue","frontend/src/views/marketing-north-star/Index.vue","frontend/src/views/marketing-tools/Detail.vue","frontend/src/views/marketing-tools/Index.vue","frontend/src/views/marketing/budget-alerts/Index.vue","frontend/src/views/mdm/Index.vue","frontend/src/views/member-benefits/Index.vue","frontend/src/views/member-levels/Index.vue","frontend/src/views/member-points/Index.vue","frontend/src/views/members/Index.vue","frontend/src/views/menus/Index.vue","frontend/src/views/notification-configs/Index.vue","frontend/src/views/notifications/Index.vue","frontend/src/views/omnichannel-dashboard/Index.vue","frontend/src/views/omnichannel-data-hub/Index.vue","frontend/src/views/opportunities/Form.vue","frontend/src/views/orders/Form.vue","frontend/src/views/orders/Index.vue","frontend/src/views/org-chart/Index.vue","frontend/src/views/partners/Detail.vue","frontend/src/views/payment-plans/Index.vue","frontend/src/views/pm/Index.vue","frontend/src/views/predictive-analytics/Form.vue","frontend/src/views/process-designer/Designer.vue","frontend/src/views/product-analytics/Index.vue","frontend/src/views/products/Index.vue","frontend/src/views/qr-codes/Index.vue","frontend/src/views/quotes/Form.vue","frontend/src/views/realtime-trigger/Form.vue","frontend/src/views/renewal-tasks/Index.vue","frontend/src/views/rfm-analysis/Detail.vue","frontend/src/views/rfm-analysis/Index.vue","frontend/src/views/roles/Index.vue","frontend/src/views/scheduled-jobs/Index.vue","frontend/src/views/segments/Index.vue","frontend/src/views/service-monitor/Index.vue","frontend/src/views/settings/Index.vue","frontend/src/views/social-accounts/Index.vue","frontend/src/views/social-auto-replies/Index.vue","frontend/src/views/social-competitors/Index.vue","frontend/src/views/social-matrix/Index.vue","frontend/src/views/social-posts/Detail.vue","frontend/src/views/social-posts/Index.vue","frontend/src/views/spare-parts/Index.vue","frontend/src/views/spare-parts/components/TransactionHistory.vue","frontend/src/views/stage-knowledge/Index.vue","frontend/src/views/store-configs/Index.vue","frontend/src/views/stores/Detail.vue","frontend/src/views/stores/Index.vue","frontend/src/views/supplier-payments/Index.vue","frontend/src/views/suppliers/Index.vue","frontend/src/views/system-events/Index.vue","frontend/src/views/system-monitor/Index.vue","frontend/src/views/system/AuditLogs.vue","frontend/src/views/tenant-configs/Index.vue","frontend/src/views/tickets/Form.vue","frontend/src/views/tickets/Index.vue","frontend/src/views/users/Index.vue","frontend/src/views/utm-tracking/Form.vue","frontend/src/views/video-publishing/Index.vue","frontend/src/views/web-tracking/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":1956552,"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":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-24T09:45:16+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
|
1774320041
|
1774320042
|
0
|
1774320040
|
1774320042
|
|
|
0
|
Edit
Delete
|
|
7662
|
feat: 四线并行治理 — Record清零+v-permission扩展+Redis缓存+as feat: 四线并行治理 — Record清零+v-permission扩展+Redis缓存+as any清理...
|
6
|
5
|
health-check.yml
|
7587
|
-2
|
130
|
refs/heads/main
|
dbf34b08bbb60650d15b0c55262dbfe8d0a3a655
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"8c39619c9cdb0d888d10942bf50533c8238021df","after":"dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/8c39619c9cdb0d888d10942bf50533c8238021df...dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","commits":[{"id":"dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","message":"feat: 四线并行治理 — Record清零+v-permission扩展+Redis缓存+as any清理\n\n## Line 1: Record\u003cstring,any\u003e 全前端清零 (637→0)\n- 262 个文件批量替换 Record\u003cstring, any\u003e → Record\u003cstring, unknown\u003e\n- 覆盖 API 模块层 137 文件 + 视图/stores/composables 100 文件\n\n## Line 2: v-permission 全面覆盖 (53→104 个视图文件)\n- 新增 51 个视图的 v-permission 指令\n- 覆盖: products/departments/contract-templates/spare-parts/pm/\n stage-knowledge/email-templates/approval-templates/ad-campaigns/\n groupbuy-*/community-*/alliance-*/livestream-*/social-*/content-*/\n geo-*/segments/lead-pools/bom/expense-claims/ap-ledger 等\n\n## Line 3: Redis 缓存扩展 (5→14 个缓存点, 10 个模块)\n- 新建 cache-utils.ts 统一缓存工具层 (withCache + invalidation)\n- 高优: tenant-configs(300s) + roles(1800s) + products(600s) +\n departments(600s) + sla(1800s) + contract-templates(600s)\n- 中优: price-books(600s) + notifications(300s)\n- 写后失效: 所有 create/update/delete 自动清除缓存\n\n## Line 4: as any 清理 (25处)\n- campaign-analytics.controller: 8→0 (精确查询类型)\n- social-interactions.service: 9→0 (Prisma UncheckedCreateInput)\n- store-staff.service: 6→0 (prismaModel 代理)\n- scheduled-jobs.consumer: 2→0 (直接使用已有类型)\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-24T10:14:13+08:00","added":["backend/src/shared/constants/events/common.ts","backend/src/shared/constants/events/finance.ts","backend/src/shared/constants/events/hr.ts","backend/src/shared/constants/events/im.ts","backend/src/shared/constants/events/index.ts","backend/src/shared/constants/events/knowledge.ts","backend/src/shared/constants/events/lifecycle.ts","backend/src/shared/constants/events/marketing.ts","backend/src/shared/constants/events/sales.ts","backend/src/shared/constants/events/service.ts","backend/src/shared/constants/events/store.ts","backend/src/shared/constants/events/supply_chain.ts","backend/src/shared/constants/events/system.ts","backend/src/shared/services/list-cache.service.ts","backend/src/shared/utils/cache-utils.ts"],"removed":[],"modified":["backend/src/consumers/attribution.consumer.ts","backend/src/consumers/campaign-effectiveness.consumer.ts","backend/src/consumers/marketing-workflow-executor.consumer.ts","backend/src/consumers/scheduled-jobs.consumer.ts","backend/src/modules/ai-agents/services/knowledge-vector-enhanced.service.ts","backend/src/modules/alliance-settlements/alliance-settlement.service.test.ts","backend/src/modules/campaign-analytics/campaign-analytics.controller.ts","backend/src/modules/contract-templates/contract-template.service.ts","backend/src/modules/contracts/contract.controller.ts","backend/src/modules/contracts/contract.routes.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/customers/customer.service.ts","backend/src/modules/departments/department.service.test.ts","backend/src/modules/departments/department.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/leads/lead-sla.service.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-interactions/livestream-realtime.service.ts","backend/src/modules/marketing-automation/workflow-trigger.service.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.controller.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.routes.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.service.ts","backend/src/modules/notifications/notification.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/payments/payment.service.test.ts","backend/src/modules/price-books/price-book.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/roles/role.service.ts","backend/src/modules/segments/segment.service.ts","backend/src/modules/sla/sla.service.ts","backend/src/modules/social-interactions/social-interactions.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/tenant-configs/tenant-config.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/constants/events.ts","backend/src/shared/services/partition-maintenance.service.ts","backend/src/shared/state-machines/machines/contract.machine.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/state-machines/types.ts","backend/src/shared/state-machines/utils/transitions/sales.transitions.ts","backend/src/shared/utils/biz-code.ts","frontend/src/api/adapters.ts","frontend/src/api/im-binding.ts","frontend/src/api/modules/ad-accounts.ts","frontend/src/api/modules/ad-audiences.ts","frontend/src/api/modules/ad-creatives.ts","frontend/src/api/modules/ad-placement.ts","frontend/src/api/modules/ad-reports.ts","frontend/src/api/modules/agent-group.ts","frontend/src/api/modules/ai-agent.ts","frontend/src/api/modules/alliance-analytics.ts","frontend/src/api/modules/alliance-merchants.ts","frontend/src/api/modules/alliance-products.ts","frontend/src/api/modules/alliance-promotions.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/analytics.ts","frontend/src/api/modules/approvals.ts","frontend/src/api/modules/assets.ts","frontend/src/api/modules/attribution.ts","frontend/src/api/modules/audit-logs.ts","frontend/src/api/modules/campaign-drafts.ts","frontend/src/api/modules/campaign-library.ts","frontend/src/api/modules/campaign-targets.ts","frontend/src/api/modules/campaign-tools.ts","frontend/src/api/modules/campaign-use-case-templates.ts","frontend/src/api/modules/campaign-wizard.ts","frontend/src/api/modules/campaigns.ts","frontend/src/api/modules/cohort-analysis.ts","frontend/src/api/modules/commissions.ts","frontend/src/api/modules/community-activities.ts","frontend/src/api/modules/community-analytics.ts","frontend/src/api/modules/community-bots.ts","frontend/src/api/modules/community-groups.ts","frontend/src/api/modules/community-levels.ts","frontend/src/api/modules/community-members.ts","frontend/src/api/modules/community-messages.ts","frontend/src/api/modules/community-points.ts","frontend/src/api/modules/consumer-behavior-analytics.ts","frontend/src/api/modules/content-categories.ts","frontend/src/api/modules/content-copyright.ts","frontend/src/api/modules/content-creation.ts","frontend/src/api/modules/content-distribution.ts","frontend/src/api/modules/content-library.ts","frontend/src/api/modules/content-templates.ts","frontend/src/api/modules/contract-templates.ts","frontend/src/api/modules/cpq.ts","frontend/src/api/modules/cross-domain-funnel.ts","frontend/src/api/modules/customer-analytics.ts","frontend/src/api/modules/customer-health.ts","frontend/src/api/modules/customer-journey.ts","frontend/src/api/modules/customer-ltv.ts","frontend/src/api/modules/customer-marketing.ts","frontend/src/api/modules/customer-segmentation.ts","frontend/src/api/modules/devices.ts","frontend/src/api/modules/dictionaries.ts","frontend/src/api/modules/dimension-transform.ts","frontend/src/api/modules/email-marketing.ts","frontend/src/api/modules/email-templates.ts","frontend/src/api/modules/event-logs.ts","frontend/src/api/modules/events.ts","frontend/src/api/modules/expense.ts","frontend/src/api/modules/financial-reports.ts","frontend/src/api/modules/fulfillment.ts","frontend/src/api/modules/geo-fences.ts","frontend/src/api/modules/geo-pois.ts","frontend/src/api/modules/groupbuy-analytics.ts","frontend/src/api/modules/groupbuy-campaigns.ts","frontend/src/api/modules/groupbuy-platforms.ts","frontend/src/api/modules/groupbuy-pricing.ts","frontend/src/api/modules/groupbuy-products.ts","frontend/src/api/modules/groupbuy-settlements.ts","frontend/src/api/modules/hr-benefits.ts","frontend/src/api/modules/hr-payroll.ts","frontend/src/api/modules/im-channels.ts","frontend/src/api/modules/im.ts","frontend/src/api/modules/integration-services.ts","frontend/src/api/modules/intent-analyzer.ts","frontend/src/api/modules/journey-orchestration.ts","frontend/src/api/modules/knowledge-candidates.ts","frontend/src/api/modules/knowledge-capture.ts","frontend/src/api/modules/landing-pages.ts","frontend/src/api/modules/lead-scoring-ai.ts","frontend/src/api/modules/livestream-groupbuy-conversion.ts","frontend/src/api/modules/livestream-groupbuy.ts","frontend/src/api/modules/livestream-interactions.ts","frontend/src/api/modules/livestream-rooms.ts","frontend/src/api/modules/livestream-schedules.ts","frontend/src/api/modules/livestream.ts","frontend/src/api/modules/location-assessments.ts","frontend/src/api/modules/login-logs.ts","frontend/src/api/modules/maintenance.ts","frontend/src/api/modules/marketing-automation.ts","frontend/src/api/modules/marketing-calendar.ts","frontend/src/api/modules/marketing-chatbot.ts","frontend/src/api/modules/marketing-content.ts","frontend/src/api/modules/marketing-forms.ts","frontend/src/api/modules/marketing-matrix.ts","frontend/src/api/modules/marketing-north-star.ts","frontend/src/api/modules/marketing-timeslots.ts","frontend/src/api/modules/marketing.ts","frontend/src/api/modules/omnichannel-dashboard.ts","frontend/src/api/modules/omnichannel-data-hub.ts","frontend/src/api/modules/omnichannel-touchpoints.ts","frontend/src/api/modules/operation-logs.ts","frontend/src/api/modules/opportunities.ts","frontend/src/api/modules/predictive-analytics.ts","frontend/src/api/modules/process-designer.ts","frontend/src/api/modules/process.ts","frontend/src/api/modules/products.ts","frontend/src/api/modules/realtime-trigger.ts","frontend/src/api/modules/reports.ts","frontend/src/api/modules/resource-requests.ts","frontend/src/api/modules/revenue.ts","frontend/src/api/modules/rfm-analysis.ts","frontend/src/api/modules/rma.ts","frontend/src/api/modules/satisfaction.ts","frontend/src/api/modules/scheduled-jobs.ts","frontend/src/api/modules/search.ts","frontend/src/api/modules/segments.ts","frontend/src/api/modules/service-monitor.ts","frontend/src/api/modules/sms-marketing.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/api/modules/social-auto-replies.ts","frontend/src/api/modules/social-competitors.ts","frontend/src/api/modules/social-hot-topics.ts","frontend/src/api/modules/social-interactions.ts","frontend/src/api/modules/spare-parts.ts","frontend/src/api/modules/store-performance.ts","frontend/src/api/modules/stores.ts","frontend/src/api/modules/supplier-management.ts","frontend/src/api/modules/swot-analyses.ts","frontend/src/api/modules/system-events.ts","frontend/src/api/modules/ticket-workflows.ts","frontend/src/api/modules/tickets.ts","frontend/src/api/modules/tob-toc-gateway.ts","frontend/src/api/modules/unified-campaign.ts","frontend/src/api/modules/web-tracking.ts","frontend/src/api/modules/workflow-generator.ts","frontend/src/api/response-normalizer.ts","frontend/src/components/business/ActivityTimeline.vue","frontend/src/components/business/EventStreamPanel.vue","frontend/src/components/business/IMPanel.vue","frontend/src/components/common/DataTable.vue","frontend/src/components/common/ResponsiveDataTable.vue","frontend/src/components/mobile/MobileFilter.vue","frontend/src/components/responsive/ResponsiveFilterBar.vue","frontend/src/types/ai-agent.ts","frontend/src/utils/echarts.ts","frontend/src/views/__tests__/standard-crud-smoke.helper.ts","frontend/src/views/abm-marketing/Index.vue","frontend/src/views/acquisition/Index.vue","frontend/src/views/ad-accounts/Form.vue","frontend/src/views/ad-accounts/Index.vue","frontend/src/views/ad-analytics/Index.vue","frontend/src/views/ad-campaigns/Index.vue","frontend/src/views/ad-creatives/Index.vue","frontend/src/views/ad-placement/ABTests.vue","frontend/src/views/ad-placement/AudiencePacks.vue","frontend/src/views/ad-placement/BudgetAlerts.vue","frontend/src/views/ad-placement/Creatives.vue","frontend/src/views/ad-placement/Index.vue","frontend/src/views/ad-placement/RoiAnalysis.vue","frontend/src/views/alliance-agreements/Index.vue","frontend/src/views/alliance-campaigns/Index.vue","frontend/src/views/alliance-coupons/Index.vue","frontend/src/views/alliance-packages/Index.vue","frontend/src/views/alliance-partners/Index.vue","frontend/src/views/alliance-products/Index.vue","frontend/src/views/analytics/roi/Index.vue","frontend/src/views/ap-ledger/Index.vue","frontend/src/views/approval-configs/Form.vue","frontend/src/views/approval-configs/Index.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/approval-templates/Index.vue","frontend/src/views/attribution/Index.vue","frontend/src/views/auth/Index.vue","frontend/src/views/bom/Index.vue","frontend/src/views/campaign-analytics/Index.vue","frontend/src/views/campaign-library/Index.vue","frontend/src/views/campaign-targets/Index.vue","frontend/src/views/campaign-tools/Index.vue","frontend/src/views/campaigns/Detail.vue","frontend/src/views/campaigns/Index.vue","frontend/src/views/campaigns/components/ToolConfigDialog.vue","frontend/src/views/campaigns/wizard/Step3Tools.vue","frontend/src/views/campaigns/wizard/Step4BasicInfo.vue","frontend/src/views/campaigns/wizard/Step7Review.vue","frontend/src/views/campaigns/wizard/components/ToolConfigForms.vue","frontend/src/views/channel-analytics/Index.vue","frontend/src/views/community-bots/Index.vue","frontend/src/views/community-fission/Index.vue","frontend/src/views/community-groups/Index.vue","frontend/src/views/community-materials/Index.vue","frontend/src/views/community-members/Index.vue","frontend/src/views/community-messages/Index.vue","frontend/src/views/community-points/Index.vue","frontend/src/views/community-tasks/Index.vue","frontend/src/views/consumer-behavior-analytics/Index.vue","frontend/src/views/content-creation/Index.vue","frontend/src/views/content-distribution/Index.vue","frontend/src/views/content-library/Detail.vue","frontend/src/views/content-templates/Index.vue","frontend/src/views/contract-templates/Index.vue","frontend/src/views/contracts/Form.vue","frontend/src/views/conversion-paths/Index.vue","frontend/src/views/cost-allocation/Index.vue","frontend/src/views/cpq/Index.vue","frontend/src/views/cross-domain-funnel/Index.vue","frontend/src/views/customer-health/Index.vue","frontend/src/views/customer-journey/Detail.vue","frontend/src/views/customer-marketing/Index.vue","frontend/src/views/customer-segmentation/Form.vue","frontend/src/views/departments/Detail.vue","frontend/src/views/departments/Index.vue","frontend/src/views/devices/Alerts.vue","frontend/src/views/devices/Form.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/dimension-transform/Index.vue","frontend/src/views/email-templates/Form.vue","frontend/src/views/email-templates/Index.vue","frontend/src/views/event-logs/Index.vue","frontend/src/views/expense-claims/Index.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/geo-pois/Index.vue","frontend/src/views/groupbuy-campaigns/Index.vue","frontend/src/views/groupbuy-inventory/Index.vue","frontend/src/views/groupbuy-orders/Index.vue","frontend/src/views/groupbuy-platforms/Index.vue","frontend/src/views/groupbuy-pricing/Index.vue","frontend/src/views/groupbuy-products/Index.vue","frontend/src/views/groupbuy-promotions/Index.vue","frontend/src/views/groupbuy-settlements/Index.vue","frontend/src/views/hr/attendance/components/AttendanceTab.vue","frontend/src/views/hr/attendance/components/HolidaysTab.vue","frontend/src/views/hr/attendance/components/LeavesTab.vue","frontend/src/views/hr/attendance/components/OvertimeTab.vue","frontend/src/views/hr/attendance/components/ShiftsTab.vue","frontend/src/views/hr/training/components/CertificatesTab.vue","frontend/src/views/hr/training/components/CompetencyTab.vue","frontend/src/views/hr/training/components/CoursesTab.vue","frontend/src/views/hr/training/components/ExamsTab.vue","frontend/src/views/hr/training/components/PlansTab.vue","frontend/src/views/hr/training/components/SessionsTab.vue","frontend/src/views/inventory/Counts.vue","frontend/src/views/inventory/Index.vue","frontend/src/views/inventory/Snapshots.vue","frontend/src/views/journey-orchestration/Form.vue","frontend/src/views/knowledge-feedback/Index.vue","frontend/src/views/lead-assignment/Form.vue","frontend/src/views/lead-pools/Form.vue","frontend/src/views/lead-pools/Index.vue","frontend/src/views/lead-qualification/Form.vue","frontend/src/views/lead-qualification/Index.vue","frontend/src/views/leads/Form.vue","frontend/src/views/leads/Index.vue","frontend/src/views/livestream-gifts/Index.vue","frontend/src/views/livestream-groupbuy-conversion/Index.vue","frontend/src/views/livestream-schedules/Index.vue","frontend/src/views/livestream-scripts/Index.vue","frontend/src/views/local-events/Index.vue","frontend/src/views/local-promotion/Index.vue","frontend/src/views/maintenance/Index.vue","frontend/src/views/maintenance/TaskDetail.vue","frontend/src/views/marketing-automation/Index.vue","frontend/src/views/marketing-effectiveness/Index.vue","frontend/src/views/marketing-north-star/Index.vue","frontend/src/views/marketing-tools/Detail.vue","frontend/src/views/marketing-tools/Index.vue","frontend/src/views/marketing/budget-alerts/Index.vue","frontend/src/views/mdm/Index.vue","frontend/src/views/member-benefits/Index.vue","frontend/src/views/member-levels/Index.vue","frontend/src/views/member-points/Index.vue","frontend/src/views/members/Index.vue","frontend/src/views/menus/Index.vue","frontend/src/views/notification-configs/Index.vue","frontend/src/views/notifications/Index.vue","frontend/src/views/omnichannel-dashboard/Index.vue","frontend/src/views/omnichannel-data-hub/Index.vue","frontend/src/views/opportunities/Form.vue","frontend/src/views/orders/Form.vue","frontend/src/views/orders/Index.vue","frontend/src/views/org-chart/Index.vue","frontend/src/views/partners/Detail.vue","frontend/src/views/payment-plans/Index.vue","frontend/src/views/pm/Index.vue","frontend/src/views/predictive-analytics/Form.vue","frontend/src/views/process-designer/Designer.vue","frontend/src/views/product-analytics/Index.vue","frontend/src/views/products/Index.vue","frontend/src/views/qr-codes/Index.vue","frontend/src/views/quotes/Form.vue","frontend/src/views/realtime-trigger/Form.vue","frontend/src/views/renewal-tasks/Index.vue","frontend/src/views/rfm-analysis/Detail.vue","frontend/src/views/rfm-analysis/Index.vue","frontend/src/views/roles/Index.vue","frontend/src/views/scheduled-jobs/Index.vue","frontend/src/views/segments/Index.vue","frontend/src/views/service-monitor/Index.vue","frontend/src/views/settings/Index.vue","frontend/src/views/social-accounts/Index.vue","frontend/src/views/social-auto-replies/Index.vue","frontend/src/views/social-competitors/Index.vue","frontend/src/views/social-matrix/Index.vue","frontend/src/views/social-posts/Detail.vue","frontend/src/views/social-posts/Index.vue","frontend/src/views/spare-parts/Index.vue","frontend/src/views/spare-parts/components/TransactionHistory.vue","frontend/src/views/stage-knowledge/Index.vue","frontend/src/views/store-configs/Index.vue","frontend/src/views/stores/Detail.vue","frontend/src/views/stores/Index.vue","frontend/src/views/supplier-payments/Index.vue","frontend/src/views/suppliers/Index.vue","frontend/src/views/system-events/Index.vue","frontend/src/views/system-monitor/Index.vue","frontend/src/views/system/AuditLogs.vue","frontend/src/views/tenant-configs/Index.vue","frontend/src/views/tickets/Form.vue","frontend/src/views/tickets/Index.vue","frontend/src/views/users/Index.vue","frontend/src/views/utm-tracking/Form.vue","frontend/src/views/video-publishing/Index.vue","frontend/src/views/web-tracking/Index.vue"]}],"total_commits":0,"head_commit":{"id":"dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","message":"feat: 四线并行治理 — Record清零+v-permission扩展+Redis缓存+as any清理\n\n## Line 1: Record\u003cstring,any\u003e 全前端清零 (637→0)\n- 262 个文件批量替换 Record\u003cstring, any\u003e → Record\u003cstring, unknown\u003e\n- 覆盖 API 模块层 137 文件 + 视图/stores/composables 100 文件\n\n## Line 2: v-permission 全面覆盖 (53→104 个视图文件)\n- 新增 51 个视图的 v-permission 指令\n- 覆盖: products/departments/contract-templates/spare-parts/pm/\n stage-knowledge/email-templates/approval-templates/ad-campaigns/\n groupbuy-*/community-*/alliance-*/livestream-*/social-*/content-*/\n geo-*/segments/lead-pools/bom/expense-claims/ap-ledger 等\n\n## Line 3: Redis 缓存扩展 (5→14 个缓存点, 10 个模块)\n- 新建 cache-utils.ts 统一缓存工具层 (withCache + invalidation)\n- 高优: tenant-configs(300s) + roles(1800s) + products(600s) +\n departments(600s) + sla(1800s) + contract-templates(600s)\n- 中优: price-books(600s) + notifications(300s)\n- 写后失效: 所有 create/update/delete 自动清除缓存\n\n## Line 4: as any 清理 (25处)\n- campaign-analytics.controller: 8→0 (精确查询类型)\n- social-interactions.service: 9→0 (Prisma UncheckedCreateInput)\n- store-staff.service: 6→0 (prismaModel 代理)\n- scheduled-jobs.consumer: 2→0 (直接使用已有类型)\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-24T10:14:13+08:00","added":["backend/src/shared/constants/events/common.ts","backend/src/shared/constants/events/finance.ts","backend/src/shared/constants/events/hr.ts","backend/src/shared/constants/events/im.ts","backend/src/shared/constants/events/index.ts","backend/src/shared/constants/events/knowledge.ts","backend/src/shared/constants/events/lifecycle.ts","backend/src/shared/constants/events/marketing.ts","backend/src/shared/constants/events/sales.ts","backend/src/shared/constants/events/service.ts","backend/src/shared/constants/events/store.ts","backend/src/shared/constants/events/supply_chain.ts","backend/src/shared/constants/events/system.ts","backend/src/shared/services/list-cache.service.ts","backend/src/shared/utils/cache-utils.ts"],"removed":[],"modified":["backend/src/consumers/attribution.consumer.ts","backend/src/consumers/campaign-effectiveness.consumer.ts","backend/src/consumers/marketing-workflow-executor.consumer.ts","backend/src/consumers/scheduled-jobs.consumer.ts","backend/src/modules/ai-agents/services/knowledge-vector-enhanced.service.ts","backend/src/modules/alliance-settlements/alliance-settlement.service.test.ts","backend/src/modules/campaign-analytics/campaign-analytics.controller.ts","backend/src/modules/contract-templates/contract-template.service.ts","backend/src/modules/contracts/contract.controller.ts","backend/src/modules/contracts/contract.routes.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/customers/customer.service.ts","backend/src/modules/departments/department.service.test.ts","backend/src/modules/departments/department.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/leads/lead-sla.service.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-interactions/livestream-realtime.service.ts","backend/src/modules/marketing-automation/workflow-trigger.service.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.controller.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.routes.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.service.ts","backend/src/modules/notifications/notification.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/payments/payment.service.test.ts","backend/src/modules/price-books/price-book.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/roles/role.service.ts","backend/src/modules/segments/segment.service.ts","backend/src/modules/sla/sla.service.ts","backend/src/modules/social-interactions/social-interactions.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/tenant-configs/tenant-config.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/constants/events.ts","backend/src/shared/services/partition-maintenance.service.ts","backend/src/shared/state-machines/machines/contract.machine.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/state-machines/types.ts","backend/src/shared/state-machines/utils/transitions/sales.transitions.ts","backend/src/shared/utils/biz-code.ts","frontend/src/api/adapters.ts","frontend/src/api/im-binding.ts","frontend/src/api/modules/ad-accounts.ts","frontend/src/api/modules/ad-audiences.ts","frontend/src/api/modules/ad-creatives.ts","frontend/src/api/modules/ad-placement.ts","frontend/src/api/modules/ad-reports.ts","frontend/src/api/modules/agent-group.ts","frontend/src/api/modules/ai-agent.ts","frontend/src/api/modules/alliance-analytics.ts","frontend/src/api/modules/alliance-merchants.ts","frontend/src/api/modules/alliance-products.ts","frontend/src/api/modules/alliance-promotions.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/analytics.ts","frontend/src/api/modules/approvals.ts","frontend/src/api/modules/assets.ts","frontend/src/api/modules/attribution.ts","frontend/src/api/modules/audit-logs.ts","frontend/src/api/modules/campaign-drafts.ts","frontend/src/api/modules/campaign-library.ts","frontend/src/api/modules/campaign-targets.ts","frontend/src/api/modules/campaign-tools.ts","frontend/src/api/modules/campaign-use-case-templates.ts","frontend/src/api/modules/campaign-wizard.ts","frontend/src/api/modules/campaigns.ts","frontend/src/api/modules/cohort-analysis.ts","frontend/src/api/modules/commissions.ts","frontend/src/api/modules/community-activities.ts","frontend/src/api/modules/community-analytics.ts","frontend/src/api/modules/community-bots.ts","frontend/src/api/modules/community-groups.ts","frontend/src/api/modules/community-levels.ts","frontend/src/api/modules/community-members.ts","frontend/src/api/modules/community-messages.ts","frontend/src/api/modules/community-points.ts","frontend/src/api/modules/consumer-behavior-analytics.ts","frontend/src/api/modules/content-categories.ts","frontend/src/api/modules/content-copyright.ts","frontend/src/api/modules/content-creation.ts","frontend/src/api/modules/content-distribution.ts","frontend/src/api/modules/content-library.ts","frontend/src/api/modules/content-templates.ts","frontend/src/api/modules/contract-templates.ts","frontend/src/api/modules/cpq.ts","frontend/src/api/modules/cross-domain-funnel.ts","frontend/src/api/modules/customer-analytics.ts","frontend/src/api/modules/customer-health.ts","frontend/src/api/modules/customer-journey.ts","frontend/src/api/modules/customer-ltv.ts","frontend/src/api/modules/customer-marketing.ts","frontend/src/api/modules/customer-segmentation.ts","frontend/src/api/modules/devices.ts","frontend/src/api/modules/dictionaries.ts","frontend/src/api/modules/dimension-transform.ts","frontend/src/api/modules/email-marketing.ts","frontend/src/api/modules/email-templates.ts","frontend/src/api/modules/event-logs.ts","frontend/src/api/modules/events.ts","frontend/src/api/modules/expense.ts","frontend/src/api/modules/financial-reports.ts","frontend/src/api/modules/fulfillment.ts","frontend/src/api/modules/geo-fences.ts","frontend/src/api/modules/geo-pois.ts","frontend/src/api/modules/groupbuy-analytics.ts","frontend/src/api/modules/groupbuy-campaigns.ts","frontend/src/api/modules/groupbuy-platforms.ts","frontend/src/api/modules/groupbuy-pricing.ts","frontend/src/api/modules/groupbuy-products.ts","frontend/src/api/modules/groupbuy-settlements.ts","frontend/src/api/modules/hr-benefits.ts","frontend/src/api/modules/hr-payroll.ts","frontend/src/api/modules/im-channels.ts","frontend/src/api/modules/im.ts","frontend/src/api/modules/integration-services.ts","frontend/src/api/modules/intent-analyzer.ts","frontend/src/api/modules/journey-orchestration.ts","frontend/src/api/modules/knowledge-candidates.ts","frontend/src/api/modules/knowledge-capture.ts","frontend/src/api/modules/landing-pages.ts","frontend/src/api/modules/lead-scoring-ai.ts","frontend/src/api/modules/livestream-groupbuy-conversion.ts","frontend/src/api/modules/livestream-groupbuy.ts","frontend/src/api/modules/livestream-interactions.ts","frontend/src/api/modules/livestream-rooms.ts","frontend/src/api/modules/livestream-schedules.ts","frontend/src/api/modules/livestream.ts","frontend/src/api/modules/location-assessments.ts","frontend/src/api/modules/login-logs.ts","frontend/src/api/modules/maintenance.ts","frontend/src/api/modules/marketing-automation.ts","frontend/src/api/modules/marketing-calendar.ts","frontend/src/api/modules/marketing-chatbot.ts","frontend/src/api/modules/marketing-content.ts","frontend/src/api/modules/marketing-forms.ts","frontend/src/api/modules/marketing-matrix.ts","frontend/src/api/modules/marketing-north-star.ts","frontend/src/api/modules/marketing-timeslots.ts","frontend/src/api/modules/marketing.ts","frontend/src/api/modules/omnichannel-dashboard.ts","frontend/src/api/modules/omnichannel-data-hub.ts","frontend/src/api/modules/omnichannel-touchpoints.ts","frontend/src/api/modules/operation-logs.ts","frontend/src/api/modules/opportunities.ts","frontend/src/api/modules/predictive-analytics.ts","frontend/src/api/modules/process-designer.ts","frontend/src/api/modules/process.ts","frontend/src/api/modules/products.ts","frontend/src/api/modules/realtime-trigger.ts","frontend/src/api/modules/reports.ts","frontend/src/api/modules/resource-requests.ts","frontend/src/api/modules/revenue.ts","frontend/src/api/modules/rfm-analysis.ts","frontend/src/api/modules/rma.ts","frontend/src/api/modules/satisfaction.ts","frontend/src/api/modules/scheduled-jobs.ts","frontend/src/api/modules/search.ts","frontend/src/api/modules/segments.ts","frontend/src/api/modules/service-monitor.ts","frontend/src/api/modules/sms-marketing.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/api/modules/social-auto-replies.ts","frontend/src/api/modules/social-competitors.ts","frontend/src/api/modules/social-hot-topics.ts","frontend/src/api/modules/social-interactions.ts","frontend/src/api/modules/spare-parts.ts","frontend/src/api/modules/store-performance.ts","frontend/src/api/modules/stores.ts","frontend/src/api/modules/supplier-management.ts","frontend/src/api/modules/swot-analyses.ts","frontend/src/api/modules/system-events.ts","frontend/src/api/modules/ticket-workflows.ts","frontend/src/api/modules/tickets.ts","frontend/src/api/modules/tob-toc-gateway.ts","frontend/src/api/modules/unified-campaign.ts","frontend/src/api/modules/web-tracking.ts","frontend/src/api/modules/workflow-generator.ts","frontend/src/api/response-normalizer.ts","frontend/src/components/business/ActivityTimeline.vue","frontend/src/components/business/EventStreamPanel.vue","frontend/src/components/business/IMPanel.vue","frontend/src/components/common/DataTable.vue","frontend/src/components/common/ResponsiveDataTable.vue","frontend/src/components/mobile/MobileFilter.vue","frontend/src/components/responsive/ResponsiveFilterBar.vue","frontend/src/types/ai-agent.ts","frontend/src/utils/echarts.ts","frontend/src/views/__tests__/standard-crud-smoke.helper.ts","frontend/src/views/abm-marketing/Index.vue","frontend/src/views/acquisition/Index.vue","frontend/src/views/ad-accounts/Form.vue","frontend/src/views/ad-accounts/Index.vue","frontend/src/views/ad-analytics/Index.vue","frontend/src/views/ad-campaigns/Index.vue","frontend/src/views/ad-creatives/Index.vue","frontend/src/views/ad-placement/ABTests.vue","frontend/src/views/ad-placement/AudiencePacks.vue","frontend/src/views/ad-placement/BudgetAlerts.vue","frontend/src/views/ad-placement/Creatives.vue","frontend/src/views/ad-placement/Index.vue","frontend/src/views/ad-placement/RoiAnalysis.vue","frontend/src/views/alliance-agreements/Index.vue","frontend/src/views/alliance-campaigns/Index.vue","frontend/src/views/alliance-coupons/Index.vue","frontend/src/views/alliance-packages/Index.vue","frontend/src/views/alliance-partners/Index.vue","frontend/src/views/alliance-products/Index.vue","frontend/src/views/analytics/roi/Index.vue","frontend/src/views/ap-ledger/Index.vue","frontend/src/views/approval-configs/Form.vue","frontend/src/views/approval-configs/Index.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/approval-templates/Index.vue","frontend/src/views/attribution/Index.vue","frontend/src/views/auth/Index.vue","frontend/src/views/bom/Index.vue","frontend/src/views/campaign-analytics/Index.vue","frontend/src/views/campaign-library/Index.vue","frontend/src/views/campaign-targets/Index.vue","frontend/src/views/campaign-tools/Index.vue","frontend/src/views/campaigns/Detail.vue","frontend/src/views/campaigns/Index.vue","frontend/src/views/campaigns/components/ToolConfigDialog.vue","frontend/src/views/campaigns/wizard/Step3Tools.vue","frontend/src/views/campaigns/wizard/Step4BasicInfo.vue","frontend/src/views/campaigns/wizard/Step7Review.vue","frontend/src/views/campaigns/wizard/components/ToolConfigForms.vue","frontend/src/views/channel-analytics/Index.vue","frontend/src/views/community-bots/Index.vue","frontend/src/views/community-fission/Index.vue","frontend/src/views/community-groups/Index.vue","frontend/src/views/community-materials/Index.vue","frontend/src/views/community-members/Index.vue","frontend/src/views/community-messages/Index.vue","frontend/src/views/community-points/Index.vue","frontend/src/views/community-tasks/Index.vue","frontend/src/views/consumer-behavior-analytics/Index.vue","frontend/src/views/content-creation/Index.vue","frontend/src/views/content-distribution/Index.vue","frontend/src/views/content-library/Detail.vue","frontend/src/views/content-templates/Index.vue","frontend/src/views/contract-templates/Index.vue","frontend/src/views/contracts/Form.vue","frontend/src/views/conversion-paths/Index.vue","frontend/src/views/cost-allocation/Index.vue","frontend/src/views/cpq/Index.vue","frontend/src/views/cross-domain-funnel/Index.vue","frontend/src/views/customer-health/Index.vue","frontend/src/views/customer-journey/Detail.vue","frontend/src/views/customer-marketing/Index.vue","frontend/src/views/customer-segmentation/Form.vue","frontend/src/views/departments/Detail.vue","frontend/src/views/departments/Index.vue","frontend/src/views/devices/Alerts.vue","frontend/src/views/devices/Form.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/dimension-transform/Index.vue","frontend/src/views/email-templates/Form.vue","frontend/src/views/email-templates/Index.vue","frontend/src/views/event-logs/Index.vue","frontend/src/views/expense-claims/Index.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/geo-pois/Index.vue","frontend/src/views/groupbuy-campaigns/Index.vue","frontend/src/views/groupbuy-inventory/Index.vue","frontend/src/views/groupbuy-orders/Index.vue","frontend/src/views/groupbuy-platforms/Index.vue","frontend/src/views/groupbuy-pricing/Index.vue","frontend/src/views/groupbuy-products/Index.vue","frontend/src/views/groupbuy-promotions/Index.vue","frontend/src/views/groupbuy-settlements/Index.vue","frontend/src/views/hr/attendance/components/AttendanceTab.vue","frontend/src/views/hr/attendance/components/HolidaysTab.vue","frontend/src/views/hr/attendance/components/LeavesTab.vue","frontend/src/views/hr/attendance/components/OvertimeTab.vue","frontend/src/views/hr/attendance/components/ShiftsTab.vue","frontend/src/views/hr/training/components/CertificatesTab.vue","frontend/src/views/hr/training/components/CompetencyTab.vue","frontend/src/views/hr/training/components/CoursesTab.vue","frontend/src/views/hr/training/components/ExamsTab.vue","frontend/src/views/hr/training/components/PlansTab.vue","frontend/src/views/hr/training/components/SessionsTab.vue","frontend/src/views/inventory/Counts.vue","frontend/src/views/inventory/Index.vue","frontend/src/views/inventory/Snapshots.vue","frontend/src/views/journey-orchestration/Form.vue","frontend/src/views/knowledge-feedback/Index.vue","frontend/src/views/lead-assignment/Form.vue","frontend/src/views/lead-pools/Form.vue","frontend/src/views/lead-pools/Index.vue","frontend/src/views/lead-qualification/Form.vue","frontend/src/views/lead-qualification/Index.vue","frontend/src/views/leads/Form.vue","frontend/src/views/leads/Index.vue","frontend/src/views/livestream-gifts/Index.vue","frontend/src/views/livestream-groupbuy-conversion/Index.vue","frontend/src/views/livestream-schedules/Index.vue","frontend/src/views/livestream-scripts/Index.vue","frontend/src/views/local-events/Index.vue","frontend/src/views/local-promotion/Index.vue","frontend/src/views/maintenance/Index.vue","frontend/src/views/maintenance/TaskDetail.vue","frontend/src/views/marketing-automation/Index.vue","frontend/src/views/marketing-effectiveness/Index.vue","frontend/src/views/marketing-north-star/Index.vue","frontend/src/views/marketing-tools/Detail.vue","frontend/src/views/marketing-tools/Index.vue","frontend/src/views/marketing/budget-alerts/Index.vue","frontend/src/views/mdm/Index.vue","frontend/src/views/member-benefits/Index.vue","frontend/src/views/member-levels/Index.vue","frontend/src/views/member-points/Index.vue","frontend/src/views/members/Index.vue","frontend/src/views/menus/Index.vue","frontend/src/views/notification-configs/Index.vue","frontend/src/views/notifications/Index.vue","frontend/src/views/omnichannel-dashboard/Index.vue","frontend/src/views/omnichannel-data-hub/Index.vue","frontend/src/views/opportunities/Form.vue","frontend/src/views/orders/Form.vue","frontend/src/views/orders/Index.vue","frontend/src/views/org-chart/Index.vue","frontend/src/views/partners/Detail.vue","frontend/src/views/payment-plans/Index.vue","frontend/src/views/pm/Index.vue","frontend/src/views/predictive-analytics/Form.vue","frontend/src/views/process-designer/Designer.vue","frontend/src/views/product-analytics/Index.vue","frontend/src/views/products/Index.vue","frontend/src/views/qr-codes/Index.vue","frontend/src/views/quotes/Form.vue","frontend/src/views/realtime-trigger/Form.vue","frontend/src/views/renewal-tasks/Index.vue","frontend/src/views/rfm-analysis/Detail.vue","frontend/src/views/rfm-analysis/Index.vue","frontend/src/views/roles/Index.vue","frontend/src/views/scheduled-jobs/Index.vue","frontend/src/views/segments/Index.vue","frontend/src/views/service-monitor/Index.vue","frontend/src/views/settings/Index.vue","frontend/src/views/social-accounts/Index.vue","frontend/src/views/social-auto-replies/Index.vue","frontend/src/views/social-competitors/Index.vue","frontend/src/views/social-matrix/Index.vue","frontend/src/views/social-posts/Detail.vue","frontend/src/views/social-posts/Index.vue","frontend/src/views/spare-parts/Index.vue","frontend/src/views/spare-parts/components/TransactionHistory.vue","frontend/src/views/stage-knowledge/Index.vue","frontend/src/views/store-configs/Index.vue","frontend/src/views/stores/Detail.vue","frontend/src/views/stores/Index.vue","frontend/src/views/supplier-payments/Index.vue","frontend/src/views/suppliers/Index.vue","frontend/src/views/system-events/Index.vue","frontend/src/views/system-monitor/Index.vue","frontend/src/views/system/AuditLogs.vue","frontend/src/views/tenant-configs/Index.vue","frontend/src/views/tickets/Form.vue","frontend/src/views/tickets/Index.vue","frontend/src/views/users/Index.vue","frontend/src/views/utm-tracking/Form.vue","frontend/src/views/video-publishing/Index.vue","frontend/src/views/web-tracking/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":1956552,"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":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-24T09:45:16+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
|
1774320341
|
1774320342
|
0
|
1774320340
|
1774320342
|
|
|
0
|
Edit
Delete
|
|
7663
|
feat: 四线并行治理 — Record清零+v-permission扩展+Redis缓存+as feat: 四线并行治理 — Record清零+v-permission扩展+Redis缓存+as any清理...
|
6
|
5
|
health-check.yml
|
7588
|
-2
|
130
|
refs/heads/main
|
dbf34b08bbb60650d15b0c55262dbfe8d0a3a655
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"8c39619c9cdb0d888d10942bf50533c8238021df","after":"dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/8c39619c9cdb0d888d10942bf50533c8238021df...dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","commits":[{"id":"dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","message":"feat: 四线并行治理 — Record清零+v-permission扩展+Redis缓存+as any清理\n\n## Line 1: Record\u003cstring,any\u003e 全前端清零 (637→0)\n- 262 个文件批量替换 Record\u003cstring, any\u003e → Record\u003cstring, unknown\u003e\n- 覆盖 API 模块层 137 文件 + 视图/stores/composables 100 文件\n\n## Line 2: v-permission 全面覆盖 (53→104 个视图文件)\n- 新增 51 个视图的 v-permission 指令\n- 覆盖: products/departments/contract-templates/spare-parts/pm/\n stage-knowledge/email-templates/approval-templates/ad-campaigns/\n groupbuy-*/community-*/alliance-*/livestream-*/social-*/content-*/\n geo-*/segments/lead-pools/bom/expense-claims/ap-ledger 等\n\n## Line 3: Redis 缓存扩展 (5→14 个缓存点, 10 个模块)\n- 新建 cache-utils.ts 统一缓存工具层 (withCache + invalidation)\n- 高优: tenant-configs(300s) + roles(1800s) + products(600s) +\n departments(600s) + sla(1800s) + contract-templates(600s)\n- 中优: price-books(600s) + notifications(300s)\n- 写后失效: 所有 create/update/delete 自动清除缓存\n\n## Line 4: as any 清理 (25处)\n- campaign-analytics.controller: 8→0 (精确查询类型)\n- social-interactions.service: 9→0 (Prisma UncheckedCreateInput)\n- store-staff.service: 6→0 (prismaModel 代理)\n- scheduled-jobs.consumer: 2→0 (直接使用已有类型)\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-24T10:14:13+08:00","added":["backend/src/shared/constants/events/common.ts","backend/src/shared/constants/events/finance.ts","backend/src/shared/constants/events/hr.ts","backend/src/shared/constants/events/im.ts","backend/src/shared/constants/events/index.ts","backend/src/shared/constants/events/knowledge.ts","backend/src/shared/constants/events/lifecycle.ts","backend/src/shared/constants/events/marketing.ts","backend/src/shared/constants/events/sales.ts","backend/src/shared/constants/events/service.ts","backend/src/shared/constants/events/store.ts","backend/src/shared/constants/events/supply_chain.ts","backend/src/shared/constants/events/system.ts","backend/src/shared/services/list-cache.service.ts","backend/src/shared/utils/cache-utils.ts"],"removed":[],"modified":["backend/src/consumers/attribution.consumer.ts","backend/src/consumers/campaign-effectiveness.consumer.ts","backend/src/consumers/marketing-workflow-executor.consumer.ts","backend/src/consumers/scheduled-jobs.consumer.ts","backend/src/modules/ai-agents/services/knowledge-vector-enhanced.service.ts","backend/src/modules/alliance-settlements/alliance-settlement.service.test.ts","backend/src/modules/campaign-analytics/campaign-analytics.controller.ts","backend/src/modules/contract-templates/contract-template.service.ts","backend/src/modules/contracts/contract.controller.ts","backend/src/modules/contracts/contract.routes.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/customers/customer.service.ts","backend/src/modules/departments/department.service.test.ts","backend/src/modules/departments/department.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/leads/lead-sla.service.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-interactions/livestream-realtime.service.ts","backend/src/modules/marketing-automation/workflow-trigger.service.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.controller.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.routes.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.service.ts","backend/src/modules/notifications/notification.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/payments/payment.service.test.ts","backend/src/modules/price-books/price-book.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/roles/role.service.ts","backend/src/modules/segments/segment.service.ts","backend/src/modules/sla/sla.service.ts","backend/src/modules/social-interactions/social-interactions.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/tenant-configs/tenant-config.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/constants/events.ts","backend/src/shared/services/partition-maintenance.service.ts","backend/src/shared/state-machines/machines/contract.machine.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/state-machines/types.ts","backend/src/shared/state-machines/utils/transitions/sales.transitions.ts","backend/src/shared/utils/biz-code.ts","frontend/src/api/adapters.ts","frontend/src/api/im-binding.ts","frontend/src/api/modules/ad-accounts.ts","frontend/src/api/modules/ad-audiences.ts","frontend/src/api/modules/ad-creatives.ts","frontend/src/api/modules/ad-placement.ts","frontend/src/api/modules/ad-reports.ts","frontend/src/api/modules/agent-group.ts","frontend/src/api/modules/ai-agent.ts","frontend/src/api/modules/alliance-analytics.ts","frontend/src/api/modules/alliance-merchants.ts","frontend/src/api/modules/alliance-products.ts","frontend/src/api/modules/alliance-promotions.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/analytics.ts","frontend/src/api/modules/approvals.ts","frontend/src/api/modules/assets.ts","frontend/src/api/modules/attribution.ts","frontend/src/api/modules/audit-logs.ts","frontend/src/api/modules/campaign-drafts.ts","frontend/src/api/modules/campaign-library.ts","frontend/src/api/modules/campaign-targets.ts","frontend/src/api/modules/campaign-tools.ts","frontend/src/api/modules/campaign-use-case-templates.ts","frontend/src/api/modules/campaign-wizard.ts","frontend/src/api/modules/campaigns.ts","frontend/src/api/modules/cohort-analysis.ts","frontend/src/api/modules/commissions.ts","frontend/src/api/modules/community-activities.ts","frontend/src/api/modules/community-analytics.ts","frontend/src/api/modules/community-bots.ts","frontend/src/api/modules/community-groups.ts","frontend/src/api/modules/community-levels.ts","frontend/src/api/modules/community-members.ts","frontend/src/api/modules/community-messages.ts","frontend/src/api/modules/community-points.ts","frontend/src/api/modules/consumer-behavior-analytics.ts","frontend/src/api/modules/content-categories.ts","frontend/src/api/modules/content-copyright.ts","frontend/src/api/modules/content-creation.ts","frontend/src/api/modules/content-distribution.ts","frontend/src/api/modules/content-library.ts","frontend/src/api/modules/content-templates.ts","frontend/src/api/modules/contract-templates.ts","frontend/src/api/modules/cpq.ts","frontend/src/api/modules/cross-domain-funnel.ts","frontend/src/api/modules/customer-analytics.ts","frontend/src/api/modules/customer-health.ts","frontend/src/api/modules/customer-journey.ts","frontend/src/api/modules/customer-ltv.ts","frontend/src/api/modules/customer-marketing.ts","frontend/src/api/modules/customer-segmentation.ts","frontend/src/api/modules/devices.ts","frontend/src/api/modules/dictionaries.ts","frontend/src/api/modules/dimension-transform.ts","frontend/src/api/modules/email-marketing.ts","frontend/src/api/modules/email-templates.ts","frontend/src/api/modules/event-logs.ts","frontend/src/api/modules/events.ts","frontend/src/api/modules/expense.ts","frontend/src/api/modules/financial-reports.ts","frontend/src/api/modules/fulfillment.ts","frontend/src/api/modules/geo-fences.ts","frontend/src/api/modules/geo-pois.ts","frontend/src/api/modules/groupbuy-analytics.ts","frontend/src/api/modules/groupbuy-campaigns.ts","frontend/src/api/modules/groupbuy-platforms.ts","frontend/src/api/modules/groupbuy-pricing.ts","frontend/src/api/modules/groupbuy-products.ts","frontend/src/api/modules/groupbuy-settlements.ts","frontend/src/api/modules/hr-benefits.ts","frontend/src/api/modules/hr-payroll.ts","frontend/src/api/modules/im-channels.ts","frontend/src/api/modules/im.ts","frontend/src/api/modules/integration-services.ts","frontend/src/api/modules/intent-analyzer.ts","frontend/src/api/modules/journey-orchestration.ts","frontend/src/api/modules/knowledge-candidates.ts","frontend/src/api/modules/knowledge-capture.ts","frontend/src/api/modules/landing-pages.ts","frontend/src/api/modules/lead-scoring-ai.ts","frontend/src/api/modules/livestream-groupbuy-conversion.ts","frontend/src/api/modules/livestream-groupbuy.ts","frontend/src/api/modules/livestream-interactions.ts","frontend/src/api/modules/livestream-rooms.ts","frontend/src/api/modules/livestream-schedules.ts","frontend/src/api/modules/livestream.ts","frontend/src/api/modules/location-assessments.ts","frontend/src/api/modules/login-logs.ts","frontend/src/api/modules/maintenance.ts","frontend/src/api/modules/marketing-automation.ts","frontend/src/api/modules/marketing-calendar.ts","frontend/src/api/modules/marketing-chatbot.ts","frontend/src/api/modules/marketing-content.ts","frontend/src/api/modules/marketing-forms.ts","frontend/src/api/modules/marketing-matrix.ts","frontend/src/api/modules/marketing-north-star.ts","frontend/src/api/modules/marketing-timeslots.ts","frontend/src/api/modules/marketing.ts","frontend/src/api/modules/omnichannel-dashboard.ts","frontend/src/api/modules/omnichannel-data-hub.ts","frontend/src/api/modules/omnichannel-touchpoints.ts","frontend/src/api/modules/operation-logs.ts","frontend/src/api/modules/opportunities.ts","frontend/src/api/modules/predictive-analytics.ts","frontend/src/api/modules/process-designer.ts","frontend/src/api/modules/process.ts","frontend/src/api/modules/products.ts","frontend/src/api/modules/realtime-trigger.ts","frontend/src/api/modules/reports.ts","frontend/src/api/modules/resource-requests.ts","frontend/src/api/modules/revenue.ts","frontend/src/api/modules/rfm-analysis.ts","frontend/src/api/modules/rma.ts","frontend/src/api/modules/satisfaction.ts","frontend/src/api/modules/scheduled-jobs.ts","frontend/src/api/modules/search.ts","frontend/src/api/modules/segments.ts","frontend/src/api/modules/service-monitor.ts","frontend/src/api/modules/sms-marketing.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/api/modules/social-auto-replies.ts","frontend/src/api/modules/social-competitors.ts","frontend/src/api/modules/social-hot-topics.ts","frontend/src/api/modules/social-interactions.ts","frontend/src/api/modules/spare-parts.ts","frontend/src/api/modules/store-performance.ts","frontend/src/api/modules/stores.ts","frontend/src/api/modules/supplier-management.ts","frontend/src/api/modules/swot-analyses.ts","frontend/src/api/modules/system-events.ts","frontend/src/api/modules/ticket-workflows.ts","frontend/src/api/modules/tickets.ts","frontend/src/api/modules/tob-toc-gateway.ts","frontend/src/api/modules/unified-campaign.ts","frontend/src/api/modules/web-tracking.ts","frontend/src/api/modules/workflow-generator.ts","frontend/src/api/response-normalizer.ts","frontend/src/components/business/ActivityTimeline.vue","frontend/src/components/business/EventStreamPanel.vue","frontend/src/components/business/IMPanel.vue","frontend/src/components/common/DataTable.vue","frontend/src/components/common/ResponsiveDataTable.vue","frontend/src/components/mobile/MobileFilter.vue","frontend/src/components/responsive/ResponsiveFilterBar.vue","frontend/src/types/ai-agent.ts","frontend/src/utils/echarts.ts","frontend/src/views/__tests__/standard-crud-smoke.helper.ts","frontend/src/views/abm-marketing/Index.vue","frontend/src/views/acquisition/Index.vue","frontend/src/views/ad-accounts/Form.vue","frontend/src/views/ad-accounts/Index.vue","frontend/src/views/ad-analytics/Index.vue","frontend/src/views/ad-campaigns/Index.vue","frontend/src/views/ad-creatives/Index.vue","frontend/src/views/ad-placement/ABTests.vue","frontend/src/views/ad-placement/AudiencePacks.vue","frontend/src/views/ad-placement/BudgetAlerts.vue","frontend/src/views/ad-placement/Creatives.vue","frontend/src/views/ad-placement/Index.vue","frontend/src/views/ad-placement/RoiAnalysis.vue","frontend/src/views/alliance-agreements/Index.vue","frontend/src/views/alliance-campaigns/Index.vue","frontend/src/views/alliance-coupons/Index.vue","frontend/src/views/alliance-packages/Index.vue","frontend/src/views/alliance-partners/Index.vue","frontend/src/views/alliance-products/Index.vue","frontend/src/views/analytics/roi/Index.vue","frontend/src/views/ap-ledger/Index.vue","frontend/src/views/approval-configs/Form.vue","frontend/src/views/approval-configs/Index.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/approval-templates/Index.vue","frontend/src/views/attribution/Index.vue","frontend/src/views/auth/Index.vue","frontend/src/views/bom/Index.vue","frontend/src/views/campaign-analytics/Index.vue","frontend/src/views/campaign-library/Index.vue","frontend/src/views/campaign-targets/Index.vue","frontend/src/views/campaign-tools/Index.vue","frontend/src/views/campaigns/Detail.vue","frontend/src/views/campaigns/Index.vue","frontend/src/views/campaigns/components/ToolConfigDialog.vue","frontend/src/views/campaigns/wizard/Step3Tools.vue","frontend/src/views/campaigns/wizard/Step4BasicInfo.vue","frontend/src/views/campaigns/wizard/Step7Review.vue","frontend/src/views/campaigns/wizard/components/ToolConfigForms.vue","frontend/src/views/channel-analytics/Index.vue","frontend/src/views/community-bots/Index.vue","frontend/src/views/community-fission/Index.vue","frontend/src/views/community-groups/Index.vue","frontend/src/views/community-materials/Index.vue","frontend/src/views/community-members/Index.vue","frontend/src/views/community-messages/Index.vue","frontend/src/views/community-points/Index.vue","frontend/src/views/community-tasks/Index.vue","frontend/src/views/consumer-behavior-analytics/Index.vue","frontend/src/views/content-creation/Index.vue","frontend/src/views/content-distribution/Index.vue","frontend/src/views/content-library/Detail.vue","frontend/src/views/content-templates/Index.vue","frontend/src/views/contract-templates/Index.vue","frontend/src/views/contracts/Form.vue","frontend/src/views/conversion-paths/Index.vue","frontend/src/views/cost-allocation/Index.vue","frontend/src/views/cpq/Index.vue","frontend/src/views/cross-domain-funnel/Index.vue","frontend/src/views/customer-health/Index.vue","frontend/src/views/customer-journey/Detail.vue","frontend/src/views/customer-marketing/Index.vue","frontend/src/views/customer-segmentation/Form.vue","frontend/src/views/departments/Detail.vue","frontend/src/views/departments/Index.vue","frontend/src/views/devices/Alerts.vue","frontend/src/views/devices/Form.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/dimension-transform/Index.vue","frontend/src/views/email-templates/Form.vue","frontend/src/views/email-templates/Index.vue","frontend/src/views/event-logs/Index.vue","frontend/src/views/expense-claims/Index.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/geo-pois/Index.vue","frontend/src/views/groupbuy-campaigns/Index.vue","frontend/src/views/groupbuy-inventory/Index.vue","frontend/src/views/groupbuy-orders/Index.vue","frontend/src/views/groupbuy-platforms/Index.vue","frontend/src/views/groupbuy-pricing/Index.vue","frontend/src/views/groupbuy-products/Index.vue","frontend/src/views/groupbuy-promotions/Index.vue","frontend/src/views/groupbuy-settlements/Index.vue","frontend/src/views/hr/attendance/components/AttendanceTab.vue","frontend/src/views/hr/attendance/components/HolidaysTab.vue","frontend/src/views/hr/attendance/components/LeavesTab.vue","frontend/src/views/hr/attendance/components/OvertimeTab.vue","frontend/src/views/hr/attendance/components/ShiftsTab.vue","frontend/src/views/hr/training/components/CertificatesTab.vue","frontend/src/views/hr/training/components/CompetencyTab.vue","frontend/src/views/hr/training/components/CoursesTab.vue","frontend/src/views/hr/training/components/ExamsTab.vue","frontend/src/views/hr/training/components/PlansTab.vue","frontend/src/views/hr/training/components/SessionsTab.vue","frontend/src/views/inventory/Counts.vue","frontend/src/views/inventory/Index.vue","frontend/src/views/inventory/Snapshots.vue","frontend/src/views/journey-orchestration/Form.vue","frontend/src/views/knowledge-feedback/Index.vue","frontend/src/views/lead-assignment/Form.vue","frontend/src/views/lead-pools/Form.vue","frontend/src/views/lead-pools/Index.vue","frontend/src/views/lead-qualification/Form.vue","frontend/src/views/lead-qualification/Index.vue","frontend/src/views/leads/Form.vue","frontend/src/views/leads/Index.vue","frontend/src/views/livestream-gifts/Index.vue","frontend/src/views/livestream-groupbuy-conversion/Index.vue","frontend/src/views/livestream-schedules/Index.vue","frontend/src/views/livestream-scripts/Index.vue","frontend/src/views/local-events/Index.vue","frontend/src/views/local-promotion/Index.vue","frontend/src/views/maintenance/Index.vue","frontend/src/views/maintenance/TaskDetail.vue","frontend/src/views/marketing-automation/Index.vue","frontend/src/views/marketing-effectiveness/Index.vue","frontend/src/views/marketing-north-star/Index.vue","frontend/src/views/marketing-tools/Detail.vue","frontend/src/views/marketing-tools/Index.vue","frontend/src/views/marketing/budget-alerts/Index.vue","frontend/src/views/mdm/Index.vue","frontend/src/views/member-benefits/Index.vue","frontend/src/views/member-levels/Index.vue","frontend/src/views/member-points/Index.vue","frontend/src/views/members/Index.vue","frontend/src/views/menus/Index.vue","frontend/src/views/notification-configs/Index.vue","frontend/src/views/notifications/Index.vue","frontend/src/views/omnichannel-dashboard/Index.vue","frontend/src/views/omnichannel-data-hub/Index.vue","frontend/src/views/opportunities/Form.vue","frontend/src/views/orders/Form.vue","frontend/src/views/orders/Index.vue","frontend/src/views/org-chart/Index.vue","frontend/src/views/partners/Detail.vue","frontend/src/views/payment-plans/Index.vue","frontend/src/views/pm/Index.vue","frontend/src/views/predictive-analytics/Form.vue","frontend/src/views/process-designer/Designer.vue","frontend/src/views/product-analytics/Index.vue","frontend/src/views/products/Index.vue","frontend/src/views/qr-codes/Index.vue","frontend/src/views/quotes/Form.vue","frontend/src/views/realtime-trigger/Form.vue","frontend/src/views/renewal-tasks/Index.vue","frontend/src/views/rfm-analysis/Detail.vue","frontend/src/views/rfm-analysis/Index.vue","frontend/src/views/roles/Index.vue","frontend/src/views/scheduled-jobs/Index.vue","frontend/src/views/segments/Index.vue","frontend/src/views/service-monitor/Index.vue","frontend/src/views/settings/Index.vue","frontend/src/views/social-accounts/Index.vue","frontend/src/views/social-auto-replies/Index.vue","frontend/src/views/social-competitors/Index.vue","frontend/src/views/social-matrix/Index.vue","frontend/src/views/social-posts/Detail.vue","frontend/src/views/social-posts/Index.vue","frontend/src/views/spare-parts/Index.vue","frontend/src/views/spare-parts/components/TransactionHistory.vue","frontend/src/views/stage-knowledge/Index.vue","frontend/src/views/store-configs/Index.vue","frontend/src/views/stores/Detail.vue","frontend/src/views/stores/Index.vue","frontend/src/views/supplier-payments/Index.vue","frontend/src/views/suppliers/Index.vue","frontend/src/views/system-events/Index.vue","frontend/src/views/system-monitor/Index.vue","frontend/src/views/system/AuditLogs.vue","frontend/src/views/tenant-configs/Index.vue","frontend/src/views/tickets/Form.vue","frontend/src/views/tickets/Index.vue","frontend/src/views/users/Index.vue","frontend/src/views/utm-tracking/Form.vue","frontend/src/views/video-publishing/Index.vue","frontend/src/views/web-tracking/Index.vue"]}],"total_commits":0,"head_commit":{"id":"dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","message":"feat: 四线并行治理 — Record清零+v-permission扩展+Redis缓存+as any清理\n\n## Line 1: Record\u003cstring,any\u003e 全前端清零 (637→0)\n- 262 个文件批量替换 Record\u003cstring, any\u003e → Record\u003cstring, unknown\u003e\n- 覆盖 API 模块层 137 文件 + 视图/stores/composables 100 文件\n\n## Line 2: v-permission 全面覆盖 (53→104 个视图文件)\n- 新增 51 个视图的 v-permission 指令\n- 覆盖: products/departments/contract-templates/spare-parts/pm/\n stage-knowledge/email-templates/approval-templates/ad-campaigns/\n groupbuy-*/community-*/alliance-*/livestream-*/social-*/content-*/\n geo-*/segments/lead-pools/bom/expense-claims/ap-ledger 等\n\n## Line 3: Redis 缓存扩展 (5→14 个缓存点, 10 个模块)\n- 新建 cache-utils.ts 统一缓存工具层 (withCache + invalidation)\n- 高优: tenant-configs(300s) + roles(1800s) + products(600s) +\n departments(600s) + sla(1800s) + contract-templates(600s)\n- 中优: price-books(600s) + notifications(300s)\n- 写后失效: 所有 create/update/delete 自动清除缓存\n\n## Line 4: as any 清理 (25处)\n- campaign-analytics.controller: 8→0 (精确查询类型)\n- social-interactions.service: 9→0 (Prisma UncheckedCreateInput)\n- store-staff.service: 6→0 (prismaModel 代理)\n- scheduled-jobs.consumer: 2→0 (直接使用已有类型)\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-24T10:14:13+08:00","added":["backend/src/shared/constants/events/common.ts","backend/src/shared/constants/events/finance.ts","backend/src/shared/constants/events/hr.ts","backend/src/shared/constants/events/im.ts","backend/src/shared/constants/events/index.ts","backend/src/shared/constants/events/knowledge.ts","backend/src/shared/constants/events/lifecycle.ts","backend/src/shared/constants/events/marketing.ts","backend/src/shared/constants/events/sales.ts","backend/src/shared/constants/events/service.ts","backend/src/shared/constants/events/store.ts","backend/src/shared/constants/events/supply_chain.ts","backend/src/shared/constants/events/system.ts","backend/src/shared/services/list-cache.service.ts","backend/src/shared/utils/cache-utils.ts"],"removed":[],"modified":["backend/src/consumers/attribution.consumer.ts","backend/src/consumers/campaign-effectiveness.consumer.ts","backend/src/consumers/marketing-workflow-executor.consumer.ts","backend/src/consumers/scheduled-jobs.consumer.ts","backend/src/modules/ai-agents/services/knowledge-vector-enhanced.service.ts","backend/src/modules/alliance-settlements/alliance-settlement.service.test.ts","backend/src/modules/campaign-analytics/campaign-analytics.controller.ts","backend/src/modules/contract-templates/contract-template.service.ts","backend/src/modules/contracts/contract.controller.ts","backend/src/modules/contracts/contract.routes.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/customers/customer.service.ts","backend/src/modules/departments/department.service.test.ts","backend/src/modules/departments/department.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/leads/lead-sla.service.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-interactions/livestream-realtime.service.ts","backend/src/modules/marketing-automation/workflow-trigger.service.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.controller.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.routes.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.service.ts","backend/src/modules/notifications/notification.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/payments/payment.service.test.ts","backend/src/modules/price-books/price-book.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/roles/role.service.ts","backend/src/modules/segments/segment.service.ts","backend/src/modules/sla/sla.service.ts","backend/src/modules/social-interactions/social-interactions.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/tenant-configs/tenant-config.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/constants/events.ts","backend/src/shared/services/partition-maintenance.service.ts","backend/src/shared/state-machines/machines/contract.machine.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/state-machines/types.ts","backend/src/shared/state-machines/utils/transitions/sales.transitions.ts","backend/src/shared/utils/biz-code.ts","frontend/src/api/adapters.ts","frontend/src/api/im-binding.ts","frontend/src/api/modules/ad-accounts.ts","frontend/src/api/modules/ad-audiences.ts","frontend/src/api/modules/ad-creatives.ts","frontend/src/api/modules/ad-placement.ts","frontend/src/api/modules/ad-reports.ts","frontend/src/api/modules/agent-group.ts","frontend/src/api/modules/ai-agent.ts","frontend/src/api/modules/alliance-analytics.ts","frontend/src/api/modules/alliance-merchants.ts","frontend/src/api/modules/alliance-products.ts","frontend/src/api/modules/alliance-promotions.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/analytics.ts","frontend/src/api/modules/approvals.ts","frontend/src/api/modules/assets.ts","frontend/src/api/modules/attribution.ts","frontend/src/api/modules/audit-logs.ts","frontend/src/api/modules/campaign-drafts.ts","frontend/src/api/modules/campaign-library.ts","frontend/src/api/modules/campaign-targets.ts","frontend/src/api/modules/campaign-tools.ts","frontend/src/api/modules/campaign-use-case-templates.ts","frontend/src/api/modules/campaign-wizard.ts","frontend/src/api/modules/campaigns.ts","frontend/src/api/modules/cohort-analysis.ts","frontend/src/api/modules/commissions.ts","frontend/src/api/modules/community-activities.ts","frontend/src/api/modules/community-analytics.ts","frontend/src/api/modules/community-bots.ts","frontend/src/api/modules/community-groups.ts","frontend/src/api/modules/community-levels.ts","frontend/src/api/modules/community-members.ts","frontend/src/api/modules/community-messages.ts","frontend/src/api/modules/community-points.ts","frontend/src/api/modules/consumer-behavior-analytics.ts","frontend/src/api/modules/content-categories.ts","frontend/src/api/modules/content-copyright.ts","frontend/src/api/modules/content-creation.ts","frontend/src/api/modules/content-distribution.ts","frontend/src/api/modules/content-library.ts","frontend/src/api/modules/content-templates.ts","frontend/src/api/modules/contract-templates.ts","frontend/src/api/modules/cpq.ts","frontend/src/api/modules/cross-domain-funnel.ts","frontend/src/api/modules/customer-analytics.ts","frontend/src/api/modules/customer-health.ts","frontend/src/api/modules/customer-journey.ts","frontend/src/api/modules/customer-ltv.ts","frontend/src/api/modules/customer-marketing.ts","frontend/src/api/modules/customer-segmentation.ts","frontend/src/api/modules/devices.ts","frontend/src/api/modules/dictionaries.ts","frontend/src/api/modules/dimension-transform.ts","frontend/src/api/modules/email-marketing.ts","frontend/src/api/modules/email-templates.ts","frontend/src/api/modules/event-logs.ts","frontend/src/api/modules/events.ts","frontend/src/api/modules/expense.ts","frontend/src/api/modules/financial-reports.ts","frontend/src/api/modules/fulfillment.ts","frontend/src/api/modules/geo-fences.ts","frontend/src/api/modules/geo-pois.ts","frontend/src/api/modules/groupbuy-analytics.ts","frontend/src/api/modules/groupbuy-campaigns.ts","frontend/src/api/modules/groupbuy-platforms.ts","frontend/src/api/modules/groupbuy-pricing.ts","frontend/src/api/modules/groupbuy-products.ts","frontend/src/api/modules/groupbuy-settlements.ts","frontend/src/api/modules/hr-benefits.ts","frontend/src/api/modules/hr-payroll.ts","frontend/src/api/modules/im-channels.ts","frontend/src/api/modules/im.ts","frontend/src/api/modules/integration-services.ts","frontend/src/api/modules/intent-analyzer.ts","frontend/src/api/modules/journey-orchestration.ts","frontend/src/api/modules/knowledge-candidates.ts","frontend/src/api/modules/knowledge-capture.ts","frontend/src/api/modules/landing-pages.ts","frontend/src/api/modules/lead-scoring-ai.ts","frontend/src/api/modules/livestream-groupbuy-conversion.ts","frontend/src/api/modules/livestream-groupbuy.ts","frontend/src/api/modules/livestream-interactions.ts","frontend/src/api/modules/livestream-rooms.ts","frontend/src/api/modules/livestream-schedules.ts","frontend/src/api/modules/livestream.ts","frontend/src/api/modules/location-assessments.ts","frontend/src/api/modules/login-logs.ts","frontend/src/api/modules/maintenance.ts","frontend/src/api/modules/marketing-automation.ts","frontend/src/api/modules/marketing-calendar.ts","frontend/src/api/modules/marketing-chatbot.ts","frontend/src/api/modules/marketing-content.ts","frontend/src/api/modules/marketing-forms.ts","frontend/src/api/modules/marketing-matrix.ts","frontend/src/api/modules/marketing-north-star.ts","frontend/src/api/modules/marketing-timeslots.ts","frontend/src/api/modules/marketing.ts","frontend/src/api/modules/omnichannel-dashboard.ts","frontend/src/api/modules/omnichannel-data-hub.ts","frontend/src/api/modules/omnichannel-touchpoints.ts","frontend/src/api/modules/operation-logs.ts","frontend/src/api/modules/opportunities.ts","frontend/src/api/modules/predictive-analytics.ts","frontend/src/api/modules/process-designer.ts","frontend/src/api/modules/process.ts","frontend/src/api/modules/products.ts","frontend/src/api/modules/realtime-trigger.ts","frontend/src/api/modules/reports.ts","frontend/src/api/modules/resource-requests.ts","frontend/src/api/modules/revenue.ts","frontend/src/api/modules/rfm-analysis.ts","frontend/src/api/modules/rma.ts","frontend/src/api/modules/satisfaction.ts","frontend/src/api/modules/scheduled-jobs.ts","frontend/src/api/modules/search.ts","frontend/src/api/modules/segments.ts","frontend/src/api/modules/service-monitor.ts","frontend/src/api/modules/sms-marketing.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/api/modules/social-auto-replies.ts","frontend/src/api/modules/social-competitors.ts","frontend/src/api/modules/social-hot-topics.ts","frontend/src/api/modules/social-interactions.ts","frontend/src/api/modules/spare-parts.ts","frontend/src/api/modules/store-performance.ts","frontend/src/api/modules/stores.ts","frontend/src/api/modules/supplier-management.ts","frontend/src/api/modules/swot-analyses.ts","frontend/src/api/modules/system-events.ts","frontend/src/api/modules/ticket-workflows.ts","frontend/src/api/modules/tickets.ts","frontend/src/api/modules/tob-toc-gateway.ts","frontend/src/api/modules/unified-campaign.ts","frontend/src/api/modules/web-tracking.ts","frontend/src/api/modules/workflow-generator.ts","frontend/src/api/response-normalizer.ts","frontend/src/components/business/ActivityTimeline.vue","frontend/src/components/business/EventStreamPanel.vue","frontend/src/components/business/IMPanel.vue","frontend/src/components/common/DataTable.vue","frontend/src/components/common/ResponsiveDataTable.vue","frontend/src/components/mobile/MobileFilter.vue","frontend/src/components/responsive/ResponsiveFilterBar.vue","frontend/src/types/ai-agent.ts","frontend/src/utils/echarts.ts","frontend/src/views/__tests__/standard-crud-smoke.helper.ts","frontend/src/views/abm-marketing/Index.vue","frontend/src/views/acquisition/Index.vue","frontend/src/views/ad-accounts/Form.vue","frontend/src/views/ad-accounts/Index.vue","frontend/src/views/ad-analytics/Index.vue","frontend/src/views/ad-campaigns/Index.vue","frontend/src/views/ad-creatives/Index.vue","frontend/src/views/ad-placement/ABTests.vue","frontend/src/views/ad-placement/AudiencePacks.vue","frontend/src/views/ad-placement/BudgetAlerts.vue","frontend/src/views/ad-placement/Creatives.vue","frontend/src/views/ad-placement/Index.vue","frontend/src/views/ad-placement/RoiAnalysis.vue","frontend/src/views/alliance-agreements/Index.vue","frontend/src/views/alliance-campaigns/Index.vue","frontend/src/views/alliance-coupons/Index.vue","frontend/src/views/alliance-packages/Index.vue","frontend/src/views/alliance-partners/Index.vue","frontend/src/views/alliance-products/Index.vue","frontend/src/views/analytics/roi/Index.vue","frontend/src/views/ap-ledger/Index.vue","frontend/src/views/approval-configs/Form.vue","frontend/src/views/approval-configs/Index.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/approval-templates/Index.vue","frontend/src/views/attribution/Index.vue","frontend/src/views/auth/Index.vue","frontend/src/views/bom/Index.vue","frontend/src/views/campaign-analytics/Index.vue","frontend/src/views/campaign-library/Index.vue","frontend/src/views/campaign-targets/Index.vue","frontend/src/views/campaign-tools/Index.vue","frontend/src/views/campaigns/Detail.vue","frontend/src/views/campaigns/Index.vue","frontend/src/views/campaigns/components/ToolConfigDialog.vue","frontend/src/views/campaigns/wizard/Step3Tools.vue","frontend/src/views/campaigns/wizard/Step4BasicInfo.vue","frontend/src/views/campaigns/wizard/Step7Review.vue","frontend/src/views/campaigns/wizard/components/ToolConfigForms.vue","frontend/src/views/channel-analytics/Index.vue","frontend/src/views/community-bots/Index.vue","frontend/src/views/community-fission/Index.vue","frontend/src/views/community-groups/Index.vue","frontend/src/views/community-materials/Index.vue","frontend/src/views/community-members/Index.vue","frontend/src/views/community-messages/Index.vue","frontend/src/views/community-points/Index.vue","frontend/src/views/community-tasks/Index.vue","frontend/src/views/consumer-behavior-analytics/Index.vue","frontend/src/views/content-creation/Index.vue","frontend/src/views/content-distribution/Index.vue","frontend/src/views/content-library/Detail.vue","frontend/src/views/content-templates/Index.vue","frontend/src/views/contract-templates/Index.vue","frontend/src/views/contracts/Form.vue","frontend/src/views/conversion-paths/Index.vue","frontend/src/views/cost-allocation/Index.vue","frontend/src/views/cpq/Index.vue","frontend/src/views/cross-domain-funnel/Index.vue","frontend/src/views/customer-health/Index.vue","frontend/src/views/customer-journey/Detail.vue","frontend/src/views/customer-marketing/Index.vue","frontend/src/views/customer-segmentation/Form.vue","frontend/src/views/departments/Detail.vue","frontend/src/views/departments/Index.vue","frontend/src/views/devices/Alerts.vue","frontend/src/views/devices/Form.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/dimension-transform/Index.vue","frontend/src/views/email-templates/Form.vue","frontend/src/views/email-templates/Index.vue","frontend/src/views/event-logs/Index.vue","frontend/src/views/expense-claims/Index.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/geo-pois/Index.vue","frontend/src/views/groupbuy-campaigns/Index.vue","frontend/src/views/groupbuy-inventory/Index.vue","frontend/src/views/groupbuy-orders/Index.vue","frontend/src/views/groupbuy-platforms/Index.vue","frontend/src/views/groupbuy-pricing/Index.vue","frontend/src/views/groupbuy-products/Index.vue","frontend/src/views/groupbuy-promotions/Index.vue","frontend/src/views/groupbuy-settlements/Index.vue","frontend/src/views/hr/attendance/components/AttendanceTab.vue","frontend/src/views/hr/attendance/components/HolidaysTab.vue","frontend/src/views/hr/attendance/components/LeavesTab.vue","frontend/src/views/hr/attendance/components/OvertimeTab.vue","frontend/src/views/hr/attendance/components/ShiftsTab.vue","frontend/src/views/hr/training/components/CertificatesTab.vue","frontend/src/views/hr/training/components/CompetencyTab.vue","frontend/src/views/hr/training/components/CoursesTab.vue","frontend/src/views/hr/training/components/ExamsTab.vue","frontend/src/views/hr/training/components/PlansTab.vue","frontend/src/views/hr/training/components/SessionsTab.vue","frontend/src/views/inventory/Counts.vue","frontend/src/views/inventory/Index.vue","frontend/src/views/inventory/Snapshots.vue","frontend/src/views/journey-orchestration/Form.vue","frontend/src/views/knowledge-feedback/Index.vue","frontend/src/views/lead-assignment/Form.vue","frontend/src/views/lead-pools/Form.vue","frontend/src/views/lead-pools/Index.vue","frontend/src/views/lead-qualification/Form.vue","frontend/src/views/lead-qualification/Index.vue","frontend/src/views/leads/Form.vue","frontend/src/views/leads/Index.vue","frontend/src/views/livestream-gifts/Index.vue","frontend/src/views/livestream-groupbuy-conversion/Index.vue","frontend/src/views/livestream-schedules/Index.vue","frontend/src/views/livestream-scripts/Index.vue","frontend/src/views/local-events/Index.vue","frontend/src/views/local-promotion/Index.vue","frontend/src/views/maintenance/Index.vue","frontend/src/views/maintenance/TaskDetail.vue","frontend/src/views/marketing-automation/Index.vue","frontend/src/views/marketing-effectiveness/Index.vue","frontend/src/views/marketing-north-star/Index.vue","frontend/src/views/marketing-tools/Detail.vue","frontend/src/views/marketing-tools/Index.vue","frontend/src/views/marketing/budget-alerts/Index.vue","frontend/src/views/mdm/Index.vue","frontend/src/views/member-benefits/Index.vue","frontend/src/views/member-levels/Index.vue","frontend/src/views/member-points/Index.vue","frontend/src/views/members/Index.vue","frontend/src/views/menus/Index.vue","frontend/src/views/notification-configs/Index.vue","frontend/src/views/notifications/Index.vue","frontend/src/views/omnichannel-dashboard/Index.vue","frontend/src/views/omnichannel-data-hub/Index.vue","frontend/src/views/opportunities/Form.vue","frontend/src/views/orders/Form.vue","frontend/src/views/orders/Index.vue","frontend/src/views/org-chart/Index.vue","frontend/src/views/partners/Detail.vue","frontend/src/views/payment-plans/Index.vue","frontend/src/views/pm/Index.vue","frontend/src/views/predictive-analytics/Form.vue","frontend/src/views/process-designer/Designer.vue","frontend/src/views/product-analytics/Index.vue","frontend/src/views/products/Index.vue","frontend/src/views/qr-codes/Index.vue","frontend/src/views/quotes/Form.vue","frontend/src/views/realtime-trigger/Form.vue","frontend/src/views/renewal-tasks/Index.vue","frontend/src/views/rfm-analysis/Detail.vue","frontend/src/views/rfm-analysis/Index.vue","frontend/src/views/roles/Index.vue","frontend/src/views/scheduled-jobs/Index.vue","frontend/src/views/segments/Index.vue","frontend/src/views/service-monitor/Index.vue","frontend/src/views/settings/Index.vue","frontend/src/views/social-accounts/Index.vue","frontend/src/views/social-auto-replies/Index.vue","frontend/src/views/social-competitors/Index.vue","frontend/src/views/social-matrix/Index.vue","frontend/src/views/social-posts/Detail.vue","frontend/src/views/social-posts/Index.vue","frontend/src/views/spare-parts/Index.vue","frontend/src/views/spare-parts/components/TransactionHistory.vue","frontend/src/views/stage-knowledge/Index.vue","frontend/src/views/store-configs/Index.vue","frontend/src/views/stores/Detail.vue","frontend/src/views/stores/Index.vue","frontend/src/views/supplier-payments/Index.vue","frontend/src/views/suppliers/Index.vue","frontend/src/views/system-events/Index.vue","frontend/src/views/system-monitor/Index.vue","frontend/src/views/system/AuditLogs.vue","frontend/src/views/tenant-configs/Index.vue","frontend/src/views/tickets/Form.vue","frontend/src/views/tickets/Index.vue","frontend/src/views/users/Index.vue","frontend/src/views/utm-tracking/Form.vue","frontend/src/views/video-publishing/Index.vue","frontend/src/views/web-tracking/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":1956552,"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":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-24T09:45:16+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
|
1774320641
|
1774320642
|
0
|
1774320640
|
1774320642
|
|
|
0
|
Edit
Delete
|
|
7664
|
feat: 四线并行治理 — Record清零+v-permission扩展+Redis缓存+as feat: 四线并行治理 — Record清零+v-permission扩展+Redis缓存+as any清理...
|
6
|
5
|
health-check.yml
|
7589
|
-2
|
130
|
refs/heads/main
|
dbf34b08bbb60650d15b0c55262dbfe8d0a3a655
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"8c39619c9cdb0d888d10942bf50533c8238021df","after":"dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/8c39619c9cdb0d888d10942bf50533c8238021df...dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","commits":[{"id":"dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","message":"feat: 四线并行治理 — Record清零+v-permission扩展+Redis缓存+as any清理\n\n## Line 1: Record\u003cstring,any\u003e 全前端清零 (637→0)\n- 262 个文件批量替换 Record\u003cstring, any\u003e → Record\u003cstring, unknown\u003e\n- 覆盖 API 模块层 137 文件 + 视图/stores/composables 100 文件\n\n## Line 2: v-permission 全面覆盖 (53→104 个视图文件)\n- 新增 51 个视图的 v-permission 指令\n- 覆盖: products/departments/contract-templates/spare-parts/pm/\n stage-knowledge/email-templates/approval-templates/ad-campaigns/\n groupbuy-*/community-*/alliance-*/livestream-*/social-*/content-*/\n geo-*/segments/lead-pools/bom/expense-claims/ap-ledger 等\n\n## Line 3: Redis 缓存扩展 (5→14 个缓存点, 10 个模块)\n- 新建 cache-utils.ts 统一缓存工具层 (withCache + invalidation)\n- 高优: tenant-configs(300s) + roles(1800s) + products(600s) +\n departments(600s) + sla(1800s) + contract-templates(600s)\n- 中优: price-books(600s) + notifications(300s)\n- 写后失效: 所有 create/update/delete 自动清除缓存\n\n## Line 4: as any 清理 (25处)\n- campaign-analytics.controller: 8→0 (精确查询类型)\n- social-interactions.service: 9→0 (Prisma UncheckedCreateInput)\n- store-staff.service: 6→0 (prismaModel 代理)\n- scheduled-jobs.consumer: 2→0 (直接使用已有类型)\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-24T10:14:13+08:00","added":["backend/src/shared/constants/events/common.ts","backend/src/shared/constants/events/finance.ts","backend/src/shared/constants/events/hr.ts","backend/src/shared/constants/events/im.ts","backend/src/shared/constants/events/index.ts","backend/src/shared/constants/events/knowledge.ts","backend/src/shared/constants/events/lifecycle.ts","backend/src/shared/constants/events/marketing.ts","backend/src/shared/constants/events/sales.ts","backend/src/shared/constants/events/service.ts","backend/src/shared/constants/events/store.ts","backend/src/shared/constants/events/supply_chain.ts","backend/src/shared/constants/events/system.ts","backend/src/shared/services/list-cache.service.ts","backend/src/shared/utils/cache-utils.ts"],"removed":[],"modified":["backend/src/consumers/attribution.consumer.ts","backend/src/consumers/campaign-effectiveness.consumer.ts","backend/src/consumers/marketing-workflow-executor.consumer.ts","backend/src/consumers/scheduled-jobs.consumer.ts","backend/src/modules/ai-agents/services/knowledge-vector-enhanced.service.ts","backend/src/modules/alliance-settlements/alliance-settlement.service.test.ts","backend/src/modules/campaign-analytics/campaign-analytics.controller.ts","backend/src/modules/contract-templates/contract-template.service.ts","backend/src/modules/contracts/contract.controller.ts","backend/src/modules/contracts/contract.routes.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/customers/customer.service.ts","backend/src/modules/departments/department.service.test.ts","backend/src/modules/departments/department.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/leads/lead-sla.service.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-interactions/livestream-realtime.service.ts","backend/src/modules/marketing-automation/workflow-trigger.service.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.controller.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.routes.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.service.ts","backend/src/modules/notifications/notification.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/payments/payment.service.test.ts","backend/src/modules/price-books/price-book.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/roles/role.service.ts","backend/src/modules/segments/segment.service.ts","backend/src/modules/sla/sla.service.ts","backend/src/modules/social-interactions/social-interactions.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/tenant-configs/tenant-config.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/constants/events.ts","backend/src/shared/services/partition-maintenance.service.ts","backend/src/shared/state-machines/machines/contract.machine.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/state-machines/types.ts","backend/src/shared/state-machines/utils/transitions/sales.transitions.ts","backend/src/shared/utils/biz-code.ts","frontend/src/api/adapters.ts","frontend/src/api/im-binding.ts","frontend/src/api/modules/ad-accounts.ts","frontend/src/api/modules/ad-audiences.ts","frontend/src/api/modules/ad-creatives.ts","frontend/src/api/modules/ad-placement.ts","frontend/src/api/modules/ad-reports.ts","frontend/src/api/modules/agent-group.ts","frontend/src/api/modules/ai-agent.ts","frontend/src/api/modules/alliance-analytics.ts","frontend/src/api/modules/alliance-merchants.ts","frontend/src/api/modules/alliance-products.ts","frontend/src/api/modules/alliance-promotions.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/analytics.ts","frontend/src/api/modules/approvals.ts","frontend/src/api/modules/assets.ts","frontend/src/api/modules/attribution.ts","frontend/src/api/modules/audit-logs.ts","frontend/src/api/modules/campaign-drafts.ts","frontend/src/api/modules/campaign-library.ts","frontend/src/api/modules/campaign-targets.ts","frontend/src/api/modules/campaign-tools.ts","frontend/src/api/modules/campaign-use-case-templates.ts","frontend/src/api/modules/campaign-wizard.ts","frontend/src/api/modules/campaigns.ts","frontend/src/api/modules/cohort-analysis.ts","frontend/src/api/modules/commissions.ts","frontend/src/api/modules/community-activities.ts","frontend/src/api/modules/community-analytics.ts","frontend/src/api/modules/community-bots.ts","frontend/src/api/modules/community-groups.ts","frontend/src/api/modules/community-levels.ts","frontend/src/api/modules/community-members.ts","frontend/src/api/modules/community-messages.ts","frontend/src/api/modules/community-points.ts","frontend/src/api/modules/consumer-behavior-analytics.ts","frontend/src/api/modules/content-categories.ts","frontend/src/api/modules/content-copyright.ts","frontend/src/api/modules/content-creation.ts","frontend/src/api/modules/content-distribution.ts","frontend/src/api/modules/content-library.ts","frontend/src/api/modules/content-templates.ts","frontend/src/api/modules/contract-templates.ts","frontend/src/api/modules/cpq.ts","frontend/src/api/modules/cross-domain-funnel.ts","frontend/src/api/modules/customer-analytics.ts","frontend/src/api/modules/customer-health.ts","frontend/src/api/modules/customer-journey.ts","frontend/src/api/modules/customer-ltv.ts","frontend/src/api/modules/customer-marketing.ts","frontend/src/api/modules/customer-segmentation.ts","frontend/src/api/modules/devices.ts","frontend/src/api/modules/dictionaries.ts","frontend/src/api/modules/dimension-transform.ts","frontend/src/api/modules/email-marketing.ts","frontend/src/api/modules/email-templates.ts","frontend/src/api/modules/event-logs.ts","frontend/src/api/modules/events.ts","frontend/src/api/modules/expense.ts","frontend/src/api/modules/financial-reports.ts","frontend/src/api/modules/fulfillment.ts","frontend/src/api/modules/geo-fences.ts","frontend/src/api/modules/geo-pois.ts","frontend/src/api/modules/groupbuy-analytics.ts","frontend/src/api/modules/groupbuy-campaigns.ts","frontend/src/api/modules/groupbuy-platforms.ts","frontend/src/api/modules/groupbuy-pricing.ts","frontend/src/api/modules/groupbuy-products.ts","frontend/src/api/modules/groupbuy-settlements.ts","frontend/src/api/modules/hr-benefits.ts","frontend/src/api/modules/hr-payroll.ts","frontend/src/api/modules/im-channels.ts","frontend/src/api/modules/im.ts","frontend/src/api/modules/integration-services.ts","frontend/src/api/modules/intent-analyzer.ts","frontend/src/api/modules/journey-orchestration.ts","frontend/src/api/modules/knowledge-candidates.ts","frontend/src/api/modules/knowledge-capture.ts","frontend/src/api/modules/landing-pages.ts","frontend/src/api/modules/lead-scoring-ai.ts","frontend/src/api/modules/livestream-groupbuy-conversion.ts","frontend/src/api/modules/livestream-groupbuy.ts","frontend/src/api/modules/livestream-interactions.ts","frontend/src/api/modules/livestream-rooms.ts","frontend/src/api/modules/livestream-schedules.ts","frontend/src/api/modules/livestream.ts","frontend/src/api/modules/location-assessments.ts","frontend/src/api/modules/login-logs.ts","frontend/src/api/modules/maintenance.ts","frontend/src/api/modules/marketing-automation.ts","frontend/src/api/modules/marketing-calendar.ts","frontend/src/api/modules/marketing-chatbot.ts","frontend/src/api/modules/marketing-content.ts","frontend/src/api/modules/marketing-forms.ts","frontend/src/api/modules/marketing-matrix.ts","frontend/src/api/modules/marketing-north-star.ts","frontend/src/api/modules/marketing-timeslots.ts","frontend/src/api/modules/marketing.ts","frontend/src/api/modules/omnichannel-dashboard.ts","frontend/src/api/modules/omnichannel-data-hub.ts","frontend/src/api/modules/omnichannel-touchpoints.ts","frontend/src/api/modules/operation-logs.ts","frontend/src/api/modules/opportunities.ts","frontend/src/api/modules/predictive-analytics.ts","frontend/src/api/modules/process-designer.ts","frontend/src/api/modules/process.ts","frontend/src/api/modules/products.ts","frontend/src/api/modules/realtime-trigger.ts","frontend/src/api/modules/reports.ts","frontend/src/api/modules/resource-requests.ts","frontend/src/api/modules/revenue.ts","frontend/src/api/modules/rfm-analysis.ts","frontend/src/api/modules/rma.ts","frontend/src/api/modules/satisfaction.ts","frontend/src/api/modules/scheduled-jobs.ts","frontend/src/api/modules/search.ts","frontend/src/api/modules/segments.ts","frontend/src/api/modules/service-monitor.ts","frontend/src/api/modules/sms-marketing.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/api/modules/social-auto-replies.ts","frontend/src/api/modules/social-competitors.ts","frontend/src/api/modules/social-hot-topics.ts","frontend/src/api/modules/social-interactions.ts","frontend/src/api/modules/spare-parts.ts","frontend/src/api/modules/store-performance.ts","frontend/src/api/modules/stores.ts","frontend/src/api/modules/supplier-management.ts","frontend/src/api/modules/swot-analyses.ts","frontend/src/api/modules/system-events.ts","frontend/src/api/modules/ticket-workflows.ts","frontend/src/api/modules/tickets.ts","frontend/src/api/modules/tob-toc-gateway.ts","frontend/src/api/modules/unified-campaign.ts","frontend/src/api/modules/web-tracking.ts","frontend/src/api/modules/workflow-generator.ts","frontend/src/api/response-normalizer.ts","frontend/src/components/business/ActivityTimeline.vue","frontend/src/components/business/EventStreamPanel.vue","frontend/src/components/business/IMPanel.vue","frontend/src/components/common/DataTable.vue","frontend/src/components/common/ResponsiveDataTable.vue","frontend/src/components/mobile/MobileFilter.vue","frontend/src/components/responsive/ResponsiveFilterBar.vue","frontend/src/types/ai-agent.ts","frontend/src/utils/echarts.ts","frontend/src/views/__tests__/standard-crud-smoke.helper.ts","frontend/src/views/abm-marketing/Index.vue","frontend/src/views/acquisition/Index.vue","frontend/src/views/ad-accounts/Form.vue","frontend/src/views/ad-accounts/Index.vue","frontend/src/views/ad-analytics/Index.vue","frontend/src/views/ad-campaigns/Index.vue","frontend/src/views/ad-creatives/Index.vue","frontend/src/views/ad-placement/ABTests.vue","frontend/src/views/ad-placement/AudiencePacks.vue","frontend/src/views/ad-placement/BudgetAlerts.vue","frontend/src/views/ad-placement/Creatives.vue","frontend/src/views/ad-placement/Index.vue","frontend/src/views/ad-placement/RoiAnalysis.vue","frontend/src/views/alliance-agreements/Index.vue","frontend/src/views/alliance-campaigns/Index.vue","frontend/src/views/alliance-coupons/Index.vue","frontend/src/views/alliance-packages/Index.vue","frontend/src/views/alliance-partners/Index.vue","frontend/src/views/alliance-products/Index.vue","frontend/src/views/analytics/roi/Index.vue","frontend/src/views/ap-ledger/Index.vue","frontend/src/views/approval-configs/Form.vue","frontend/src/views/approval-configs/Index.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/approval-templates/Index.vue","frontend/src/views/attribution/Index.vue","frontend/src/views/auth/Index.vue","frontend/src/views/bom/Index.vue","frontend/src/views/campaign-analytics/Index.vue","frontend/src/views/campaign-library/Index.vue","frontend/src/views/campaign-targets/Index.vue","frontend/src/views/campaign-tools/Index.vue","frontend/src/views/campaigns/Detail.vue","frontend/src/views/campaigns/Index.vue","frontend/src/views/campaigns/components/ToolConfigDialog.vue","frontend/src/views/campaigns/wizard/Step3Tools.vue","frontend/src/views/campaigns/wizard/Step4BasicInfo.vue","frontend/src/views/campaigns/wizard/Step7Review.vue","frontend/src/views/campaigns/wizard/components/ToolConfigForms.vue","frontend/src/views/channel-analytics/Index.vue","frontend/src/views/community-bots/Index.vue","frontend/src/views/community-fission/Index.vue","frontend/src/views/community-groups/Index.vue","frontend/src/views/community-materials/Index.vue","frontend/src/views/community-members/Index.vue","frontend/src/views/community-messages/Index.vue","frontend/src/views/community-points/Index.vue","frontend/src/views/community-tasks/Index.vue","frontend/src/views/consumer-behavior-analytics/Index.vue","frontend/src/views/content-creation/Index.vue","frontend/src/views/content-distribution/Index.vue","frontend/src/views/content-library/Detail.vue","frontend/src/views/content-templates/Index.vue","frontend/src/views/contract-templates/Index.vue","frontend/src/views/contracts/Form.vue","frontend/src/views/conversion-paths/Index.vue","frontend/src/views/cost-allocation/Index.vue","frontend/src/views/cpq/Index.vue","frontend/src/views/cross-domain-funnel/Index.vue","frontend/src/views/customer-health/Index.vue","frontend/src/views/customer-journey/Detail.vue","frontend/src/views/customer-marketing/Index.vue","frontend/src/views/customer-segmentation/Form.vue","frontend/src/views/departments/Detail.vue","frontend/src/views/departments/Index.vue","frontend/src/views/devices/Alerts.vue","frontend/src/views/devices/Form.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/dimension-transform/Index.vue","frontend/src/views/email-templates/Form.vue","frontend/src/views/email-templates/Index.vue","frontend/src/views/event-logs/Index.vue","frontend/src/views/expense-claims/Index.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/geo-pois/Index.vue","frontend/src/views/groupbuy-campaigns/Index.vue","frontend/src/views/groupbuy-inventory/Index.vue","frontend/src/views/groupbuy-orders/Index.vue","frontend/src/views/groupbuy-platforms/Index.vue","frontend/src/views/groupbuy-pricing/Index.vue","frontend/src/views/groupbuy-products/Index.vue","frontend/src/views/groupbuy-promotions/Index.vue","frontend/src/views/groupbuy-settlements/Index.vue","frontend/src/views/hr/attendance/components/AttendanceTab.vue","frontend/src/views/hr/attendance/components/HolidaysTab.vue","frontend/src/views/hr/attendance/components/LeavesTab.vue","frontend/src/views/hr/attendance/components/OvertimeTab.vue","frontend/src/views/hr/attendance/components/ShiftsTab.vue","frontend/src/views/hr/training/components/CertificatesTab.vue","frontend/src/views/hr/training/components/CompetencyTab.vue","frontend/src/views/hr/training/components/CoursesTab.vue","frontend/src/views/hr/training/components/ExamsTab.vue","frontend/src/views/hr/training/components/PlansTab.vue","frontend/src/views/hr/training/components/SessionsTab.vue","frontend/src/views/inventory/Counts.vue","frontend/src/views/inventory/Index.vue","frontend/src/views/inventory/Snapshots.vue","frontend/src/views/journey-orchestration/Form.vue","frontend/src/views/knowledge-feedback/Index.vue","frontend/src/views/lead-assignment/Form.vue","frontend/src/views/lead-pools/Form.vue","frontend/src/views/lead-pools/Index.vue","frontend/src/views/lead-qualification/Form.vue","frontend/src/views/lead-qualification/Index.vue","frontend/src/views/leads/Form.vue","frontend/src/views/leads/Index.vue","frontend/src/views/livestream-gifts/Index.vue","frontend/src/views/livestream-groupbuy-conversion/Index.vue","frontend/src/views/livestream-schedules/Index.vue","frontend/src/views/livestream-scripts/Index.vue","frontend/src/views/local-events/Index.vue","frontend/src/views/local-promotion/Index.vue","frontend/src/views/maintenance/Index.vue","frontend/src/views/maintenance/TaskDetail.vue","frontend/src/views/marketing-automation/Index.vue","frontend/src/views/marketing-effectiveness/Index.vue","frontend/src/views/marketing-north-star/Index.vue","frontend/src/views/marketing-tools/Detail.vue","frontend/src/views/marketing-tools/Index.vue","frontend/src/views/marketing/budget-alerts/Index.vue","frontend/src/views/mdm/Index.vue","frontend/src/views/member-benefits/Index.vue","frontend/src/views/member-levels/Index.vue","frontend/src/views/member-points/Index.vue","frontend/src/views/members/Index.vue","frontend/src/views/menus/Index.vue","frontend/src/views/notification-configs/Index.vue","frontend/src/views/notifications/Index.vue","frontend/src/views/omnichannel-dashboard/Index.vue","frontend/src/views/omnichannel-data-hub/Index.vue","frontend/src/views/opportunities/Form.vue","frontend/src/views/orders/Form.vue","frontend/src/views/orders/Index.vue","frontend/src/views/org-chart/Index.vue","frontend/src/views/partners/Detail.vue","frontend/src/views/payment-plans/Index.vue","frontend/src/views/pm/Index.vue","frontend/src/views/predictive-analytics/Form.vue","frontend/src/views/process-designer/Designer.vue","frontend/src/views/product-analytics/Index.vue","frontend/src/views/products/Index.vue","frontend/src/views/qr-codes/Index.vue","frontend/src/views/quotes/Form.vue","frontend/src/views/realtime-trigger/Form.vue","frontend/src/views/renewal-tasks/Index.vue","frontend/src/views/rfm-analysis/Detail.vue","frontend/src/views/rfm-analysis/Index.vue","frontend/src/views/roles/Index.vue","frontend/src/views/scheduled-jobs/Index.vue","frontend/src/views/segments/Index.vue","frontend/src/views/service-monitor/Index.vue","frontend/src/views/settings/Index.vue","frontend/src/views/social-accounts/Index.vue","frontend/src/views/social-auto-replies/Index.vue","frontend/src/views/social-competitors/Index.vue","frontend/src/views/social-matrix/Index.vue","frontend/src/views/social-posts/Detail.vue","frontend/src/views/social-posts/Index.vue","frontend/src/views/spare-parts/Index.vue","frontend/src/views/spare-parts/components/TransactionHistory.vue","frontend/src/views/stage-knowledge/Index.vue","frontend/src/views/store-configs/Index.vue","frontend/src/views/stores/Detail.vue","frontend/src/views/stores/Index.vue","frontend/src/views/supplier-payments/Index.vue","frontend/src/views/suppliers/Index.vue","frontend/src/views/system-events/Index.vue","frontend/src/views/system-monitor/Index.vue","frontend/src/views/system/AuditLogs.vue","frontend/src/views/tenant-configs/Index.vue","frontend/src/views/tickets/Form.vue","frontend/src/views/tickets/Index.vue","frontend/src/views/users/Index.vue","frontend/src/views/utm-tracking/Form.vue","frontend/src/views/video-publishing/Index.vue","frontend/src/views/web-tracking/Index.vue"]}],"total_commits":0,"head_commit":{"id":"dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","message":"feat: 四线并行治理 — Record清零+v-permission扩展+Redis缓存+as any清理\n\n## Line 1: Record\u003cstring,any\u003e 全前端清零 (637→0)\n- 262 个文件批量替换 Record\u003cstring, any\u003e → Record\u003cstring, unknown\u003e\n- 覆盖 API 模块层 137 文件 + 视图/stores/composables 100 文件\n\n## Line 2: v-permission 全面覆盖 (53→104 个视图文件)\n- 新增 51 个视图的 v-permission 指令\n- 覆盖: products/departments/contract-templates/spare-parts/pm/\n stage-knowledge/email-templates/approval-templates/ad-campaigns/\n groupbuy-*/community-*/alliance-*/livestream-*/social-*/content-*/\n geo-*/segments/lead-pools/bom/expense-claims/ap-ledger 等\n\n## Line 3: Redis 缓存扩展 (5→14 个缓存点, 10 个模块)\n- 新建 cache-utils.ts 统一缓存工具层 (withCache + invalidation)\n- 高优: tenant-configs(300s) + roles(1800s) + products(600s) +\n departments(600s) + sla(1800s) + contract-templates(600s)\n- 中优: price-books(600s) + notifications(300s)\n- 写后失效: 所有 create/update/delete 自动清除缓存\n\n## Line 4: as any 清理 (25处)\n- campaign-analytics.controller: 8→0 (精确查询类型)\n- social-interactions.service: 9→0 (Prisma UncheckedCreateInput)\n- store-staff.service: 6→0 (prismaModel 代理)\n- scheduled-jobs.consumer: 2→0 (直接使用已有类型)\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-24T10:14:13+08:00","added":["backend/src/shared/constants/events/common.ts","backend/src/shared/constants/events/finance.ts","backend/src/shared/constants/events/hr.ts","backend/src/shared/constants/events/im.ts","backend/src/shared/constants/events/index.ts","backend/src/shared/constants/events/knowledge.ts","backend/src/shared/constants/events/lifecycle.ts","backend/src/shared/constants/events/marketing.ts","backend/src/shared/constants/events/sales.ts","backend/src/shared/constants/events/service.ts","backend/src/shared/constants/events/store.ts","backend/src/shared/constants/events/supply_chain.ts","backend/src/shared/constants/events/system.ts","backend/src/shared/services/list-cache.service.ts","backend/src/shared/utils/cache-utils.ts"],"removed":[],"modified":["backend/src/consumers/attribution.consumer.ts","backend/src/consumers/campaign-effectiveness.consumer.ts","backend/src/consumers/marketing-workflow-executor.consumer.ts","backend/src/consumers/scheduled-jobs.consumer.ts","backend/src/modules/ai-agents/services/knowledge-vector-enhanced.service.ts","backend/src/modules/alliance-settlements/alliance-settlement.service.test.ts","backend/src/modules/campaign-analytics/campaign-analytics.controller.ts","backend/src/modules/contract-templates/contract-template.service.ts","backend/src/modules/contracts/contract.controller.ts","backend/src/modules/contracts/contract.routes.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/customers/customer.service.ts","backend/src/modules/departments/department.service.test.ts","backend/src/modules/departments/department.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/leads/lead-sla.service.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-interactions/livestream-realtime.service.ts","backend/src/modules/marketing-automation/workflow-trigger.service.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.controller.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.routes.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.service.ts","backend/src/modules/notifications/notification.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/payments/payment.service.test.ts","backend/src/modules/price-books/price-book.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/roles/role.service.ts","backend/src/modules/segments/segment.service.ts","backend/src/modules/sla/sla.service.ts","backend/src/modules/social-interactions/social-interactions.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/tenant-configs/tenant-config.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/constants/events.ts","backend/src/shared/services/partition-maintenance.service.ts","backend/src/shared/state-machines/machines/contract.machine.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/state-machines/types.ts","backend/src/shared/state-machines/utils/transitions/sales.transitions.ts","backend/src/shared/utils/biz-code.ts","frontend/src/api/adapters.ts","frontend/src/api/im-binding.ts","frontend/src/api/modules/ad-accounts.ts","frontend/src/api/modules/ad-audiences.ts","frontend/src/api/modules/ad-creatives.ts","frontend/src/api/modules/ad-placement.ts","frontend/src/api/modules/ad-reports.ts","frontend/src/api/modules/agent-group.ts","frontend/src/api/modules/ai-agent.ts","frontend/src/api/modules/alliance-analytics.ts","frontend/src/api/modules/alliance-merchants.ts","frontend/src/api/modules/alliance-products.ts","frontend/src/api/modules/alliance-promotions.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/analytics.ts","frontend/src/api/modules/approvals.ts","frontend/src/api/modules/assets.ts","frontend/src/api/modules/attribution.ts","frontend/src/api/modules/audit-logs.ts","frontend/src/api/modules/campaign-drafts.ts","frontend/src/api/modules/campaign-library.ts","frontend/src/api/modules/campaign-targets.ts","frontend/src/api/modules/campaign-tools.ts","frontend/src/api/modules/campaign-use-case-templates.ts","frontend/src/api/modules/campaign-wizard.ts","frontend/src/api/modules/campaigns.ts","frontend/src/api/modules/cohort-analysis.ts","frontend/src/api/modules/commissions.ts","frontend/src/api/modules/community-activities.ts","frontend/src/api/modules/community-analytics.ts","frontend/src/api/modules/community-bots.ts","frontend/src/api/modules/community-groups.ts","frontend/src/api/modules/community-levels.ts","frontend/src/api/modules/community-members.ts","frontend/src/api/modules/community-messages.ts","frontend/src/api/modules/community-points.ts","frontend/src/api/modules/consumer-behavior-analytics.ts","frontend/src/api/modules/content-categories.ts","frontend/src/api/modules/content-copyright.ts","frontend/src/api/modules/content-creation.ts","frontend/src/api/modules/content-distribution.ts","frontend/src/api/modules/content-library.ts","frontend/src/api/modules/content-templates.ts","frontend/src/api/modules/contract-templates.ts","frontend/src/api/modules/cpq.ts","frontend/src/api/modules/cross-domain-funnel.ts","frontend/src/api/modules/customer-analytics.ts","frontend/src/api/modules/customer-health.ts","frontend/src/api/modules/customer-journey.ts","frontend/src/api/modules/customer-ltv.ts","frontend/src/api/modules/customer-marketing.ts","frontend/src/api/modules/customer-segmentation.ts","frontend/src/api/modules/devices.ts","frontend/src/api/modules/dictionaries.ts","frontend/src/api/modules/dimension-transform.ts","frontend/src/api/modules/email-marketing.ts","frontend/src/api/modules/email-templates.ts","frontend/src/api/modules/event-logs.ts","frontend/src/api/modules/events.ts","frontend/src/api/modules/expense.ts","frontend/src/api/modules/financial-reports.ts","frontend/src/api/modules/fulfillment.ts","frontend/src/api/modules/geo-fences.ts","frontend/src/api/modules/geo-pois.ts","frontend/src/api/modules/groupbuy-analytics.ts","frontend/src/api/modules/groupbuy-campaigns.ts","frontend/src/api/modules/groupbuy-platforms.ts","frontend/src/api/modules/groupbuy-pricing.ts","frontend/src/api/modules/groupbuy-products.ts","frontend/src/api/modules/groupbuy-settlements.ts","frontend/src/api/modules/hr-benefits.ts","frontend/src/api/modules/hr-payroll.ts","frontend/src/api/modules/im-channels.ts","frontend/src/api/modules/im.ts","frontend/src/api/modules/integration-services.ts","frontend/src/api/modules/intent-analyzer.ts","frontend/src/api/modules/journey-orchestration.ts","frontend/src/api/modules/knowledge-candidates.ts","frontend/src/api/modules/knowledge-capture.ts","frontend/src/api/modules/landing-pages.ts","frontend/src/api/modules/lead-scoring-ai.ts","frontend/src/api/modules/livestream-groupbuy-conversion.ts","frontend/src/api/modules/livestream-groupbuy.ts","frontend/src/api/modules/livestream-interactions.ts","frontend/src/api/modules/livestream-rooms.ts","frontend/src/api/modules/livestream-schedules.ts","frontend/src/api/modules/livestream.ts","frontend/src/api/modules/location-assessments.ts","frontend/src/api/modules/login-logs.ts","frontend/src/api/modules/maintenance.ts","frontend/src/api/modules/marketing-automation.ts","frontend/src/api/modules/marketing-calendar.ts","frontend/src/api/modules/marketing-chatbot.ts","frontend/src/api/modules/marketing-content.ts","frontend/src/api/modules/marketing-forms.ts","frontend/src/api/modules/marketing-matrix.ts","frontend/src/api/modules/marketing-north-star.ts","frontend/src/api/modules/marketing-timeslots.ts","frontend/src/api/modules/marketing.ts","frontend/src/api/modules/omnichannel-dashboard.ts","frontend/src/api/modules/omnichannel-data-hub.ts","frontend/src/api/modules/omnichannel-touchpoints.ts","frontend/src/api/modules/operation-logs.ts","frontend/src/api/modules/opportunities.ts","frontend/src/api/modules/predictive-analytics.ts","frontend/src/api/modules/process-designer.ts","frontend/src/api/modules/process.ts","frontend/src/api/modules/products.ts","frontend/src/api/modules/realtime-trigger.ts","frontend/src/api/modules/reports.ts","frontend/src/api/modules/resource-requests.ts","frontend/src/api/modules/revenue.ts","frontend/src/api/modules/rfm-analysis.ts","frontend/src/api/modules/rma.ts","frontend/src/api/modules/satisfaction.ts","frontend/src/api/modules/scheduled-jobs.ts","frontend/src/api/modules/search.ts","frontend/src/api/modules/segments.ts","frontend/src/api/modules/service-monitor.ts","frontend/src/api/modules/sms-marketing.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/api/modules/social-auto-replies.ts","frontend/src/api/modules/social-competitors.ts","frontend/src/api/modules/social-hot-topics.ts","frontend/src/api/modules/social-interactions.ts","frontend/src/api/modules/spare-parts.ts","frontend/src/api/modules/store-performance.ts","frontend/src/api/modules/stores.ts","frontend/src/api/modules/supplier-management.ts","frontend/src/api/modules/swot-analyses.ts","frontend/src/api/modules/system-events.ts","frontend/src/api/modules/ticket-workflows.ts","frontend/src/api/modules/tickets.ts","frontend/src/api/modules/tob-toc-gateway.ts","frontend/src/api/modules/unified-campaign.ts","frontend/src/api/modules/web-tracking.ts","frontend/src/api/modules/workflow-generator.ts","frontend/src/api/response-normalizer.ts","frontend/src/components/business/ActivityTimeline.vue","frontend/src/components/business/EventStreamPanel.vue","frontend/src/components/business/IMPanel.vue","frontend/src/components/common/DataTable.vue","frontend/src/components/common/ResponsiveDataTable.vue","frontend/src/components/mobile/MobileFilter.vue","frontend/src/components/responsive/ResponsiveFilterBar.vue","frontend/src/types/ai-agent.ts","frontend/src/utils/echarts.ts","frontend/src/views/__tests__/standard-crud-smoke.helper.ts","frontend/src/views/abm-marketing/Index.vue","frontend/src/views/acquisition/Index.vue","frontend/src/views/ad-accounts/Form.vue","frontend/src/views/ad-accounts/Index.vue","frontend/src/views/ad-analytics/Index.vue","frontend/src/views/ad-campaigns/Index.vue","frontend/src/views/ad-creatives/Index.vue","frontend/src/views/ad-placement/ABTests.vue","frontend/src/views/ad-placement/AudiencePacks.vue","frontend/src/views/ad-placement/BudgetAlerts.vue","frontend/src/views/ad-placement/Creatives.vue","frontend/src/views/ad-placement/Index.vue","frontend/src/views/ad-placement/RoiAnalysis.vue","frontend/src/views/alliance-agreements/Index.vue","frontend/src/views/alliance-campaigns/Index.vue","frontend/src/views/alliance-coupons/Index.vue","frontend/src/views/alliance-packages/Index.vue","frontend/src/views/alliance-partners/Index.vue","frontend/src/views/alliance-products/Index.vue","frontend/src/views/analytics/roi/Index.vue","frontend/src/views/ap-ledger/Index.vue","frontend/src/views/approval-configs/Form.vue","frontend/src/views/approval-configs/Index.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/approval-templates/Index.vue","frontend/src/views/attribution/Index.vue","frontend/src/views/auth/Index.vue","frontend/src/views/bom/Index.vue","frontend/src/views/campaign-analytics/Index.vue","frontend/src/views/campaign-library/Index.vue","frontend/src/views/campaign-targets/Index.vue","frontend/src/views/campaign-tools/Index.vue","frontend/src/views/campaigns/Detail.vue","frontend/src/views/campaigns/Index.vue","frontend/src/views/campaigns/components/ToolConfigDialog.vue","frontend/src/views/campaigns/wizard/Step3Tools.vue","frontend/src/views/campaigns/wizard/Step4BasicInfo.vue","frontend/src/views/campaigns/wizard/Step7Review.vue","frontend/src/views/campaigns/wizard/components/ToolConfigForms.vue","frontend/src/views/channel-analytics/Index.vue","frontend/src/views/community-bots/Index.vue","frontend/src/views/community-fission/Index.vue","frontend/src/views/community-groups/Index.vue","frontend/src/views/community-materials/Index.vue","frontend/src/views/community-members/Index.vue","frontend/src/views/community-messages/Index.vue","frontend/src/views/community-points/Index.vue","frontend/src/views/community-tasks/Index.vue","frontend/src/views/consumer-behavior-analytics/Index.vue","frontend/src/views/content-creation/Index.vue","frontend/src/views/content-distribution/Index.vue","frontend/src/views/content-library/Detail.vue","frontend/src/views/content-templates/Index.vue","frontend/src/views/contract-templates/Index.vue","frontend/src/views/contracts/Form.vue","frontend/src/views/conversion-paths/Index.vue","frontend/src/views/cost-allocation/Index.vue","frontend/src/views/cpq/Index.vue","frontend/src/views/cross-domain-funnel/Index.vue","frontend/src/views/customer-health/Index.vue","frontend/src/views/customer-journey/Detail.vue","frontend/src/views/customer-marketing/Index.vue","frontend/src/views/customer-segmentation/Form.vue","frontend/src/views/departments/Detail.vue","frontend/src/views/departments/Index.vue","frontend/src/views/devices/Alerts.vue","frontend/src/views/devices/Form.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/dimension-transform/Index.vue","frontend/src/views/email-templates/Form.vue","frontend/src/views/email-templates/Index.vue","frontend/src/views/event-logs/Index.vue","frontend/src/views/expense-claims/Index.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/geo-pois/Index.vue","frontend/src/views/groupbuy-campaigns/Index.vue","frontend/src/views/groupbuy-inventory/Index.vue","frontend/src/views/groupbuy-orders/Index.vue","frontend/src/views/groupbuy-platforms/Index.vue","frontend/src/views/groupbuy-pricing/Index.vue","frontend/src/views/groupbuy-products/Index.vue","frontend/src/views/groupbuy-promotions/Index.vue","frontend/src/views/groupbuy-settlements/Index.vue","frontend/src/views/hr/attendance/components/AttendanceTab.vue","frontend/src/views/hr/attendance/components/HolidaysTab.vue","frontend/src/views/hr/attendance/components/LeavesTab.vue","frontend/src/views/hr/attendance/components/OvertimeTab.vue","frontend/src/views/hr/attendance/components/ShiftsTab.vue","frontend/src/views/hr/training/components/CertificatesTab.vue","frontend/src/views/hr/training/components/CompetencyTab.vue","frontend/src/views/hr/training/components/CoursesTab.vue","frontend/src/views/hr/training/components/ExamsTab.vue","frontend/src/views/hr/training/components/PlansTab.vue","frontend/src/views/hr/training/components/SessionsTab.vue","frontend/src/views/inventory/Counts.vue","frontend/src/views/inventory/Index.vue","frontend/src/views/inventory/Snapshots.vue","frontend/src/views/journey-orchestration/Form.vue","frontend/src/views/knowledge-feedback/Index.vue","frontend/src/views/lead-assignment/Form.vue","frontend/src/views/lead-pools/Form.vue","frontend/src/views/lead-pools/Index.vue","frontend/src/views/lead-qualification/Form.vue","frontend/src/views/lead-qualification/Index.vue","frontend/src/views/leads/Form.vue","frontend/src/views/leads/Index.vue","frontend/src/views/livestream-gifts/Index.vue","frontend/src/views/livestream-groupbuy-conversion/Index.vue","frontend/src/views/livestream-schedules/Index.vue","frontend/src/views/livestream-scripts/Index.vue","frontend/src/views/local-events/Index.vue","frontend/src/views/local-promotion/Index.vue","frontend/src/views/maintenance/Index.vue","frontend/src/views/maintenance/TaskDetail.vue","frontend/src/views/marketing-automation/Index.vue","frontend/src/views/marketing-effectiveness/Index.vue","frontend/src/views/marketing-north-star/Index.vue","frontend/src/views/marketing-tools/Detail.vue","frontend/src/views/marketing-tools/Index.vue","frontend/src/views/marketing/budget-alerts/Index.vue","frontend/src/views/mdm/Index.vue","frontend/src/views/member-benefits/Index.vue","frontend/src/views/member-levels/Index.vue","frontend/src/views/member-points/Index.vue","frontend/src/views/members/Index.vue","frontend/src/views/menus/Index.vue","frontend/src/views/notification-configs/Index.vue","frontend/src/views/notifications/Index.vue","frontend/src/views/omnichannel-dashboard/Index.vue","frontend/src/views/omnichannel-data-hub/Index.vue","frontend/src/views/opportunities/Form.vue","frontend/src/views/orders/Form.vue","frontend/src/views/orders/Index.vue","frontend/src/views/org-chart/Index.vue","frontend/src/views/partners/Detail.vue","frontend/src/views/payment-plans/Index.vue","frontend/src/views/pm/Index.vue","frontend/src/views/predictive-analytics/Form.vue","frontend/src/views/process-designer/Designer.vue","frontend/src/views/product-analytics/Index.vue","frontend/src/views/products/Index.vue","frontend/src/views/qr-codes/Index.vue","frontend/src/views/quotes/Form.vue","frontend/src/views/realtime-trigger/Form.vue","frontend/src/views/renewal-tasks/Index.vue","frontend/src/views/rfm-analysis/Detail.vue","frontend/src/views/rfm-analysis/Index.vue","frontend/src/views/roles/Index.vue","frontend/src/views/scheduled-jobs/Index.vue","frontend/src/views/segments/Index.vue","frontend/src/views/service-monitor/Index.vue","frontend/src/views/settings/Index.vue","frontend/src/views/social-accounts/Index.vue","frontend/src/views/social-auto-replies/Index.vue","frontend/src/views/social-competitors/Index.vue","frontend/src/views/social-matrix/Index.vue","frontend/src/views/social-posts/Detail.vue","frontend/src/views/social-posts/Index.vue","frontend/src/views/spare-parts/Index.vue","frontend/src/views/spare-parts/components/TransactionHistory.vue","frontend/src/views/stage-knowledge/Index.vue","frontend/src/views/store-configs/Index.vue","frontend/src/views/stores/Detail.vue","frontend/src/views/stores/Index.vue","frontend/src/views/supplier-payments/Index.vue","frontend/src/views/suppliers/Index.vue","frontend/src/views/system-events/Index.vue","frontend/src/views/system-monitor/Index.vue","frontend/src/views/system/AuditLogs.vue","frontend/src/views/tenant-configs/Index.vue","frontend/src/views/tickets/Form.vue","frontend/src/views/tickets/Index.vue","frontend/src/views/users/Index.vue","frontend/src/views/utm-tracking/Form.vue","frontend/src/views/video-publishing/Index.vue","frontend/src/views/web-tracking/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":1956552,"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":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-24T09:45:16+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
|
1774320941
|
1774320942
|
0
|
1774320940
|
1774320942
|
|
|
0
|
Edit
Delete
|
|
7665
|
feat: 四线并行治理 — Record清零+v-permission扩展+Redis缓存+as feat: 四线并行治理 — Record清零+v-permission扩展+Redis缓存+as any清理...
|
6
|
5
|
health-check.yml
|
7590
|
-2
|
130
|
refs/heads/main
|
dbf34b08bbb60650d15b0c55262dbfe8d0a3a655
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"8c39619c9cdb0d888d10942bf50533c8238021df","after":"dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/8c39619c9cdb0d888d10942bf50533c8238021df...dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","commits":[{"id":"dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","message":"feat: 四线并行治理 — Record清零+v-permission扩展+Redis缓存+as any清理\n\n## Line 1: Record\u003cstring,any\u003e 全前端清零 (637→0)\n- 262 个文件批量替换 Record\u003cstring, any\u003e → Record\u003cstring, unknown\u003e\n- 覆盖 API 模块层 137 文件 + 视图/stores/composables 100 文件\n\n## Line 2: v-permission 全面覆盖 (53→104 个视图文件)\n- 新增 51 个视图的 v-permission 指令\n- 覆盖: products/departments/contract-templates/spare-parts/pm/\n stage-knowledge/email-templates/approval-templates/ad-campaigns/\n groupbuy-*/community-*/alliance-*/livestream-*/social-*/content-*/\n geo-*/segments/lead-pools/bom/expense-claims/ap-ledger 等\n\n## Line 3: Redis 缓存扩展 (5→14 个缓存点, 10 个模块)\n- 新建 cache-utils.ts 统一缓存工具层 (withCache + invalidation)\n- 高优: tenant-configs(300s) + roles(1800s) + products(600s) +\n departments(600s) + sla(1800s) + contract-templates(600s)\n- 中优: price-books(600s) + notifications(300s)\n- 写后失效: 所有 create/update/delete 自动清除缓存\n\n## Line 4: as any 清理 (25处)\n- campaign-analytics.controller: 8→0 (精确查询类型)\n- social-interactions.service: 9→0 (Prisma UncheckedCreateInput)\n- store-staff.service: 6→0 (prismaModel 代理)\n- scheduled-jobs.consumer: 2→0 (直接使用已有类型)\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-24T10:14:13+08:00","added":["backend/src/shared/constants/events/common.ts","backend/src/shared/constants/events/finance.ts","backend/src/shared/constants/events/hr.ts","backend/src/shared/constants/events/im.ts","backend/src/shared/constants/events/index.ts","backend/src/shared/constants/events/knowledge.ts","backend/src/shared/constants/events/lifecycle.ts","backend/src/shared/constants/events/marketing.ts","backend/src/shared/constants/events/sales.ts","backend/src/shared/constants/events/service.ts","backend/src/shared/constants/events/store.ts","backend/src/shared/constants/events/supply_chain.ts","backend/src/shared/constants/events/system.ts","backend/src/shared/services/list-cache.service.ts","backend/src/shared/utils/cache-utils.ts"],"removed":[],"modified":["backend/src/consumers/attribution.consumer.ts","backend/src/consumers/campaign-effectiveness.consumer.ts","backend/src/consumers/marketing-workflow-executor.consumer.ts","backend/src/consumers/scheduled-jobs.consumer.ts","backend/src/modules/ai-agents/services/knowledge-vector-enhanced.service.ts","backend/src/modules/alliance-settlements/alliance-settlement.service.test.ts","backend/src/modules/campaign-analytics/campaign-analytics.controller.ts","backend/src/modules/contract-templates/contract-template.service.ts","backend/src/modules/contracts/contract.controller.ts","backend/src/modules/contracts/contract.routes.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/customers/customer.service.ts","backend/src/modules/departments/department.service.test.ts","backend/src/modules/departments/department.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/leads/lead-sla.service.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-interactions/livestream-realtime.service.ts","backend/src/modules/marketing-automation/workflow-trigger.service.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.controller.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.routes.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.service.ts","backend/src/modules/notifications/notification.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/payments/payment.service.test.ts","backend/src/modules/price-books/price-book.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/roles/role.service.ts","backend/src/modules/segments/segment.service.ts","backend/src/modules/sla/sla.service.ts","backend/src/modules/social-interactions/social-interactions.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/tenant-configs/tenant-config.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/constants/events.ts","backend/src/shared/services/partition-maintenance.service.ts","backend/src/shared/state-machines/machines/contract.machine.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/state-machines/types.ts","backend/src/shared/state-machines/utils/transitions/sales.transitions.ts","backend/src/shared/utils/biz-code.ts","frontend/src/api/adapters.ts","frontend/src/api/im-binding.ts","frontend/src/api/modules/ad-accounts.ts","frontend/src/api/modules/ad-audiences.ts","frontend/src/api/modules/ad-creatives.ts","frontend/src/api/modules/ad-placement.ts","frontend/src/api/modules/ad-reports.ts","frontend/src/api/modules/agent-group.ts","frontend/src/api/modules/ai-agent.ts","frontend/src/api/modules/alliance-analytics.ts","frontend/src/api/modules/alliance-merchants.ts","frontend/src/api/modules/alliance-products.ts","frontend/src/api/modules/alliance-promotions.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/analytics.ts","frontend/src/api/modules/approvals.ts","frontend/src/api/modules/assets.ts","frontend/src/api/modules/attribution.ts","frontend/src/api/modules/audit-logs.ts","frontend/src/api/modules/campaign-drafts.ts","frontend/src/api/modules/campaign-library.ts","frontend/src/api/modules/campaign-targets.ts","frontend/src/api/modules/campaign-tools.ts","frontend/src/api/modules/campaign-use-case-templates.ts","frontend/src/api/modules/campaign-wizard.ts","frontend/src/api/modules/campaigns.ts","frontend/src/api/modules/cohort-analysis.ts","frontend/src/api/modules/commissions.ts","frontend/src/api/modules/community-activities.ts","frontend/src/api/modules/community-analytics.ts","frontend/src/api/modules/community-bots.ts","frontend/src/api/modules/community-groups.ts","frontend/src/api/modules/community-levels.ts","frontend/src/api/modules/community-members.ts","frontend/src/api/modules/community-messages.ts","frontend/src/api/modules/community-points.ts","frontend/src/api/modules/consumer-behavior-analytics.ts","frontend/src/api/modules/content-categories.ts","frontend/src/api/modules/content-copyright.ts","frontend/src/api/modules/content-creation.ts","frontend/src/api/modules/content-distribution.ts","frontend/src/api/modules/content-library.ts","frontend/src/api/modules/content-templates.ts","frontend/src/api/modules/contract-templates.ts","frontend/src/api/modules/cpq.ts","frontend/src/api/modules/cross-domain-funnel.ts","frontend/src/api/modules/customer-analytics.ts","frontend/src/api/modules/customer-health.ts","frontend/src/api/modules/customer-journey.ts","frontend/src/api/modules/customer-ltv.ts","frontend/src/api/modules/customer-marketing.ts","frontend/src/api/modules/customer-segmentation.ts","frontend/src/api/modules/devices.ts","frontend/src/api/modules/dictionaries.ts","frontend/src/api/modules/dimension-transform.ts","frontend/src/api/modules/email-marketing.ts","frontend/src/api/modules/email-templates.ts","frontend/src/api/modules/event-logs.ts","frontend/src/api/modules/events.ts","frontend/src/api/modules/expense.ts","frontend/src/api/modules/financial-reports.ts","frontend/src/api/modules/fulfillment.ts","frontend/src/api/modules/geo-fences.ts","frontend/src/api/modules/geo-pois.ts","frontend/src/api/modules/groupbuy-analytics.ts","frontend/src/api/modules/groupbuy-campaigns.ts","frontend/src/api/modules/groupbuy-platforms.ts","frontend/src/api/modules/groupbuy-pricing.ts","frontend/src/api/modules/groupbuy-products.ts","frontend/src/api/modules/groupbuy-settlements.ts","frontend/src/api/modules/hr-benefits.ts","frontend/src/api/modules/hr-payroll.ts","frontend/src/api/modules/im-channels.ts","frontend/src/api/modules/im.ts","frontend/src/api/modules/integration-services.ts","frontend/src/api/modules/intent-analyzer.ts","frontend/src/api/modules/journey-orchestration.ts","frontend/src/api/modules/knowledge-candidates.ts","frontend/src/api/modules/knowledge-capture.ts","frontend/src/api/modules/landing-pages.ts","frontend/src/api/modules/lead-scoring-ai.ts","frontend/src/api/modules/livestream-groupbuy-conversion.ts","frontend/src/api/modules/livestream-groupbuy.ts","frontend/src/api/modules/livestream-interactions.ts","frontend/src/api/modules/livestream-rooms.ts","frontend/src/api/modules/livestream-schedules.ts","frontend/src/api/modules/livestream.ts","frontend/src/api/modules/location-assessments.ts","frontend/src/api/modules/login-logs.ts","frontend/src/api/modules/maintenance.ts","frontend/src/api/modules/marketing-automation.ts","frontend/src/api/modules/marketing-calendar.ts","frontend/src/api/modules/marketing-chatbot.ts","frontend/src/api/modules/marketing-content.ts","frontend/src/api/modules/marketing-forms.ts","frontend/src/api/modules/marketing-matrix.ts","frontend/src/api/modules/marketing-north-star.ts","frontend/src/api/modules/marketing-timeslots.ts","frontend/src/api/modules/marketing.ts","frontend/src/api/modules/omnichannel-dashboard.ts","frontend/src/api/modules/omnichannel-data-hub.ts","frontend/src/api/modules/omnichannel-touchpoints.ts","frontend/src/api/modules/operation-logs.ts","frontend/src/api/modules/opportunities.ts","frontend/src/api/modules/predictive-analytics.ts","frontend/src/api/modules/process-designer.ts","frontend/src/api/modules/process.ts","frontend/src/api/modules/products.ts","frontend/src/api/modules/realtime-trigger.ts","frontend/src/api/modules/reports.ts","frontend/src/api/modules/resource-requests.ts","frontend/src/api/modules/revenue.ts","frontend/src/api/modules/rfm-analysis.ts","frontend/src/api/modules/rma.ts","frontend/src/api/modules/satisfaction.ts","frontend/src/api/modules/scheduled-jobs.ts","frontend/src/api/modules/search.ts","frontend/src/api/modules/segments.ts","frontend/src/api/modules/service-monitor.ts","frontend/src/api/modules/sms-marketing.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/api/modules/social-auto-replies.ts","frontend/src/api/modules/social-competitors.ts","frontend/src/api/modules/social-hot-topics.ts","frontend/src/api/modules/social-interactions.ts","frontend/src/api/modules/spare-parts.ts","frontend/src/api/modules/store-performance.ts","frontend/src/api/modules/stores.ts","frontend/src/api/modules/supplier-management.ts","frontend/src/api/modules/swot-analyses.ts","frontend/src/api/modules/system-events.ts","frontend/src/api/modules/ticket-workflows.ts","frontend/src/api/modules/tickets.ts","frontend/src/api/modules/tob-toc-gateway.ts","frontend/src/api/modules/unified-campaign.ts","frontend/src/api/modules/web-tracking.ts","frontend/src/api/modules/workflow-generator.ts","frontend/src/api/response-normalizer.ts","frontend/src/components/business/ActivityTimeline.vue","frontend/src/components/business/EventStreamPanel.vue","frontend/src/components/business/IMPanel.vue","frontend/src/components/common/DataTable.vue","frontend/src/components/common/ResponsiveDataTable.vue","frontend/src/components/mobile/MobileFilter.vue","frontend/src/components/responsive/ResponsiveFilterBar.vue","frontend/src/types/ai-agent.ts","frontend/src/utils/echarts.ts","frontend/src/views/__tests__/standard-crud-smoke.helper.ts","frontend/src/views/abm-marketing/Index.vue","frontend/src/views/acquisition/Index.vue","frontend/src/views/ad-accounts/Form.vue","frontend/src/views/ad-accounts/Index.vue","frontend/src/views/ad-analytics/Index.vue","frontend/src/views/ad-campaigns/Index.vue","frontend/src/views/ad-creatives/Index.vue","frontend/src/views/ad-placement/ABTests.vue","frontend/src/views/ad-placement/AudiencePacks.vue","frontend/src/views/ad-placement/BudgetAlerts.vue","frontend/src/views/ad-placement/Creatives.vue","frontend/src/views/ad-placement/Index.vue","frontend/src/views/ad-placement/RoiAnalysis.vue","frontend/src/views/alliance-agreements/Index.vue","frontend/src/views/alliance-campaigns/Index.vue","frontend/src/views/alliance-coupons/Index.vue","frontend/src/views/alliance-packages/Index.vue","frontend/src/views/alliance-partners/Index.vue","frontend/src/views/alliance-products/Index.vue","frontend/src/views/analytics/roi/Index.vue","frontend/src/views/ap-ledger/Index.vue","frontend/src/views/approval-configs/Form.vue","frontend/src/views/approval-configs/Index.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/approval-templates/Index.vue","frontend/src/views/attribution/Index.vue","frontend/src/views/auth/Index.vue","frontend/src/views/bom/Index.vue","frontend/src/views/campaign-analytics/Index.vue","frontend/src/views/campaign-library/Index.vue","frontend/src/views/campaign-targets/Index.vue","frontend/src/views/campaign-tools/Index.vue","frontend/src/views/campaigns/Detail.vue","frontend/src/views/campaigns/Index.vue","frontend/src/views/campaigns/components/ToolConfigDialog.vue","frontend/src/views/campaigns/wizard/Step3Tools.vue","frontend/src/views/campaigns/wizard/Step4BasicInfo.vue","frontend/src/views/campaigns/wizard/Step7Review.vue","frontend/src/views/campaigns/wizard/components/ToolConfigForms.vue","frontend/src/views/channel-analytics/Index.vue","frontend/src/views/community-bots/Index.vue","frontend/src/views/community-fission/Index.vue","frontend/src/views/community-groups/Index.vue","frontend/src/views/community-materials/Index.vue","frontend/src/views/community-members/Index.vue","frontend/src/views/community-messages/Index.vue","frontend/src/views/community-points/Index.vue","frontend/src/views/community-tasks/Index.vue","frontend/src/views/consumer-behavior-analytics/Index.vue","frontend/src/views/content-creation/Index.vue","frontend/src/views/content-distribution/Index.vue","frontend/src/views/content-library/Detail.vue","frontend/src/views/content-templates/Index.vue","frontend/src/views/contract-templates/Index.vue","frontend/src/views/contracts/Form.vue","frontend/src/views/conversion-paths/Index.vue","frontend/src/views/cost-allocation/Index.vue","frontend/src/views/cpq/Index.vue","frontend/src/views/cross-domain-funnel/Index.vue","frontend/src/views/customer-health/Index.vue","frontend/src/views/customer-journey/Detail.vue","frontend/src/views/customer-marketing/Index.vue","frontend/src/views/customer-segmentation/Form.vue","frontend/src/views/departments/Detail.vue","frontend/src/views/departments/Index.vue","frontend/src/views/devices/Alerts.vue","frontend/src/views/devices/Form.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/dimension-transform/Index.vue","frontend/src/views/email-templates/Form.vue","frontend/src/views/email-templates/Index.vue","frontend/src/views/event-logs/Index.vue","frontend/src/views/expense-claims/Index.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/geo-pois/Index.vue","frontend/src/views/groupbuy-campaigns/Index.vue","frontend/src/views/groupbuy-inventory/Index.vue","frontend/src/views/groupbuy-orders/Index.vue","frontend/src/views/groupbuy-platforms/Index.vue","frontend/src/views/groupbuy-pricing/Index.vue","frontend/src/views/groupbuy-products/Index.vue","frontend/src/views/groupbuy-promotions/Index.vue","frontend/src/views/groupbuy-settlements/Index.vue","frontend/src/views/hr/attendance/components/AttendanceTab.vue","frontend/src/views/hr/attendance/components/HolidaysTab.vue","frontend/src/views/hr/attendance/components/LeavesTab.vue","frontend/src/views/hr/attendance/components/OvertimeTab.vue","frontend/src/views/hr/attendance/components/ShiftsTab.vue","frontend/src/views/hr/training/components/CertificatesTab.vue","frontend/src/views/hr/training/components/CompetencyTab.vue","frontend/src/views/hr/training/components/CoursesTab.vue","frontend/src/views/hr/training/components/ExamsTab.vue","frontend/src/views/hr/training/components/PlansTab.vue","frontend/src/views/hr/training/components/SessionsTab.vue","frontend/src/views/inventory/Counts.vue","frontend/src/views/inventory/Index.vue","frontend/src/views/inventory/Snapshots.vue","frontend/src/views/journey-orchestration/Form.vue","frontend/src/views/knowledge-feedback/Index.vue","frontend/src/views/lead-assignment/Form.vue","frontend/src/views/lead-pools/Form.vue","frontend/src/views/lead-pools/Index.vue","frontend/src/views/lead-qualification/Form.vue","frontend/src/views/lead-qualification/Index.vue","frontend/src/views/leads/Form.vue","frontend/src/views/leads/Index.vue","frontend/src/views/livestream-gifts/Index.vue","frontend/src/views/livestream-groupbuy-conversion/Index.vue","frontend/src/views/livestream-schedules/Index.vue","frontend/src/views/livestream-scripts/Index.vue","frontend/src/views/local-events/Index.vue","frontend/src/views/local-promotion/Index.vue","frontend/src/views/maintenance/Index.vue","frontend/src/views/maintenance/TaskDetail.vue","frontend/src/views/marketing-automation/Index.vue","frontend/src/views/marketing-effectiveness/Index.vue","frontend/src/views/marketing-north-star/Index.vue","frontend/src/views/marketing-tools/Detail.vue","frontend/src/views/marketing-tools/Index.vue","frontend/src/views/marketing/budget-alerts/Index.vue","frontend/src/views/mdm/Index.vue","frontend/src/views/member-benefits/Index.vue","frontend/src/views/member-levels/Index.vue","frontend/src/views/member-points/Index.vue","frontend/src/views/members/Index.vue","frontend/src/views/menus/Index.vue","frontend/src/views/notification-configs/Index.vue","frontend/src/views/notifications/Index.vue","frontend/src/views/omnichannel-dashboard/Index.vue","frontend/src/views/omnichannel-data-hub/Index.vue","frontend/src/views/opportunities/Form.vue","frontend/src/views/orders/Form.vue","frontend/src/views/orders/Index.vue","frontend/src/views/org-chart/Index.vue","frontend/src/views/partners/Detail.vue","frontend/src/views/payment-plans/Index.vue","frontend/src/views/pm/Index.vue","frontend/src/views/predictive-analytics/Form.vue","frontend/src/views/process-designer/Designer.vue","frontend/src/views/product-analytics/Index.vue","frontend/src/views/products/Index.vue","frontend/src/views/qr-codes/Index.vue","frontend/src/views/quotes/Form.vue","frontend/src/views/realtime-trigger/Form.vue","frontend/src/views/renewal-tasks/Index.vue","frontend/src/views/rfm-analysis/Detail.vue","frontend/src/views/rfm-analysis/Index.vue","frontend/src/views/roles/Index.vue","frontend/src/views/scheduled-jobs/Index.vue","frontend/src/views/segments/Index.vue","frontend/src/views/service-monitor/Index.vue","frontend/src/views/settings/Index.vue","frontend/src/views/social-accounts/Index.vue","frontend/src/views/social-auto-replies/Index.vue","frontend/src/views/social-competitors/Index.vue","frontend/src/views/social-matrix/Index.vue","frontend/src/views/social-posts/Detail.vue","frontend/src/views/social-posts/Index.vue","frontend/src/views/spare-parts/Index.vue","frontend/src/views/spare-parts/components/TransactionHistory.vue","frontend/src/views/stage-knowledge/Index.vue","frontend/src/views/store-configs/Index.vue","frontend/src/views/stores/Detail.vue","frontend/src/views/stores/Index.vue","frontend/src/views/supplier-payments/Index.vue","frontend/src/views/suppliers/Index.vue","frontend/src/views/system-events/Index.vue","frontend/src/views/system-monitor/Index.vue","frontend/src/views/system/AuditLogs.vue","frontend/src/views/tenant-configs/Index.vue","frontend/src/views/tickets/Form.vue","frontend/src/views/tickets/Index.vue","frontend/src/views/users/Index.vue","frontend/src/views/utm-tracking/Form.vue","frontend/src/views/video-publishing/Index.vue","frontend/src/views/web-tracking/Index.vue"]}],"total_commits":0,"head_commit":{"id":"dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","message":"feat: 四线并行治理 — Record清零+v-permission扩展+Redis缓存+as any清理\n\n## Line 1: Record\u003cstring,any\u003e 全前端清零 (637→0)\n- 262 个文件批量替换 Record\u003cstring, any\u003e → Record\u003cstring, unknown\u003e\n- 覆盖 API 模块层 137 文件 + 视图/stores/composables 100 文件\n\n## Line 2: v-permission 全面覆盖 (53→104 个视图文件)\n- 新增 51 个视图的 v-permission 指令\n- 覆盖: products/departments/contract-templates/spare-parts/pm/\n stage-knowledge/email-templates/approval-templates/ad-campaigns/\n groupbuy-*/community-*/alliance-*/livestream-*/social-*/content-*/\n geo-*/segments/lead-pools/bom/expense-claims/ap-ledger 等\n\n## Line 3: Redis 缓存扩展 (5→14 个缓存点, 10 个模块)\n- 新建 cache-utils.ts 统一缓存工具层 (withCache + invalidation)\n- 高优: tenant-configs(300s) + roles(1800s) + products(600s) +\n departments(600s) + sla(1800s) + contract-templates(600s)\n- 中优: price-books(600s) + notifications(300s)\n- 写后失效: 所有 create/update/delete 自动清除缓存\n\n## Line 4: as any 清理 (25处)\n- campaign-analytics.controller: 8→0 (精确查询类型)\n- social-interactions.service: 9→0 (Prisma UncheckedCreateInput)\n- store-staff.service: 6→0 (prismaModel 代理)\n- scheduled-jobs.consumer: 2→0 (直接使用已有类型)\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/dbf34b08bbb60650d15b0c55262dbfe8d0a3a655","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-24T10:14:13+08:00","added":["backend/src/shared/constants/events/common.ts","backend/src/shared/constants/events/finance.ts","backend/src/shared/constants/events/hr.ts","backend/src/shared/constants/events/im.ts","backend/src/shared/constants/events/index.ts","backend/src/shared/constants/events/knowledge.ts","backend/src/shared/constants/events/lifecycle.ts","backend/src/shared/constants/events/marketing.ts","backend/src/shared/constants/events/sales.ts","backend/src/shared/constants/events/service.ts","backend/src/shared/constants/events/store.ts","backend/src/shared/constants/events/supply_chain.ts","backend/src/shared/constants/events/system.ts","backend/src/shared/services/list-cache.service.ts","backend/src/shared/utils/cache-utils.ts"],"removed":[],"modified":["backend/src/consumers/attribution.consumer.ts","backend/src/consumers/campaign-effectiveness.consumer.ts","backend/src/consumers/marketing-workflow-executor.consumer.ts","backend/src/consumers/scheduled-jobs.consumer.ts","backend/src/modules/ai-agents/services/knowledge-vector-enhanced.service.ts","backend/src/modules/alliance-settlements/alliance-settlement.service.test.ts","backend/src/modules/campaign-analytics/campaign-analytics.controller.ts","backend/src/modules/contract-templates/contract-template.service.ts","backend/src/modules/contracts/contract.controller.ts","backend/src/modules/contracts/contract.routes.ts","backend/src/modules/contracts/contract.service.ts","backend/src/modules/customers/customer.service.ts","backend/src/modules/departments/department.service.test.ts","backend/src/modules/departments/department.service.ts","backend/src/modules/leads/lead-ai-scoring.service.ts","backend/src/modules/leads/lead-sla.service.ts","backend/src/modules/leads/lead-smart-assignment.service.ts","backend/src/modules/leads/lead.service.ts","backend/src/modules/livestream-interactions/livestream-realtime.service.ts","backend/src/modules/marketing-automation/workflow-trigger.service.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.controller.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.routes.ts","backend/src/modules/marketing-effectiveness/marketing-effectiveness.service.ts","backend/src/modules/notifications/notification.service.ts","backend/src/modules/opportunities/opportunity.service.ts","backend/src/modules/orders/order.service.ts","backend/src/modules/payments/payment.service.test.ts","backend/src/modules/price-books/price-book.service.ts","backend/src/modules/products/services/product.service.ts","backend/src/modules/quotes/quote.service.ts","backend/src/modules/roles/role.service.ts","backend/src/modules/segments/segment.service.ts","backend/src/modules/sla/sla.service.ts","backend/src/modules/social-interactions/social-interactions.service.ts","backend/src/modules/store-staff/store-staff.service.ts","backend/src/modules/tenant-configs/tenant-config.service.ts","backend/src/modules/tickets/ticket.service.ts","backend/src/shared/constants/events.ts","backend/src/shared/services/partition-maintenance.service.ts","backend/src/shared/state-machines/machines/contract.machine.ts","backend/src/shared/state-machines/machines/order.machine.ts","backend/src/shared/state-machines/types.ts","backend/src/shared/state-machines/utils/transitions/sales.transitions.ts","backend/src/shared/utils/biz-code.ts","frontend/src/api/adapters.ts","frontend/src/api/im-binding.ts","frontend/src/api/modules/ad-accounts.ts","frontend/src/api/modules/ad-audiences.ts","frontend/src/api/modules/ad-creatives.ts","frontend/src/api/modules/ad-placement.ts","frontend/src/api/modules/ad-reports.ts","frontend/src/api/modules/agent-group.ts","frontend/src/api/modules/ai-agent.ts","frontend/src/api/modules/alliance-analytics.ts","frontend/src/api/modules/alliance-merchants.ts","frontend/src/api/modules/alliance-products.ts","frontend/src/api/modules/alliance-promotions.ts","frontend/src/api/modules/alliance-referrals.ts","frontend/src/api/modules/analytics.ts","frontend/src/api/modules/approvals.ts","frontend/src/api/modules/assets.ts","frontend/src/api/modules/attribution.ts","frontend/src/api/modules/audit-logs.ts","frontend/src/api/modules/campaign-drafts.ts","frontend/src/api/modules/campaign-library.ts","frontend/src/api/modules/campaign-targets.ts","frontend/src/api/modules/campaign-tools.ts","frontend/src/api/modules/campaign-use-case-templates.ts","frontend/src/api/modules/campaign-wizard.ts","frontend/src/api/modules/campaigns.ts","frontend/src/api/modules/cohort-analysis.ts","frontend/src/api/modules/commissions.ts","frontend/src/api/modules/community-activities.ts","frontend/src/api/modules/community-analytics.ts","frontend/src/api/modules/community-bots.ts","frontend/src/api/modules/community-groups.ts","frontend/src/api/modules/community-levels.ts","frontend/src/api/modules/community-members.ts","frontend/src/api/modules/community-messages.ts","frontend/src/api/modules/community-points.ts","frontend/src/api/modules/consumer-behavior-analytics.ts","frontend/src/api/modules/content-categories.ts","frontend/src/api/modules/content-copyright.ts","frontend/src/api/modules/content-creation.ts","frontend/src/api/modules/content-distribution.ts","frontend/src/api/modules/content-library.ts","frontend/src/api/modules/content-templates.ts","frontend/src/api/modules/contract-templates.ts","frontend/src/api/modules/cpq.ts","frontend/src/api/modules/cross-domain-funnel.ts","frontend/src/api/modules/customer-analytics.ts","frontend/src/api/modules/customer-health.ts","frontend/src/api/modules/customer-journey.ts","frontend/src/api/modules/customer-ltv.ts","frontend/src/api/modules/customer-marketing.ts","frontend/src/api/modules/customer-segmentation.ts","frontend/src/api/modules/devices.ts","frontend/src/api/modules/dictionaries.ts","frontend/src/api/modules/dimension-transform.ts","frontend/src/api/modules/email-marketing.ts","frontend/src/api/modules/email-templates.ts","frontend/src/api/modules/event-logs.ts","frontend/src/api/modules/events.ts","frontend/src/api/modules/expense.ts","frontend/src/api/modules/financial-reports.ts","frontend/src/api/modules/fulfillment.ts","frontend/src/api/modules/geo-fences.ts","frontend/src/api/modules/geo-pois.ts","frontend/src/api/modules/groupbuy-analytics.ts","frontend/src/api/modules/groupbuy-campaigns.ts","frontend/src/api/modules/groupbuy-platforms.ts","frontend/src/api/modules/groupbuy-pricing.ts","frontend/src/api/modules/groupbuy-products.ts","frontend/src/api/modules/groupbuy-settlements.ts","frontend/src/api/modules/hr-benefits.ts","frontend/src/api/modules/hr-payroll.ts","frontend/src/api/modules/im-channels.ts","frontend/src/api/modules/im.ts","frontend/src/api/modules/integration-services.ts","frontend/src/api/modules/intent-analyzer.ts","frontend/src/api/modules/journey-orchestration.ts","frontend/src/api/modules/knowledge-candidates.ts","frontend/src/api/modules/knowledge-capture.ts","frontend/src/api/modules/landing-pages.ts","frontend/src/api/modules/lead-scoring-ai.ts","frontend/src/api/modules/livestream-groupbuy-conversion.ts","frontend/src/api/modules/livestream-groupbuy.ts","frontend/src/api/modules/livestream-interactions.ts","frontend/src/api/modules/livestream-rooms.ts","frontend/src/api/modules/livestream-schedules.ts","frontend/src/api/modules/livestream.ts","frontend/src/api/modules/location-assessments.ts","frontend/src/api/modules/login-logs.ts","frontend/src/api/modules/maintenance.ts","frontend/src/api/modules/marketing-automation.ts","frontend/src/api/modules/marketing-calendar.ts","frontend/src/api/modules/marketing-chatbot.ts","frontend/src/api/modules/marketing-content.ts","frontend/src/api/modules/marketing-forms.ts","frontend/src/api/modules/marketing-matrix.ts","frontend/src/api/modules/marketing-north-star.ts","frontend/src/api/modules/marketing-timeslots.ts","frontend/src/api/modules/marketing.ts","frontend/src/api/modules/omnichannel-dashboard.ts","frontend/src/api/modules/omnichannel-data-hub.ts","frontend/src/api/modules/omnichannel-touchpoints.ts","frontend/src/api/modules/operation-logs.ts","frontend/src/api/modules/opportunities.ts","frontend/src/api/modules/predictive-analytics.ts","frontend/src/api/modules/process-designer.ts","frontend/src/api/modules/process.ts","frontend/src/api/modules/products.ts","frontend/src/api/modules/realtime-trigger.ts","frontend/src/api/modules/reports.ts","frontend/src/api/modules/resource-requests.ts","frontend/src/api/modules/revenue.ts","frontend/src/api/modules/rfm-analysis.ts","frontend/src/api/modules/rma.ts","frontend/src/api/modules/satisfaction.ts","frontend/src/api/modules/scheduled-jobs.ts","frontend/src/api/modules/search.ts","frontend/src/api/modules/segments.ts","frontend/src/api/modules/service-monitor.ts","frontend/src/api/modules/sms-marketing.ts","frontend/src/api/modules/social-accounts.ts","frontend/src/api/modules/social-auto-replies.ts","frontend/src/api/modules/social-competitors.ts","frontend/src/api/modules/social-hot-topics.ts","frontend/src/api/modules/social-interactions.ts","frontend/src/api/modules/spare-parts.ts","frontend/src/api/modules/store-performance.ts","frontend/src/api/modules/stores.ts","frontend/src/api/modules/supplier-management.ts","frontend/src/api/modules/swot-analyses.ts","frontend/src/api/modules/system-events.ts","frontend/src/api/modules/ticket-workflows.ts","frontend/src/api/modules/tickets.ts","frontend/src/api/modules/tob-toc-gateway.ts","frontend/src/api/modules/unified-campaign.ts","frontend/src/api/modules/web-tracking.ts","frontend/src/api/modules/workflow-generator.ts","frontend/src/api/response-normalizer.ts","frontend/src/components/business/ActivityTimeline.vue","frontend/src/components/business/EventStreamPanel.vue","frontend/src/components/business/IMPanel.vue","frontend/src/components/common/DataTable.vue","frontend/src/components/common/ResponsiveDataTable.vue","frontend/src/components/mobile/MobileFilter.vue","frontend/src/components/responsive/ResponsiveFilterBar.vue","frontend/src/types/ai-agent.ts","frontend/src/utils/echarts.ts","frontend/src/views/__tests__/standard-crud-smoke.helper.ts","frontend/src/views/abm-marketing/Index.vue","frontend/src/views/acquisition/Index.vue","frontend/src/views/ad-accounts/Form.vue","frontend/src/views/ad-accounts/Index.vue","frontend/src/views/ad-analytics/Index.vue","frontend/src/views/ad-campaigns/Index.vue","frontend/src/views/ad-creatives/Index.vue","frontend/src/views/ad-placement/ABTests.vue","frontend/src/views/ad-placement/AudiencePacks.vue","frontend/src/views/ad-placement/BudgetAlerts.vue","frontend/src/views/ad-placement/Creatives.vue","frontend/src/views/ad-placement/Index.vue","frontend/src/views/ad-placement/RoiAnalysis.vue","frontend/src/views/alliance-agreements/Index.vue","frontend/src/views/alliance-campaigns/Index.vue","frontend/src/views/alliance-coupons/Index.vue","frontend/src/views/alliance-packages/Index.vue","frontend/src/views/alliance-partners/Index.vue","frontend/src/views/alliance-products/Index.vue","frontend/src/views/analytics/roi/Index.vue","frontend/src/views/ap-ledger/Index.vue","frontend/src/views/approval-configs/Form.vue","frontend/src/views/approval-configs/Index.vue","frontend/src/views/approval-templates/Form.vue","frontend/src/views/approval-templates/Index.vue","frontend/src/views/attribution/Index.vue","frontend/src/views/auth/Index.vue","frontend/src/views/bom/Index.vue","frontend/src/views/campaign-analytics/Index.vue","frontend/src/views/campaign-library/Index.vue","frontend/src/views/campaign-targets/Index.vue","frontend/src/views/campaign-tools/Index.vue","frontend/src/views/campaigns/Detail.vue","frontend/src/views/campaigns/Index.vue","frontend/src/views/campaigns/components/ToolConfigDialog.vue","frontend/src/views/campaigns/wizard/Step3Tools.vue","frontend/src/views/campaigns/wizard/Step4BasicInfo.vue","frontend/src/views/campaigns/wizard/Step7Review.vue","frontend/src/views/campaigns/wizard/components/ToolConfigForms.vue","frontend/src/views/channel-analytics/Index.vue","frontend/src/views/community-bots/Index.vue","frontend/src/views/community-fission/Index.vue","frontend/src/views/community-groups/Index.vue","frontend/src/views/community-materials/Index.vue","frontend/src/views/community-members/Index.vue","frontend/src/views/community-messages/Index.vue","frontend/src/views/community-points/Index.vue","frontend/src/views/community-tasks/Index.vue","frontend/src/views/consumer-behavior-analytics/Index.vue","frontend/src/views/content-creation/Index.vue","frontend/src/views/content-distribution/Index.vue","frontend/src/views/content-library/Detail.vue","frontend/src/views/content-templates/Index.vue","frontend/src/views/contract-templates/Index.vue","frontend/src/views/contracts/Form.vue","frontend/src/views/conversion-paths/Index.vue","frontend/src/views/cost-allocation/Index.vue","frontend/src/views/cpq/Index.vue","frontend/src/views/cross-domain-funnel/Index.vue","frontend/src/views/customer-health/Index.vue","frontend/src/views/customer-journey/Detail.vue","frontend/src/views/customer-marketing/Index.vue","frontend/src/views/customer-segmentation/Form.vue","frontend/src/views/departments/Detail.vue","frontend/src/views/departments/Index.vue","frontend/src/views/devices/Alerts.vue","frontend/src/views/devices/Form.vue","frontend/src/views/diagnosis/Index.vue","frontend/src/views/dimension-transform/Index.vue","frontend/src/views/email-templates/Form.vue","frontend/src/views/email-templates/Index.vue","frontend/src/views/event-logs/Index.vue","frontend/src/views/expense-claims/Index.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/geo-pois/Index.vue","frontend/src/views/groupbuy-campaigns/Index.vue","frontend/src/views/groupbuy-inventory/Index.vue","frontend/src/views/groupbuy-orders/Index.vue","frontend/src/views/groupbuy-platforms/Index.vue","frontend/src/views/groupbuy-pricing/Index.vue","frontend/src/views/groupbuy-products/Index.vue","frontend/src/views/groupbuy-promotions/Index.vue","frontend/src/views/groupbuy-settlements/Index.vue","frontend/src/views/hr/attendance/components/AttendanceTab.vue","frontend/src/views/hr/attendance/components/HolidaysTab.vue","frontend/src/views/hr/attendance/components/LeavesTab.vue","frontend/src/views/hr/attendance/components/OvertimeTab.vue","frontend/src/views/hr/attendance/components/ShiftsTab.vue","frontend/src/views/hr/training/components/CertificatesTab.vue","frontend/src/views/hr/training/components/CompetencyTab.vue","frontend/src/views/hr/training/components/CoursesTab.vue","frontend/src/views/hr/training/components/ExamsTab.vue","frontend/src/views/hr/training/components/PlansTab.vue","frontend/src/views/hr/training/components/SessionsTab.vue","frontend/src/views/inventory/Counts.vue","frontend/src/views/inventory/Index.vue","frontend/src/views/inventory/Snapshots.vue","frontend/src/views/journey-orchestration/Form.vue","frontend/src/views/knowledge-feedback/Index.vue","frontend/src/views/lead-assignment/Form.vue","frontend/src/views/lead-pools/Form.vue","frontend/src/views/lead-pools/Index.vue","frontend/src/views/lead-qualification/Form.vue","frontend/src/views/lead-qualification/Index.vue","frontend/src/views/leads/Form.vue","frontend/src/views/leads/Index.vue","frontend/src/views/livestream-gifts/Index.vue","frontend/src/views/livestream-groupbuy-conversion/Index.vue","frontend/src/views/livestream-schedules/Index.vue","frontend/src/views/livestream-scripts/Index.vue","frontend/src/views/local-events/Index.vue","frontend/src/views/local-promotion/Index.vue","frontend/src/views/maintenance/Index.vue","frontend/src/views/maintenance/TaskDetail.vue","frontend/src/views/marketing-automation/Index.vue","frontend/src/views/marketing-effectiveness/Index.vue","frontend/src/views/marketing-north-star/Index.vue","frontend/src/views/marketing-tools/Detail.vue","frontend/src/views/marketing-tools/Index.vue","frontend/src/views/marketing/budget-alerts/Index.vue","frontend/src/views/mdm/Index.vue","frontend/src/views/member-benefits/Index.vue","frontend/src/views/member-levels/Index.vue","frontend/src/views/member-points/Index.vue","frontend/src/views/members/Index.vue","frontend/src/views/menus/Index.vue","frontend/src/views/notification-configs/Index.vue","frontend/src/views/notifications/Index.vue","frontend/src/views/omnichannel-dashboard/Index.vue","frontend/src/views/omnichannel-data-hub/Index.vue","frontend/src/views/opportunities/Form.vue","frontend/src/views/orders/Form.vue","frontend/src/views/orders/Index.vue","frontend/src/views/org-chart/Index.vue","frontend/src/views/partners/Detail.vue","frontend/src/views/payment-plans/Index.vue","frontend/src/views/pm/Index.vue","frontend/src/views/predictive-analytics/Form.vue","frontend/src/views/process-designer/Designer.vue","frontend/src/views/product-analytics/Index.vue","frontend/src/views/products/Index.vue","frontend/src/views/qr-codes/Index.vue","frontend/src/views/quotes/Form.vue","frontend/src/views/realtime-trigger/Form.vue","frontend/src/views/renewal-tasks/Index.vue","frontend/src/views/rfm-analysis/Detail.vue","frontend/src/views/rfm-analysis/Index.vue","frontend/src/views/roles/Index.vue","frontend/src/views/scheduled-jobs/Index.vue","frontend/src/views/segments/Index.vue","frontend/src/views/service-monitor/Index.vue","frontend/src/views/settings/Index.vue","frontend/src/views/social-accounts/Index.vue","frontend/src/views/social-auto-replies/Index.vue","frontend/src/views/social-competitors/Index.vue","frontend/src/views/social-matrix/Index.vue","frontend/src/views/social-posts/Detail.vue","frontend/src/views/social-posts/Index.vue","frontend/src/views/spare-parts/Index.vue","frontend/src/views/spare-parts/components/TransactionHistory.vue","frontend/src/views/stage-knowledge/Index.vue","frontend/src/views/store-configs/Index.vue","frontend/src/views/stores/Detail.vue","frontend/src/views/stores/Index.vue","frontend/src/views/supplier-payments/Index.vue","frontend/src/views/suppliers/Index.vue","frontend/src/views/system-events/Index.vue","frontend/src/views/system-monitor/Index.vue","frontend/src/views/system/AuditLogs.vue","frontend/src/views/tenant-configs/Index.vue","frontend/src/views/tickets/Form.vue","frontend/src/views/tickets/Index.vue","frontend/src/views/users/Index.vue","frontend/src/views/utm-tracking/Form.vue","frontend/src/views/video-publishing/Index.vue","frontend/src/views/web-tracking/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":1956552,"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":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-24T09:45:16+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
|
1774321241
|
1774321242
|
0
|
1774321240
|
1774321242
|
|
|
0
|
Edit
Delete
|
|
1131
|
feat: 嗨赞AI输入法Android版初始提交
|
9
|
5
|
ci.yml
|
1
|
5
|
0
|
refs/heads/main
|
893022bfd17ce1f2e75e75651551cf8ceaacfe45
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"a8f0a86b4c1d4422bfe5c002b8c5307111d317bb","after":"893022bfd17ce1f2e75e75651551cf8ceaacfe45","compare_url":"https://gitea.g-hi.com/luoanwu/haizhan-ime-android/compare/a8f0a86b4c1d4422bfe5c002b8c5307111d317bb...893022bfd17ce1f2e75e75651551cf8ceaacfe45","commits":[{"id":"893022bfd17ce1f2e75e75651551cf8ceaacfe45","message":"feat: 嗨赞AI输入法Android版初始提交\n","url":"https://gitea.g-hi.com/luoanwu/haizhan-ime-android/commit/893022bfd17ce1f2e75e75651551cf8ceaacfe45","author":{"name":"luoanwu","email":"law@g-hi.com","username":"luoanwu"},"committer":{"name":"luoanwu","email":"law@g-hi.com","username":"luoanwu"},"verification":null,"timestamp":"2026-02-27T15:28:58+08:00","added":[".claude/skills/haizhan-ime-development.md",".claude/worktrees/charming-zhukovsky",".editorconfig",".github/workflows/ci.yml",".github/workflows/frontend-backend-ci.yml",".github/workflows/ios-ci.yml",".github/workflows/performance-check.yml",".github/workflows/pr-check.yml",".github/workflows/release.yml",".gitignore",".npmrc","CHANGELOG.md","CLAUDE.md","MIGRATION_COMPLETE_REPORT.md","README.md","admin-web/.env.development","admin-web/.eslintrc.cjs","admin-web/.gitignore","admin-web/.npmrc","admin-web/README.md","admin-web/e2e/all-pages.spec.ts","admin-web/e2e/crud-tests.spec.ts","admin-web/e2e/dashboard.spec.ts","admin-web/e2e/interactive-click.spec.ts","admin-web/e2e/login.spec.ts","admin-web/e2e/templates.spec.ts","admin-web/index.html","admin-web/package.json","admin-web/playwright.config.ts","admin-web/postcss.config.js","admin-web/public/favicon.svg","admin-web/src/App.vue","admin-web/src/api/ai-config.ts","admin-web/src/api/audit.ts","admin-web/src/api/auth.ts","admin-web/src/api/contact.ts","admin-web/src/api/knowledge.ts","admin-web/src/api/rag.ts","admin-web/src/api/settings.ts","admin-web/src/api/team.ts","admin-web/src/api/template.ts","admin-web/src/api/usage.ts","admin-web/src/api/user.ts","admin-web/src/assets/logo.svg","admin-web/src/components/UserCard.vue","admin-web/src/components/index.ts","admin-web/src/composables/usePermission.ts","admin-web/src/composables/useResponsive.ts","admin-web/src/composables/useTable.ts","admin-web/src/directives/index.ts","admin-web/src/directives/permission.ts","admin-web/src/env.d.ts","admin-web/src/layouts/MainLayout.vue","admin-web/src/layouts/components/HeaderBar.vue","admin-web/src/layouts/components/MobileDrawer.vue","admin-web/src/layouts/components/SidebarMenu.vue","admin-web/src/main.ts","admin-web/src/router/index.ts","admin-web/src/stores/app.ts","admin-web/src/stores/user.ts","admin-web/src/styles/index.scss","admin-web/src/styles/variables.scss","admin-web/src/types/ai-config.ts","admin-web/src/types/api.ts","admin-web/src/types/audit.ts","admin-web/src/types/contact.ts","admin-web/src/types/knowledge.ts","admin-web/src/types/permission.ts","admin-web/src/types/rag.ts","admin-web/src/types/settings.ts","admin-web/src/types/team.ts","admin-web/src/types/template.ts","admin-web/src/types/usage.ts","admin-web/src/types/user.ts","admin-web/src/utils/request.ts","admin-web/src/views/ai-config/index.vue","admin-web/src/views/audit/index.vue","admin-web/src/views/contacts/index.vue","admin-web/src/views/contacts/profile.vue","admin-web/src/views/dashboard/index.vue","admin-web/src/views/error/403.vue","admin-web/src/views/error/404.vue","admin-web/src/views/knowledge/index.vue","admin-web/src/views/login/index.vue","admin-web/src/views/profile/index.vue","admin-web/src/views/rag/index.vue","admin-web/src/views/settings/index.vue","admin-web/src/views/teams/index.vue","admin-web/src/views/templates/index.vue","admin-web/src/views/usage/index.vue","admin-web/src/views/users/index.vue","admin-web/tailwind.config.js","admin-web/test-results/.last-run.json","admin-web/tsconfig.app.json","admin-web/tsconfig.json","admin-web/tsconfig.node.json","admin-web/vite.config.d.ts","admin-web/vite.config.js","admin-web/vite.config.ts","ai-panel/build.gradle.kts","ai-panel/consumer-rules.pro","ai-panel/proguard-rules.pro","ai-panel/src/main/AndroidManifest.xml","ai-panel/src/main/java/com/haizhan/ime/panel/AiPanelManager.kt","ai-panel/src/main/java/com/haizhan/ime/panel/AiPanelModels.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/AgenticDecisionEngine.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/AgenticRouter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/AgenticTypes.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/CostController.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/HybridSearchExecutor.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/di/AgenticModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/AvatarMatcher.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/ContactCache.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/ContactContextPreloader.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/ContactIndexes.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/ContactMatcher.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/ContactMatcherData.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/EnhancedContactMatcher.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/MatchedContact.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/NicknameMatcher.kt","ai-panel/src/main/java/com/haizhan/ime/panel/context/InputContextCollector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/context/UnifiedContextManager.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/AiPanelModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/ContactModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/ContextModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/OcrModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/ReplyModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/ScreenshotModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/knowledge/KnowledgeService.kt","ai-panel/src/main/java/com/haizhan/ime/panel/memory/ContactMemoryModels.kt","ai-panel/src/main/java/com/haizhan/ime/panel/memory/ContactMemoryService.kt","ai-panel/src/main/java/com/haizhan/ime/panel/memory/MemoryDtoMapper.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/EnhancedSenderDetector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/MessageParser.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/OcrReliabilityScore.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/OcrService.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/TitleBarParser.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/ChatMessageAdapter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/DingTalkMessageAdapter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/FeishuMessageAdapter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/MessageAdapterFactory.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/WeChatMessageAdapter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/WeWorkMessageAdapter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/BatteryAwareManager.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/ClipboardHelper.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/FrequencyController.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/RagReplyGenerator.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/ReplyGenerator.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/ReplyStyle.kt","ai-panel/src/main/java/com/haizhan/ime/panel/screenshot/RegionDetector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/screenshot/ScreenshotManager.kt","ai-panel/src/main/java/com/haizhan/ime/panel/service/ScreenshotForegroundService.kt","ai-panel/src/main/java/com/haizhan/ime/panel/trigger/AppDetector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/trigger/TriggerDetector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/AIPanelScreen.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/AiPanelTheme.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/Contact360View.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/ContactCard.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/ContactSelector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/EmotionBadge.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/FunctionTabBar.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/IntentBadge.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/KnowledgeCard.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/KnowledgePanel.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/QuickReplyPanel.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/ReplyCard.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/ContactComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/HistoryComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/KnowledgeComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/NoteComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/OcrComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/PanelCommon.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/ReplyComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/TeamComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/AiReplyTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/ContactsTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/HistoryTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/KnowledgeTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/NoteTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/OcrTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/TeamTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/weather/WeatherService.kt","ai-panel/src/main/res/drawable/ic_ai_reply.xml","ai-panel/src/main/res/drawable/ic_capture.xml","ai-panel/src/main/res/drawable/ic_contacts.xml","ai-panel/src/main/res/drawable/ic_knowledge.xml","ai-panel/src/main/res/drawable/ic_ocr.xml","ai-panel/src/main/res/drawable/ic_refresh.xml","ai-panel/src/main/res/drawable/ic_screenshot.xml","ai-panel/src/main/res/drawable/ic_stop.xml","ai-panel/src/test/java/com/haizhan/ime/panel/AiPanelManagerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/agentic/AgenticDecisionEngineTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/agentic/AgenticRouterTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/agentic/AgenticTypesTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/agentic/CostControllerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/agentic/ResultQualityEvaluatorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactCacheTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactContextPreloaderTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactIndexPerformanceTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactIndexesTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactMatcherTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactMemoryServiceTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/MatchedContactTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/NicknameMatcherTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/context/InputContextCollectorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/context/UnifiedContextManagerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/knowledge/KnowledgeServiceTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ocr/EnhancedSenderDetectorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ocr/MessageParserTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ocr/OcrReliabilityScoreTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ocr/OcrServiceTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ocr/TitleBarParserTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/platform/DingTalkAdapterTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/platform/FeishuAdapterTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/platform/WeChatAdapterTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/platform/WeWorkAdapterTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/BatteryAwareManagerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/ClipboardHelperTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/FrequencyControllerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/RagReplyGeneratorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/ReplyGeneratorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/ReplyStyleTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/screenshot/RegionDetectorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/screenshot/ScreenshotManagerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/trigger/AppDetectorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/trigger/TriggerDetectorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ui/AIPanelScreenTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ui/ReplyCardTest.kt","api-clients/android/.openapi-generator-ignore","api-clients/android/.openapi-generator/FILES","api-clients/android/.openapi-generator/VERSION","api-clients/android/README.md","api-clients/android/build.gradle","api-clients/android/docs/AdminLoginDto.md","api-clients/android/docs/AiConfigApi.md","api-clients/android/docs/AuditLogsApi.md","api-clients/android/docs/AuthApi.md","api-clients/android/docs/BatchRemoveContactsDto.md","api-clients/android/docs/ChunkingConfigDto.md","api-clients/android/docs/Contact360ResponseDto.md","api-clients/android/docs/Contact360ViewDto.md","api-clients/android/docs/ContactDetailResponseDto.md","api-clients/android/docs/ContactDto.md","api-clients/android/docs/ContactEventDto.md","api-clients/android/docs/ContactListResponseDto.md","api-clients/android/docs/ContactProfileDto.md","api-clients/android/docs/ContactStatsDto.md","api-clients/android/docs/ContactTagDto.md","api-clients/android/docs/ContactsApi.md","api-clients/android/docs/ConversationSummaryDto.md","api-clients/android/docs/CreateContactDto.md","api-clients/android/docs/CreateContactEventDto.md","api-clients/android/docs/CreateKnowledgeBaseDto.md","api-clients/android/docs/CreateKnowledgeDocumentDto.md","api-clients/android/docs/CreateQwenModelDto.md","api-clients/android/docs/DefaultApi.md","api-clients/android/docs/EmbeddingConfigDto.md","api-clients/android/docs/EmbeddingModelDto.md","api-clients/android/docs/GenerationConfigDto.md","api-clients/android/docs/HealthApi.md","api-clients/android/docs/KnowledgeApi.md","api-clients/android/docs/KnowledgeBaseResponseDto.md","api-clients/android/docs/KnowledgeDocumentListResponseDto.md","api-clients/android/docs/KnowledgeDocumentResponseDto.md","api-clients/android/docs/LoginDto.md","api-clients/android/docs/MatchContactDto.md","api-clients/android/docs/MatchContactResponseDto.md","api-clients/android/docs/MobileCompatApi.md","api-clients/android/docs/PinyinApi.md","api-clients/android/docs/PipelineHealthDto.md","api-clients/android/docs/PipelineMetricsDto.md","api-clients/android/docs/PreviewChunkingDto.md","api-clients/android/docs/QwenModelConfigDto.md","api-clients/android/docs/QwenModelFeaturesDto.md","api-clients/android/docs/RagApi.md","api-clients/android/docs/RagConfigDto.md","api-clients/android/docs/RagMetricsDto.md","api-clients/android/docs/RagPipelineStatusDto.md","api-clients/android/docs/RagQueryDto.md","api-clients/android/docs/RebuildIndexDto.md","api-clients/android/docs/RefreshTokenDto.md","api-clients/android/docs/RetrievalConfigDto.md","api-clients/android/docs/SettingsApi.md","api-clients/android/docs/SyncContactsDto.md","api-clients/android/docs/SyncContactsResponseDto.md","api-clients/android/docs/TeamsApi.md","api-clients/android/docs/ToggleQwenModelDto.md","api-clients/android/docs/UpdateContactDto.md","api-clients/android/docs/UpdateKnowledgeBaseDto.md","api-clients/android/docs/UpdateKnowledgeDocumentDto.md","api-clients/android/docs/UpdateQwenModelDto.md","api-clients/android/docs/UpdateRagConfigDto.md","api-clients/android/docs/UsageApi.md","api-clients/android/docs/WeatherApi.md","api-clients/android/gradle/wrapper/gradle-wrapper.jar","api-clients/android/gradle/wrapper/gradle-wrapper.properties","api-clients/android/gradlew","api-clients/android/gradlew.bat","api-clients/android/settings.gradle","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/AiConfigApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/AuditLogsApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/AuthApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/ContactsApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/DefaultApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/HealthApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/KnowledgeApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/MobileCompatApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/PinyinApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/RagApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/SettingsApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/TeamsApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/UsageApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/WeatherApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/auth/HttpBearerAuth.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/ApiClient.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/BigDecimalAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/BigIntegerAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/ByteArrayAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/CollectionFormats.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/LocalDateAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/LocalDateTimeAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/OffsetDateTimeAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/ResponseExt.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/Serializer.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/URIAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/UUIDAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/AdminLoginDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/BatchRemoveContactsDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ChunkingConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/Contact360ResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/Contact360ViewDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactDetailResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactEventDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactListResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactProfileDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactStatsDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactTagDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ConversationSummaryDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/CreateContactDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/CreateContactEventDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/CreateKnowledgeBaseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/CreateKnowledgeDocumentDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/CreateQwenModelDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/EmbeddingConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/EmbeddingModelDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/GenerationConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/KnowledgeBaseResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/KnowledgeDocumentListResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/KnowledgeDocumentResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/LoginDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/MatchContactDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/MatchContactResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/PipelineHealthDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/PipelineMetricsDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/PreviewChunkingDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/QwenModelConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/QwenModelFeaturesDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RagConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RagMetricsDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RagPipelineStatusDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RagQueryDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RebuildIndexDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RefreshTokenDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RetrievalConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/SyncContactsDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/SyncContactsResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ToggleQwenModelDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/UpdateContactDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/UpdateKnowledgeBaseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/UpdateKnowledgeDocumentDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/UpdateQwenModelDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/UpdateRagConfigDto.kt","api-clients/flutter/.gitignore","api-clients/flutter/.openapi-generator-ignore","api-clients/flutter/.openapi-generator/FILES","api-clients/flutter/.openapi-generator/VERSION","api-clients/flutter/README.md","api-clients/flutter/analysis_options.yaml","api-clients/flutter/doc/AdminLoginDto.md","api-clients/flutter/doc/AiConfigApi.md","api-clients/flutter/doc/AuditLogsApi.md","api-clients/flutter/doc/AuthApi.md","api-clients/flutter/doc/BatchRemoveContactsDto.md","api-clients/flutter/doc/ChunkingConfigDto.md","api-clients/flutter/doc/Contact360ResponseDto.md","api-clients/flutter/doc/Contact360ViewDto.md","api-clients/flutter/doc/ContactDetailResponseDto.md","api-clients/flutter/doc/ContactDto.md","api-clients/flutter/doc/ContactEventDto.md","api-clients/flutter/doc/ContactListResponseDto.md","api-clients/flutter/doc/ContactProfileDto.md","api-clients/flutter/doc/ContactStatsDto.md","api-clients/flutter/doc/ContactTagDto.md","api-clients/flutter/doc/ContactsApi.md","api-clients/flutter/doc/ConversationSummaryDto.md","api-clients/flutter/doc/CreateContactDto.md","api-clients/flutter/doc/CreateContactEventDto.md","api-clients/flutter/doc/CreateKnowledgeBaseDto.md","api-clients/flutter/doc/CreateKnowledgeDocumentDto.md","api-clients/flutter/doc/CreateQwenModelDto.md","api-clients/flutter/doc/DefaultApi.md","api-clients/flutter/doc/EmbeddingConfigDto.md","api-clients/flutter/doc/EmbeddingModelDto.md","api-clients/flutter/doc/GenerationConfigDto.md","api-clients/flutter/doc/HealthApi.md","api-clients/flutter/doc/KnowledgeApi.md","api-clients/flutter/doc/KnowledgeBaseResponseDto.md","api-clients/flutter/doc/KnowledgeDocumentListResponseDto.md","api-clients/flutter/doc/KnowledgeDocumentResponseDto.md","api-clients/flutter/doc/LoginDto.md","api-clients/flutter/doc/MatchContactDto.md","api-clients/flutter/doc/MatchContactResponseDto.md","api-clients/flutter/doc/MobileCompatApi.md","api-clients/flutter/doc/PinyinApi.md","api-clients/flutter/doc/PipelineHealthDto.md","api-clients/flutter/doc/PipelineMetricsDto.md","api-clients/flutter/doc/PreviewChunkingDto.md","api-clients/flutter/doc/QwenModelConfigDto.md","api-clients/flutter/doc/QwenModelFeaturesDto.md","api-clients/flutter/doc/RagApi.md","api-clients/flutter/doc/RagConfigDto.md","api-clients/flutter/doc/RagMetricsDto.md","api-clients/flutter/doc/RagPipelineStatusDto.md","api-clients/flutter/doc/RagQueryDto.md","api-clients/flutter/doc/RebuildIndexDto.md","api-clients/flutter/doc/RefreshTokenDto.md","api-clients/flutter/doc/RetrievalConfigDto.md","api-clients/flutter/doc/SettingsApi.md","api-clients/flutter/doc/SyncContactsDto.md","api-clients/flutter/doc/SyncContactsResponseDto.md","api-clients/flutter/doc/TeamsApi.md","api-clients/flutter/doc/ToggleQwenModelDto.md","api-clients/flutter/doc/UpdateContactDto.md","api-clients/flutter/doc/UpdateKnowledgeBaseDto.md","api-clients/flutter/doc/UpdateKnowledgeDocumentDto.md","api-clients/flutter/doc/UpdateQwenModelDto.md","api-clients/flutter/doc/UpdateRagConfigDto.md","api-clients/flutter/doc/UsageApi.md","api-clients/flutter/doc/WeatherApi.md","api-clients/flutter/lib/haizhan_api.dart","api-clients/flutter/lib/src/api.dart","api-clients/flutter/lib/src/api/ai_config_api.dart","api-clients/flutter/lib/src/api/audit_logs_api.dart","api-clients/flutter/lib/src/api/auth_api.dart","api-clients/flutter/lib/src/api/contacts_api.dart","api-clients/flutter/lib/src/api/default_api.dart","api-clients/flutter/lib/src/api/health_api.dart","api-clients/flutter/lib/src/api/knowledge_api.dart","api-clients/flutter/lib/src/api/mobile_compat_api.dart","api-clients/flutter/lib/src/api/pinyin_api.dart","api-clients/flutter/lib/src/api/rag_api.dart","api-clients/flutter/lib/src/api/settings_api.dart","api-clients/flutter/lib/src/api/teams_api.dart","api-clients/flutter/lib/src/api/usage_api.dart","api-clients/flutter/lib/src/api/weather_api.dart","api-clients/flutter/lib/src/api_util.dart","api-clients/flutter/lib/src/auth/api_key_auth.dart","api-clients/flutter/lib/src/auth/auth.dart","api-clients/flutter/lib/src/auth/basic_auth.dart","api-clients/flutter/lib/src/auth/bearer_auth.dart","api-clients/flutter/lib/src/auth/oauth.dart","api-clients/flutter/lib/src/date_serializer.dart","api-clients/flutter/lib/src/model/admin_login_dto.dart","api-clients/flutter/lib/src/model/batch_remove_contacts_dto.dart","api-clients/flutter/lib/src/model/chunking_config_dto.dart","api-clients/flutter/lib/src/model/contact360_response_dto.dart","api-clients/flutter/lib/src/model/contact360_view_dto.dart","api-clients/flutter/lib/src/model/contact_detail_response_dto.dart","api-clients/flutter/lib/src/model/contact_dto.dart","api-clients/flutter/lib/src/model/contact_event_dto.dart","api-clients/flutter/lib/src/model/contact_list_response_dto.dart","api-clients/flutter/lib/src/model/contact_profile_dto.dart","api-clients/flutter/lib/src/model/contact_stats_dto.dart","api-clients/flutter/lib/src/model/contact_tag_dto.dart","api-clients/flutter/lib/src/model/conversation_summary_dto.dart","api-clients/flutter/lib/src/model/create_contact_dto.dart","api-clients/flutter/lib/src/model/create_contact_event_dto.dart","api-clients/flutter/lib/src/model/create_knowledge_base_dto.dart","api-clients/flutter/lib/src/model/create_knowledge_document_dto.dart","api-clients/flutter/lib/src/model/create_qwen_model_dto.dart","api-clients/flutter/lib/src/model/date.dart","api-clients/flutter/lib/src/model/embedding_config_dto.dart","api-clients/flutter/lib/src/model/embedding_model_dto.dart","api-clients/flutter/lib/src/model/generation_config_dto.dart","api-clients/flutter/lib/src/model/knowledge_base_response_dto.dart","api-clients/flutter/lib/src/model/knowledge_document_list_response_dto.dart","api-clients/flutter/lib/src/model/knowledge_document_response_dto.dart","api-clients/flutter/lib/src/model/login_dto.dart","api-clients/flutter/lib/src/model/match_contact_dto.dart","api-clients/flutter/lib/src/model/match_contact_response_dto.dart","api-clients/flutter/lib/src/model/pipeline_health_dto.dart","api-clients/flutter/lib/src/model/pipeline_metrics_dto.dart","api-clients/flutter/lib/src/model/preview_chunking_dto.dart","api-clients/flutter/lib/src/model/qwen_model_config_dto.dart","api-clients/flutter/lib/src/model/qwen_model_features_dto.dart","api-clients/flutter/lib/src/model/rag_config_dto.dart","api-clients/flutter/lib/src/model/rag_metrics_dto.dart","api-clients/flutter/lib/src/model/rag_pipeline_status_dto.dart","api-clients/flutter/lib/src/model/rag_query_dto.dart","api-clients/flutter/lib/src/model/rebuild_index_dto.dart","api-clients/flutter/lib/src/model/refresh_token_dto.dart","api-clients/flutter/lib/src/model/retrieval_config_dto.dart","api-clients/flutter/lib/src/model/sync_contacts_dto.dart","api-clients/flutter/lib/src/model/sync_contacts_response_dto.dart","api-clients/flutter/lib/src/model/toggle_qwen_model_dto.dart","api-clients/flutter/lib/src/model/update_contact_dto.dart","api-clients/flutter/lib/src/model/update_knowledge_base_dto.dart","api-clients/flutter/lib/src/model/update_knowledge_document_dto.dart","api-clients/flutter/lib/src/model/update_qwen_model_dto.dart","api-clients/flutter/lib/src/model/update_rag_config_dto.dart","api-clients/flutter/lib/src/serializers.dart","api-clients/flutter/pubspec.yaml","api-clients/flutter/test/admin_login_dto_test.dart","api-clients/flutter/test/ai_config_api_test.dart","api-clients/flutter/test/audit_logs_api_test.dart","api-clients/flutter/test/auth_api_test.dart","api-clients/flutter/test/batch_remove_contacts_dto_test.dart","api-clients/flutter/test/chunking_config_dto_test.dart","api-clients/flutter/test/contact360_response_dto_test.dart","api-clients/flutter/test/contact360_view_dto_test.dart","api-clients/flutter/test/contact_detail_response_dto_test.dart","api-clients/flutter/test/contact_dto_test.dart","api-clients/flutter/test/contact_event_dto_test.dart","api-clients/flutter/test/contact_list_response_dto_test.dart","api-clients/flutter/test/contact_profile_dto_test.dart","api-clients/flutter/test/contact_stats_dto_test.dart","api-clients/flutter/test/contact_tag_dto_test.dart","api-clients/flutter/test/contacts_api_test.dart","api-clients/flutter/test/conversation_summary_dto_test.dart","api-clients/flutter/test/create_contact_dto_test.dart","api-clients/flutter/test/create_contact_event_dto_test.dart","api-clients/flutter/test/create_knowledge_base_dto_test.dart","api-clients/flutter/test/create_knowledge_document_dto_test.dart","api-clients/flutter/test/create_qwen_model_dto_test.dart","api-clients/flutter/test/default_api_test.dart","api-clients/flutter/test/embedding_config_dto_test.dart","api-clients/flutter/test/embedding_model_dto_test.dart","api-clients/flutter/test/generation_config_dto_test.dart","api-clients/flutter/test/health_api_test.dart","api-clients/flutter/test/knowledge_api_test.dart","api-clients/flutter/test/knowledge_base_response_dto_test.dart","api-clients/flutter/test/knowledge_document_list_response_dto_test.dart","api-clients/flutter/test/knowledge_document_response_dto_test.dart","api-clients/flutter/test/login_dto_test.dart","api-clients/flutter/test/match_contact_dto_test.dart","api-clients/flutter/test/match_contact_response_dto_test.dart","api-clients/flutter/test/mobile_compat_api_test.dart","api-clients/flutter/test/pinyin_api_test.dart","api-clients/flutter/test/pipeline_health_dto_test.dart","api-clients/flutter/test/pipeline_metrics_dto_test.dart","api-clients/flutter/test/preview_chunking_dto_test.dart","api-clients/flutter/test/qwen_model_config_dto_test.dart","api-clients/flutter/test/qwen_model_features_dto_test.dart","api-clients/flutter/test/rag_api_test.dart","api-clients/flutter/test/rag_config_dto_test.dart","api-clients/flutter/test/rag_metrics_dto_test.dart","api-clients/flutter/test/rag_pipeline_status_dto_test.dart","api-clients/flutter/test/rag_query_dto_test.dart","api-clients/flutter/test/rebuild_index_dto_test.dart","api-clients/flutter/test/refresh_token_dto_test.dart","api-clients/flutter/test/retrieval_config_dto_test.dart","api-clients/flutter/test/settings_api_test.dart","api-clients/flutter/test/sync_contacts_dto_test.dart","api-clients/flutter/test/sync_contacts_response_dto_test.dart","api-clients/flutter/test/teams_api_test.dart","api-clients/flutter/test/toggle_qwen_model_dto_test.dart","api-clients/flutter/test/update_contact_dto_test.dart","api-clients/flutter/test/update_knowledge_base_dto_test.dart","api-clients/flutter/test/update_knowledge_document_dto_test.dart","api-clients/flutter/test/update_qwen_model_dto_test.dart","api-clients/flutter/test/update_rag_config_dto_test.dart","api-clients/flutter/test/usage_api_test.dart","api-clients/flutter/test/weather_api_test.dart","api-clients/ios/.gitignore","api-clients/ios/.openapi-generator-ignore","api-clients/ios/.openapi-generator/FILES","api-clients/ios/.openapi-generator/VERSION","api-clients/ios/.swiftformat","api-clients/ios/Cartfile","api-clients/ios/HaizhanAPI.podspec","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIHelper.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/AiConfigAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/AuditLogsAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/AuthAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/ContactsAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/DefaultAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/HealthAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/KnowledgeAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/MobileCompatAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/PinyinAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/RagAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/SettingsAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/TeamsAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/UsageAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/WeatherAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/CodableHelper.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Configuration.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Extensions.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/JSONDataEncoding.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/JSONEncodingHelper.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/AdminLoginDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/BatchRemoveContactsDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ChunkingConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/Contact360ResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/Contact360ViewDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactDetailResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactEventDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactListResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactProfileDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactStatsDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactTagDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ConversationSummaryDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/CreateContactDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/CreateContactEventDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/CreateKnowledgeBaseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/CreateKnowledgeDocumentDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/CreateQwenModelDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/EmbeddingConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/EmbeddingModelDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/GenerationConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/KnowledgeBaseResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/KnowledgeDocumentListResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/KnowledgeDocumentResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/LoginDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/MatchContactDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/MatchContactResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/PipelineHealthDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/PipelineMetricsDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/PreviewChunkingDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/QwenModelConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/QwenModelFeaturesDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RagConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RagMetricsDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RagPipelineStatusDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RagQueryDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RebuildIndexDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RefreshTokenDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RetrievalConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/SyncContactsDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/SyncContactsResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ToggleQwenModelDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/UpdateContactDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/UpdateKnowledgeBaseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/UpdateKnowledgeDocumentDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/UpdateQwenModelDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/UpdateRagConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/OpenISO8601DateFormatter.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/SynchronizedDictionary.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/URLSessionImplementations.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Validation.swift","api-clients/ios/Package.swift","api-clients/ios/README.md","api-clients/ios/docs/AdminLoginDto.md","api-clients/ios/docs/AiConfigAPI.md","api-clients/ios/docs/AuditLogsAPI.md","api-clients/ios/docs/AuthAPI.md","api-clients/ios/docs/BatchRemoveContactsDto.md","api-clients/ios/docs/ChunkingConfigDto.md","api-clients/ios/docs/Contact360ResponseDto.md","api-clients/ios/docs/Contact360ViewDto.md","api-clients/ios/docs/ContactDetailResponseDto.md","api-clients/ios/docs/ContactDto.md","api-clients/ios/docs/ContactEventDto.md","api-clients/ios/docs/ContactListResponseDto.md","api-clients/ios/docs/ContactProfileDto.md","api-clients/ios/docs/ContactStatsDto.md","api-clients/ios/docs/ContactTagDto.md","api-clients/ios/docs/ContactsAPI.md","api-clients/ios/docs/ConversationSummaryDto.md","api-clients/ios/docs/CreateContactDto.md","api-clients/ios/docs/CreateContactEventDto.md","api-clients/ios/docs/CreateKnowledgeBaseDto.md","api-clients/ios/docs/CreateKnowledgeDocumentDto.md","api-clients/ios/docs/CreateQwenModelDto.md","api-clients/ios/docs/DefaultAPI.md","api-clients/ios/docs/EmbeddingConfigDto.md","api-clients/ios/docs/EmbeddingModelDto.md","api-clients/ios/docs/GenerationConfigDto.md","api-clients/ios/docs/HealthAPI.md","api-clients/ios/docs/KnowledgeAPI.md","api-clients/ios/docs/KnowledgeBaseResponseDto.md","api-clients/ios/docs/KnowledgeDocumentListResponseDto.md","api-clients/ios/docs/KnowledgeDocumentResponseDto.md","api-clients/ios/docs/LoginDto.md","api-clients/ios/docs/MatchContactDto.md","api-clients/ios/docs/MatchContactResponseDto.md","api-clients/ios/docs/MobileCompatAPI.md","api-clients/ios/docs/PinyinAPI.md","api-clients/ios/docs/PipelineHealthDto.md","api-clients/ios/docs/PipelineMetricsDto.md","api-clients/ios/docs/PreviewChunkingDto.md","api-clients/ios/docs/QwenModelConfigDto.md","api-clients/ios/docs/QwenModelFeaturesDto.md","api-clients/ios/docs/RagAPI.md","api-clients/ios/docs/RagConfigDto.md","api-clients/ios/docs/RagMetricsDto.md","api-clients/ios/docs/RagPipelineStatusDto.md","api-clients/ios/docs/RagQueryDto.md","api-clients/ios/docs/RebuildIndexDto.md","api-clients/ios/docs/RefreshTokenDto.md","api-clients/ios/docs/RetrievalConfigDto.md","api-clients/ios/docs/SettingsAPI.md","api-clients/ios/docs/SyncContactsDto.md","api-clients/ios/docs/SyncContactsResponseDto.md","api-clients/ios/docs/TeamsAPI.md","api-clients/ios/docs/ToggleQwenModelDto.md","api-clients/ios/docs/UpdateContactDto.md","api-clients/ios/docs/UpdateKnowledgeBaseDto.md","api-clients/ios/docs/UpdateKnowledgeDocumentDto.md","api-clients/ios/docs/UpdateQwenModelDto.md","api-clients/ios/docs/UpdateRagConfigDto.md","api-clients/ios/docs/UsageAPI.md","api-clients/ios/docs/WeatherAPI.md","api-clients/ios/git_push.sh","api-clients/ios/project.yml","app/build.gradle.kts","app/proguard-rules-release.pro","app/proguard-rules.pro","app/src/androidTest/java/com/haizhan/ime/ComposeUiTest.kt","app/src/androidTest/java/com/haizhan/ime/ExampleInstrumentedTest.kt","app/src/androidTest/java/com/haizhan/ime/e2e/SmokeE2ETest.kt","app/src/androidTest/java/com/haizhan/ime/integration/ImeIntegrationTest.kt","app/src/main/AndroidManifest.xml","app/src/main/assets/dictionaries/stroke-data.txt","app/src/main/assets/handwriting_labels.txt","app/src/main/assets/handwriting_labels_casia.txt","app/src/main/assets/handwriting_labels_clean.txt","app/src/main/assets/handwriting_labels_jp.txt","app/src/main/assets/paddle_models/handwriting_labels.txt","app/src/main/assets/paddle_models/ppocr_keys_v1.txt","app/src/main/assets/temp_clean.txt","app/src/main/assets/temp_labels.txt","app/src/main/java/com/haizhan/ime/HaizhanApplication.kt","app/src/main/java/com/haizhan/ime/about/ui/AboutScreen.kt","app/src/main/java/com/haizhan/ime/chat/model/Message.kt","app/src/main/java/com/haizhan/ime/chat/service/WebSocketService.kt","app/src/main/java/com/haizhan/ime/chat/ui/ChatMessageCard.kt","app/src/main/java/com/haizhan/ime/chat/ui/ChatScreen.kt","app/src/main/java/com/haizhan/ime/chat/ui/GroupChatScreen.kt","app/src/main/java/com/haizhan/ime/feedback/ui/FeedbackScreen.kt","app/src/main/java/com/haizhan/ime/help/ui/HelpCenterScreen.kt","app/src/main/java/com/haizhan/ime/note/model/Note.kt","app/src/main/java/com/haizhan/ime/note/service/NoteService.kt","app/src/main/java/com/haizhan/ime/note/ui/NoteEditorScreen.kt","app/src/main/java/com/haizhan/ime/note/ui/NoteListScreen.kt","app/src/main/java/com/haizhan/ime/profile/model/Profile.kt","app/src/main/java/com/haizhan/ime/profile/ui/ProfileScreen.kt","app/src/main/java/com/haizhan/ime/receiver/BootReceiver.kt","app/src/main/java/com/haizhan/ime/search/model/Search.kt","app/src/main/java/com/haizhan/ime/search/service/SearchService.kt","app/src/main/java/com/haizhan/ime/search/ui/GlobalSearchScreen.kt","app/src/main/java/com/haizhan/ime/security/EncryptionManager.kt","app/src/main/java/com/haizhan/ime/security/NetworkSecurityManager.kt","app/src/main/java/com/haizhan/ime/security/PrivacyComplianceManager.kt","app/src/main/java/com/haizhan/ime/security/SecurityAuditor.kt","app/src/main/java/com/haizhan/ime/service/AiProcessingService.kt","app/src/main/java/com/haizhan/ime/service/ContextCollector.kt","app/src/main/java/com/haizhan/ime/service/DataSyncService.kt","app/src/main/java/com/haizhan/ime/service/HaizhanInputMethodService.kt","app/src/main/java/com/haizhan/ime/service/InputTypeAnalysis.kt","app/src/main/java/com/haizhan/ime/service/KeyboardContentView.kt","app/src/main/java/com/haizhan/ime/service/OcrCaptureService.kt","app/src/main/java/com/haizhan/ime/service/VoiceInputDelegate.kt","app/src/main/java/com/haizhan/ime/session/model/Session.kt","app/src/main/java/com/haizhan/ime/session/service/SessionService.kt","app/src/main/java/com/haizhan/ime/session/ui/MessageCenterScreen.kt","app/src/main/java/com/haizhan/ime/session/ui/SessionCard.kt","app/src/main/java/com/haizhan/ime/session/ui/SessionListScreen.kt","app/src/main/java/com/haizhan/ime/stability/AnrWatchdog.kt","app/src/main/java/com/haizhan/ime/stability/CrashHandler.kt","app/src/main/java/com/haizhan/ime/stability/MemoryLeakDetector.kt","app/src/main/java/com/haizhan/ime/stability/StabilityManager.kt","app/src/main/java/com/haizhan/ime/statistics/model/Statistics.kt","app/src/main/java/com/haizhan/ime/statistics/ui/ChartComponents.kt","app/src/main/java/com/haizhan/ime/statistics/ui/StatisticsScreen.kt","app/src/main/java/com/haizhan/ime/subscription/model/Subscription.kt","app/src/main/java/com/haizhan/ime/subscription/service/SubscriptionService.kt","app/src/main/java/com/haizhan/ime/subscription/ui/SubscriptionScreen.kt","app/src/main/java/com/haizhan/ime/sync/ContactSyncTaskAdapter.kt","app/src/main/java/com/haizhan/ime/sync/KnowledgeSyncTaskAdapter.kt","app/src/main/java/com/haizhan/ime/sync/SyncContracts.kt","app/src/main/java/com/haizhan/ime/sync/SyncCoordinator.kt","app/src/main/java/com/haizhan/ime/sync/SyncScheduler.kt","app/src/main/java/com/haizhan/ime/team/model/Team.kt","app/src/main/java/com/haizhan/ime/team/service/TeamService.kt","app/src/main/java/com/haizhan/ime/team/ui/TeamScreen.kt","app/src/main/java/com/haizhan/ime/template/data/B2BTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/ClosingTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/CoreSalesTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/DailyTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/DefaultTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/FollowUpTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/QuickPhraseDefaults.kt","app/src/main/java/com/haizhan/ime/template/data/SeasonalTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/TemplateDatabase.kt","app/src/main/java/com/haizhan/ime/template/data/TemplateImporter.kt","app/src/main/java/com/haizhan/ime/template/data/TemplateRepository.kt","app/src/main/java/com/haizhan/ime/template/di/TemplateModule.kt","app/src/main/java/com/haizhan/ime/template/model/Template.kt","app/src/main/java/com/haizhan/ime/template/service/TemplateService.kt","app/src/main/java/com/haizhan/ime/template/ui/FolderManagementDialog.kt","app/src/main/java/com/haizhan/ime/template/ui/TemplateListScreen.kt","app/src/main/java/com/haizhan/ime/template/ui/TemplateViewModel.kt","app/src/main/java/com/haizhan/ime/ui/MainActivity.kt","app/src/main/java/com/haizhan/ime/ui/management/DictionaryImportActivity.kt","app/src/main/java/com/haizhan/ime/ui/management/DictionaryImportScreen.kt","app/src/main/java/com/haizhan/ime/ui/management/DictionaryImportViewModel.kt","app/src/main/java/com/haizhan/ime/ui/management/DictionaryScreen.kt","app/src/main/java/com/haizhan/ime/ui/management/ManagementActivity.kt","app/src/main/java/com/haizhan/ime/ui/management/ManagementViewModel.kt","app/src/main/java/com/haizhan/ime/ui/management/PermissionScreen.kt","app/src/main/java/com/haizhan/ime/ui/management/SettingsScreen.kt","app/src/main/java/com/haizhan/ime/ui/permission/ScreenshotPermissionActivity.kt","app/src/main/java/com/haizhan/ime/ui/settings/ImeSettingsActivity.kt","app/src/main/java/com/haizhan/ime/ui/settings/SettingsViewModel.kt","app/src/main/java/com/haizhan/ime/ui/theme/Theme.kt","app/src/main/java/com/haizhan/ime/ui/theme/Type.kt","app/src/main/java/com/haizhan/ime/ux/AccessibilityHelper.kt","app/src/main/java/com/haizhan/ime/ux/AnimationUtils.kt","app/src/main/java/com/haizhan/ime/ux/ErrorHandler.kt","app/src/main/java/com/haizhan/ime/ux/OnboardingScreen.kt","app/src/main/java/com/haizhan/ime/ux/StartupOptimizer.kt","app/src/main/java/com/haizhan/ime/voice/service/VoiceService.kt","app/src/main/java/com/haizhan/ime/voice/ui/VoiceInputScreen.kt","app/src/main/res/drawable/ic_launcher_background.xml","app/src/main/res/drawable/ic_launcher_foreground.xml","app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml","app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml","app/src/main/res/values-night/colors.xml","app/src/main/res/values/colors.xml","app/src/main/res/values/strings.xml","app/src/main/res/values/themes.xml","app/src/main/res/xml/backup_rules.xml","app/src/main/res/xml/data_extraction_rules.xml","app/src/main/res/xml/file_paths.xml","app/src/main/res/xml/method.xml","app/src/main/res/xml/network_security_config.xml","app/src/test/java/com/haizhan/ime/ExampleUnitTest.kt","app/src/test/java/com/haizhan/ime/app/service/NotificationServiceTest.kt","app/src/test/java/com/haizhan/ime/app/service/SearchServiceTest.kt","app/src/test/java/com/haizhan/ime/app/service/SessionServiceTest.kt","app/src/test/java/com/haizhan/ime/app/service/SyncServiceTest.kt","app/src/test/java/com/haizhan/ime/app/service/WebSocketServiceTest.kt","app/src/test/java/com/haizhan/ime/benchmark/PerformanceBenchmarkTest.kt","app/src/test/java/com/haizhan/ime/security/EncryptionManagerTest.kt","app/src/test/java/com/haizhan/ime/security/PrivacyComplianceManagerTest.kt","app/src/test/java/com/haizhan/ime/security/SecurityAuditorTest.kt","app/src/test/java/com/haizhan/ime/service/HaizhanInputMethodServiceTest.kt","app/src/test/java/com/haizhan/ime/services/AiProcessingServiceTest.kt","app/src/test/java/com/haizhan/ime/services/NoteServiceTest.kt","app/src/test/java/com/haizhan/ime/services/OcrCaptureServiceTest.kt","app/src/test/java/com/haizhan/ime/services/SubscriptionServiceTest.kt","app/src/test/java/com/haizhan/ime/services/TeamServiceTest.kt","app/src/test/java/com/haizhan/ime/services/TemplateServiceTest.kt","app/src/test/java/com/haizhan/ime/services/VoiceServiceTest.kt","app/src/test/java/com/haizhan/ime/ui/management/ManagementViewModelTest.kt","app/src/test/java/com/haizhan/ime/ui/settings/SettingsViewModelTest.kt","app/src/test/java/com/haizhan/ime/ux/ErrorHandlerTest.kt","app/src/test/java/com/haizhan/ime/ux/StartupOptimizerTest.kt","app/src/test/java/com/haizhan/ime/viewmodel/DictionaryImportViewModelTest.kt","app/src/test/java/com/haizhan/ime/viewmodel/TemplateViewModelTest.kt","build.gradle.kts","common/build.gradle.kts","common/consumer-rules.pro","common/proguard-rules.pro","common/src/main/AndroidManifest.xml","common/src/main/java/com/haizhan/ime/common/ext/ContextExt.kt","common/src/main/java/com/haizhan/ime/common/ext/FlowExt.kt","common/src/main/java/com/haizhan/ime/common/ext/StringExt.kt","common/src/main/java/com/haizhan/ime/common/performance/ImePerformanceTracker.kt","common/src/main/java/com/haizhan/ime/common/theme/DesignTokens.kt","common/src/main/java/com/haizhan/ime/common/theme/KeyboardTheme.kt","common/src/main/java/com/haizhan/ime/common/util/DeviceUtils.kt","common/src/main/java/com/haizhan/ime/common/util/Logger.kt","common/src/main/java/com/haizhan/ime/common/util/LruCache.kt","common/src/main/java/com/haizhan/ime/common/util/MemoryMonitor.kt","common/src/test/java/com/haizhan/ime/common/StringExtTest.kt","common/src/test/java/com/haizhan/ime/common/ext/ResultTest.kt","common/src/test/java/com/haizhan/ime/common/util/DateUtilsTest.kt","common/src/test/java/com/haizhan/ime/common/util/LoggerTest.kt","common/src/test/java/com/haizhan/ime/common/util/MemoryStatsTest.kt","common/src/test/java/com/haizhan/ime/common/util/PinyinUtilsTest.kt","common/src/test/java/com/haizhan/ime/common/util/TextUtilsTest.kt","config/detekt/detekt.yml","data/build.gradle.kts","data/consumer-rules.pro","data/dictionaries/dictionary.config.json","data/dictionaries/fallback-words.txt","data/dictionaries/sensitive-words.txt","data/dictionaries/system/char-single.txt","data/dictionaries/system/core-char.txt","data/dictionaries/system/core-phrase.txt","data/dictionaries/system/core-word2.txt","data/dictionaries/system/core-word3.txt","data/dictionaries/system/core-word4.txt","data/dictionaries/system/idiom.txt","data/dictionaries/system/name-place.txt","data/dictionaries/system/word-common.txt","data/proguard-rules.pro","data/schemas/com.haizhan.ime.data.local.database.HaizhanDatabase/1.json","data/schemas/com.haizhan.ime.data.local.database.HaizhanDatabase/2.json","data/schemas/com.haizhan.ime.data.local.database.HaizhanDatabase/3.json","data/schemas/com.haizhan.ime.data.local.database.HaizhanDatabase/4.json","data/src/main/AndroidManifest.xml","data/src/main/java/com/haizhan/ime/data/auth/AuthInterceptor.kt","data/src/main/java/com/haizhan/ime/data/auth/AuthManager.kt","data/src/main/java/com/haizhan/ime/data/di/DataModule.kt","data/src/main/java/com/haizhan/ime/data/di/DatabaseModule.kt","data/src/main/java/com/haizhan/ime/data/di/NetworkModule.kt","data/src/main/java/com/haizhan/ime/data/di/RepositoryModule.kt","data/src/main/java/com/haizhan/ime/data/local/dao/ContactDao.kt","data/src/main/java/com/haizhan/ime/data/local/dao/KnowledgeDao.kt","data/src/main/java/com/haizhan/ime/data/local/dao/MessageDao.kt","data/src/main/java/com/haizhan/ime/data/local/dao/NoteDao.kt","data/src/main/java/com/haizhan/ime/data/local/dao/SearchDao.kt","data/src/main/java/com/haizhan/ime/data/local/dao/UserDictDao.kt","data/src/main/java/com/haizhan/ime/data/local/database/Converters.kt","data/src/main/java/com/haizhan/ime/data/local/database/HaizhanDatabase.kt","data/src/main/java/com/haizhan/ime/data/local/database/SecureDatabaseFactory.kt","data/src/main/java/com/haizhan/ime/data/local/entity/ContactEntity.kt","data/src/main/java/com/haizhan/ime/data/local/entity/KnowledgeEntity.kt","data/src/main/java/com/haizhan/ime/data/local/entity/MessageEntity.kt","data/src/main/java/com/haizhan/ime/data/local/entity/NoteEntity.kt","data/src/main/java/com/haizhan/ime/data/local/entity/SearchEntity.kt","data/src/main/java/com/haizhan/ime/data/local/entity/UserDictEntity.kt","data/src/main/java/com/haizhan/ime/data/remote/adapter/FlexibleTimestampAdapter.kt","data/src/main/java/com/haizhan/ime/data/remote/aliyun/AliyunSearchClient.kt","data/src/main/java/com/haizhan/ime/data/remote/aliyun/AliyunSearchConfig.kt","data/src/main/java/com/haizhan/ime/data/remote/aliyun/AliyunSearchConfigProvider.kt","data/src/main/java/com/haizhan/ime/data/remote/api/AuthApi.kt","data/src/main/java/com/haizhan/ime/data/remote/api/ContactApi.kt","data/src/main/java/com/haizhan/ime/data/remote/api/HaizhanApi.kt","data/src/main/java/com/haizhan/ime/data/remote/api/PinyinApi.kt","data/src/main/java/com/haizhan/ime/data/remote/api/RagSearchApi.kt","data/src/main/java/com/haizhan/ime/data/remote/api/ReplyApi.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/AiDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/AuthDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/CommonDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/ContactDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/KnowledgeDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/MemoryDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/MessageDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/NoteDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/ProfileDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/RagSearchDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/SearchDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/TeamDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/WeatherDto.kt","data/src/main/java/com/haizhan/ime/data/repository/ContactRepository.kt","data/src/main/java/com/haizhan/ime/data/repository/KnowledgeRepository.kt","data/src/main/java/com/haizhan/ime/data/repository/MessageRepository.kt","data/src/main/java/com/haizhan/ime/data/repository/RagSearchRepository.kt","data/src/main/java/com/haizhan/ime/data/repository/SettingsRepository.kt","data/src/main/java/com/haizhan/ime/data/repository/mapper/ContactMapper.kt","data/src/main/java/com/haizhan/ime/data/repository/mapper/KnowledgeMapper.kt","data/src/main/java/com/haizhan/ime/data/repository/mapper/MessageMapper.kt","data/src/main/java/com/haizhan/ime/data/repository/model/Contact.kt","data/src/main/java/com/haizhan/ime/data/repository/model/Knowledge.kt","data/src/main/java/com/haizhan/ime/data/repository/model/Message.kt","data/src/test/java/com/haizhan/ime/data/auth/AuthInterceptorTest.kt","data/src/test/java/com/haizhan/ime/data/auth/AuthManagerTest.kt","data/src/test/java/com/haizhan/ime/data/auth/AuthTypesTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/ContactDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/KnowledgeDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/MessageDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/NoteDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/SearchDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/UserDictDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/UserPreferencesDaoTest.kt","data/src/test/java/com/haizhan/ime/data/remote/api/HaizhanApiTest.kt","data/src/test/java/com/haizhan/ime/data/remote/dto/ContactDtoTest.kt","data/src/test/java/com/haizhan/ime/data/repository/ContactRepositoryTest.kt","data/src/test/java/com/haizhan/ime/data/repository/KnowledgeRepositoryTest.kt","data/src/test/java/com/haizhan/ime/data/repository/MessageRepositoryTest.kt","data/src/test/java/com/haizhan/ime/data/repository/SettingsRepositoryTest.kt","data/src/test/java/com/haizhan/ime/data/repository/mapper/ContactMapperTest.kt","data/src/test/java/com/haizhan/ime/data/repository/mapper/KnowledgeMapperTest.kt","data/src/test/java/com/haizhan/ime/data/repository/mapper/MessageMapperTest.kt","designs/exports/CLAUDE_CODE_DESIGN_GUIDE.md","designs/exports/DESIGN_MANIFEST.md","designs/exports/svg/Frame.svg","designs/exports/svg/P2-关于.svg","designs/exports/svg/P2-协议条款.svg","designs/exports/svg/P2-帮助中心.svg","designs/exports/svg/P2-意见反馈.svg","designs/exports/svg/P2-版本更新.svg","designs/exports/svg/__设计系统_-_组件库.svg","designs/exports/svg/功能面板_-_OCR识别.svg","designs/exports/svg/功能面板_-_历史.svg","designs/exports/svg/功能面板_-_团队.svg","designs/exports/svg/功能面板_-_知识库.svg","designs/exports/svg/功能面板_-_笔记.svg","designs/exports/svg/功能面板_-_联系人.svg","designs/exports/svg/嗨赞AI助手_-_AI回复选择.svg","designs/exports/svg/嗨赞AI助手_-_OCR结果确认.svg","designs/exports/svg/嗨赞AI助手_-_个人中心.svg","designs/exports/svg/嗨赞AI助手_-_主应用首页.svg","designs/exports/svg/嗨赞AI助手_-_主键盘界面.svg","designs/exports/svg/嗨赞AI助手_-_主键盘界面__深色_.svg","designs/exports/svg/嗨赞AI助手_-_交互式笔记.svg","designs/exports/svg/嗨赞AI助手_-_会员订阅.svg","designs/exports/svg/嗨赞AI助手_-_会话列表.svg","designs/exports/svg/嗨赞AI助手_-_单聊IM.svg","designs/exports/svg/嗨赞AI助手_-_历史记录页面.svg","designs/exports/svg/嗨赞AI助手_-_引导页1.svg","designs/exports/svg/嗨赞AI助手_-_引导页2.svg","designs/exports/svg/嗨赞AI助手_-_引导页3.svg","designs/exports/svg/嗨赞AI助手_-_忘记密码.svg","designs/exports/svg/嗨赞AI助手_-_我的页面.svg","designs/exports/svg/嗨赞AI助手_-_搜索.svg","designs/exports/svg/嗨赞AI助手_-_数据统计.svg","designs/exports/svg/嗨赞AI助手_-_新建联系人.svg","designs/exports/svg/嗨赞AI助手_-_注册页面.svg","designs/exports/svg/嗨赞AI助手_-_消息中心.svg","designs/exports/svg/嗨赞AI助手_-_登录页面.svg","designs/exports/svg/嗨赞AI助手_-_知识库列表.svg","designs/exports/svg/嗨赞AI助手_-_知识库详情.svg","designs/exports/svg/嗨赞AI助手_-_编辑个人信息.svg","designs/exports/svg/嗨赞AI助手_-_群聊IM.svg","designs/exports/svg/嗨赞AI助手_-_联系人列表.svg","designs/exports/svg/嗨赞AI助手_-_联系人详情.svg","designs/exports/svg/嗨赞AI助手_-_设置.svg","designs/exports/svg/嗨赞AI助手_-_设置页面.svg","designs/exports/svg/嗨赞AI助手_-_话术模板.svg","designs/exports/svg/嗨赞AI助手_-_话术模板详情.svg","designs/exports/svg/微交互规范文档.svg","designs/exports/svg/组件_-_悬浮球状态.svg","designs/exports/svg/组件_-_拼音候选词展开.svg","designs/exports/svg/组件_-_空状态.svg","designs/exports/svg/组件_-_语音输入状态.svg","designs/exports/svg/组件_-_错误状态.svg","designs/mobile-keyboard-design.md","designs/specs/COMPONENT_SPEC.md","designs/specs/KEYBOARD_DESIGN_SPEC.md","designs/specs/README.md","designs/specs/design-tokens.json","designs/templates/android/DesignTokens.kt","designs/templates/android/KeyboardTheme.kt","designs/templates/ios/DesignTokens.swift","designs/templates/ios/KeyboardTheme.swift","designs/嗨赞输入法.pen","docs/ANDROID_DEVELOPMENT.md","docs/API.md","docs/ARCHITECTURE.md","docs/BACKEND_API_REQUIREMENTS.md","docs/BACKEND_DESIGN.md","docs/CI_CD_PIPELINE.md","docs/CODING_STANDARDS.md","docs/COMPLETE_FEATURE_SPEC.md","docs/DATABASE.md","docs/DEPLOYMENT.md","docs/DESIGN_TO_DEV_SPEC.md","docs/DEVELOPMENT_GUIDE.md","docs/DEVELOPMENT_PLAN.md","docs/DOCS_SYNC.md","docs/ERROR_HANDLING.md","docs/FEATURE_ANALYSIS.md","docs/FLUTTER_DEVELOPMENT.md","docs/FRONTEND_DEV_REQUIREMENTS.md","docs/HANDWRITING_MODEL_UPGRADE.md","docs/IOS_DEVELOPMENT.md","docs/KMP_DEVELOPMENT.md","docs/LOGGING_STANDARDS.md","docs/MILESTONES.md","docs/MODULE_ANALYSIS.md","docs/MODULE_LIST.md","docs/PERFORMANCE_OPTIMIZATION.md","docs/PNPM_MIGRATION_NOTICE.md","docs/PRD.md","docs/PRIVACY_POLICY.md","docs/PRODUCT_ARCHITECTURE.md","docs/Phase_11_12_Final_Report.md","docs/RELEASE_CHECKLIST.md","docs/SECURITY_AUDIT.md","docs/SECURITY_GUIDELINES.md","docs/STORE_LISTING.md","docs/SYSTEM_ARCHITECTURE.md","docs/TASKS.md","docs/TECH_STACK.md","docs/TESTING_STRATEGY.md","docs/USER_MANUAL.md","docs/VOICE_API_DOCUMENTATION.md","docs/VOICE_MODULE_MIGRATION.md","docs/openapi.json","docs/skills/anthropic-official/.claude-plugin/marketplace.json","docs/skills/anthropic-official/.gitignore","docs/skills/anthropic-official/README.md","docs/skills/anthropic-official/THIRD_PARTY_NOTICES.md","docs/skills/anthropic-official/skills/algorithmic-art/LICENSE.txt","docs/skills/anthropic-official/skills/algorithmic-art/SKILL.md","docs/skills/anthropic-official/skills/algorithmic-art/templates/generator_template.js","docs/skills/anthropic-official/skills/algorithmic-art/templates/viewer.html","docs/skills/anthropic-official/skills/brand-guidelines/LICENSE.txt","docs/skills/anthropic-official/skills/brand-guidelines/SKILL.md","docs/skills/anthropic-official/skills/canvas-design/LICENSE.txt","docs/skills/anthropic-official/skills/canvas-design/SKILL.md","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/ArsenalSC-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BigShoulders-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BigShoulders-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BigShoulders-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Boldonse-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Boldonse-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/CrimsonPro-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/DMMono-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/DMMono-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/EricaOne-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/EricaOne-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/GeistMono-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/GeistMono-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/GeistMono-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Gloock-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Gloock-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSans-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Italiana-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Italiana-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Jura-Light.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Jura-Medium.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Jura-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Lora-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Lora-BoldItalic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Lora-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Lora-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Lora-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/NationalPark-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/NationalPark-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/NationalPark-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Outfit-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Outfit-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Outfit-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/PixelifySans-Medium.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/PixelifySans-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/PoiretOne-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/PoiretOne-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/RedHatMono-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/RedHatMono-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/RedHatMono-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Silkscreen-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Silkscreen-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/SmoochSans-Medium.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/SmoochSans-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Tektur-Medium.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Tektur-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Tektur-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/WorkSans-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/WorkSans-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/WorkSans-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/WorkSans-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/YoungSerif-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/YoungSerif-Regular.ttf","docs/skills/anthropic-official/skills/doc-coauthoring/SKILL.md","docs/skills/anthropic-official/skills/docx/LICENSE.txt","docs/skills/anthropic-official/skills/docx/SKILL.md","docs/skills/anthropic-official/skills/docx/docx-js.md","docs/skills/anthropic-official/skills/docx/ooxml.md","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/mce/mc.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-2010.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-2012.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-2018.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd","docs/skills/anthropic-official/skills/docx/ooxml/scripts/pack.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/unpack.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validate.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validation/__init__.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validation/base.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validation/docx.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validation/pptx.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validation/redlining.py","docs/skills/anthropic-official/skills/docx/scripts/__init__.py","docs/skills/anthropic-official/skills/docx/scripts/document.py","docs/skills/anthropic-official/skills/docx/scripts/templates/comments.xml","docs/skills/anthropic-official/skills/docx/scripts/templates/commentsExtended.xml","docs/skills/anthropic-official/skills/docx/scripts/templates/commentsExtensible.xml","docs/skills/anthropic-official/skills/docx/scripts/templates/commentsIds.xml","docs/skills/anthropic-official/skills/docx/scripts/templates/people.xml","docs/skills/anthropic-official/skills/docx/scripts/utilities.py","docs/skills/anthropic-official/skills/frontend-design/LICENSE.txt","docs/skills/anthropic-official/skills/frontend-design/SKILL.md","docs/skills/anthropic-official/skills/internal-comms/LICENSE.txt","docs/skills/anthropic-official/skills/internal-comms/SKILL.md","docs/skills/anthropic-official/skills/internal-comms/examples/3p-updates.md","docs/skills/anthropic-official/skills/internal-comms/examples/company-newsletter.md","docs/skills/anthropic-official/skills/internal-comms/examples/faq-answers.md","docs/skills/anthropic-official/skills/internal-comms/examples/general-comms.md","docs/skills/anthropic-official/skills/mcp-builder/LICENSE.txt","docs/skills/anthropic-official/skills/mcp-builder/SKILL.md","docs/skills/anthropic-official/skills/mcp-builder/reference/evaluation.md","docs/skills/anthropic-official/skills/mcp-builder/reference/mcp_best_practices.md","docs/skills/anthropic-official/skills/mcp-builder/reference/node_mcp_server.md","docs/skills/anthropic-official/skills/mcp-builder/reference/python_mcp_server.md","docs/skills/anthropic-official/skills/mcp-builder/scripts/connections.py","docs/skills/anthropic-official/skills/mcp-builder/scripts/evaluation.py","docs/skills/anthropic-official/skills/mcp-builder/scripts/example_evaluation.xml","docs/skills/anthropic-official/skills/mcp-builder/scripts/requirements.txt","docs/skills/anthropic-official/skills/pdf/LICENSE.txt","docs/skills/anthropic-official/skills/pdf/SKILL.md","docs/skills/anthropic-official/skills/pdf/forms.md","docs/skills/anthropic-official/skills/pdf/reference.md","docs/skills/anthropic-official/skills/pdf/scripts/check_bounding_boxes.py","docs/skills/anthropic-official/skills/pdf/scripts/check_bounding_boxes_test.py","docs/skills/anthropic-official/skills/pdf/scripts/check_fillable_fields.py","docs/skills/anthropic-official/skills/pdf/scripts/convert_pdf_to_images.py","docs/skills/anthropic-official/skills/pdf/scripts/create_validation_image.py","docs/skills/anthropic-official/skills/pdf/scripts/extract_form_field_info.py","docs/skills/anthropic-official/skills/pdf/scripts/fill_fillable_fields.py","docs/skills/anthropic-official/skills/pdf/scripts/fill_pdf_form_with_annotations.py","docs/skills/anthropic-official/skills/pptx/LICENSE.txt","docs/skills/anthropic-official/skills/pptx/SKILL.md","docs/skills/anthropic-official/skills/pptx/html2pptx.md","docs/skills/anthropic-official/skills/pptx/ooxml.md","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/mce/mc.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-2010.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-2012.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-2018.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/pack.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/unpack.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validate.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validation/__init__.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validation/base.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validation/docx.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validation/pptx.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validation/redlining.py","docs/skills/anthropic-official/skills/pptx/scripts/html2pptx.js","docs/skills/anthropic-official/skills/pptx/scripts/inventory.py","docs/skills/anthropic-official/skills/pptx/scripts/rearrange.py","docs/skills/anthropic-official/skills/pptx/scripts/replace.py","docs/skills/anthropic-official/skills/pptx/scripts/thumbnail.py","docs/skills/anthropic-official/skills/skill-creator/LICENSE.txt","docs/skills/anthropic-official/skills/skill-creator/SKILL.md","docs/skills/anthropic-official/skills/skill-creator/references/output-patterns.md","docs/skills/anthropic-official/skills/skill-creator/references/workflows.md","docs/skills/anthropic-official/skills/skill-creator/scripts/init_skill.py","docs/skills/anthropic-official/skills/skill-creator/scripts/package_skill.py","docs/skills/anthropic-official/skills/skill-creator/scripts/quick_validate.py","docs/skills/anthropic-official/skills/slack-gif-creator/LICENSE.txt","docs/skills/anthropic-official/skills/slack-gif-creator/SKILL.md","docs/skills/anthropic-official/skills/slack-gif-creator/core/easing.py","docs/skills/anthropic-official/skills/slack-gif-creator/core/frame_composer.py","docs/skills/anthropic-official/skills/slack-gif-creator/core/gif_builder.py","docs/skills/anthropic-official/skills/slack-gif-creator/core/validators.py","docs/skills/anthropic-official/skills/slack-gif-creator/requirements.txt","docs/skills/anthropic-official/skills/theme-factory/LICENSE.txt","docs/skills/anthropic-official/skills/theme-factory/SKILL.md","docs/skills/anthropic-official/skills/theme-factory/theme-showcase.pdf","docs/skills/anthropic-official/skills/theme-factory/themes/arctic-frost.md","docs/skills/anthropic-official/skills/theme-factory/themes/botanical-garden.md","docs/skills/anthropic-official/skills/theme-factory/themes/desert-rose.md","docs/skills/anthropic-official/skills/theme-factory/themes/forest-canopy.md","docs/skills/anthropic-official/skills/theme-factory/themes/golden-hour.md","docs/skills/anthropic-official/skills/theme-factory/themes/midnight-galaxy.md","docs/skills/anthropic-official/skills/theme-factory/themes/modern-minimalist.md","docs/skills/anthropic-official/skills/theme-factory/themes/ocean-depths.md","docs/skills/anthropic-official/skills/theme-factory/themes/sunset-boulevard.md","docs/skills/anthropic-official/skills/theme-factory/themes/tech-innovation.md","docs/skills/anthropic-official/skills/web-artifacts-builder/LICENSE.txt","docs/skills/anthropic-official/skills/web-artifacts-builder/SKILL.md","docs/skills/anthropic-official/skills/web-artifacts-builder/scripts/bundle-artifact.sh","docs/skills/anthropic-official/skills/web-artifacts-builder/scripts/init-artifact.sh","docs/skills/anthropic-official/skills/web-artifacts-builder/scripts/shadcn-components.tar.gz","docs/skills/anthropic-official/skills/webapp-testing/LICENSE.txt","docs/skills/anthropic-official/skills/webapp-testing/SKILL.md","docs/skills/anthropic-official/skills/webapp-testing/examples/console_logging.py","docs/skills/anthropic-official/skills/webapp-testing/examples/element_discovery.py","docs/skills/anthropic-official/skills/webapp-testing/examples/static_html_automation.py","docs/skills/anthropic-official/skills/webapp-testing/scripts/with_server.py","docs/skills/anthropic-official/skills/xlsx/LICENSE.txt","docs/skills/anthropic-official/skills/xlsx/SKILL.md","docs/skills/anthropic-official/skills/xlsx/recalc.py","docs/skills/anthropic-official/spec/agent-skills-spec.md","docs/skills/anthropic-official/template/SKILL.md","docs/skills/awesome-skills/.gitignore","docs/skills/awesome-skills/CONTRIBUTING.md","docs/skills/awesome-skills/README.md","docs/skills/backend-patterns/SKILL.md","docs/skills/clickhouse-io/SKILL.md","docs/skills/coding-standards/SKILL.md","docs/skills/continuous-learning/SKILL.md","docs/skills/continuous-learning/config.json","docs/skills/continuous-learning/evaluate-session.sh","docs/skills/daymade-skills/.claude-plugin/marketplace.json","docs/skills/daymade-skills/.github/ISSUE_TEMPLATE/bug_report.md","docs/skills/daymade-skills/.github/ISSUE_TEMPLATE/feature_request.md","docs/skills/daymade-skills/.github/PULL_REQUEST_TEMPLATE.md","docs/skills/daymade-skills/.gitignore","docs/skills/daymade-skills/AGENTS.md","docs/skills/daymade-skills/CHANGELOG.md","docs/skills/daymade-skills/CLAUDE.md","docs/skills/daymade-skills/CONTRIBUTING.md","docs/skills/daymade-skills/LICENSE","docs/skills/daymade-skills/QUICKSTART.md","docs/skills/daymade-skills/QUICKSTART.zh-CN.md","docs/skills/daymade-skills/README.md","docs/skills/daymade-skills/README.zh-CN.md","docs/skills/daymade-skills/claude-code-history-files-finder/.INTEGRATION_SUMMARY.md","docs/skills/daymade-skills/claude-code-history-files-finder/.security-scan-passed","docs/skills/daymade-skills/claude-code-history-files-finder/SKILL.md","docs/skills/daymade-skills/claude-code-history-files-finder/references/session_file_format.md","docs/skills/daymade-skills/claude-code-history-files-finder/references/workflow_examples.md","docs/skills/daymade-skills/claude-code-history-files-finder/scripts/analyze_sessions.py","docs/skills/daymade-skills/claude-code-history-files-finder/scripts/recover_content.py","docs/skills/daymade-skills/claude-md-progressive-disclosurer/.security-scan-passed","docs/skills/daymade-skills/claude-md-progressive-disclosurer/SKILL.md","docs/skills/daymade-skills/claude-md-progressive-disclosurer/references/progressive_disclosure_principles.md","docs/skills/daymade-skills/cli-demo-generator/SKILL.md","docs/skills/daymade-skills/cli-demo-generator/assets/examples/batch-config.yaml","docs/skills/daymade-skills/cli-demo-generator/assets/templates/basic.tape","docs/skills/daymade-skills/cli-demo-generator/assets/templates/interactive.tape","docs/skills/daymade-skills/cli-demo-generator/references/best_practices.md","docs/skills/daymade-skills/cli-demo-generator/references/vhs_syntax.md","docs/skills/daymade-skills/cli-demo-generator/scripts/auto_generate_demo.py","docs/skills/daymade-skills/cli-demo-generator/scripts/batch_generate.py","docs/skills/daymade-skills/cli-demo-generator/scripts/record_interactive.sh","docs/skills/daymade-skills/cloudflare-troubleshooting/SKILL.md","docs/skills/daymade-skills/cloudflare-troubleshooting/references/api_overview.md","docs/skills/daymade-skills/cloudflare-troubleshooting/references/common_issues.md","docs/skills/daymade-skills/cloudflare-troubleshooting/references/ssl_modes.md","docs/skills/daymade-skills/cloudflare-troubleshooting/scripts/check_cloudflare_config.py","docs/skills/daymade-skills/cloudflare-troubleshooting/scripts/fix_ssl_mode.py","docs/skills/daymade-skills/demos/README.md","docs/skills/daymade-skills/demos/cli-demo-generator/generate-demo.gif","docs/skills/daymade-skills/demos/cli-demo-generator/generate-demo.tape","docs/skills/daymade-skills/demos/generate_all_demos.sh","docs/skills/daymade-skills/demos/github-ops/create-pr.gif","docs/skills/daymade-skills/demos/github-ops/create-pr.tape","docs/skills/daymade-skills/demos/index.html","docs/skills/daymade-skills/demos/llm-icon-finder/find-icons.gif","docs/skills/daymade-skills/demos/llm-icon-finder/find-icons.tape","docs/skills/daymade-skills/demos/markdown-tools/convert-docs.gif","docs/skills/daymade-skills/demos/markdown-tools/convert-docs.tape","docs/skills/daymade-skills/demos/mermaid-tools/extract-diagrams.gif","docs/skills/daymade-skills/demos/mermaid-tools/extract-diagrams.tape","docs/skills/daymade-skills/demos/ppt-creator/create-presentation.gif","docs/skills/daymade-skills/demos/ppt-creator/create-presentation.tape","docs/skills/daymade-skills/demos/repomix-unmixer/extract-repo.gif","docs/skills/daymade-skills/demos/repomix-unmixer/extract-repo.tape","docs/skills/daymade-skills/demos/skill-creator/init-skill.gif","docs/skills/daymade-skills/demos/skill-creator/init-skill.tape","docs/skills/daymade-skills/demos/skill-creator/package-skill.gif","docs/skills/daymade-skills/demos/skill-creator/package-skill.tape","docs/skills/daymade-skills/demos/skill-creator/validate-skill.gif","docs/skills/daymade-skills/demos/skill-creator/validate-skill.tape","docs/skills/daymade-skills/demos/statusline-generator/customize-statusline.gif","docs/skills/daymade-skills/demos/statusline-generator/customize-statusline.tape","docs/skills/daymade-skills/demos/teams-channel-post-writer/write-post.gif","docs/skills/daymade-skills/demos/teams-channel-post-writer/write-post.tape","docs/skills/daymade-skills/demos/ui-designer/extract-design-system.gif","docs/skills/daymade-skills/demos/ui-designer/extract-design-system.tape","docs/skills/daymade-skills/demos/youtube-downloader/download-video.gif","docs/skills/daymade-skills/demos/youtube-downloader/download-video.tape","docs/skills/daymade-skills/docs-cleaner/.security-scan-passed","docs/skills/daymade-skills/docs-cleaner/SKILL.md","docs/skills/daymade-skills/docs-cleaner/references/value_analysis_template.md","docs/skills/daymade-skills/fact-checker/.security-scan-passed","docs/skills/daymade-skills/fact-checker/README.md","docs/skills/daymade-skills/fact-checker/SKILL.md","docs/skills/daymade-skills/github-contributor/.security-scan-passed","docs/skills/daymade-skills/github-contributor/SKILL.md","docs/skills/daymade-skills/github-contributor/references/communication_templates.md","docs/skills/daymade-skills/github-contributor/references/pr_checklist.md","docs/skills/daymade-skills/github-contributor/references/project_evaluation.md","docs/skills/daymade-skills/github-ops/SKILL.md","docs/skills/daymade-skills/github-ops/references/api_reference.md","docs/skills/daymade-skills/github-ops/references/best_practices.md","docs/skills/daymade-skills/github-ops/references/issue_operations.md","docs/skills/daymade-skills/github-ops/references/pr_operations.md","docs/skills/daymade-skills/github-ops/references/workflow_operations.md","docs/skills/daymade-skills/iOS-APP-developer/.security-scan-passed","docs/skills/daymade-skills/iOS-APP-developer/SKILL.md","docs/skills/daymade-skills/iOS-APP-developer/references/camera-avfoundation.md","docs/skills/daymade-skills/iOS-APP-developer/references/swiftui-compatibility.md","docs/skills/daymade-skills/iOS-APP-developer/references/testing-mainactor.md","docs/skills/daymade-skills/iOS-APP-developer/references/xcodegen-full.md","docs/skills/daymade-skills/llm-icon-finder/SKILL.md","docs/skills/daymade-skills/llm-icon-finder/references/developer-info.md","docs/skills/daymade-skills/llm-icon-finder/references/icons-list.md","docs/skills/daymade-skills/macos-cleaner/.security-scan-passed","docs/skills/daymade-skills/macos-cleaner/SKILL.md","docs/skills/daymade-skills/macos-cleaner/references/cleanup_targets.md","docs/skills/daymade-skills/macos-cleaner/references/mole_integration.md","docs/skills/daymade-skills/macos-cleaner/references/safety_rules.md","docs/skills/daymade-skills/macos-cleaner/scripts/analyze_caches.py","docs/skills/daymade-skills/macos-cleaner/scripts/analyze_dev_env.py","docs/skills/daymade-skills/macos-cleaner/scripts/analyze_large_files.py","docs/skills/daymade-skills/macos-cleaner/scripts/cleanup_report.py","docs/skills/daymade-skills/macos-cleaner/scripts/find_app_remnants.py","docs/skills/daymade-skills/macos-cleaner/scripts/safe_delete.py","docs/skills/daymade-skills/markdown-tools/SKILL.md","docs/skills/daymade-skills/markdown-tools/references/conversion-examples.md","docs/skills/daymade-skills/markdown-tools/scripts/convert_path.py","docs/skills/daymade-skills/markdown-tools/scripts/extract_pdf_images.py","docs/skills/daymade-skills/mermaid-tools/SKILL.md","docs/skills/daymade-skills/mermaid-tools/references/setup_and_troubleshooting.md","docs/skills/daymade-skills/mermaid-tools/scripts/extract-and-generate.sh","docs/skills/daymade-skills/mermaid-tools/scripts/extract_diagrams.py","docs/skills/daymade-skills/mermaid-tools/scripts/puppeteer-config.json","docs/skills/daymade-skills/pdf-creator/.security-scan-passed","docs/skills/daymade-skills/pdf-creator/SKILL.md","docs/skills/daymade-skills/pdf-creator/scripts/batch_convert.py","docs/skills/daymade-skills/pdf-creator/scripts/md_to_pdf.py","docs/skills/daymade-skills/ppt-creator/SKILL.md","docs/skills/daymade-skills/ppt-creator/references/CHECKLIST.md","docs/skills/daymade-skills/ppt-creator/references/EXAMPLES.md","docs/skills/daymade-skills/ppt-creator/references/INTAKE.md","docs/skills/daymade-skills/ppt-creator/references/ORCHESTRATION_DATA_CHARTS.md","docs/skills/daymade-skills/ppt-creator/references/ORCHESTRATION_OVERVIEW.md","docs/skills/daymade-skills/ppt-creator/references/ORCHESTRATION_PPTX.md","docs/skills/daymade-skills/ppt-creator/references/RUBRIC.md","docs/skills/daymade-skills/ppt-creator/references/STYLE-GUIDE.md","docs/skills/daymade-skills/ppt-creator/references/TEMPLATES.md","docs/skills/daymade-skills/ppt-creator/references/VIS-GUIDE.md","docs/skills/daymade-skills/ppt-creator/references/WORKFLOW.md","docs/skills/daymade-skills/ppt-creator/scripts/chartkit.py","docs/skills/daymade-skills/prompt-optimizer/.security-scan-passed","docs/skills/daymade-skills/prompt-optimizer/SKILL.md","docs/skills/daymade-skills/prompt-optimizer/references/advanced_techniques.md","docs/skills/daymade-skills/prompt-optimizer/references/domain_theories.md","docs/skills/daymade-skills/prompt-optimizer/references/ears_syntax.md","docs/skills/daymade-skills/prompt-optimizer/references/examples.md","docs/skills/daymade-skills/promptfoo-evaluation/.security-scan-passed","docs/skills/daymade-skills/promptfoo-evaluation/SKILL.md","docs/skills/daymade-skills/promptfoo-evaluation/references/promptfoo_api.md","docs/skills/daymade-skills/qa-expert/.security-scan-passed","docs/skills/daymade-skills/qa-expert/SKILL.md","docs/skills/daymade-skills/qa-expert/assets/templates/TEST-CASE-TEMPLATE.md","docs/skills/daymade-skills/qa-expert/references/day1_onboarding.md","docs/skills/daymade-skills/qa-expert/references/google_testing_standards.md","docs/skills/daymade-skills/qa-expert/references/ground_truth_principle.md","docs/skills/daymade-skills/qa-expert/references/llm_prompts_library.md","docs/skills/daymade-skills/qa-expert/references/master_qa_prompt.md","docs/skills/daymade-skills/qa-expert/scripts/calculate_metrics.py","docs/skills/daymade-skills/qa-expert/scripts/init_qa_project.py","docs/skills/daymade-skills/repomix-safe-mixer/SKILL.md","docs/skills/daymade-skills/repomix-safe-mixer/references/common_secrets.md","docs/skills/daymade-skills/repomix-safe-mixer/scripts/safe_pack.py","docs/skills/daymade-skills/repomix-safe-mixer/scripts/scan_secrets.py","docs/skills/daymade-skills/repomix-unmixer/README.md","docs/skills/daymade-skills/repomix-unmixer/SKILL.md","docs/skills/daymade-skills/repomix-unmixer/references/repomix-format.md","docs/skills/daymade-skills/repomix-unmixer/references/validation-workflow.md","docs/skills/daymade-skills/repomix-unmixer/scripts/unmix_repomix.py","docs/skills/daymade-skills/scripts/install.ps1","docs/skills/daymade-skills/scripts/install.sh","docs/skills/daymade-skills/skill-creator/.gitignore","docs/skills/daymade-skills/skill-creator/LICENSE.txt","docs/skills/daymade-skills/skill-creator/SKILL.md","docs/skills/daymade-skills/skill-creator/scripts/init_skill.py","docs/skills/daymade-skills/skill-creator/scripts/package_skill.py","docs/skills/daymade-skills/skill-creator/scripts/quick_validate.py","docs/skills/daymade-skills/skill-creator/scripts/security_scan.py","docs/skills/daymade-skills/skill-reviewer/.security-scan-passed","docs/skills/daymade-skills/skill-reviewer/SKILL.md","docs/skills/daymade-skills/skill-reviewer/references/evaluation_checklist.md","docs/skills/daymade-skills/skill-reviewer/references/marketplace_template.json","docs/skills/daymade-skills/skill-reviewer/references/pr_template.md","docs/skills/daymade-skills/skills-search/.security-scan-passed","docs/skills/daymade-skills/skills-search/SKILL.md","docs/skills/daymade-skills/statusline-generator/SKILL.md","docs/skills/daymade-skills/statusline-generator/references/ccusage_integration.md","docs/skills/daymade-skills/statusline-generator/references/color_codes.md","docs/skills/daymade-skills/statusline-generator/scripts/generate_statusline.sh","docs/skills/daymade-skills/statusline-generator/scripts/install_statusline.sh","docs/skills/daymade-skills/teams-channel-post-writer/SKILL.md","docs/skills/daymade-skills/teams-channel-post-writer/assets/post-template.md","docs/skills/daymade-skills/teams-channel-post-writer/references/writing-guidelines.md","docs/skills/daymade-skills/transcript-fixer/.gitignore","docs/skills/daymade-skills/transcript-fixer/SKILL.md","docs/skills/daymade-skills/transcript-fixer/references/architecture.md","docs/skills/daymade-skills/transcript-fixer/references/best_practices.md","docs/skills/daymade-skills/transcript-fixer/references/database_schema.md","docs/skills/daymade-skills/transcript-fixer/references/dictionary_guide.md","docs/skills/daymade-skills/transcript-fixer/references/file_formats.md","docs/skills/daymade-skills/transcript-fixer/references/glm_api_setup.md","docs/skills/daymade-skills/transcript-fixer/references/installation_setup.md","docs/skills/daymade-skills/transcript-fixer/references/iteration_workflow.md","docs/skills/daymade-skills/transcript-fixer/references/quick_reference.md","docs/skills/daymade-skills/transcript-fixer/references/script_parameters.md","docs/skills/daymade-skills/transcript-fixer/references/sql_queries.md","docs/skills/daymade-skills/transcript-fixer/references/team_collaboration.md","docs/skills/daymade-skills/transcript-fixer/references/troubleshooting.md","docs/skills/daymade-skills/transcript-fixer/references/workflow_guide.md","docs/skills/daymade-skills/transcript-fixer/requirements.txt","docs/skills/daymade-skills/transcript-fixer/scripts/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/check_type_hints.py","docs/skills/daymade-skills/transcript-fixer/scripts/cli/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/cli/argument_parser.py","docs/skills/daymade-skills/transcript-fixer/scripts/cli/commands.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/ai_processor.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/ai_processor_async.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/change_extractor.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/connection_pool.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/correction_repository.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/correction_service.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/dictionary_processor.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/learning_engine.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/schema.sql","docs/skills/daymade-skills/transcript-fixer/scripts/ensure_deps.py","docs/skills/daymade-skills/transcript-fixer/scripts/examples/bulk_import.py","docs/skills/daymade-skills/transcript-fixer/scripts/fix_transcript_enhanced.py","docs/skills/daymade-skills/transcript-fixer/scripts/fix_transcription.py","docs/skills/daymade-skills/transcript-fixer/scripts/generate_word_diff.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_audit_log_retention.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_connection_pool.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_correction_service.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_domain_validator.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_error_recovery.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_learning_engine.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_path_validator.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/audit_log_retention.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/concurrency_manager.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/config.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/database_migration.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/db_migrations_cli.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/change_extractor.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/html_format.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/inline_format.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/markdown_format.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/text_splitter.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/unified_format.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_generator.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/domain_validator.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/health_check.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/logging_config.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/metrics.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/migrations.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/path_validator.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/rate_limiter.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/retry_logic.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/security.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/validation.py","docs/skills/daymade-skills/twitter-reader/.security-scan-passed","docs/skills/daymade-skills/twitter-reader/SKILL.md","docs/skills/daymade-skills/twitter-reader/scripts/fetch_tweet.py","docs/skills/daymade-skills/twitter-reader/scripts/fetch_tweets.sh","docs/skills/daymade-skills/ui-designer/SKILL.md","docs/skills/daymade-skills/ui-designer/assets/app-overview-generator.md","docs/skills/daymade-skills/ui-designer/assets/design-system.md","docs/skills/daymade-skills/ui-designer/assets/vibe-design-template.md","docs/skills/daymade-skills/video-comparer/.security-scan-passed","docs/skills/daymade-skills/video-comparer/README.md","docs/skills/daymade-skills/video-comparer/SKILL.md","docs/skills/daymade-skills/video-comparer/assets/template.html","docs/skills/daymade-skills/video-comparer/references/configuration.md","docs/skills/daymade-skills/video-comparer/references/ffmpeg_commands.md","docs/skills/daymade-skills/video-comparer/references/video_metrics.md","docs/skills/daymade-skills/video-comparer/scripts/compare.py","docs/skills/daymade-skills/youtube-downloader/.security-scan-passed","docs/skills/daymade-skills/youtube-downloader/SKILL.md","docs/skills/daymade-skills/youtube-downloader/references/po-token-setup.md","docs/skills/daymade-skills/youtube-downloader/scripts/download_video.py","docs/skills/eval-harness/SKILL.md","docs/skills/frontend-patterns/SKILL.md","docs/skills/haizhan-ime-development.md","docs/skills/hizan-official/.claude-plugin/marketplace.json","docs/skills/hizan-official/skills/arch/SKILL.md","docs/skills/hizan-official/skills/game/SKILL.md","docs/skills/hizan-official/skills/quality/SKILL.md","docs/skills/hizan-official/skills/work/SKILL.md","docs/skills/juhi/tool-usage.md","docs/skills/mhattingpete-skills/.claude-plugin/marketplace.json","docs/skills/mhattingpete-skills/.claude/install-gh.sh","docs/skills/mhattingpete-skills/.claude/settings.json","docs/skills/mhattingpete-skills/.gitignore","docs/skills/mhattingpete-skills/CHANGELOG.md","docs/skills/mhattingpete-skills/CLAUDE.md","docs/skills/mhattingpete-skills/CONTRIBUTING.md","docs/skills/mhattingpete-skills/LICENSE","docs/skills/mhattingpete-skills/README.md","docs/skills/mhattingpete-skills/assets/skill-loading.gif","docs/skills/mhattingpete-skills/code-operations-plugin/.claude-plugin/plugin.json","docs/skills/mhattingpete-skills/code-operations-plugin/README.md","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-execution/SKILL.md","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-execution/examples/bulk_refactor.py","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-execution/examples/codebase_audit.py","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-execution/examples/extract_functions.py","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-refactor/SKILL.md","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-transfer/SKILL.md","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-transfer/scripts/line_insert.py","docs/skills/mhattingpete-skills/code-operations-plugin/skills/file-operations/SKILL.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/.claude-plugin/plugin.json","docs/skills/mhattingpete-skills/engineering-workflow-plugin/README.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/agents/ensemble-orchestrator/AGENT.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/agents/plan-implementer.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/commands/pr.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/ensemble-solving/SKILL.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/ensemble-solving/references/diversification-strategies.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/ensemble-solving/references/evaluation-rubrics.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/feature-planning/SKILL.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/feature-planning/references/planning-best-practices.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/git-pushing/SKILL.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/git-pushing/scripts/smart_commit.sh","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/review-implementing/SKILL.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/test-fixing/SKILL.md","docs/skills/mhattingpete-skills/execution-runtime/.env.example","docs/skills/mhattingpete-skills/execution-runtime/README.md","docs/skills/mhattingpete-skills/execution-runtime/api/__init__.py","docs/skills/mhattingpete-skills/execution-runtime/api/code_analysis.py","docs/skills/mhattingpete-skills/execution-runtime/api/code_transform.py","docs/skills/mhattingpete-skills/execution-runtime/api/filesystem.py","docs/skills/mhattingpete-skills/execution-runtime/api/git_operations.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/__init__.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/security/__init__.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/security/import_guard.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/security/pii_detector.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/sessions.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/skills.py","docs/skills/mhattingpete-skills/execution-runtime/mcp-server/mcp_server.py","docs/skills/mhattingpete-skills/execution-runtime/mcp-server/security/pii_detector.py","docs/skills/mhattingpete-skills/execution-runtime/mcp-server/security/sandbox.py","docs/skills/mhattingpete-skills/execution-runtime/pyproject.toml","docs/skills/mhattingpete-skills/execution-runtime/setup.sh","docs/skills/mhattingpete-skills/productivity-skills-plugin/.claude-plugin/plugin.json","docs/skills/mhattingpete-skills/productivity-skills-plugin/README.md","docs/skills/mhattingpete-skills/productivity-skills-plugin/skills/code-auditor/SKILL.md","docs/skills/mhattingpete-skills/productivity-skills-plugin/skills/codebase-documenter/SKILL.md","docs/skills/mhattingpete-skills/productivity-skills-plugin/skills/conversation-analyzer/SKILL.md","docs/skills/mhattingpete-skills/productivity-skills-plugin/skills/conversation-analyzer/scripts/analyze_history.py","docs/skills/mhattingpete-skills/productivity-skills-plugin/skills/project-bootstrapper/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/.claude-plugin/plugin.json","docs/skills/mhattingpete-skills/visual-documentation-plugin/EXAMPLES.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/README.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/architecture-diagram-creator/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/architecture-diagram-creator/assets/templates/architecture_components.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/architecture-diagram-creator/assets/templates/base_template.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/architecture-diagram-creator/references/example_architecture.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/dashboard-creator/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/dashboard-creator/assets/templates/base_template.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/dashboard-creator/assets/templates/dashboard_components.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/dashboard-creator/references/design_patterns.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/dashboard-creator/references/svg_library.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/flowchart-creator/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/flowchart-creator/assets/templates/base_template.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/flowchart-creator/assets/templates/flowchart_components.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/flowchart-creator/references/design_patterns.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/flowchart-creator/references/svg_library.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/technical-doc-creator/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/technical-doc-creator/assets/templates/base_template.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/technical-doc-creator/references/design_patterns.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/technical-doc-creator/references/svg_library.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/timeline-creator/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/timeline-creator/assets/templates/base_template.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/timeline-creator/assets/templates/timeline_components.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/timeline-creator/references/design_patterns.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/timeline-creator/references/svg_library.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/test-outputs/dashboard-test-monitoring.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/test-outputs/flowchart-test-authentication.html","docs/skills/netresearch-marketplace/.claude-plugin/marketplace.json","docs/skills/netresearch-marketplace/.github/workflows/sync-skills.yml","docs/skills/netresearch-marketplace/.gitignore","docs/skills/netresearch-marketplace/.sync-config.json","docs/skills/netresearch-marketplace/README.md","docs/skills/netresearch-marketplace/SYNC-SETUP.md","docs/skills/netresearch-marketplace/VERSIONING.md","docs/skills/netresearch-marketplace/notify-marketplace.yml","docs/skills/netresearch-marketplace/plugins/coach/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/plugins/coach/LICENSE","docs/skills/netresearch-marketplace/plugins/coach/README.md","docs/skills/netresearch-marketplace/plugins/coach/assets/templates/antipattern.md","docs/skills/netresearch-marketplace/plugins/coach/assets/templates/checklist.md","docs/skills/netresearch-marketplace/plugins/coach/assets/templates/rule.md","docs/skills/netresearch-marketplace/plugins/coach/assets/templates/snippet.md","docs/skills/netresearch-marketplace/plugins/coach/commands/approve.md","docs/skills/netresearch-marketplace/plugins/coach/commands/edit.md","docs/skills/netresearch-marketplace/plugins/coach/commands/init.md","docs/skills/netresearch-marketplace/plugins/coach/commands/promote.md","docs/skills/netresearch-marketplace/plugins/coach/commands/reject.md","docs/skills/netresearch-marketplace/plugins/coach/commands/review.md","docs/skills/netresearch-marketplace/plugins/coach/commands/scan.md","docs/skills/netresearch-marketplace/plugins/coach/commands/status.md","docs/skills/netresearch-marketplace/plugins/coach/hooks/hooks.json","docs/skills/netresearch-marketplace/plugins/coach/references/architecture.md","docs/skills/netresearch-marketplace/plugins/coach/references/schema.md","docs/skills/netresearch-marketplace/plugins/coach/references/scope_heuristics.md","docs/skills/netresearch-marketplace/plugins/coach/references/signal_patterns.md","docs/skills/netresearch-marketplace/plugins/coach/scripts/aggregate.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/apply.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/detect_signals.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/fingerprint.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/init_coach.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/ledger.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/propose.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/root_cause_analyzer.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/scope_analyzer.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/skill_analyzer.py","docs/skills/netresearch-marketplace/plugins/coach/skills/coach/SKILL.md","docs/skills/netresearch-marketplace/renovate.json","docs/skills/netresearch-marketplace/skills/agents/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/agents/LICENSE","docs/skills/netresearch-marketplace/skills/agents/README.md","docs/skills/netresearch-marketplace/skills/agents/STATUS.md","docs/skills/netresearch-marketplace/skills/agents/claudedocs/refactoring-summary.md","docs/skills/netresearch-marketplace/skills/agents/composer.json","docs/skills/netresearch-marketplace/skills/agents/docs/ROADMAP.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/SKILL.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/root-thin.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/root-verbose.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/backend-go.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/backend-php.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/cli.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/documentation.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/examples.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/frontend-typescript.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/resources.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/testing.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/analysis.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/directory-coverage.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/coding-agent-cli/AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/coding-agent-cli/scripts-AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/ldap-selfservice/AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/ldap-selfservice/internal-AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/ldap-selfservice/internal-web-AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/simple-ldap-go/AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/simple-ldap-go/examples-AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/t3x-rte-ckeditor-image/AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/t3x-rte-ckeditor-image/Classes-AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/analyze-git-history.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/check-freshness.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/detect-project.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/detect-scopes.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-agent-configs.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-ci-commands.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-commands.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-documentation.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-ide-settings.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-platform-files.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-quality-configs.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/generate-agents.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/lib/summary.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/lib/template.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/validate-structure.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/verify-content.sh","docs/skills/netresearch-marketplace/skills/cli-tools/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/cli-tools/LICENSE","docs/skills/netresearch-marketplace/skills/cli-tools/README.md","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ansible-core.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ast-grep.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/aws.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/bandit.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/bat.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/black.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/claude.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/codex.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/compose.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/composer.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ctags.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/curlie.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/dasel.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/delta.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/direnv.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/dive.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/docker.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/entr.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/eslint.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/fd.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/flake8.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/fx.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/fzf.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/gam.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/gem.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/gh.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/git-absorb.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/git-branchless.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/git-filter-repo.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/git-lfs.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/git.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/gitleaks.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/glab.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/go.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/golangci-lint.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/gosec.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/httpie.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/isort.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/jq.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/just.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/kubectl.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ninja.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/node.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/npm.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/parallel.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/php.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/pip.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/pipx.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/pnpm.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/poetry.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/pre-commit.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/prename.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/prettier.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/python.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/rbenv.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/rename.ul.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/rga.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ripgrep.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ruby-build.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ruby.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ruff.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/rust.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/sd.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/semgrep.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/shellcheck.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/shfmt.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/sponge.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/terraform.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/tfsec.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/trivy.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/uv.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/watchexec.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/xsv.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/yarn.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/yq.json","docs/skills/netresearch-marketplace/skills/cli-tools/composer.json","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/SKILL.md","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/references/binary_to_tool_map.md","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/references/project_type_requirements.md","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/auto_update.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/check_environment.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/detect_project_type.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/install_composer.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/install_tool.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/aws_installer.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/dedicated_script.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/github_clone.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/github_release_binary.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/hashicorp_zip.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/npm_global.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/npm_self_update.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/package_manager.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/uv_tool.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/capability.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/catalog.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/common.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/dependency.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/install_strategy.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/path_check.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/policy.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/reconcile.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/scope_detection.sh","docs/skills/netresearch-marketplace/skills/context7/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/context7/LICENSE","docs/skills/netresearch-marketplace/skills/context7/README.md","docs/skills/netresearch-marketplace/skills/context7/skills/context7/SKILL.md","docs/skills/netresearch-marketplace/skills/context7/skills/context7/scripts/context7.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/enterprise-readiness/LICENSE","docs/skills/netresearch-marketplace/skills/enterprise-readiness/README.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/ARCHITECTURE.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/BADGE_EXCEPTIONS.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/CODE_OF_CONDUCT.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/GOVERNANCE.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/ROADMAP.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/SECURITY_AUDIT.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/workflows/codeql.yml","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/workflows/dco-check.yml","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/workflows/dependency-review.yml","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/workflows/scorecard.yml","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/workflows/slsa-provenance.yml","docs/skills/netresearch-marketplace/skills/enterprise-readiness/composer.json","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/SKILL.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/2fa-enforcement.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/badge-display.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/branch-coverage.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/dco-implementation.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/dynamic-analysis.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/general.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/github.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/go.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/openssf-badge-gold.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/openssf-badge-silver.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/quick-start-guide.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/reproducible-builds.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/security-hardening.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/signed-releases.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/solo-maintainer-guide.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/sonarcloud.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/test-invocation.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/add-spdx-headers.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/analyze-bus-factor.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/check-branch-coverage.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/check-coverage-threshold.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/check-tls-minimum.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/verify-badge-criteria.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/verify-reproducible-build.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/verify-review-requirements.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/verify-signed-tags.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/verify-spdx-headers.sh","docs/skills/netresearch-marketplace/skills/git-workflow/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/git-workflow/LICENSE","docs/skills/netresearch-marketplace/skills/git-workflow/README.md","docs/skills/netresearch-marketplace/skills/git-workflow/composer.json","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/SKILL.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/advanced-git.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/branching-strategies.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/ci-cd-integration.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/commit-conventions.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/github-releases.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/pull-request-workflow.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/scripts/verify-git-workflow.sh","docs/skills/netresearch-marketplace/skills/github-project/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/github-project/LICENSE","docs/skills/netresearch-marketplace/skills/github-project/README.md","docs/skills/netresearch-marketplace/skills/github-project/composer.json","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/SKILL.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/CODEOWNERS.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/CONTRIBUTING.md.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/PULL_REQUEST_TEMPLATE.md.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/SECURITY.md.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/auto-merge-direct.yml.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/auto-merge-queue.yml.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/auto-merge.yml.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/bug_report.md.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/dependabot.yml.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/feature_request.md.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/release-labeler.yml.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/renovate.json.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/references/branch-migration.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/references/dependency-management.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/references/release-labeling.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/references/repository-structure.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/references/sub-issues.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/scripts/verify-github-project.sh","docs/skills/netresearch-marketplace/skills/go-development/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/go-development/LICENSE","docs/skills/netresearch-marketplace/skills/go-development/README.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/SKILL.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/api-design.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/architecture.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/docker.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/fuzz-testing.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/ldap.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/linting.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/makefile.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/mutation-testing.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/resilience.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/testing.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/scripts/verify-go-project.sh","docs/skills/netresearch-marketplace/skills/jira-integration/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/jira-integration/AGENTS.md","docs/skills/netresearch-marketplace/skills/jira-integration/CHANGELOG.md","docs/skills/netresearch-marketplace/skills/jira-integration/CLAUDE.md","docs/skills/netresearch-marketplace/skills/jira-integration/LICENSE","docs/skills/netresearch-marketplace/skills/jira-integration/MIGRATION.md","docs/skills/netresearch-marketplace/skills/jira-integration/PRD.md","docs/skills/netresearch-marketplace/skills/jira-integration/README.md","docs/skills/netresearch-marketplace/skills/jira-integration/SKILL.md","docs/skills/netresearch-marketplace/skills/jira-integration/composer.json","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/AGENTS.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/SKILL.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/references/jql-quick-reference.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/references/troubleshooting.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-attachment.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-issue.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-search.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-setup.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-validate.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-worklog.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/lib/__init__.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/lib/client.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/lib/config.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/lib/output.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/utility/jira-fields.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/utility/jira-link.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/utility/jira-user.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/workflow/jira-board.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/workflow/jira-comment.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/workflow/jira-create.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/workflow/jira-sprint.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/workflow/jira-transition.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/AGENTS.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/SKILL.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/references/jira-syntax-quick-reference.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/scripts/validate-jira-syntax.sh","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/templates/bug-report-template.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/templates/feature-request-template.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/netresearch-branding/LICENSE","docs/skills/netresearch-marketplace/skills/netresearch-branding/README.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/assets/logos/netresearch-symbol-only.svg","docs/skills/netresearch-marketplace/skills/netresearch-branding/composer.json","docs/skills/netresearch-marketplace/skills/netresearch-branding/examples/components.html","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/SKILL.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/references/colors.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/references/typo3-extension-branding.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/references/typography.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/references/web-design.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/templates/landing-page.html","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/templates/styles.css","docs/skills/netresearch-marketplace/skills/php-modernization/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/php-modernization/LICENSE","docs/skills/netresearch-marketplace/skills/php-modernization/README.md","docs/skills/netresearch-marketplace/skills/php-modernization/composer.json","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/SKILL.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/adapter-registry-pattern.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/migration-strategies.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/php8-features.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/phpstan-compliance.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/psr-per-compliance.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/request-dtos.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/static-analysis-tools.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/symfony-patterns.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/type-safety.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/scripts/verify-php-project.sh","docs/skills/netresearch-marketplace/skills/security-audit/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/security-audit/LICENSE","docs/skills/netresearch-marketplace/skills/security-audit/README.md","docs/skills/netresearch-marketplace/skills/security-audit/composer.json","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/SKILL.md","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/references/api-key-encryption.md","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/references/cvss-scoring.md","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/references/owasp-top10.md","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/references/xxe-prevention.md","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/scripts/security-audit.sh","docs/skills/netresearch-marketplace/skills/skill-repo/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/skill-repo/LICENSE","docs/skills/netresearch-marketplace/skills/skill-repo/README.md","docs/skills/netresearch-marketplace/skills/skill-repo/composer.json","docs/skills/netresearch-marketplace/skills/skill-repo/renovate.json","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/SKILL.md","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/references/composer-setup.md","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/references/installation-methods.md","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/references/marketplace-integration.md","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/scripts/validate-skill.sh","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/templates/README.md.template","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/templates/composer.json.template","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/templates/release.yml.template","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/README.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/composer.json","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/references/ckeditor5-architecture.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/references/migration-guide.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/references/plugin-development.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/references/typo3-integration.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/scripts/verify-ckeditor5.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-conformance/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-conformance/README.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/composer.json","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/assets/.github/workflows/publish-to-ter.yml","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/backend-module-v13.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/backend-wizard-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/best-practices.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/coding-guidelines.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/composer-validation.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/crowdin-integration.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/development-environment.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/directory-structure.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/dual-version-compatibility.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/excellence-indicators.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/ext-emconf-validation.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/ext-files-validation.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/extension-architecture.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/hooks-and-events.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/multi-tier-configuration.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/php-architecture.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/report-template.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/runtests-validation.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/ter-publishing.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/testing-standards.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/v13-deprecations.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/version-requirements.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-architecture.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-coding-standards.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-conformance.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-documentation.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-file-structure.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-phpstan-baseline.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-testing.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/generate-report.sh","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/README.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/assets/commit-template.txt","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/claudedocs/refactoring-summary.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/composer.json","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/account-setup.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/commit-message-format.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/commit-msg-hook.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/ddev-setup-workflow.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/forge-api.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/gerrit-review-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/gerrit-workflow.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/modern-typo3-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/troubleshooting.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/create-commit-message.py","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/create-forge-issue.sh","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/query-forge-metadata.sh","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/setup-typo3-coredev.sh","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/validate-commit-message.py","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/verify-prerequisites.sh","docs/skills/netresearch-marketplace/skills/typo3-ddev/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-ddev/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-ddev/README.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/composer.json","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/.envrc","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/Makefile.template","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/README-SERVICES.md.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/apache/apache-site.conf","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/host/docs","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/host/pre-start-git-info","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/host/setup","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/install-all","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/install-v11","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/install-v12","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/install-v13","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/web/configure-extension.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/web/generate-index","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/web/generate-makefile","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/web/install-introduction.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/config.redis.php.example","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/config.yaml","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/docker-compose.git-info.yaml","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/docker-compose.ofelia.yaml.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/docker-compose.services-redis.yaml.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/docker-compose.services.yaml.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/docker-compose.web.yaml","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/homeadditions/.bashrc_additions.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/index.html.netresearch.template","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/index.html.typo3.template","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/web-build/Dockerfile","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/web-build/install-cron.sh.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/web-entrypoint.d/10-cleanup-index.sh","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/0001-valkey-default-with-redis-alternative.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/0002-mariadb-default-with-database-alternatives.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/0003-php-version-management.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/advanced-options.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/documentation-rendering.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/index-page-generation.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/prerequisites-validation.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/quickstart.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/troubleshooting.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/typo3-12-cli-changes.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/windows-fixes.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/windows-optimizations.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/scripts/validate-prerequisites.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-docs/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-docs/README.md","docs/skills/netresearch-marketplace/skills/typo3-docs/composer.json","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/assets/AGENTS.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/architecture-decision-records.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/code-structure-elements.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/coding-guidelines.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/content-directives.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/documentation-coverage-analysis.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/extraction-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/file-structure.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/guides-xml.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/intercept-deployment.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/rendering.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/rst-syntax.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/screenshots.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/text-roles-inline-code.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/typo3-directives.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/typo3-extension-architecture.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/add-agents-md.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/analyze-docs.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-all.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-build-configs.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-composer.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-extension-config.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-php.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-project-files.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-repo-metadata.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/render_docs.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/validate_docs.sh","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/README.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/composer.json","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/assets/.php-cs-fixer.php","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/assets/fractor.php","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/assets/phpstan.neon","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/assets/phpunit.xml","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/assets/rector.php","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/api-changes.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/dual-compatibility.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/pre-upgrade.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/real-world-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/upgrade-v11-to-v12.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/upgrade-v12-to-v13.md","docs/skills/netresearch-marketplace/skills/typo3-testing/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-testing/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-testing/README.md","docs/skills/netresearch-marketplace/skills/typo3-testing/composer.json","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/.php-cs-fixer.dist.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/AGENTS.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/FunctionalTests.xml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/FunctionalTestsBootstrap.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/Makefile","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/UnitTests.xml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/UnitTestsBootstrap.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/bootstrap.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/codecov.yml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/docker/codeception.yml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/docker/docker-compose.yml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/example-tests/ExampleAcceptanceCest.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/example-tests/ExampleFunctionalTest.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/example-tests/ExampleUnitTest.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/fixtures/README.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/fixtures/be_users.csv","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/fixtures/pages.csv","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/fixtures/sys_category.csv","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/fixtures/tt_content.csv","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/github-actions-e2e.yml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/github-actions-tests.yml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/infection.json5","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/phpat.neon","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/phpat.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/phpstan-baseline.neon","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/phpstan.neon","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/rector.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/accessibility-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/architecture-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/ci-cd.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/crypto-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/ddev-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/e2e-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/functional-test-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/functional-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/fuzz-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/integration-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/javascript-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/mutation-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/performance-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/quality-tools.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/sonarcloud.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/test-runners.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/typo3-v14-final-classes.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/unit-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/scripts/generate-test.sh","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/scripts/setup-testing.sh","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/scripts/validate-setup.sh","docs/skills/netresearch-marketplace/update-source-repos.sh","docs/skills/project-guidelines-example/SKILL.md","docs/skills/security-review/SKILL.md","docs/skills/strategic-compact/SKILL.md","docs/skills/strategic-compact/suggest-compact.sh","docs/skills/tdd-workflow/SKILL.md","docs/skills/verification-loop/SKILL.md","docs/话术库导出_20251231103252.xlsx","docs_archive/AI_INPUT_METHOD_BRAINSTORM.md","docs_archive/ANDROID_100_PERCENT_PLAN.md","docs_archive/ANDROID_NATIVE_REPLACEMENT_DETAILED_PLAN.md","docs_archive/ANDROID_NATIVE_REPLACEMENT_PLAN.md","docs_archive/API.md","docs_archive/APPLE_PLATFORM_DEVELOPMENT_PLAN.md","docs_archive/ARCHITECTURE.md","docs_archive/ARCHITECTURE_COMPACT.md","docs_archive/CLAUDE.md","docs_archive/COMPREHENSIVE_IMPROVEMENT_PLAN.md","docs_archive/DEPLOYMENT.md","docs_archive/DESIGN_BASED_DEVELOPMENT_PLAN.md","docs_archive/DEVELOPMENT_ROADMAP.md","docs_archive/DICTIONARY_IMPROVEMENT_PLAN.md","docs_archive/DOCS_INDEX.md","docs_archive/IMPLEMENTATION_PLAN.md","docs_archive/IMPROVEMENT_RECOMMENDATIONS.md","docs_archive/IOS_DEVELOPMENT_PLAN.md","docs_archive/NEXT_STEPS_PLAN.md","docs_archive/PINYIN_DEVELOPMENT_PLAN.md","docs_archive/PRD.md","docs_archive/PROGRESS_TRACKER.md","docs_archive/README.md","docs_archive/REDLINES.md","docs_archive/SMART_RECOGNITION_COMPACT.md","docs_archive/TECHNICAL_ARCHITECTURE.md","docs_archive/UI_DEVELOPMENT_PLAN.md","docs_archive/smart-recognition-design.md","flutter_app/assets/fonts/PingFang-Medium.ttf","flutter_app/assets/fonts/PingFang-Regular.ttf","flutter_app/assets/fonts/PingFang-Semibold.ttf","flutter_app/assets/icons/.gitkeep","flutter_app/assets/images/.gitkeep","flutter_app/lib/core/bridge/bridge_models.dart","flutter_app/lib/core/bridge/bridge_response_parser.dart","flutter_app/lib/core/bridge/haizhan_bridge.dart","flutter_app/lib/core/di/service_locator.dart","flutter_app/lib/core/router/app_router.dart","flutter_app/lib/core/router/routes.dart","flutter_app/lib/core/theme/app_colors.dart","flutter_app/lib/core/theme/app_theme.dart","flutter_app/lib/core/theme/app_typography.dart","flutter_app/lib/features/auth/data/auth_provider.dart","flutter_app/lib/features/auth/data/auth_repository.dart","flutter_app/lib/features/auth/domain/auth_models.dart","flutter_app/lib/features/auth/presentation/login_screen.dart","flutter_app/lib/features/auth/presentation/register_screen.dart","flutter_app/lib/features/chat/data/ai_provider.dart","flutter_app/lib/features/chat/data/ai_repository.dart","flutter_app/lib/features/chat/domain/ai_reply_models.dart","flutter_app/lib/features/chat/presentation/chat_screen.dart","flutter_app/lib/features/chat/presentation/conversation_screen.dart","flutter_app/lib/features/contacts/data/contact_360_provider.dart","flutter_app/lib/features/contacts/data/contacts_provider.dart","flutter_app/lib/features/contacts/data/contacts_repository.dart","flutter_app/lib/features/contacts/domain/contact_models.dart","flutter_app/lib/features/contacts/presentation/contact_detail_screen.dart","flutter_app/lib/features/contacts/presentation/contacts_screen.dart","flutter_app/lib/features/home/presentation/home_screen.dart","flutter_app/lib/features/home/presentation/main_shell.dart","flutter_app/lib/features/knowledge/data/knowledge_provider.dart","flutter_app/lib/features/knowledge/data/knowledge_repository.dart","flutter_app/lib/features/knowledge/domain/knowledge_models.dart","flutter_app/lib/features/knowledge/presentation/knowledge_screen.dart","flutter_app/lib/features/profile/presentation/profile_screen.dart","flutter_app/lib/features/search/data/models/search_metrics.dart","flutter_app/lib/features/search/presentation/widgets/search_metrics_indicator.dart","flutter_app/lib/features/settings/presentation/settings_screen.dart","flutter_app/lib/features/stats/presentation/stats_screen.dart","flutter_app/lib/features/stats/presentation/widgets/contact_stats_tab.dart","flutter_app/lib/features/stats/presentation/widgets/overview_tab.dart","flutter_app/lib/features/stats/presentation/widgets/reply_stats_tab.dart","flutter_app/lib/features/stats/presentation/widgets/stats_shared_widgets.dart","flutter_app/lib/features/support/presentation/about_screen.dart","flutter_app/lib/features/support/presentation/feedback_screen.dart","flutter_app/lib/features/support/presentation/help_screen.dart","flutter_app/lib/features/support/presentation/privacy_screen.dart","flutter_app/lib/features/support/presentation/terms_screen.dart","flutter_app/lib/main.dart","flutter_app/lib/shared/widgets/stat_card.dart","flutter_app/pigeons/haizhan_api.dart","flutter_app/pubspec.lock","flutter_app/pubspec.yaml","flutter_app/test/core/network/api_client_test.dart","flutter_app/test/core/theme/theme_provider_test.dart","flutter_app/test/features/auth/login_screen_test.dart","flutter_app/test/features/chat/chat_screen_test.dart","flutter_app/test/features/contacts/contacts_screen_test.dart","flutter_app/test/features/home/home_screen_test.dart","flutter_app/test/features/knowledge/knowledge_screen_test.dart","flutter_app/test/features/profile/profile_screen_test.dart","flutter_app/test/features/settings/settings_screen_test.dart","flutter_app/test/features/statistics/statistics_screen_test.dart","flutter_app/test/features/stats/stats_screen_test.dart","flutter_app/test/integration/app_integration_test.dart","flutter_app/test/providers/auth_provider_test.dart","flutter_app/test/services/api_service_test.dart","flutter_app/test/widgets/contact_card_test.dart","gradle.properties","gradle/libs.versions.toml","gradle/wrapper/gradle-wrapper.jar","gradle/wrapper/gradle-wrapper.properties","gradlew","gradlew.bat","ime-core/build.gradle.kts","ime-core/consumer-rules.pro","ime-core/proguard-rules.pro","ime-core/src/androidTest/java/com/haizhan/ime/core/handwriting/HandwritingIntegrationTest.kt","ime-core/src/androidTest/java/com/haizhan/ime/core/handwriting/HandwritingPerformanceTest.kt","ime-core/src/androidTest/java/com/haizhan/ime/core/handwriting/HandwritingViewTest.kt","ime-core/src/main/AndroidManifest.xml","ime-core/src/main/assets/dictionaries/system/core-char.txt","ime-core/src/main/assets/dictionaries/system/core-merged.txt","ime-core/src/main/assets/dictionaries/system/core-phrase.txt","ime-core/src/main/assets/dictionaries/system/core-word2.txt","ime-core/src/main/assets/dictionaries/system/core-word3.txt","ime-core/src/main/assets/dictionaries/system/core-word4.txt","ime-core/src/main/assets/handwriting_labels_casia.txt","ime-core/src/main/assets/paddle_models/ppocr_keys_v1.txt","ime-core/src/main/cpp/CMakeLists.txt","ime-core/src/main/cpp/include/paddle_api.h","ime-core/src/main/cpp/include/paddle_image_preprocess.h","ime-core/src/main/cpp/include/paddle_lite_factory_helper.h","ime-core/src/main/cpp/include/paddle_place.h","ime-core/src/main/cpp/include/paddle_use_kernels.h","ime-core/src/main/cpp/include/paddle_use_ops.h","ime-core/src/main/cpp/include/paddle_use_passes.h","ime-core/src/main/cpp/paddle_lite_jni.cpp","ime-core/src/main/cpp/paddle_ocr_jni.cpp","ime-core/src/main/java/com/haizhan/ime/core/context/ChatContext.kt","ime-core/src/main/java/com/haizhan/ime/core/context/ChatContextProvider.kt","ime-core/src/main/java/com/haizhan/ime/core/context/ContextAnalyzer.kt","ime-core/src/main/java/com/haizhan/ime/core/context/ContextAwareRanker.kt","ime-core/src/main/java/com/haizhan/ime/core/context/WordCategoryClassifier.kt","ime-core/src/main/java/com/haizhan/ime/core/di/ImeCoreModule.kt","ime-core/src/main/java/com/haizhan/ime/core/di/PerformanceModule.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/ImeEngine.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/EnglishKeyHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/HandwritingKeyHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/KeyPressDispatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/KeyPressHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/PinyinKeyHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/SymbolKeyHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/VoiceKeyHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/HaizhanHandwritingApiClient.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/HandwritingKeyboard.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/HandwritingManager.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/HandwritingToolbar.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/HandwritingView.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/IHandwritingRecognizer.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/ModelDownloader.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/PaddleLiteRecognizer.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/RecognitionConfig.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/Stroke.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/StrokeCache.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/StrokePreprocessor.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/StrokeSegmenter.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/TFLiteRecognizer.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/UnifiedRecognitionEngine.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/di/HandwritingModule.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/CandidatesView.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/EnhancedCandidatesView.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/ImeContentLayout.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/ImeLayoutConstants.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/InputModeToolbar.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/KeyboardLayout.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/KeyboardView.kt","ime-core/src/main/java/com/haizhan/ime/core/ocr/IOcrEngine.kt","ime-core/src/main/java/com/haizhan/ime/core/ocr/OcrImageProcessor.kt","ime-core/src/main/java/com/haizhan/ime/core/ocr/OcrModels.kt","ime-core/src/main/java/com/haizhan/ime/core/ocr/PaddleOcrEngine.kt","ime-core/src/main/java/com/haizhan/ime/core/ocr/README.md","ime-core/src/main/java/com/haizhan/ime/core/ocr/di/OcrModule.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/BuiltinDictionary.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/Candidate.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/CloudPinyinService.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/CloudSyncService.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/DictModels.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/DictionaryFileParser.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/DictionaryHotReloader.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/DictionaryImporter.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/DictionaryReloader.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/EnterpriseDictionary.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/FuzzyPinyinConfig.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/HotWordService.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/ImportResult.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/InputPredictor.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/LocalDictionary.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/NgramData.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/NgramModel.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/NineGridMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/PinyinSegmenterImpl.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/PinyinService.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/PinyinServiceImpl.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/PinyinSplitter.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/SmartErrorCorrector.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/SystemDatDictionary.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/UserPreferenceStore.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/cloud/CloudPinyinApiImpl.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/cloud/CloudPinyinModule.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/cloud/ExponentialBackoff.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/converter/ChineseConverter.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/FullPinyinMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/InputMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/InputMatcherManager.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/NineGridMatcherAdapter.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/ShortcutMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/ShuangpinMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/di/MatcherModule.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/MicrosoftScheme.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/NaturalScheme.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/ShuangpinConverter.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/ShuangpinScheme.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/SogouScheme.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/XiaoheScheme.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/stroke/StrokeData.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/stroke/StrokeMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/theme/DesignTokens.kt","ime-core/src/main/java/com/haizhan/ime/core/theme/KeyboardTheme.kt","ime-core/src/main/java/com/haizhan/ime/core/theme/ThemeManager.kt","ime-core/src/main/java/com/haizhan/ime/core/voice/ui/VoicePanel.kt","ime-core/src/main/jniLibs/arm64-v8a/libpaddle_light_api_shared.so","ime-core/src/main/res/drawable/ic_backspace.xml","ime-core/src/main/res/drawable/ic_clear_all.xml","ime-core/src/main/res/drawable/ic_handwriting.xml","ime-core/src/main/res/drawable/ic_keyboard.xml","ime-core/src/test/java/com/haizhan/ime/core/ImeEngineTest.kt","ime-core/src/test/java/com/haizhan/ime/core/benchmark/ImeCorePerformanceTest.kt","ime-core/src/test/java/com/haizhan/ime/core/benchmark/MemoryBenchmarkTest.kt","ime-core/src/test/java/com/haizhan/ime/core/context/ContextAnalyzerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/context/ContextAwareRankerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/context/WordCategoryClassifierTest.kt","ime-core/src/test/java/com/haizhan/ime/core/decoder/UnifiedRankerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/ImeEngineTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/handler/EnglishKeyHandlerExpandedTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/handler/KeyPressDispatcherTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/handler/KeyPressHandlerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/handler/PinyinKeyHandlerExpandedTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/handler/SymbolKeyHandlerExpandedTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/HandwritingManagerAdvancedTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/HandwritingManagerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/PaddleLiteRecognizerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/StrokeCacheTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/StrokePreprocessorTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/TFLiteRecognizerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/keyboard/CandidatesViewTest.kt","ime-core/src/test/java/com/haizhan/ime/core/keyboard/KeyboardLayoutTest.kt","ime-core/src/test/java/com/haizhan/ime/core/keyboard/KeyboardViewTest.kt","ime-core/src/test/java/com/haizhan/ime/core/ocr/OcrImageProcessorTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/CloudPinyinServiceTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/CloudSyncServiceTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/DictionaryFileParserTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/DictionaryImporterTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/DictionaryReloaderTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/EnterpriseDictionaryTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/FuzzyPinyinConfigTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/HotWordServiceTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/InputPredictorTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/LocalDictionaryTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/NgramModelTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/NineGridMatcherTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/PinyinSegmenterTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/PinyinServiceImplTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/PinyinServiceTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/PinyinSplitterTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/SmartErrorCorrectorTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/SystemDatDictionaryTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/UserPreferenceStoreTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/cloud/CloudPinyinApiImplTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/cloud/ExponentialBackoffTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/matcher/FullPinyinMatcherTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/matcher/ShuangpinMatcherTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/shuangpin/ShuangpinSchemeTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/shuangpin/SogouSchemeTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/shuangpin/XiaoheSchemeTest.kt","ime-core/src/test/java/com/haizhan/ime/core/theme/ThemeManagerTest.kt","ios_keyboard/APPSTORE_LISTING.md","ios_keyboard/HaizhanKeyboard/Info.plist","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboard.xcodeproj/project.pbxproj","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboard.xcodeproj/project.xcworkspace/contents.xcworkspacedata","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp.entitlements","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/HaizhanKeyboardApp.entitlements","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/HaizhanKeyboardApp.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Info.plist","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Models/AppSession.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Services/KeyboardStatusService.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Services/ScreenshotResponder.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Views/AccountView.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Views/AppSettingsView.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Views/ContentView.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Views/LoginView.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Views/OnboardingView.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardExtension.entitlements","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardExtension/HaizhanKeyboardExtension.entitlements","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardExtension/Info.plist","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardExtension/KeyboardExtensionStub.swift","ios_keyboard/HaizhanKeyboardApp/Info.plist","ios_keyboard/HaizhanKeyboardApp/Models/AppSession.swift","ios_keyboard/HaizhanKeyboardApp/README.md","ios_keyboard/HaizhanKeyboardApp/Services/KeyboardStatusService.swift","ios_keyboard/HaizhanKeyboardApp/Services/ScreenshotResponder.swift","ios_keyboard/HaizhanKeyboardApp/Views/AccountView.swift","ios_keyboard/HaizhanKeyboardApp/Views/AppSettingsView.swift","ios_keyboard/HaizhanKeyboardApp/Views/ContentView.swift","ios_keyboard/HaizhanKeyboardApp/Views/LoginView.swift","ios_keyboard/HaizhanKeyboardApp/Views/OnboardingView.swift","ios_keyboard/HaizhanKeyboardApp/project.yml","ios_keyboard/HaizhanKeyboardExtension/Info.plist","ios_keyboard/HaizhanKeyboardExtension/KeyboardExtensionStub.swift","ios_keyboard/Package.swift","ios_keyboard/README.md","ios_keyboard/Sources/HaizhanKeyboard/AI/ContactMatcher.swift","ios_keyboard/Sources/HaizhanKeyboard/AI/ReplyService.swift","ios_keyboard/Sources/HaizhanKeyboard/AI/ScreenshotManager.swift","ios_keyboard/Sources/HaizhanKeyboard/Bridge/KMPBridge.swift","ios_keyboard/Sources/HaizhanKeyboard/Engine/KeyboardEngine.swift","ios_keyboard/Sources/HaizhanKeyboard/Engine/PinyinSegmenter.swift","ios_keyboard/Sources/HaizhanKeyboard/KeyboardViewController.swift","ios_keyboard/Sources/HaizhanKeyboard/Network/ApiClient.swift","ios_keyboard/Sources/HaizhanKeyboard/Network/AuthService.swift","ios_keyboard/Sources/HaizhanKeyboard/Storage/AppGroupStore.swift","ios_keyboard/Sources/HaizhanKeyboard/Storage/KeychainStore.swift","ios_keyboard/Sources/HaizhanKeyboard/Theme/ThemeManager.swift","ios_keyboard/Sources/HaizhanKeyboard/Utils/HapticManager.swift","ios_keyboard/Sources/HaizhanKeyboard/ViewModel/KeyboardViewModel.swift","ios_keyboard/Sources/HaizhanKeyboard/Views/AIPanelView.swift","ios_keyboard/Sources/HaizhanKeyboard/Views/KeyboardView.swift","ios_keyboard/Sources/HaizhanKeyboard/Views/NineGridKeyboard.swift","ios_keyboard/Sources/HaizhanKeyboard/Views/SettingsView.swift","ios_keyboard/Tests/HaizhanKeyboardTests/ApiClientTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/AppGroupStoreTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/ContactMatcherTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/HapticManagerTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/KeyboardEngineTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/KeychainStoreTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/PinyinSegmenterTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/ReplyServiceTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/ThemeManagerTests.swift","ios_keyboard/build_kmp_xcframework.sh","openapitools.json","package.json","pnpm-workspace.yaml","scripts/PACKAGE_MANAGER_SUMMARY.md","scripts/check-docs-sync.sh","scripts/download_paddle_ocr_models.sh","scripts/generate-design-tokens.py","scripts/package-manager-migration.md","scripts/pre-commit","server/.dockerignore","server/.env.example","server/.npmrc","server/Makefile","server/README.md","server/ai-service/.dockerignore","server/ai-service/Dockerfile","server/ai-service/jest.config.js","server/ai-service/nest-cli.json","server/ai-service/package.json","server/ai-service/poc-load-test-1770067946237.json","server/ai-service/poc-report-1770067953461.json","server/ai-service/poc-report-1770067953461.md","server/ai-service/poc-report-1771647201192.json","server/ai-service/poc-report-1771647201192.md","server/ai-service/scripts/poc/README.md","server/ai-service/scripts/poc/deploy-models.sh","server/ai-service/scripts/poc/generate-report.ts","server/ai-service/scripts/poc/load-test.ts","server/ai-service/scripts/poc/v1-int8-quality.ts","server/ai-service/scripts/poc/v2-router-accuracy.ts","server/ai-service/scripts/poc/v3-e2e-latency.ts","server/ai-service/scripts/seed-rag.ts","server/ai-service/src/app.module.ts","server/ai-service/src/common/decorators/current-tenant.decorator.ts","server/ai-service/src/common/decorators/public.decorator.ts","server/ai-service/src/common/guards/auth.guard.spec.ts","server/ai-service/src/common/guards/auth.guard.ts","server/ai-service/src/common/redis/index.ts","server/ai-service/src/common/redis/redis.module.ts","server/ai-service/src/common/redis/redis.service.ts","server/ai-service/src/main.ts","server/ai-service/src/modules/ai/ai.controller.ts","server/ai-service/src/modules/ai/ai.module.ts","server/ai-service/src/modules/ai/ai.service.spec.ts","server/ai-service/src/modules/ai/ai.service.ts","server/ai-service/src/modules/ai/dto/generate-reply.dto.ts","server/ai-service/src/modules/ai/legacy-reply.controller.ts","server/ai-service/src/modules/health/health.controller.ts","server/ai-service/src/modules/health/health.module.ts","server/ai-service/src/modules/memory/dto/memory.dto.ts","server/ai-service/src/modules/memory/event.service.spec.ts","server/ai-service/src/modules/memory/event.service.ts","server/ai-service/src/modules/memory/index.ts","server/ai-service/src/modules/memory/memory.controller.ts","server/ai-service/src/modules/memory/memory.module.ts","server/ai-service/src/modules/memory/memory.service.spec.ts","server/ai-service/src/modules/memory/memory.service.ts","server/ai-service/src/modules/memory/profile.service.spec.ts","server/ai-service/src/modules/memory/profile.service.ts","server/ai-service/src/modules/memory/schemas/contact-event.schema.ts","server/ai-service/src/modules/memory/schemas/contact-profile.schema.ts","server/ai-service/src/modules/memory/schemas/conversation-summary.schema.ts","server/ai-service/src/modules/memory/summary.service.spec.ts","server/ai-service/src/modules/memory/summary.service.ts","server/ai-service/src/modules/memory/vector.service.ts","server/ai-service/src/modules/privacy/index.ts","server/ai-service/src/modules/privacy/pii-scrubber.service.ts","server/ai-service/src/modules/privacy/privacy.module.ts","server/ai-service/src/modules/search/agentic/agentic-loop.controller.ts","server/ai-service/src/modules/search/agentic/answer-synthesizer.service.ts","server/ai-service/src/modules/search/agentic/answer-synthesizer.spec.ts","server/ai-service/src/modules/search/agentic/index.ts","server/ai-service/src/modules/search/agentic/query-decomposer.service.ts","server/ai-service/src/modules/search/agentic/query-decomposer.spec.ts","server/ai-service/src/modules/search/agentic/result-evaluator.service.ts","server/ai-service/src/modules/search/agentic/result-evaluator.spec.ts","server/ai-service/src/modules/search/cache/index.ts","server/ai-service/src/modules/search/cache/multi-level-cache.service.ts","server/ai-service/src/modules/search/cache/multi-level-cache.spec.ts","server/ai-service/src/modules/search/config/search.config.ts","server/ai-service/src/modules/search/dto/index.ts","server/ai-service/src/modules/search/dto/search-request.dto.ts","server/ai-service/src/modules/search/dto/search-response.dto.ts","server/ai-service/src/modules/search/experiment/ab-testing.service.ts","server/ai-service/src/modules/search/experiment/experiment.controller.ts","server/ai-service/src/modules/search/experiment/gradual-release.service.ts","server/ai-service/src/modules/search/experiment/index.ts","server/ai-service/src/modules/search/gateway/unified-search-gateway.service.ts","server/ai-service/src/modules/search/gateway/unified-search-gateway.spec.ts","server/ai-service/src/modules/search/index.ts","server/ai-service/src/modules/search/layers/agentic-layer.service.spec.ts","server/ai-service/src/modules/search/layers/agentic-layer.service.ts","server/ai-service/src/modules/search/layers/cache-layer.service.spec.ts","server/ai-service/src/modules/search/layers/cache-layer.service.ts","server/ai-service/src/modules/search/layers/rag-layer.service.spec.ts","server/ai-service/src/modules/search/layers/rag-layer.service.ts","server/ai-service/src/modules/search/monitoring/alert.service.ts","server/ai-service/src/modules/search/monitoring/grafana-dashboard.json","server/ai-service/src/modules/search/monitoring/index.ts","server/ai-service/src/modules/search/monitoring/metrics.service.ts","server/ai-service/src/modules/search/optimization/index.ts","server/ai-service/src/modules/search/optimization/parallel-retriever.service.ts","server/ai-service/src/modules/search/optimization/parallel-retriever.spec.ts","server/ai-service/src/modules/search/router/pure-rule-router.spec.ts","server/ai-service/src/modules/search/router/pure-rule-router.ts","server/ai-service/src/modules/search/router/router.types.ts","server/ai-service/src/modules/search/search.controller.ts","server/ai-service/src/modules/search/search.integration.spec.ts","server/ai-service/src/modules/search/search.module.ts","server/ai-service/src/modules/search/services/elasticsearch.service.ts","server/ai-service/src/modules/search/services/embedding.service.spec.ts","server/ai-service/src/modules/search/services/embedding.service.ts","server/ai-service/src/modules/search/services/index.ts","server/ai-service/src/modules/search/services/llm.service.spec.ts","server/ai-service/src/modules/search/services/llm.service.ts","server/ai-service/src/modules/search/services/milvus.service.ts","server/ai-service/src/modules/search/services/reranker.service.spec.ts","server/ai-service/src/modules/search/services/reranker.service.ts","server/ai-service/src/modules/search/streaming/index.ts","server/ai-service/src/modules/search/streaming/stream-optimizer.service.ts","server/ai-service/src/modules/search/vip/index.ts","server/ai-service/src/modules/search/vip/vip-tier.service.ts","server/ai-service/tsconfig.json","server/api-gateway/.dockerignore","server/api-gateway/Dockerfile","server/api-gateway/logs/.3fa4d5e91883ce1217f62a49f94203b42caa131d-audit.json","server/api-gateway/logs/.92dabeadf9708ae538f84c8892e853b5a8f57f04-audit.json","server/api-gateway/nest-cli.json","server/api-gateway/package.json","server/api-gateway/prisma/README.md","server/api-gateway/prisma/migrations/20260203065715_init/migration.sql","server/api-gateway/prisma/migrations/20260203160000_add_360_view_models/migration.sql","server/api-gateway/prisma/migrations/20260203170000_add_admin_modules/migration.sql","server/api-gateway/prisma/migrations/20260203180000_add_config_and_usage_stats/migration.sql","server/api-gateway/prisma/migrations/20260213000000_add_contact_geo_fields/migration.sql","server/api-gateway/prisma/migrations/20260213100000_expand_prompt_template/migration.sql","server/api-gateway/prisma/migrations/migration_lock.toml","server/api-gateway/prisma/schema.prisma","server/api-gateway/prisma/seed.ts","server/api-gateway/scripts/generate-openapi.ts","server/api-gateway/src/app.module.ts","server/api-gateway/src/common/logger/global-logger.module.ts","server/api-gateway/src/common/logger/global-logger.service.ts","server/api-gateway/src/main.ts","server/api-gateway/src/modules/ai-config/ai-config.controller.ts","server/api-gateway/src/modules/ai-config/ai-config.module.ts","server/api-gateway/src/modules/ai-config/ai-config.service.ts","server/api-gateway/src/modules/ai-config/dto/ai-config.dto.ts","server/api-gateway/src/modules/ai/ai.controller.ts","server/api-gateway/src/modules/ai/ai.module.ts","server/api-gateway/src/modules/ai/ai.service.ts","server/api-gateway/src/modules/audit-logs/audit-logs.controller.ts","server/api-gateway/src/modules/audit-logs/audit-logs.module.ts","server/api-gateway/src/modules/audit-logs/audit-logs.service.ts","server/api-gateway/src/modules/audit-logs/dto/audit-logs.dto.ts","server/api-gateway/src/modules/auth/auth.controller.spec.ts","server/api-gateway/src/modules/auth/auth.controller.ts","server/api-gateway/src/modules/auth/auth.module.ts","server/api-gateway/src/modules/auth/auth.service.spec.ts","server/api-gateway/src/modules/auth/auth.service.ts","server/api-gateway/src/modules/auth/decorators/roles.decorator.ts","server/api-gateway/src/modules/auth/dto/admin-login.dto.ts","server/api-gateway/src/modules/auth/dto/login.dto.ts","server/api-gateway/src/modules/auth/dto/refresh-token.dto.ts","server/api-gateway/src/modules/auth/guards/jwt-auth.guard.ts","server/api-gateway/src/modules/auth/guards/roles.guard.ts","server/api-gateway/src/modules/auth/strategies/jwt.strategy.ts","server/api-gateway/src/modules/contacts/contacts.controller.spec.ts","server/api-gateway/src/modules/contacts/contacts.controller.ts","server/api-gateway/src/modules/contacts/contacts.module.ts","server/api-gateway/src/modules/contacts/contacts.service.spec.ts","server/api-gateway/src/modules/contacts/contacts.service.ts","server/api-gateway/src/modules/contacts/dto/match-contact.dto.ts","server/api-gateway/src/modules/health/health.controller.spec.ts","server/api-gateway/src/modules/health/health.controller.ts","server/api-gateway/src/modules/health/health.module.ts","server/api-gateway/src/modules/knowledge/dto/knowledge-base.dto.ts","server/api-gateway/src/modules/knowledge/dto/search-knowledge.dto.ts","server/api-gateway/src/modules/knowledge/knowledge.controller.spec.ts","server/api-gateway/src/modules/knowledge/knowledge.controller.ts","server/api-gateway/src/modules/knowledge/knowledge.module.ts","server/api-gateway/src/modules/knowledge/knowledge.service.spec.ts","server/api-gateway/src/modules/knowledge/knowledge.service.ts","server/api-gateway/src/modules/mobile-compat/mobile-compat.controller.ts","server/api-gateway/src/modules/mobile-compat/mobile-compat.module.ts","server/api-gateway/src/modules/ocr/ocr.controller.ts","server/api-gateway/src/modules/ocr/ocr.module.ts","server/api-gateway/src/modules/ocr/ocr.service.ts","server/api-gateway/src/modules/pinyin/pinyin.controller.spec.ts","server/api-gateway/src/modules/pinyin/pinyin.controller.ts","server/api-gateway/src/modules/pinyin/pinyin.module.ts","server/api-gateway/src/modules/pinyin/pinyin.service.spec.ts","server/api-gateway/src/modules/pinyin/pinyin.service.ts","server/api-gateway/src/modules/rag/dto/rag.dto.ts","server/api-gateway/src/modules/rag/rag.controller.spec.ts","server/api-gateway/src/modules/rag/rag.controller.ts","server/api-gateway/src/modules/rag/rag.module.ts","server/api-gateway/src/modules/rag/rag.service.runtime.spec.ts","server/api-gateway/src/modules/rag/rag.service.spec.ts","server/api-gateway/src/modules/rag/rag.service.ts","server/api-gateway/src/modules/settings/dto/settings.dto.ts","server/api-gateway/src/modules/settings/settings.controller.spec.ts","server/api-gateway/src/modules/settings/settings.controller.ts","server/api-gateway/src/modules/settings/settings.module.ts","server/api-gateway/src/modules/settings/settings.service.spec.ts","server/api-gateway/src/modules/settings/settings.service.ts","server/api-gateway/src/modules/teams/dto/teams.dto.ts","server/api-gateway/src/modules/teams/teams.controller.spec.ts","server/api-gateway/src/modules/teams/teams.controller.ts","server/api-gateway/src/modules/teams/teams.module.ts","server/api-gateway/src/modules/teams/teams.service.spec.ts","server/api-gateway/src/modules/teams/teams.service.ts","server/api-gateway/src/modules/templates/dto/template.dto.ts","server/api-gateway/src/modules/templates/templates.controller.spec.ts","server/api-gateway/src/modules/templates/templates.controller.ts","server/api-gateway/src/modules/templates/templates.module.ts","server/api-gateway/src/modules/templates/templates.service.spec.ts","server/api-gateway/src/modules/templates/templates.service.ts","server/api-gateway/src/modules/usage/dto/usage.dto.ts","server/api-gateway/src/modules/usage/usage.controller.ts","server/api-gateway/src/modules/usage/usage.module.ts","server/api-gateway/src/modules/usage/usage.service.spec.ts","server/api-gateway/src/modules/usage/usage.service.ts","server/api-gateway/src/modules/users/users.controller.spec.ts","server/api-gateway/src/modules/users/users.controller.ts","server/api-gateway/src/modules/users/users.module.ts","server/api-gateway/src/modules/users/users.service.spec.ts","server/api-gateway/src/modules/users/users.service.ts","server/api-gateway/src/modules/weather/weather.controller.spec.ts","server/api-gateway/src/modules/weather/weather.controller.ts","server/api-gateway/src/modules/weather/weather.module.ts","server/api-gateway/src/modules/weather/weather.service.spec.ts","server/api-gateway/src/modules/weather/weather.service.ts","server/api-gateway/src/shared/prisma/prisma.module.ts","server/api-gateway/src/shared/prisma/prisma.service.ts","server/api-gateway/src/shared/redis/redis.module.ts","server/api-gateway/src/shared/redis/redis.service.ts","server/api-gateway/src/shared/sms/sms.module.ts","server/api-gateway/src/shared/sms/sms.service.spec.ts","server/api-gateway/src/shared/sms/sms.service.ts","server/api-gateway/tsconfig.json","server/docker-compose.override.yml","server/docker-compose.prod.yml","server/docker-compose.yml","server/docker/grafana/provisioning/dashboards/dashboards.yml","server/docker/grafana/provisioning/dashboards/json/api-gateway.json","server/docker/grafana/provisioning/datasources/datasources.yml","server/docker/loki/loki-config.yml","server/docker/mongodb/init.js","server/docker/nginx/conf.d/default.conf","server/docker/nginx/nginx.conf","server/docker/nginx/ssl/.gitkeep","server/docker/nginx/ssl/README.md","server/docker/postgres/init.sql","server/docker/prometheus/alert.rules.yml","server/docker/prometheus/prometheus.yml","server/docker/promtail/promtail-config.yml","server/k8s/vllm/deployment.yaml","server/k8s/vllm/hpa.yaml","server/k8s/vllm/service.yaml","server/model-services/reranker/Dockerfile","server/model-services/reranker/requirements.txt","server/model-services/reranker/reranker_server.py","server/ocr-service/.dockerignore","server/ocr-service/Dockerfile","server/ocr-service/jest.config.js","server/ocr-service/nest-cli.json","server/ocr-service/package.json","server/ocr-service/src/app.module.ts","server/ocr-service/src/main.ts","server/ocr-service/src/modules/health/health.controller.ts","server/ocr-service/src/modules/health/health.module.ts","server/ocr-service/src/modules/ocr/chat-parser.service.spec.ts","server/ocr-service/src/modules/ocr/chat-parser.service.ts","server/ocr-service/src/modules/ocr/dto/chat-screenshot.dto.ts","server/ocr-service/src/modules/ocr/ocr.controller.ts","server/ocr-service/src/modules/ocr/ocr.module.ts","server/ocr-service/src/modules/ocr/ocr.service.spec.ts","server/ocr-service/src/modules/ocr/ocr.service.ts","server/ocr-service/tsconfig.json","server/scripts/backup.sh","server/scripts/check-mobile-api-coverage.js","server/scripts/check-mobile-response-compat.js","server/scripts/deploy.sh","server/scripts/deploy/deploy-infrastructure.sh","server/scripts/deploy/deploy-models.sh","server/scripts/deploy/final-deploy.sh","server/scripts/deploy/stop-models.sh","server/scripts/e2e-smoke.js","server/scripts/health-check.sh","server/scripts/mobile-api-smoke.js","server/scripts/setup-ssl.sh","settings.gradle.kts","shared/README.md","shared/build.gradle.kts","shared/src/androidInstrumentedTest/kotlin/com/haizhan/ime/shared/auth/AndroidTokenStorageTest.kt","shared/src/androidInstrumentedTest/kotlin/com/haizhan/ime/shared/auth/SharedAuthManagerIntegrationTest.kt","shared/src/androidInstrumentedTest/kotlin/com/haizhan/ime/shared/database/DatabaseIntegrationTest.kt","shared/src/androidInstrumentedTest/kotlin/com/haizhan/ime/shared/pinyin/CandidateRankerIntegrationTest.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/BuildConfig.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/Platform.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/auth/AndroidTokenStorage.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/auth/CurrentTime.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/database/DatabaseDriverFactory.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/database/SharedDatabaseKeyManager.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/di/PlatformModule.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/migration/RoomToSqlDelightMigrator.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/platform/Connectivity.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/platform/DeviceInfo.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/platform/DictionaryLoader.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/platform/FileSystem.android.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/Platform.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/analytics/AnalyticsTracker.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/ApiClient.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/AuthApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/ContactApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/DashboardApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/FeedbackApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/KnowledgeApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/MemoryApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/NoteApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/OcrApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/PinyinApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/RagSearchApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/ReplyApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/ScriptApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/SearchApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/SessionApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/SettingsApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/SubscriptionApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/UserApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/WeatherApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/auth/AuthManager.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/auth/AuthModels.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/database/DatabaseDriverFactory.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/database/DatabaseExtensions.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/di/SharedModule.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/matcher/NicknameMatcher.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/ContactModel.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/KnowledgeModel.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/AiDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/ApiResponse.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/AuthDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/ContactDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/DashboardDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/FeedbackDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/KnowledgeDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/MemoryDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/MessageDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/NoteDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/OcrDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/PinyinDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/ProfileDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/RagSearchDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/ReplyDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/ScriptDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/SearchDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/SessionDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/SettingsDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/SubscriptionDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/WeatherDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/Candidate.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/CandidateRanker.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/DictEntry.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/NineGridMatcher.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/PinyinConstants.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/PinyinService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/PinyinSplitter.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/CloudSynergyEngine.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/DoubleArrayTrie.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/DoubleArrayTrieImpl.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/DynamicWeightRanker.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/PinyinDAG.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/ViterbiDecoder.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/platform/Connectivity.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/platform/DeviceInfo.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/platform/DictionaryLoader.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/platform/FileSystem.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/ContactRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/KnowledgeRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/MessageRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/NoteRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/PinyinRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/SearchRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/SettingsRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/UserDictRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/MessageChainMatcher.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/OcrMatchService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/OfflineFallbackService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/ReplyService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/ScriptService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/SessionService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/sync/SyncManager.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/util/FlowExt.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/util/LevenshteinDistance.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/util/LruCache.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/util/StringExt.kt","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Contact.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Knowledge.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Message.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Note.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Search.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Settings.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/UserDict.sq","shared/src/commonMain/sqldelight/migrations/1.sqm","shared/src/commonTest/kotlin/com/haizhan/ime/shared/analytics/AnalyticsTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/api/ApiClientTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/auth/AuthModelsTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/matcher/NicknameMatcherTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/model/ContactModelTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/model/KnowledgeModelTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/network/NetworkClientTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/CandidateRankerTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/CandidateTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/NineGridMatcherTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/PinyinConstantsTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/PinyinSplitterTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/algorithm/CloudSynergyEngineTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/algorithm/DoubleArrayTrieImplTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/algorithm/DynamicWeightRankerTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/algorithm/PinyinDAGTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/algorithm/ViterbiDecoderTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/repository/ContactRepositoryTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/sync/SyncTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/util/LevenshteinDistanceTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/util/PinyinConverterTest.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/Platform.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/auth/CurrentTime.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/auth/IosTokenStorage.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/database/DatabaseDriverFactory.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/di/PlatformModule.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/platform/Connectivity.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/platform/DeviceInfo.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/platform/DictionaryLoader.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/platform/FileSystem.ios.kt","voice/build.gradle.kts","voice/consumer-rules.pro","voice/proguard-rules.pro","voice/src/androidTest/java/com/haizhan/ime/voice/integration/VoiceModuleIntegrationTest.kt","voice/src/androidTest/java/com/haizhan/ime/voice/integration/WakeWordServiceIntegrationTest.kt","voice/src/main/AndroidManifest.xml","voice/src/main/java/com/haizhan/ime/voice/api/AudioPipeline.kt","voice/src/main/java/com/haizhan/ime/voice/api/SpeechRecognitionService.kt","voice/src/main/java/com/haizhan/ime/voice/api/VoiceCoordinator.kt","voice/src/main/java/com/haizhan/ime/voice/api/VoiceErrors.kt","voice/src/main/java/com/haizhan/ime/voice/api/VoiceTypes.kt","voice/src/main/java/com/haizhan/ime/voice/api/WakeWordConfigManager.kt","voice/src/main/java/com/haizhan/ime/voice/api/WakeWordDetectionService.kt","voice/src/main/java/com/haizhan/ime/voice/audio/AudioPipelineImpl.kt","voice/src/main/java/com/haizhan/ime/voice/audio/di/AudioModule.kt","voice/src/main/java/com/haizhan/ime/voice/coordinator/VoiceCoordinatorImpl.kt","voice/src/main/java/com/haizhan/ime/voice/coordinator/di/CoordinatorModule.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/DenoiseAudioConsumer.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/DenoiseManager.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/MusicAwareAEC.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/NoiseEstimator.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/SpectralSubtractor.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/VoiceActivityDetector.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/di/DenoiseModule.kt","voice/src/main/java/com/haizhan/ime/voice/di/VoiceModule.kt","voice/src/main/java/com/haizhan/ime/voice/engine/VoiceInputEngine.kt","voice/src/main/java/com/haizhan/ime/voice/model/MultiModelManager.kt","voice/src/main/java/com/haizhan/ime/voice/model/VoiceModelManager.kt","voice/src/main/java/com/haizhan/ime/voice/monitoring/VoicePerformanceMonitor.kt","voice/src/main/java/com/haizhan/ime/voice/monitoring/di/MonitoringModule.kt","voice/src/main/java/com/haizhan/ime/voice/recognition/AudioDiagnostics.kt","voice/src/main/java/com/haizhan/ime/voice/recognition/SpeechRecognitionServiceImpl.kt","voice/src/main/java/com/haizhan/ime/voice/recognition/VoskGrammarBuilder.kt","voice/src/main/java/com/haizhan/ime/voice/recognition/VoskRecognizer.kt","voice/src/main/java/com/haizhan/ime/voice/recognition/di/SpeechModule.kt","voice/src/main/java/com/haizhan/ime/voice/ui/VoiceUiTypes.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/WakeWordDetectionServiceImpl.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/analytics/WakeWordAnalytics.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/config/WakeWordConfigManagerImpl.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/config/di/ConfigModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/confirmation/WakeWordConfirmation.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/detector/IWakeWordDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/detector/VoskWakeWordDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/di/ConfirmationModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/di/MatcherModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/di/ParserModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/di/RepositoryModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/di/WakeWordModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/filter/FalseWakeFilter.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/matcher/PinyinData.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/matcher/PinyinMatcher.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/matcher/TrieWordMatcher.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/parser/WakeWordCommandParser.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/EnergyPatternMatcher.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/PitchExtractor.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/QuickWakeDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/SingingModeDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/SpectralAnalyzer.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/SyllableDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/VibratoDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/VoiceCharacteristicAnalyzer.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/VoiceProfileAnalyzer.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/di/PredetectModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/repository/WakeWordRepository.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/sensitivity/AdaptiveSensitivity.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/service/WakeWordService.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/util/PinyinUtils.kt","voice/src/test/java/com/haizhan/ime/voice/api/HotwordConfigTest.kt","voice/src/test/java/com/haizhan/ime/voice/audio/AudioPipelineImplTest.kt","voice/src/test/java/com/haizhan/ime/voice/coordinator/VoiceCoordinatorImplTest.kt","voice/src/test/java/com/haizhan/ime/voice/denoise/DenoiseManagerTest.kt","voice/src/test/java/com/haizhan/ime/voice/denoise/MusicAwareAECTest.kt","voice/src/test/java/com/haizhan/ime/voice/denoise/SpectralSubtractorTest.kt","voice/src/test/java/com/haizhan/ime/voice/denoise/VoiceActivityDetectorTest.kt.bak","voice/src/test/java/com/haizhan/ime/voice/model/MultiModelManagerTest.kt","voice/src/test/java/com/haizhan/ime/voice/monitoring/VoicePerformanceMonitorTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/config/WakeWordConfigManagerTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/confirmation/WakeWordConfirmationTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/filter/FalseWakeFilterTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/matcher/PinyinDataTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/matcher/PinyinMatcherTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/matcher/TrieWordMatcherTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/parser/WakeWordCommandParserTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/QuickWakeDetectorTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/SingingModeDetectorTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/SyllableDetectorTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/VibratoDetectorTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/VoiceCharacteristicAnalyzerTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/VoiceProfileAnalyzerTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/repository/WakeWordRepositorySerializationTest.kt"],"removed":[],"modified":[]}],"total_commits":0,"head_commit":{"id":"893022bfd17ce1f2e75e75651551cf8ceaacfe45","message":"feat: 嗨赞AI输入法Android版初始提交\n","url":"https://gitea.g-hi.com/luoanwu/haizhan-ime-android/commit/893022bfd17ce1f2e75e75651551cf8ceaacfe45","author":{"name":"luoanwu","email":"law@g-hi.com","username":"luoanwu"},"committer":{"name":"luoanwu","email":"law@g-hi.com","username":"luoanwu"},"verification":null,"timestamp":"2026-02-27T15:28:58+08:00","added":[".claude/skills/haizhan-ime-development.md",".claude/worktrees/charming-zhukovsky",".editorconfig",".github/workflows/ci.yml",".github/workflows/frontend-backend-ci.yml",".github/workflows/ios-ci.yml",".github/workflows/performance-check.yml",".github/workflows/pr-check.yml",".github/workflows/release.yml",".gitignore",".npmrc","CHANGELOG.md","CLAUDE.md","MIGRATION_COMPLETE_REPORT.md","README.md","admin-web/.env.development","admin-web/.eslintrc.cjs","admin-web/.gitignore","admin-web/.npmrc","admin-web/README.md","admin-web/e2e/all-pages.spec.ts","admin-web/e2e/crud-tests.spec.ts","admin-web/e2e/dashboard.spec.ts","admin-web/e2e/interactive-click.spec.ts","admin-web/e2e/login.spec.ts","admin-web/e2e/templates.spec.ts","admin-web/index.html","admin-web/package.json","admin-web/playwright.config.ts","admin-web/postcss.config.js","admin-web/public/favicon.svg","admin-web/src/App.vue","admin-web/src/api/ai-config.ts","admin-web/src/api/audit.ts","admin-web/src/api/auth.ts","admin-web/src/api/contact.ts","admin-web/src/api/knowledge.ts","admin-web/src/api/rag.ts","admin-web/src/api/settings.ts","admin-web/src/api/team.ts","admin-web/src/api/template.ts","admin-web/src/api/usage.ts","admin-web/src/api/user.ts","admin-web/src/assets/logo.svg","admin-web/src/components/UserCard.vue","admin-web/src/components/index.ts","admin-web/src/composables/usePermission.ts","admin-web/src/composables/useResponsive.ts","admin-web/src/composables/useTable.ts","admin-web/src/directives/index.ts","admin-web/src/directives/permission.ts","admin-web/src/env.d.ts","admin-web/src/layouts/MainLayout.vue","admin-web/src/layouts/components/HeaderBar.vue","admin-web/src/layouts/components/MobileDrawer.vue","admin-web/src/layouts/components/SidebarMenu.vue","admin-web/src/main.ts","admin-web/src/router/index.ts","admin-web/src/stores/app.ts","admin-web/src/stores/user.ts","admin-web/src/styles/index.scss","admin-web/src/styles/variables.scss","admin-web/src/types/ai-config.ts","admin-web/src/types/api.ts","admin-web/src/types/audit.ts","admin-web/src/types/contact.ts","admin-web/src/types/knowledge.ts","admin-web/src/types/permission.ts","admin-web/src/types/rag.ts","admin-web/src/types/settings.ts","admin-web/src/types/team.ts","admin-web/src/types/template.ts","admin-web/src/types/usage.ts","admin-web/src/types/user.ts","admin-web/src/utils/request.ts","admin-web/src/views/ai-config/index.vue","admin-web/src/views/audit/index.vue","admin-web/src/views/contacts/index.vue","admin-web/src/views/contacts/profile.vue","admin-web/src/views/dashboard/index.vue","admin-web/src/views/error/403.vue","admin-web/src/views/error/404.vue","admin-web/src/views/knowledge/index.vue","admin-web/src/views/login/index.vue","admin-web/src/views/profile/index.vue","admin-web/src/views/rag/index.vue","admin-web/src/views/settings/index.vue","admin-web/src/views/teams/index.vue","admin-web/src/views/templates/index.vue","admin-web/src/views/usage/index.vue","admin-web/src/views/users/index.vue","admin-web/tailwind.config.js","admin-web/test-results/.last-run.json","admin-web/tsconfig.app.json","admin-web/tsconfig.json","admin-web/tsconfig.node.json","admin-web/vite.config.d.ts","admin-web/vite.config.js","admin-web/vite.config.ts","ai-panel/build.gradle.kts","ai-panel/consumer-rules.pro","ai-panel/proguard-rules.pro","ai-panel/src/main/AndroidManifest.xml","ai-panel/src/main/java/com/haizhan/ime/panel/AiPanelManager.kt","ai-panel/src/main/java/com/haizhan/ime/panel/AiPanelModels.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/AgenticDecisionEngine.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/AgenticRouter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/AgenticTypes.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/CostController.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/HybridSearchExecutor.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/di/AgenticModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/AvatarMatcher.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/ContactCache.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/ContactContextPreloader.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/ContactIndexes.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/ContactMatcher.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/ContactMatcherData.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/EnhancedContactMatcher.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/MatchedContact.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/NicknameMatcher.kt","ai-panel/src/main/java/com/haizhan/ime/panel/context/InputContextCollector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/context/UnifiedContextManager.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/AiPanelModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/ContactModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/ContextModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/OcrModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/ReplyModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/ScreenshotModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/knowledge/KnowledgeService.kt","ai-panel/src/main/java/com/haizhan/ime/panel/memory/ContactMemoryModels.kt","ai-panel/src/main/java/com/haizhan/ime/panel/memory/ContactMemoryService.kt","ai-panel/src/main/java/com/haizhan/ime/panel/memory/MemoryDtoMapper.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/EnhancedSenderDetector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/MessageParser.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/OcrReliabilityScore.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/OcrService.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/TitleBarParser.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/ChatMessageAdapter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/DingTalkMessageAdapter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/FeishuMessageAdapter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/MessageAdapterFactory.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/WeChatMessageAdapter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/WeWorkMessageAdapter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/BatteryAwareManager.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/ClipboardHelper.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/FrequencyController.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/RagReplyGenerator.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/ReplyGenerator.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/ReplyStyle.kt","ai-panel/src/main/java/com/haizhan/ime/panel/screenshot/RegionDetector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/screenshot/ScreenshotManager.kt","ai-panel/src/main/java/com/haizhan/ime/panel/service/ScreenshotForegroundService.kt","ai-panel/src/main/java/com/haizhan/ime/panel/trigger/AppDetector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/trigger/TriggerDetector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/AIPanelScreen.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/AiPanelTheme.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/Contact360View.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/ContactCard.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/ContactSelector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/EmotionBadge.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/FunctionTabBar.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/IntentBadge.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/KnowledgeCard.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/KnowledgePanel.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/QuickReplyPanel.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/ReplyCard.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/ContactComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/HistoryComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/KnowledgeComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/NoteComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/OcrComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/PanelCommon.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/ReplyComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/TeamComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/AiReplyTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/ContactsTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/HistoryTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/KnowledgeTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/NoteTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/OcrTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/TeamTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/weather/WeatherService.kt","ai-panel/src/main/res/drawable/ic_ai_reply.xml","ai-panel/src/main/res/drawable/ic_capture.xml","ai-panel/src/main/res/drawable/ic_contacts.xml","ai-panel/src/main/res/drawable/ic_knowledge.xml","ai-panel/src/main/res/drawable/ic_ocr.xml","ai-panel/src/main/res/drawable/ic_refresh.xml","ai-panel/src/main/res/drawable/ic_screenshot.xml","ai-panel/src/main/res/drawable/ic_stop.xml","ai-panel/src/test/java/com/haizhan/ime/panel/AiPanelManagerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/agentic/AgenticDecisionEngineTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/agentic/AgenticRouterTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/agentic/AgenticTypesTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/agentic/CostControllerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/agentic/ResultQualityEvaluatorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactCacheTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactContextPreloaderTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactIndexPerformanceTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactIndexesTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactMatcherTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactMemoryServiceTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/MatchedContactTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/NicknameMatcherTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/context/InputContextCollectorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/context/UnifiedContextManagerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/knowledge/KnowledgeServiceTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ocr/EnhancedSenderDetectorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ocr/MessageParserTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ocr/OcrReliabilityScoreTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ocr/OcrServiceTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ocr/TitleBarParserTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/platform/DingTalkAdapterTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/platform/FeishuAdapterTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/platform/WeChatAdapterTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/platform/WeWorkAdapterTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/BatteryAwareManagerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/ClipboardHelperTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/FrequencyControllerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/RagReplyGeneratorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/ReplyGeneratorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/ReplyStyleTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/screenshot/RegionDetectorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/screenshot/ScreenshotManagerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/trigger/AppDetectorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/trigger/TriggerDetectorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ui/AIPanelScreenTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ui/ReplyCardTest.kt","api-clients/android/.openapi-generator-ignore","api-clients/android/.openapi-generator/FILES","api-clients/android/.openapi-generator/VERSION","api-clients/android/README.md","api-clients/android/build.gradle","api-clients/android/docs/AdminLoginDto.md","api-clients/android/docs/AiConfigApi.md","api-clients/android/docs/AuditLogsApi.md","api-clients/android/docs/AuthApi.md","api-clients/android/docs/BatchRemoveContactsDto.md","api-clients/android/docs/ChunkingConfigDto.md","api-clients/android/docs/Contact360ResponseDto.md","api-clients/android/docs/Contact360ViewDto.md","api-clients/android/docs/ContactDetailResponseDto.md","api-clients/android/docs/ContactDto.md","api-clients/android/docs/ContactEventDto.md","api-clients/android/docs/ContactListResponseDto.md","api-clients/android/docs/ContactProfileDto.md","api-clients/android/docs/ContactStatsDto.md","api-clients/android/docs/ContactTagDto.md","api-clients/android/docs/ContactsApi.md","api-clients/android/docs/ConversationSummaryDto.md","api-clients/android/docs/CreateContactDto.md","api-clients/android/docs/CreateContactEventDto.md","api-clients/android/docs/CreateKnowledgeBaseDto.md","api-clients/android/docs/CreateKnowledgeDocumentDto.md","api-clients/android/docs/CreateQwenModelDto.md","api-clients/android/docs/DefaultApi.md","api-clients/android/docs/EmbeddingConfigDto.md","api-clients/android/docs/EmbeddingModelDto.md","api-clients/android/docs/GenerationConfigDto.md","api-clients/android/docs/HealthApi.md","api-clients/android/docs/KnowledgeApi.md","api-clients/android/docs/KnowledgeBaseResponseDto.md","api-clients/android/docs/KnowledgeDocumentListResponseDto.md","api-clients/android/docs/KnowledgeDocumentResponseDto.md","api-clients/android/docs/LoginDto.md","api-clients/android/docs/MatchContactDto.md","api-clients/android/docs/MatchContactResponseDto.md","api-clients/android/docs/MobileCompatApi.md","api-clients/android/docs/PinyinApi.md","api-clients/android/docs/PipelineHealthDto.md","api-clients/android/docs/PipelineMetricsDto.md","api-clients/android/docs/PreviewChunkingDto.md","api-clients/android/docs/QwenModelConfigDto.md","api-clients/android/docs/QwenModelFeaturesDto.md","api-clients/android/docs/RagApi.md","api-clients/android/docs/RagConfigDto.md","api-clients/android/docs/RagMetricsDto.md","api-clients/android/docs/RagPipelineStatusDto.md","api-clients/android/docs/RagQueryDto.md","api-clients/android/docs/RebuildIndexDto.md","api-clients/android/docs/RefreshTokenDto.md","api-clients/android/docs/RetrievalConfigDto.md","api-clients/android/docs/SettingsApi.md","api-clients/android/docs/SyncContactsDto.md","api-clients/android/docs/SyncContactsResponseDto.md","api-clients/android/docs/TeamsApi.md","api-clients/android/docs/ToggleQwenModelDto.md","api-clients/android/docs/UpdateContactDto.md","api-clients/android/docs/UpdateKnowledgeBaseDto.md","api-clients/android/docs/UpdateKnowledgeDocumentDto.md","api-clients/android/docs/UpdateQwenModelDto.md","api-clients/android/docs/UpdateRagConfigDto.md","api-clients/android/docs/UsageApi.md","api-clients/android/docs/WeatherApi.md","api-clients/android/gradle/wrapper/gradle-wrapper.jar","api-clients/android/gradle/wrapper/gradle-wrapper.properties","api-clients/android/gradlew","api-clients/android/gradlew.bat","api-clients/android/settings.gradle","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/AiConfigApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/AuditLogsApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/AuthApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/ContactsApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/DefaultApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/HealthApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/KnowledgeApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/MobileCompatApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/PinyinApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/RagApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/SettingsApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/TeamsApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/UsageApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/WeatherApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/auth/HttpBearerAuth.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/ApiClient.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/BigDecimalAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/BigIntegerAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/ByteArrayAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/CollectionFormats.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/LocalDateAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/LocalDateTimeAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/OffsetDateTimeAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/ResponseExt.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/Serializer.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/URIAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/UUIDAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/AdminLoginDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/BatchRemoveContactsDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ChunkingConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/Contact360ResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/Contact360ViewDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactDetailResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactEventDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactListResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactProfileDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactStatsDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactTagDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ConversationSummaryDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/CreateContactDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/CreateContactEventDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/CreateKnowledgeBaseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/CreateKnowledgeDocumentDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/CreateQwenModelDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/EmbeddingConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/EmbeddingModelDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/GenerationConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/KnowledgeBaseResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/KnowledgeDocumentListResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/KnowledgeDocumentResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/LoginDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/MatchContactDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/MatchContactResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/PipelineHealthDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/PipelineMetricsDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/PreviewChunkingDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/QwenModelConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/QwenModelFeaturesDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RagConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RagMetricsDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RagPipelineStatusDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RagQueryDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RebuildIndexDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RefreshTokenDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RetrievalConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/SyncContactsDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/SyncContactsResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ToggleQwenModelDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/UpdateContactDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/UpdateKnowledgeBaseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/UpdateKnowledgeDocumentDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/UpdateQwenModelDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/UpdateRagConfigDto.kt","api-clients/flutter/.gitignore","api-clients/flutter/.openapi-generator-ignore","api-clients/flutter/.openapi-generator/FILES","api-clients/flutter/.openapi-generator/VERSION","api-clients/flutter/README.md","api-clients/flutter/analysis_options.yaml","api-clients/flutter/doc/AdminLoginDto.md","api-clients/flutter/doc/AiConfigApi.md","api-clients/flutter/doc/AuditLogsApi.md","api-clients/flutter/doc/AuthApi.md","api-clients/flutter/doc/BatchRemoveContactsDto.md","api-clients/flutter/doc/ChunkingConfigDto.md","api-clients/flutter/doc/Contact360ResponseDto.md","api-clients/flutter/doc/Contact360ViewDto.md","api-clients/flutter/doc/ContactDetailResponseDto.md","api-clients/flutter/doc/ContactDto.md","api-clients/flutter/doc/ContactEventDto.md","api-clients/flutter/doc/ContactListResponseDto.md","api-clients/flutter/doc/ContactProfileDto.md","api-clients/flutter/doc/ContactStatsDto.md","api-clients/flutter/doc/ContactTagDto.md","api-clients/flutter/doc/ContactsApi.md","api-clients/flutter/doc/ConversationSummaryDto.md","api-clients/flutter/doc/CreateContactDto.md","api-clients/flutter/doc/CreateContactEventDto.md","api-clients/flutter/doc/CreateKnowledgeBaseDto.md","api-clients/flutter/doc/CreateKnowledgeDocumentDto.md","api-clients/flutter/doc/CreateQwenModelDto.md","api-clients/flutter/doc/DefaultApi.md","api-clients/flutter/doc/EmbeddingConfigDto.md","api-clients/flutter/doc/EmbeddingModelDto.md","api-clients/flutter/doc/GenerationConfigDto.md","api-clients/flutter/doc/HealthApi.md","api-clients/flutter/doc/KnowledgeApi.md","api-clients/flutter/doc/KnowledgeBaseResponseDto.md","api-clients/flutter/doc/KnowledgeDocumentListResponseDto.md","api-clients/flutter/doc/KnowledgeDocumentResponseDto.md","api-clients/flutter/doc/LoginDto.md","api-clients/flutter/doc/MatchContactDto.md","api-clients/flutter/doc/MatchContactResponseDto.md","api-clients/flutter/doc/MobileCompatApi.md","api-clients/flutter/doc/PinyinApi.md","api-clients/flutter/doc/PipelineHealthDto.md","api-clients/flutter/doc/PipelineMetricsDto.md","api-clients/flutter/doc/PreviewChunkingDto.md","api-clients/flutter/doc/QwenModelConfigDto.md","api-clients/flutter/doc/QwenModelFeaturesDto.md","api-clients/flutter/doc/RagApi.md","api-clients/flutter/doc/RagConfigDto.md","api-clients/flutter/doc/RagMetricsDto.md","api-clients/flutter/doc/RagPipelineStatusDto.md","api-clients/flutter/doc/RagQueryDto.md","api-clients/flutter/doc/RebuildIndexDto.md","api-clients/flutter/doc/RefreshTokenDto.md","api-clients/flutter/doc/RetrievalConfigDto.md","api-clients/flutter/doc/SettingsApi.md","api-clients/flutter/doc/SyncContactsDto.md","api-clients/flutter/doc/SyncContactsResponseDto.md","api-clients/flutter/doc/TeamsApi.md","api-clients/flutter/doc/ToggleQwenModelDto.md","api-clients/flutter/doc/UpdateContactDto.md","api-clients/flutter/doc/UpdateKnowledgeBaseDto.md","api-clients/flutter/doc/UpdateKnowledgeDocumentDto.md","api-clients/flutter/doc/UpdateQwenModelDto.md","api-clients/flutter/doc/UpdateRagConfigDto.md","api-clients/flutter/doc/UsageApi.md","api-clients/flutter/doc/WeatherApi.md","api-clients/flutter/lib/haizhan_api.dart","api-clients/flutter/lib/src/api.dart","api-clients/flutter/lib/src/api/ai_config_api.dart","api-clients/flutter/lib/src/api/audit_logs_api.dart","api-clients/flutter/lib/src/api/auth_api.dart","api-clients/flutter/lib/src/api/contacts_api.dart","api-clients/flutter/lib/src/api/default_api.dart","api-clients/flutter/lib/src/api/health_api.dart","api-clients/flutter/lib/src/api/knowledge_api.dart","api-clients/flutter/lib/src/api/mobile_compat_api.dart","api-clients/flutter/lib/src/api/pinyin_api.dart","api-clients/flutter/lib/src/api/rag_api.dart","api-clients/flutter/lib/src/api/settings_api.dart","api-clients/flutter/lib/src/api/teams_api.dart","api-clients/flutter/lib/src/api/usage_api.dart","api-clients/flutter/lib/src/api/weather_api.dart","api-clients/flutter/lib/src/api_util.dart","api-clients/flutter/lib/src/auth/api_key_auth.dart","api-clients/flutter/lib/src/auth/auth.dart","api-clients/flutter/lib/src/auth/basic_auth.dart","api-clients/flutter/lib/src/auth/bearer_auth.dart","api-clients/flutter/lib/src/auth/oauth.dart","api-clients/flutter/lib/src/date_serializer.dart","api-clients/flutter/lib/src/model/admin_login_dto.dart","api-clients/flutter/lib/src/model/batch_remove_contacts_dto.dart","api-clients/flutter/lib/src/model/chunking_config_dto.dart","api-clients/flutter/lib/src/model/contact360_response_dto.dart","api-clients/flutter/lib/src/model/contact360_view_dto.dart","api-clients/flutter/lib/src/model/contact_detail_response_dto.dart","api-clients/flutter/lib/src/model/contact_dto.dart","api-clients/flutter/lib/src/model/contact_event_dto.dart","api-clients/flutter/lib/src/model/contact_list_response_dto.dart","api-clients/flutter/lib/src/model/contact_profile_dto.dart","api-clients/flutter/lib/src/model/contact_stats_dto.dart","api-clients/flutter/lib/src/model/contact_tag_dto.dart","api-clients/flutter/lib/src/model/conversation_summary_dto.dart","api-clients/flutter/lib/src/model/create_contact_dto.dart","api-clients/flutter/lib/src/model/create_contact_event_dto.dart","api-clients/flutter/lib/src/model/create_knowledge_base_dto.dart","api-clients/flutter/lib/src/model/create_knowledge_document_dto.dart","api-clients/flutter/lib/src/model/create_qwen_model_dto.dart","api-clients/flutter/lib/src/model/date.dart","api-clients/flutter/lib/src/model/embedding_config_dto.dart","api-clients/flutter/lib/src/model/embedding_model_dto.dart","api-clients/flutter/lib/src/model/generation_config_dto.dart","api-clients/flutter/lib/src/model/knowledge_base_response_dto.dart","api-clients/flutter/lib/src/model/knowledge_document_list_response_dto.dart","api-clients/flutter/lib/src/model/knowledge_document_response_dto.dart","api-clients/flutter/lib/src/model/login_dto.dart","api-clients/flutter/lib/src/model/match_contact_dto.dart","api-clients/flutter/lib/src/model/match_contact_response_dto.dart","api-clients/flutter/lib/src/model/pipeline_health_dto.dart","api-clients/flutter/lib/src/model/pipeline_metrics_dto.dart","api-clients/flutter/lib/src/model/preview_chunking_dto.dart","api-clients/flutter/lib/src/model/qwen_model_config_dto.dart","api-clients/flutter/lib/src/model/qwen_model_features_dto.dart","api-clients/flutter/lib/src/model/rag_config_dto.dart","api-clients/flutter/lib/src/model/rag_metrics_dto.dart","api-clients/flutter/lib/src/model/rag_pipeline_status_dto.dart","api-clients/flutter/lib/src/model/rag_query_dto.dart","api-clients/flutter/lib/src/model/rebuild_index_dto.dart","api-clients/flutter/lib/src/model/refresh_token_dto.dart","api-clients/flutter/lib/src/model/retrieval_config_dto.dart","api-clients/flutter/lib/src/model/sync_contacts_dto.dart","api-clients/flutter/lib/src/model/sync_contacts_response_dto.dart","api-clients/flutter/lib/src/model/toggle_qwen_model_dto.dart","api-clients/flutter/lib/src/model/update_contact_dto.dart","api-clients/flutter/lib/src/model/update_knowledge_base_dto.dart","api-clients/flutter/lib/src/model/update_knowledge_document_dto.dart","api-clients/flutter/lib/src/model/update_qwen_model_dto.dart","api-clients/flutter/lib/src/model/update_rag_config_dto.dart","api-clients/flutter/lib/src/serializers.dart","api-clients/flutter/pubspec.yaml","api-clients/flutter/test/admin_login_dto_test.dart","api-clients/flutter/test/ai_config_api_test.dart","api-clients/flutter/test/audit_logs_api_test.dart","api-clients/flutter/test/auth_api_test.dart","api-clients/flutter/test/batch_remove_contacts_dto_test.dart","api-clients/flutter/test/chunking_config_dto_test.dart","api-clients/flutter/test/contact360_response_dto_test.dart","api-clients/flutter/test/contact360_view_dto_test.dart","api-clients/flutter/test/contact_detail_response_dto_test.dart","api-clients/flutter/test/contact_dto_test.dart","api-clients/flutter/test/contact_event_dto_test.dart","api-clients/flutter/test/contact_list_response_dto_test.dart","api-clients/flutter/test/contact_profile_dto_test.dart","api-clients/flutter/test/contact_stats_dto_test.dart","api-clients/flutter/test/contact_tag_dto_test.dart","api-clients/flutter/test/contacts_api_test.dart","api-clients/flutter/test/conversation_summary_dto_test.dart","api-clients/flutter/test/create_contact_dto_test.dart","api-clients/flutter/test/create_contact_event_dto_test.dart","api-clients/flutter/test/create_knowledge_base_dto_test.dart","api-clients/flutter/test/create_knowledge_document_dto_test.dart","api-clients/flutter/test/create_qwen_model_dto_test.dart","api-clients/flutter/test/default_api_test.dart","api-clients/flutter/test/embedding_config_dto_test.dart","api-clients/flutter/test/embedding_model_dto_test.dart","api-clients/flutter/test/generation_config_dto_test.dart","api-clients/flutter/test/health_api_test.dart","api-clients/flutter/test/knowledge_api_test.dart","api-clients/flutter/test/knowledge_base_response_dto_test.dart","api-clients/flutter/test/knowledge_document_list_response_dto_test.dart","api-clients/flutter/test/knowledge_document_response_dto_test.dart","api-clients/flutter/test/login_dto_test.dart","api-clients/flutter/test/match_contact_dto_test.dart","api-clients/flutter/test/match_contact_response_dto_test.dart","api-clients/flutter/test/mobile_compat_api_test.dart","api-clients/flutter/test/pinyin_api_test.dart","api-clients/flutter/test/pipeline_health_dto_test.dart","api-clients/flutter/test/pipeline_metrics_dto_test.dart","api-clients/flutter/test/preview_chunking_dto_test.dart","api-clients/flutter/test/qwen_model_config_dto_test.dart","api-clients/flutter/test/qwen_model_features_dto_test.dart","api-clients/flutter/test/rag_api_test.dart","api-clients/flutter/test/rag_config_dto_test.dart","api-clients/flutter/test/rag_metrics_dto_test.dart","api-clients/flutter/test/rag_pipeline_status_dto_test.dart","api-clients/flutter/test/rag_query_dto_test.dart","api-clients/flutter/test/rebuild_index_dto_test.dart","api-clients/flutter/test/refresh_token_dto_test.dart","api-clients/flutter/test/retrieval_config_dto_test.dart","api-clients/flutter/test/settings_api_test.dart","api-clients/flutter/test/sync_contacts_dto_test.dart","api-clients/flutter/test/sync_contacts_response_dto_test.dart","api-clients/flutter/test/teams_api_test.dart","api-clients/flutter/test/toggle_qwen_model_dto_test.dart","api-clients/flutter/test/update_contact_dto_test.dart","api-clients/flutter/test/update_knowledge_base_dto_test.dart","api-clients/flutter/test/update_knowledge_document_dto_test.dart","api-clients/flutter/test/update_qwen_model_dto_test.dart","api-clients/flutter/test/update_rag_config_dto_test.dart","api-clients/flutter/test/usage_api_test.dart","api-clients/flutter/test/weather_api_test.dart","api-clients/ios/.gitignore","api-clients/ios/.openapi-generator-ignore","api-clients/ios/.openapi-generator/FILES","api-clients/ios/.openapi-generator/VERSION","api-clients/ios/.swiftformat","api-clients/ios/Cartfile","api-clients/ios/HaizhanAPI.podspec","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIHelper.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/AiConfigAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/AuditLogsAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/AuthAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/ContactsAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/DefaultAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/HealthAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/KnowledgeAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/MobileCompatAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/PinyinAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/RagAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/SettingsAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/TeamsAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/UsageAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/WeatherAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/CodableHelper.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Configuration.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Extensions.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/JSONDataEncoding.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/JSONEncodingHelper.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/AdminLoginDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/BatchRemoveContactsDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ChunkingConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/Contact360ResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/Contact360ViewDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactDetailResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactEventDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactListResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactProfileDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactStatsDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactTagDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ConversationSummaryDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/CreateContactDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/CreateContactEventDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/CreateKnowledgeBaseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/CreateKnowledgeDocumentDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/CreateQwenModelDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/EmbeddingConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/EmbeddingModelDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/GenerationConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/KnowledgeBaseResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/KnowledgeDocumentListResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/KnowledgeDocumentResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/LoginDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/MatchContactDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/MatchContactResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/PipelineHealthDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/PipelineMetricsDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/PreviewChunkingDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/QwenModelConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/QwenModelFeaturesDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RagConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RagMetricsDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RagPipelineStatusDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RagQueryDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RebuildIndexDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RefreshTokenDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RetrievalConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/SyncContactsDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/SyncContactsResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ToggleQwenModelDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/UpdateContactDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/UpdateKnowledgeBaseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/UpdateKnowledgeDocumentDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/UpdateQwenModelDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/UpdateRagConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/OpenISO8601DateFormatter.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/SynchronizedDictionary.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/URLSessionImplementations.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Validation.swift","api-clients/ios/Package.swift","api-clients/ios/README.md","api-clients/ios/docs/AdminLoginDto.md","api-clients/ios/docs/AiConfigAPI.md","api-clients/ios/docs/AuditLogsAPI.md","api-clients/ios/docs/AuthAPI.md","api-clients/ios/docs/BatchRemoveContactsDto.md","api-clients/ios/docs/ChunkingConfigDto.md","api-clients/ios/docs/Contact360ResponseDto.md","api-clients/ios/docs/Contact360ViewDto.md","api-clients/ios/docs/ContactDetailResponseDto.md","api-clients/ios/docs/ContactDto.md","api-clients/ios/docs/ContactEventDto.md","api-clients/ios/docs/ContactListResponseDto.md","api-clients/ios/docs/ContactProfileDto.md","api-clients/ios/docs/ContactStatsDto.md","api-clients/ios/docs/ContactTagDto.md","api-clients/ios/docs/ContactsAPI.md","api-clients/ios/docs/ConversationSummaryDto.md","api-clients/ios/docs/CreateContactDto.md","api-clients/ios/docs/CreateContactEventDto.md","api-clients/ios/docs/CreateKnowledgeBaseDto.md","api-clients/ios/docs/CreateKnowledgeDocumentDto.md","api-clients/ios/docs/CreateQwenModelDto.md","api-clients/ios/docs/DefaultAPI.md","api-clients/ios/docs/EmbeddingConfigDto.md","api-clients/ios/docs/EmbeddingModelDto.md","api-clients/ios/docs/GenerationConfigDto.md","api-clients/ios/docs/HealthAPI.md","api-clients/ios/docs/KnowledgeAPI.md","api-clients/ios/docs/KnowledgeBaseResponseDto.md","api-clients/ios/docs/KnowledgeDocumentListResponseDto.md","api-clients/ios/docs/KnowledgeDocumentResponseDto.md","api-clients/ios/docs/LoginDto.md","api-clients/ios/docs/MatchContactDto.md","api-clients/ios/docs/MatchContactResponseDto.md","api-clients/ios/docs/MobileCompatAPI.md","api-clients/ios/docs/PinyinAPI.md","api-clients/ios/docs/PipelineHealthDto.md","api-clients/ios/docs/PipelineMetricsDto.md","api-clients/ios/docs/PreviewChunkingDto.md","api-clients/ios/docs/QwenModelConfigDto.md","api-clients/ios/docs/QwenModelFeaturesDto.md","api-clients/ios/docs/RagAPI.md","api-clients/ios/docs/RagConfigDto.md","api-clients/ios/docs/RagMetricsDto.md","api-clients/ios/docs/RagPipelineStatusDto.md","api-clients/ios/docs/RagQueryDto.md","api-clients/ios/docs/RebuildIndexDto.md","api-clients/ios/docs/RefreshTokenDto.md","api-clients/ios/docs/RetrievalConfigDto.md","api-clients/ios/docs/SettingsAPI.md","api-clients/ios/docs/SyncContactsDto.md","api-clients/ios/docs/SyncContactsResponseDto.md","api-clients/ios/docs/TeamsAPI.md","api-clients/ios/docs/ToggleQwenModelDto.md","api-clients/ios/docs/UpdateContactDto.md","api-clients/ios/docs/UpdateKnowledgeBaseDto.md","api-clients/ios/docs/UpdateKnowledgeDocumentDto.md","api-clients/ios/docs/UpdateQwenModelDto.md","api-clients/ios/docs/UpdateRagConfigDto.md","api-clients/ios/docs/UsageAPI.md","api-clients/ios/docs/WeatherAPI.md","api-clients/ios/git_push.sh","api-clients/ios/project.yml","app/build.gradle.kts","app/proguard-rules-release.pro","app/proguard-rules.pro","app/src/androidTest/java/com/haizhan/ime/ComposeUiTest.kt","app/src/androidTest/java/com/haizhan/ime/ExampleInstrumentedTest.kt","app/src/androidTest/java/com/haizhan/ime/e2e/SmokeE2ETest.kt","app/src/androidTest/java/com/haizhan/ime/integration/ImeIntegrationTest.kt","app/src/main/AndroidManifest.xml","app/src/main/assets/dictionaries/stroke-data.txt","app/src/main/assets/handwriting_labels.txt","app/src/main/assets/handwriting_labels_casia.txt","app/src/main/assets/handwriting_labels_clean.txt","app/src/main/assets/handwriting_labels_jp.txt","app/src/main/assets/paddle_models/handwriting_labels.txt","app/src/main/assets/paddle_models/ppocr_keys_v1.txt","app/src/main/assets/temp_clean.txt","app/src/main/assets/temp_labels.txt","app/src/main/java/com/haizhan/ime/HaizhanApplication.kt","app/src/main/java/com/haizhan/ime/about/ui/AboutScreen.kt","app/src/main/java/com/haizhan/ime/chat/model/Message.kt","app/src/main/java/com/haizhan/ime/chat/service/WebSocketService.kt","app/src/main/java/com/haizhan/ime/chat/ui/ChatMessageCard.kt","app/src/main/java/com/haizhan/ime/chat/ui/ChatScreen.kt","app/src/main/java/com/haizhan/ime/chat/ui/GroupChatScreen.kt","app/src/main/java/com/haizhan/ime/feedback/ui/FeedbackScreen.kt","app/src/main/java/com/haizhan/ime/help/ui/HelpCenterScreen.kt","app/src/main/java/com/haizhan/ime/note/model/Note.kt","app/src/main/java/com/haizhan/ime/note/service/NoteService.kt","app/src/main/java/com/haizhan/ime/note/ui/NoteEditorScreen.kt","app/src/main/java/com/haizhan/ime/note/ui/NoteListScreen.kt","app/src/main/java/com/haizhan/ime/profile/model/Profile.kt","app/src/main/java/com/haizhan/ime/profile/ui/ProfileScreen.kt","app/src/main/java/com/haizhan/ime/receiver/BootReceiver.kt","app/src/main/java/com/haizhan/ime/search/model/Search.kt","app/src/main/java/com/haizhan/ime/search/service/SearchService.kt","app/src/main/java/com/haizhan/ime/search/ui/GlobalSearchScreen.kt","app/src/main/java/com/haizhan/ime/security/EncryptionManager.kt","app/src/main/java/com/haizhan/ime/security/NetworkSecurityManager.kt","app/src/main/java/com/haizhan/ime/security/PrivacyComplianceManager.kt","app/src/main/java/com/haizhan/ime/security/SecurityAuditor.kt","app/src/main/java/com/haizhan/ime/service/AiProcessingService.kt","app/src/main/java/com/haizhan/ime/service/ContextCollector.kt","app/src/main/java/com/haizhan/ime/service/DataSyncService.kt","app/src/main/java/com/haizhan/ime/service/HaizhanInputMethodService.kt","app/src/main/java/com/haizhan/ime/service/InputTypeAnalysis.kt","app/src/main/java/com/haizhan/ime/service/KeyboardContentView.kt","app/src/main/java/com/haizhan/ime/service/OcrCaptureService.kt","app/src/main/java/com/haizhan/ime/service/VoiceInputDelegate.kt","app/src/main/java/com/haizhan/ime/session/model/Session.kt","app/src/main/java/com/haizhan/ime/session/service/SessionService.kt","app/src/main/java/com/haizhan/ime/session/ui/MessageCenterScreen.kt","app/src/main/java/com/haizhan/ime/session/ui/SessionCard.kt","app/src/main/java/com/haizhan/ime/session/ui/SessionListScreen.kt","app/src/main/java/com/haizhan/ime/stability/AnrWatchdog.kt","app/src/main/java/com/haizhan/ime/stability/CrashHandler.kt","app/src/main/java/com/haizhan/ime/stability/MemoryLeakDetector.kt","app/src/main/java/com/haizhan/ime/stability/StabilityManager.kt","app/src/main/java/com/haizhan/ime/statistics/model/Statistics.kt","app/src/main/java/com/haizhan/ime/statistics/ui/ChartComponents.kt","app/src/main/java/com/haizhan/ime/statistics/ui/StatisticsScreen.kt","app/src/main/java/com/haizhan/ime/subscription/model/Subscription.kt","app/src/main/java/com/haizhan/ime/subscription/service/SubscriptionService.kt","app/src/main/java/com/haizhan/ime/subscription/ui/SubscriptionScreen.kt","app/src/main/java/com/haizhan/ime/sync/ContactSyncTaskAdapter.kt","app/src/main/java/com/haizhan/ime/sync/KnowledgeSyncTaskAdapter.kt","app/src/main/java/com/haizhan/ime/sync/SyncContracts.kt","app/src/main/java/com/haizhan/ime/sync/SyncCoordinator.kt","app/src/main/java/com/haizhan/ime/sync/SyncScheduler.kt","app/src/main/java/com/haizhan/ime/team/model/Team.kt","app/src/main/java/com/haizhan/ime/team/service/TeamService.kt","app/src/main/java/com/haizhan/ime/team/ui/TeamScreen.kt","app/src/main/java/com/haizhan/ime/template/data/B2BTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/ClosingTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/CoreSalesTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/DailyTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/DefaultTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/FollowUpTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/QuickPhraseDefaults.kt","app/src/main/java/com/haizhan/ime/template/data/SeasonalTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/TemplateDatabase.kt","app/src/main/java/com/haizhan/ime/template/data/TemplateImporter.kt","app/src/main/java/com/haizhan/ime/template/data/TemplateRepository.kt","app/src/main/java/com/haizhan/ime/template/di/TemplateModule.kt","app/src/main/java/com/haizhan/ime/template/model/Template.kt","app/src/main/java/com/haizhan/ime/template/service/TemplateService.kt","app/src/main/java/com/haizhan/ime/template/ui/FolderManagementDialog.kt","app/src/main/java/com/haizhan/ime/template/ui/TemplateListScreen.kt","app/src/main/java/com/haizhan/ime/template/ui/TemplateViewModel.kt","app/src/main/java/com/haizhan/ime/ui/MainActivity.kt","app/src/main/java/com/haizhan/ime/ui/management/DictionaryImportActivity.kt","app/src/main/java/com/haizhan/ime/ui/management/DictionaryImportScreen.kt","app/src/main/java/com/haizhan/ime/ui/management/DictionaryImportViewModel.kt","app/src/main/java/com/haizhan/ime/ui/management/DictionaryScreen.kt","app/src/main/java/com/haizhan/ime/ui/management/ManagementActivity.kt","app/src/main/java/com/haizhan/ime/ui/management/ManagementViewModel.kt","app/src/main/java/com/haizhan/ime/ui/management/PermissionScreen.kt","app/src/main/java/com/haizhan/ime/ui/management/SettingsScreen.kt","app/src/main/java/com/haizhan/ime/ui/permission/ScreenshotPermissionActivity.kt","app/src/main/java/com/haizhan/ime/ui/settings/ImeSettingsActivity.kt","app/src/main/java/com/haizhan/ime/ui/settings/SettingsViewModel.kt","app/src/main/java/com/haizhan/ime/ui/theme/Theme.kt","app/src/main/java/com/haizhan/ime/ui/theme/Type.kt","app/src/main/java/com/haizhan/ime/ux/AccessibilityHelper.kt","app/src/main/java/com/haizhan/ime/ux/AnimationUtils.kt","app/src/main/java/com/haizhan/ime/ux/ErrorHandler.kt","app/src/main/java/com/haizhan/ime/ux/OnboardingScreen.kt","app/src/main/java/com/haizhan/ime/ux/StartupOptimizer.kt","app/src/main/java/com/haizhan/ime/voice/service/VoiceService.kt","app/src/main/java/com/haizhan/ime/voice/ui/VoiceInputScreen.kt","app/src/main/res/drawable/ic_launcher_background.xml","app/src/main/res/drawable/ic_launcher_foreground.xml","app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml","app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml","app/src/main/res/values-night/colors.xml","app/src/main/res/values/colors.xml","app/src/main/res/values/strings.xml","app/src/main/res/values/themes.xml","app/src/main/res/xml/backup_rules.xml","app/src/main/res/xml/data_extraction_rules.xml","app/src/main/res/xml/file_paths.xml","app/src/main/res/xml/method.xml","app/src/main/res/xml/network_security_config.xml","app/src/test/java/com/haizhan/ime/ExampleUnitTest.kt","app/src/test/java/com/haizhan/ime/app/service/NotificationServiceTest.kt","app/src/test/java/com/haizhan/ime/app/service/SearchServiceTest.kt","app/src/test/java/com/haizhan/ime/app/service/SessionServiceTest.kt","app/src/test/java/com/haizhan/ime/app/service/SyncServiceTest.kt","app/src/test/java/com/haizhan/ime/app/service/WebSocketServiceTest.kt","app/src/test/java/com/haizhan/ime/benchmark/PerformanceBenchmarkTest.kt","app/src/test/java/com/haizhan/ime/security/EncryptionManagerTest.kt","app/src/test/java/com/haizhan/ime/security/PrivacyComplianceManagerTest.kt","app/src/test/java/com/haizhan/ime/security/SecurityAuditorTest.kt","app/src/test/java/com/haizhan/ime/service/HaizhanInputMethodServiceTest.kt","app/src/test/java/com/haizhan/ime/services/AiProcessingServiceTest.kt","app/src/test/java/com/haizhan/ime/services/NoteServiceTest.kt","app/src/test/java/com/haizhan/ime/services/OcrCaptureServiceTest.kt","app/src/test/java/com/haizhan/ime/services/SubscriptionServiceTest.kt","app/src/test/java/com/haizhan/ime/services/TeamServiceTest.kt","app/src/test/java/com/haizhan/ime/services/TemplateServiceTest.kt","app/src/test/java/com/haizhan/ime/services/VoiceServiceTest.kt","app/src/test/java/com/haizhan/ime/ui/management/ManagementViewModelTest.kt","app/src/test/java/com/haizhan/ime/ui/settings/SettingsViewModelTest.kt","app/src/test/java/com/haizhan/ime/ux/ErrorHandlerTest.kt","app/src/test/java/com/haizhan/ime/ux/StartupOptimizerTest.kt","app/src/test/java/com/haizhan/ime/viewmodel/DictionaryImportViewModelTest.kt","app/src/test/java/com/haizhan/ime/viewmodel/TemplateViewModelTest.kt","build.gradle.kts","common/build.gradle.kts","common/consumer-rules.pro","common/proguard-rules.pro","common/src/main/AndroidManifest.xml","common/src/main/java/com/haizhan/ime/common/ext/ContextExt.kt","common/src/main/java/com/haizhan/ime/common/ext/FlowExt.kt","common/src/main/java/com/haizhan/ime/common/ext/StringExt.kt","common/src/main/java/com/haizhan/ime/common/performance/ImePerformanceTracker.kt","common/src/main/java/com/haizhan/ime/common/theme/DesignTokens.kt","common/src/main/java/com/haizhan/ime/common/theme/KeyboardTheme.kt","common/src/main/java/com/haizhan/ime/common/util/DeviceUtils.kt","common/src/main/java/com/haizhan/ime/common/util/Logger.kt","common/src/main/java/com/haizhan/ime/common/util/LruCache.kt","common/src/main/java/com/haizhan/ime/common/util/MemoryMonitor.kt","common/src/test/java/com/haizhan/ime/common/StringExtTest.kt","common/src/test/java/com/haizhan/ime/common/ext/ResultTest.kt","common/src/test/java/com/haizhan/ime/common/util/DateUtilsTest.kt","common/src/test/java/com/haizhan/ime/common/util/LoggerTest.kt","common/src/test/java/com/haizhan/ime/common/util/MemoryStatsTest.kt","common/src/test/java/com/haizhan/ime/common/util/PinyinUtilsTest.kt","common/src/test/java/com/haizhan/ime/common/util/TextUtilsTest.kt","config/detekt/detekt.yml","data/build.gradle.kts","data/consumer-rules.pro","data/dictionaries/dictionary.config.json","data/dictionaries/fallback-words.txt","data/dictionaries/sensitive-words.txt","data/dictionaries/system/char-single.txt","data/dictionaries/system/core-char.txt","data/dictionaries/system/core-phrase.txt","data/dictionaries/system/core-word2.txt","data/dictionaries/system/core-word3.txt","data/dictionaries/system/core-word4.txt","data/dictionaries/system/idiom.txt","data/dictionaries/system/name-place.txt","data/dictionaries/system/word-common.txt","data/proguard-rules.pro","data/schemas/com.haizhan.ime.data.local.database.HaizhanDatabase/1.json","data/schemas/com.haizhan.ime.data.local.database.HaizhanDatabase/2.json","data/schemas/com.haizhan.ime.data.local.database.HaizhanDatabase/3.json","data/schemas/com.haizhan.ime.data.local.database.HaizhanDatabase/4.json","data/src/main/AndroidManifest.xml","data/src/main/java/com/haizhan/ime/data/auth/AuthInterceptor.kt","data/src/main/java/com/haizhan/ime/data/auth/AuthManager.kt","data/src/main/java/com/haizhan/ime/data/di/DataModule.kt","data/src/main/java/com/haizhan/ime/data/di/DatabaseModule.kt","data/src/main/java/com/haizhan/ime/data/di/NetworkModule.kt","data/src/main/java/com/haizhan/ime/data/di/RepositoryModule.kt","data/src/main/java/com/haizhan/ime/data/local/dao/ContactDao.kt","data/src/main/java/com/haizhan/ime/data/local/dao/KnowledgeDao.kt","data/src/main/java/com/haizhan/ime/data/local/dao/MessageDao.kt","data/src/main/java/com/haizhan/ime/data/local/dao/NoteDao.kt","data/src/main/java/com/haizhan/ime/data/local/dao/SearchDao.kt","data/src/main/java/com/haizhan/ime/data/local/dao/UserDictDao.kt","data/src/main/java/com/haizhan/ime/data/local/database/Converters.kt","data/src/main/java/com/haizhan/ime/data/local/database/HaizhanDatabase.kt","data/src/main/java/com/haizhan/ime/data/local/database/SecureDatabaseFactory.kt","data/src/main/java/com/haizhan/ime/data/local/entity/ContactEntity.kt","data/src/main/java/com/haizhan/ime/data/local/entity/KnowledgeEntity.kt","data/src/main/java/com/haizhan/ime/data/local/entity/MessageEntity.kt","data/src/main/java/com/haizhan/ime/data/local/entity/NoteEntity.kt","data/src/main/java/com/haizhan/ime/data/local/entity/SearchEntity.kt","data/src/main/java/com/haizhan/ime/data/local/entity/UserDictEntity.kt","data/src/main/java/com/haizhan/ime/data/remote/adapter/FlexibleTimestampAdapter.kt","data/src/main/java/com/haizhan/ime/data/remote/aliyun/AliyunSearchClient.kt","data/src/main/java/com/haizhan/ime/data/remote/aliyun/AliyunSearchConfig.kt","data/src/main/java/com/haizhan/ime/data/remote/aliyun/AliyunSearchConfigProvider.kt","data/src/main/java/com/haizhan/ime/data/remote/api/AuthApi.kt","data/src/main/java/com/haizhan/ime/data/remote/api/ContactApi.kt","data/src/main/java/com/haizhan/ime/data/remote/api/HaizhanApi.kt","data/src/main/java/com/haizhan/ime/data/remote/api/PinyinApi.kt","data/src/main/java/com/haizhan/ime/data/remote/api/RagSearchApi.kt","data/src/main/java/com/haizhan/ime/data/remote/api/ReplyApi.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/AiDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/AuthDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/CommonDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/ContactDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/KnowledgeDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/MemoryDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/MessageDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/NoteDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/ProfileDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/RagSearchDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/SearchDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/TeamDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/WeatherDto.kt","data/src/main/java/com/haizhan/ime/data/repository/ContactRepository.kt","data/src/main/java/com/haizhan/ime/data/repository/KnowledgeRepository.kt","data/src/main/java/com/haizhan/ime/data/repository/MessageRepository.kt","data/src/main/java/com/haizhan/ime/data/repository/RagSearchRepository.kt","data/src/main/java/com/haizhan/ime/data/repository/SettingsRepository.kt","data/src/main/java/com/haizhan/ime/data/repository/mapper/ContactMapper.kt","data/src/main/java/com/haizhan/ime/data/repository/mapper/KnowledgeMapper.kt","data/src/main/java/com/haizhan/ime/data/repository/mapper/MessageMapper.kt","data/src/main/java/com/haizhan/ime/data/repository/model/Contact.kt","data/src/main/java/com/haizhan/ime/data/repository/model/Knowledge.kt","data/src/main/java/com/haizhan/ime/data/repository/model/Message.kt","data/src/test/java/com/haizhan/ime/data/auth/AuthInterceptorTest.kt","data/src/test/java/com/haizhan/ime/data/auth/AuthManagerTest.kt","data/src/test/java/com/haizhan/ime/data/auth/AuthTypesTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/ContactDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/KnowledgeDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/MessageDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/NoteDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/SearchDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/UserDictDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/UserPreferencesDaoTest.kt","data/src/test/java/com/haizhan/ime/data/remote/api/HaizhanApiTest.kt","data/src/test/java/com/haizhan/ime/data/remote/dto/ContactDtoTest.kt","data/src/test/java/com/haizhan/ime/data/repository/ContactRepositoryTest.kt","data/src/test/java/com/haizhan/ime/data/repository/KnowledgeRepositoryTest.kt","data/src/test/java/com/haizhan/ime/data/repository/MessageRepositoryTest.kt","data/src/test/java/com/haizhan/ime/data/repository/SettingsRepositoryTest.kt","data/src/test/java/com/haizhan/ime/data/repository/mapper/ContactMapperTest.kt","data/src/test/java/com/haizhan/ime/data/repository/mapper/KnowledgeMapperTest.kt","data/src/test/java/com/haizhan/ime/data/repository/mapper/MessageMapperTest.kt","designs/exports/CLAUDE_CODE_DESIGN_GUIDE.md","designs/exports/DESIGN_MANIFEST.md","designs/exports/svg/Frame.svg","designs/exports/svg/P2-关于.svg","designs/exports/svg/P2-协议条款.svg","designs/exports/svg/P2-帮助中心.svg","designs/exports/svg/P2-意见反馈.svg","designs/exports/svg/P2-版本更新.svg","designs/exports/svg/__设计系统_-_组件库.svg","designs/exports/svg/功能面板_-_OCR识别.svg","designs/exports/svg/功能面板_-_历史.svg","designs/exports/svg/功能面板_-_团队.svg","designs/exports/svg/功能面板_-_知识库.svg","designs/exports/svg/功能面板_-_笔记.svg","designs/exports/svg/功能面板_-_联系人.svg","designs/exports/svg/嗨赞AI助手_-_AI回复选择.svg","designs/exports/svg/嗨赞AI助手_-_OCR结果确认.svg","designs/exports/svg/嗨赞AI助手_-_个人中心.svg","designs/exports/svg/嗨赞AI助手_-_主应用首页.svg","designs/exports/svg/嗨赞AI助手_-_主键盘界面.svg","designs/exports/svg/嗨赞AI助手_-_主键盘界面__深色_.svg","designs/exports/svg/嗨赞AI助手_-_交互式笔记.svg","designs/exports/svg/嗨赞AI助手_-_会员订阅.svg","designs/exports/svg/嗨赞AI助手_-_会话列表.svg","designs/exports/svg/嗨赞AI助手_-_单聊IM.svg","designs/exports/svg/嗨赞AI助手_-_历史记录页面.svg","designs/exports/svg/嗨赞AI助手_-_引导页1.svg","designs/exports/svg/嗨赞AI助手_-_引导页2.svg","designs/exports/svg/嗨赞AI助手_-_引导页3.svg","designs/exports/svg/嗨赞AI助手_-_忘记密码.svg","designs/exports/svg/嗨赞AI助手_-_我的页面.svg","designs/exports/svg/嗨赞AI助手_-_搜索.svg","designs/exports/svg/嗨赞AI助手_-_数据统计.svg","designs/exports/svg/嗨赞AI助手_-_新建联系人.svg","designs/exports/svg/嗨赞AI助手_-_注册页面.svg","designs/exports/svg/嗨赞AI助手_-_消息中心.svg","designs/exports/svg/嗨赞AI助手_-_登录页面.svg","designs/exports/svg/嗨赞AI助手_-_知识库列表.svg","designs/exports/svg/嗨赞AI助手_-_知识库详情.svg","designs/exports/svg/嗨赞AI助手_-_编辑个人信息.svg","designs/exports/svg/嗨赞AI助手_-_群聊IM.svg","designs/exports/svg/嗨赞AI助手_-_联系人列表.svg","designs/exports/svg/嗨赞AI助手_-_联系人详情.svg","designs/exports/svg/嗨赞AI助手_-_设置.svg","designs/exports/svg/嗨赞AI助手_-_设置页面.svg","designs/exports/svg/嗨赞AI助手_-_话术模板.svg","designs/exports/svg/嗨赞AI助手_-_话术模板详情.svg","designs/exports/svg/微交互规范文档.svg","designs/exports/svg/组件_-_悬浮球状态.svg","designs/exports/svg/组件_-_拼音候选词展开.svg","designs/exports/svg/组件_-_空状态.svg","designs/exports/svg/组件_-_语音输入状态.svg","designs/exports/svg/组件_-_错误状态.svg","designs/mobile-keyboard-design.md","designs/specs/COMPONENT_SPEC.md","designs/specs/KEYBOARD_DESIGN_SPEC.md","designs/specs/README.md","designs/specs/design-tokens.json","designs/templates/android/DesignTokens.kt","designs/templates/android/KeyboardTheme.kt","designs/templates/ios/DesignTokens.swift","designs/templates/ios/KeyboardTheme.swift","designs/嗨赞输入法.pen","docs/ANDROID_DEVELOPMENT.md","docs/API.md","docs/ARCHITECTURE.md","docs/BACKEND_API_REQUIREMENTS.md","docs/BACKEND_DESIGN.md","docs/CI_CD_PIPELINE.md","docs/CODING_STANDARDS.md","docs/COMPLETE_FEATURE_SPEC.md","docs/DATABASE.md","docs/DEPLOYMENT.md","docs/DESIGN_TO_DEV_SPEC.md","docs/DEVELOPMENT_GUIDE.md","docs/DEVELOPMENT_PLAN.md","docs/DOCS_SYNC.md","docs/ERROR_HANDLING.md","docs/FEATURE_ANALYSIS.md","docs/FLUTTER_DEVELOPMENT.md","docs/FRONTEND_DEV_REQUIREMENTS.md","docs/HANDWRITING_MODEL_UPGRADE.md","docs/IOS_DEVELOPMENT.md","docs/KMP_DEVELOPMENT.md","docs/LOGGING_STANDARDS.md","docs/MILESTONES.md","docs/MODULE_ANALYSIS.md","docs/MODULE_LIST.md","docs/PERFORMANCE_OPTIMIZATION.md","docs/PNPM_MIGRATION_NOTICE.md","docs/PRD.md","docs/PRIVACY_POLICY.md","docs/PRODUCT_ARCHITECTURE.md","docs/Phase_11_12_Final_Report.md","docs/RELEASE_CHECKLIST.md","docs/SECURITY_AUDIT.md","docs/SECURITY_GUIDELINES.md","docs/STORE_LISTING.md","docs/SYSTEM_ARCHITECTURE.md","docs/TASKS.md","docs/TECH_STACK.md","docs/TESTING_STRATEGY.md","docs/USER_MANUAL.md","docs/VOICE_API_DOCUMENTATION.md","docs/VOICE_MODULE_MIGRATION.md","docs/openapi.json","docs/skills/anthropic-official/.claude-plugin/marketplace.json","docs/skills/anthropic-official/.gitignore","docs/skills/anthropic-official/README.md","docs/skills/anthropic-official/THIRD_PARTY_NOTICES.md","docs/skills/anthropic-official/skills/algorithmic-art/LICENSE.txt","docs/skills/anthropic-official/skills/algorithmic-art/SKILL.md","docs/skills/anthropic-official/skills/algorithmic-art/templates/generator_template.js","docs/skills/anthropic-official/skills/algorithmic-art/templates/viewer.html","docs/skills/anthropic-official/skills/brand-guidelines/LICENSE.txt","docs/skills/anthropic-official/skills/brand-guidelines/SKILL.md","docs/skills/anthropic-official/skills/canvas-design/LICENSE.txt","docs/skills/anthropic-official/skills/canvas-design/SKILL.md","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/ArsenalSC-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BigShoulders-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BigShoulders-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BigShoulders-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Boldonse-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Boldonse-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/CrimsonPro-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/DMMono-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/DMMono-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/EricaOne-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/EricaOne-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/GeistMono-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/GeistMono-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/GeistMono-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Gloock-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Gloock-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSans-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Italiana-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Italiana-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Jura-Light.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Jura-Medium.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Jura-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Lora-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Lora-BoldItalic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Lora-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Lora-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Lora-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/NationalPark-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/NationalPark-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/NationalPark-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Outfit-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Outfit-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Outfit-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/PixelifySans-Medium.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/PixelifySans-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/PoiretOne-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/PoiretOne-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/RedHatMono-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/RedHatMono-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/RedHatMono-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Silkscreen-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Silkscreen-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/SmoochSans-Medium.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/SmoochSans-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Tektur-Medium.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Tektur-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Tektur-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/WorkSans-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/WorkSans-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/WorkSans-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/WorkSans-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/YoungSerif-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/YoungSerif-Regular.ttf","docs/skills/anthropic-official/skills/doc-coauthoring/SKILL.md","docs/skills/anthropic-official/skills/docx/LICENSE.txt","docs/skills/anthropic-official/skills/docx/SKILL.md","docs/skills/anthropic-official/skills/docx/docx-js.md","docs/skills/anthropic-official/skills/docx/ooxml.md","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/mce/mc.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-2010.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-2012.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-2018.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd","docs/skills/anthropic-official/skills/docx/ooxml/scripts/pack.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/unpack.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validate.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validation/__init__.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validation/base.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validation/docx.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validation/pptx.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validation/redlining.py","docs/skills/anthropic-official/skills/docx/scripts/__init__.py","docs/skills/anthropic-official/skills/docx/scripts/document.py","docs/skills/anthropic-official/skills/docx/scripts/templates/comments.xml","docs/skills/anthropic-official/skills/docx/scripts/templates/commentsExtended.xml","docs/skills/anthropic-official/skills/docx/scripts/templates/commentsExtensible.xml","docs/skills/anthropic-official/skills/docx/scripts/templates/commentsIds.xml","docs/skills/anthropic-official/skills/docx/scripts/templates/people.xml","docs/skills/anthropic-official/skills/docx/scripts/utilities.py","docs/skills/anthropic-official/skills/frontend-design/LICENSE.txt","docs/skills/anthropic-official/skills/frontend-design/SKILL.md","docs/skills/anthropic-official/skills/internal-comms/LICENSE.txt","docs/skills/anthropic-official/skills/internal-comms/SKILL.md","docs/skills/anthropic-official/skills/internal-comms/examples/3p-updates.md","docs/skills/anthropic-official/skills/internal-comms/examples/company-newsletter.md","docs/skills/anthropic-official/skills/internal-comms/examples/faq-answers.md","docs/skills/anthropic-official/skills/internal-comms/examples/general-comms.md","docs/skills/anthropic-official/skills/mcp-builder/LICENSE.txt","docs/skills/anthropic-official/skills/mcp-builder/SKILL.md","docs/skills/anthropic-official/skills/mcp-builder/reference/evaluation.md","docs/skills/anthropic-official/skills/mcp-builder/reference/mcp_best_practices.md","docs/skills/anthropic-official/skills/mcp-builder/reference/node_mcp_server.md","docs/skills/anthropic-official/skills/mcp-builder/reference/python_mcp_server.md","docs/skills/anthropic-official/skills/mcp-builder/scripts/connections.py","docs/skills/anthropic-official/skills/mcp-builder/scripts/evaluation.py","docs/skills/anthropic-official/skills/mcp-builder/scripts/example_evaluation.xml","docs/skills/anthropic-official/skills/mcp-builder/scripts/requirements.txt","docs/skills/anthropic-official/skills/pdf/LICENSE.txt","docs/skills/anthropic-official/skills/pdf/SKILL.md","docs/skills/anthropic-official/skills/pdf/forms.md","docs/skills/anthropic-official/skills/pdf/reference.md","docs/skills/anthropic-official/skills/pdf/scripts/check_bounding_boxes.py","docs/skills/anthropic-official/skills/pdf/scripts/check_bounding_boxes_test.py","docs/skills/anthropic-official/skills/pdf/scripts/check_fillable_fields.py","docs/skills/anthropic-official/skills/pdf/scripts/convert_pdf_to_images.py","docs/skills/anthropic-official/skills/pdf/scripts/create_validation_image.py","docs/skills/anthropic-official/skills/pdf/scripts/extract_form_field_info.py","docs/skills/anthropic-official/skills/pdf/scripts/fill_fillable_fields.py","docs/skills/anthropic-official/skills/pdf/scripts/fill_pdf_form_with_annotations.py","docs/skills/anthropic-official/skills/pptx/LICENSE.txt","docs/skills/anthropic-official/skills/pptx/SKILL.md","docs/skills/anthropic-official/skills/pptx/html2pptx.md","docs/skills/anthropic-official/skills/pptx/ooxml.md","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/mce/mc.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-2010.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-2012.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-2018.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/pack.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/unpack.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validate.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validation/__init__.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validation/base.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validation/docx.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validation/pptx.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validation/redlining.py","docs/skills/anthropic-official/skills/pptx/scripts/html2pptx.js","docs/skills/anthropic-official/skills/pptx/scripts/inventory.py","docs/skills/anthropic-official/skills/pptx/scripts/rearrange.py","docs/skills/anthropic-official/skills/pptx/scripts/replace.py","docs/skills/anthropic-official/skills/pptx/scripts/thumbnail.py","docs/skills/anthropic-official/skills/skill-creator/LICENSE.txt","docs/skills/anthropic-official/skills/skill-creator/SKILL.md","docs/skills/anthropic-official/skills/skill-creator/references/output-patterns.md","docs/skills/anthropic-official/skills/skill-creator/references/workflows.md","docs/skills/anthropic-official/skills/skill-creator/scripts/init_skill.py","docs/skills/anthropic-official/skills/skill-creator/scripts/package_skill.py","docs/skills/anthropic-official/skills/skill-creator/scripts/quick_validate.py","docs/skills/anthropic-official/skills/slack-gif-creator/LICENSE.txt","docs/skills/anthropic-official/skills/slack-gif-creator/SKILL.md","docs/skills/anthropic-official/skills/slack-gif-creator/core/easing.py","docs/skills/anthropic-official/skills/slack-gif-creator/core/frame_composer.py","docs/skills/anthropic-official/skills/slack-gif-creator/core/gif_builder.py","docs/skills/anthropic-official/skills/slack-gif-creator/core/validators.py","docs/skills/anthropic-official/skills/slack-gif-creator/requirements.txt","docs/skills/anthropic-official/skills/theme-factory/LICENSE.txt","docs/skills/anthropic-official/skills/theme-factory/SKILL.md","docs/skills/anthropic-official/skills/theme-factory/theme-showcase.pdf","docs/skills/anthropic-official/skills/theme-factory/themes/arctic-frost.md","docs/skills/anthropic-official/skills/theme-factory/themes/botanical-garden.md","docs/skills/anthropic-official/skills/theme-factory/themes/desert-rose.md","docs/skills/anthropic-official/skills/theme-factory/themes/forest-canopy.md","docs/skills/anthropic-official/skills/theme-factory/themes/golden-hour.md","docs/skills/anthropic-official/skills/theme-factory/themes/midnight-galaxy.md","docs/skills/anthropic-official/skills/theme-factory/themes/modern-minimalist.md","docs/skills/anthropic-official/skills/theme-factory/themes/ocean-depths.md","docs/skills/anthropic-official/skills/theme-factory/themes/sunset-boulevard.md","docs/skills/anthropic-official/skills/theme-factory/themes/tech-innovation.md","docs/skills/anthropic-official/skills/web-artifacts-builder/LICENSE.txt","docs/skills/anthropic-official/skills/web-artifacts-builder/SKILL.md","docs/skills/anthropic-official/skills/web-artifacts-builder/scripts/bundle-artifact.sh","docs/skills/anthropic-official/skills/web-artifacts-builder/scripts/init-artifact.sh","docs/skills/anthropic-official/skills/web-artifacts-builder/scripts/shadcn-components.tar.gz","docs/skills/anthropic-official/skills/webapp-testing/LICENSE.txt","docs/skills/anthropic-official/skills/webapp-testing/SKILL.md","docs/skills/anthropic-official/skills/webapp-testing/examples/console_logging.py","docs/skills/anthropic-official/skills/webapp-testing/examples/element_discovery.py","docs/skills/anthropic-official/skills/webapp-testing/examples/static_html_automation.py","docs/skills/anthropic-official/skills/webapp-testing/scripts/with_server.py","docs/skills/anthropic-official/skills/xlsx/LICENSE.txt","docs/skills/anthropic-official/skills/xlsx/SKILL.md","docs/skills/anthropic-official/skills/xlsx/recalc.py","docs/skills/anthropic-official/spec/agent-skills-spec.md","docs/skills/anthropic-official/template/SKILL.md","docs/skills/awesome-skills/.gitignore","docs/skills/awesome-skills/CONTRIBUTING.md","docs/skills/awesome-skills/README.md","docs/skills/backend-patterns/SKILL.md","docs/skills/clickhouse-io/SKILL.md","docs/skills/coding-standards/SKILL.md","docs/skills/continuous-learning/SKILL.md","docs/skills/continuous-learning/config.json","docs/skills/continuous-learning/evaluate-session.sh","docs/skills/daymade-skills/.claude-plugin/marketplace.json","docs/skills/daymade-skills/.github/ISSUE_TEMPLATE/bug_report.md","docs/skills/daymade-skills/.github/ISSUE_TEMPLATE/feature_request.md","docs/skills/daymade-skills/.github/PULL_REQUEST_TEMPLATE.md","docs/skills/daymade-skills/.gitignore","docs/skills/daymade-skills/AGENTS.md","docs/skills/daymade-skills/CHANGELOG.md","docs/skills/daymade-skills/CLAUDE.md","docs/skills/daymade-skills/CONTRIBUTING.md","docs/skills/daymade-skills/LICENSE","docs/skills/daymade-skills/QUICKSTART.md","docs/skills/daymade-skills/QUICKSTART.zh-CN.md","docs/skills/daymade-skills/README.md","docs/skills/daymade-skills/README.zh-CN.md","docs/skills/daymade-skills/claude-code-history-files-finder/.INTEGRATION_SUMMARY.md","docs/skills/daymade-skills/claude-code-history-files-finder/.security-scan-passed","docs/skills/daymade-skills/claude-code-history-files-finder/SKILL.md","docs/skills/daymade-skills/claude-code-history-files-finder/references/session_file_format.md","docs/skills/daymade-skills/claude-code-history-files-finder/references/workflow_examples.md","docs/skills/daymade-skills/claude-code-history-files-finder/scripts/analyze_sessions.py","docs/skills/daymade-skills/claude-code-history-files-finder/scripts/recover_content.py","docs/skills/daymade-skills/claude-md-progressive-disclosurer/.security-scan-passed","docs/skills/daymade-skills/claude-md-progressive-disclosurer/SKILL.md","docs/skills/daymade-skills/claude-md-progressive-disclosurer/references/progressive_disclosure_principles.md","docs/skills/daymade-skills/cli-demo-generator/SKILL.md","docs/skills/daymade-skills/cli-demo-generator/assets/examples/batch-config.yaml","docs/skills/daymade-skills/cli-demo-generator/assets/templates/basic.tape","docs/skills/daymade-skills/cli-demo-generator/assets/templates/interactive.tape","docs/skills/daymade-skills/cli-demo-generator/references/best_practices.md","docs/skills/daymade-skills/cli-demo-generator/references/vhs_syntax.md","docs/skills/daymade-skills/cli-demo-generator/scripts/auto_generate_demo.py","docs/skills/daymade-skills/cli-demo-generator/scripts/batch_generate.py","docs/skills/daymade-skills/cli-demo-generator/scripts/record_interactive.sh","docs/skills/daymade-skills/cloudflare-troubleshooting/SKILL.md","docs/skills/daymade-skills/cloudflare-troubleshooting/references/api_overview.md","docs/skills/daymade-skills/cloudflare-troubleshooting/references/common_issues.md","docs/skills/daymade-skills/cloudflare-troubleshooting/references/ssl_modes.md","docs/skills/daymade-skills/cloudflare-troubleshooting/scripts/check_cloudflare_config.py","docs/skills/daymade-skills/cloudflare-troubleshooting/scripts/fix_ssl_mode.py","docs/skills/daymade-skills/demos/README.md","docs/skills/daymade-skills/demos/cli-demo-generator/generate-demo.gif","docs/skills/daymade-skills/demos/cli-demo-generator/generate-demo.tape","docs/skills/daymade-skills/demos/generate_all_demos.sh","docs/skills/daymade-skills/demos/github-ops/create-pr.gif","docs/skills/daymade-skills/demos/github-ops/create-pr.tape","docs/skills/daymade-skills/demos/index.html","docs/skills/daymade-skills/demos/llm-icon-finder/find-icons.gif","docs/skills/daymade-skills/demos/llm-icon-finder/find-icons.tape","docs/skills/daymade-skills/demos/markdown-tools/convert-docs.gif","docs/skills/daymade-skills/demos/markdown-tools/convert-docs.tape","docs/skills/daymade-skills/demos/mermaid-tools/extract-diagrams.gif","docs/skills/daymade-skills/demos/mermaid-tools/extract-diagrams.tape","docs/skills/daymade-skills/demos/ppt-creator/create-presentation.gif","docs/skills/daymade-skills/demos/ppt-creator/create-presentation.tape","docs/skills/daymade-skills/demos/repomix-unmixer/extract-repo.gif","docs/skills/daymade-skills/demos/repomix-unmixer/extract-repo.tape","docs/skills/daymade-skills/demos/skill-creator/init-skill.gif","docs/skills/daymade-skills/demos/skill-creator/init-skill.tape","docs/skills/daymade-skills/demos/skill-creator/package-skill.gif","docs/skills/daymade-skills/demos/skill-creator/package-skill.tape","docs/skills/daymade-skills/demos/skill-creator/validate-skill.gif","docs/skills/daymade-skills/demos/skill-creator/validate-skill.tape","docs/skills/daymade-skills/demos/statusline-generator/customize-statusline.gif","docs/skills/daymade-skills/demos/statusline-generator/customize-statusline.tape","docs/skills/daymade-skills/demos/teams-channel-post-writer/write-post.gif","docs/skills/daymade-skills/demos/teams-channel-post-writer/write-post.tape","docs/skills/daymade-skills/demos/ui-designer/extract-design-system.gif","docs/skills/daymade-skills/demos/ui-designer/extract-design-system.tape","docs/skills/daymade-skills/demos/youtube-downloader/download-video.gif","docs/skills/daymade-skills/demos/youtube-downloader/download-video.tape","docs/skills/daymade-skills/docs-cleaner/.security-scan-passed","docs/skills/daymade-skills/docs-cleaner/SKILL.md","docs/skills/daymade-skills/docs-cleaner/references/value_analysis_template.md","docs/skills/daymade-skills/fact-checker/.security-scan-passed","docs/skills/daymade-skills/fact-checker/README.md","docs/skills/daymade-skills/fact-checker/SKILL.md","docs/skills/daymade-skills/github-contributor/.security-scan-passed","docs/skills/daymade-skills/github-contributor/SKILL.md","docs/skills/daymade-skills/github-contributor/references/communication_templates.md","docs/skills/daymade-skills/github-contributor/references/pr_checklist.md","docs/skills/daymade-skills/github-contributor/references/project_evaluation.md","docs/skills/daymade-skills/github-ops/SKILL.md","docs/skills/daymade-skills/github-ops/references/api_reference.md","docs/skills/daymade-skills/github-ops/references/best_practices.md","docs/skills/daymade-skills/github-ops/references/issue_operations.md","docs/skills/daymade-skills/github-ops/references/pr_operations.md","docs/skills/daymade-skills/github-ops/references/workflow_operations.md","docs/skills/daymade-skills/iOS-APP-developer/.security-scan-passed","docs/skills/daymade-skills/iOS-APP-developer/SKILL.md","docs/skills/daymade-skills/iOS-APP-developer/references/camera-avfoundation.md","docs/skills/daymade-skills/iOS-APP-developer/references/swiftui-compatibility.md","docs/skills/daymade-skills/iOS-APP-developer/references/testing-mainactor.md","docs/skills/daymade-skills/iOS-APP-developer/references/xcodegen-full.md","docs/skills/daymade-skills/llm-icon-finder/SKILL.md","docs/skills/daymade-skills/llm-icon-finder/references/developer-info.md","docs/skills/daymade-skills/llm-icon-finder/references/icons-list.md","docs/skills/daymade-skills/macos-cleaner/.security-scan-passed","docs/skills/daymade-skills/macos-cleaner/SKILL.md","docs/skills/daymade-skills/macos-cleaner/references/cleanup_targets.md","docs/skills/daymade-skills/macos-cleaner/references/mole_integration.md","docs/skills/daymade-skills/macos-cleaner/references/safety_rules.md","docs/skills/daymade-skills/macos-cleaner/scripts/analyze_caches.py","docs/skills/daymade-skills/macos-cleaner/scripts/analyze_dev_env.py","docs/skills/daymade-skills/macos-cleaner/scripts/analyze_large_files.py","docs/skills/daymade-skills/macos-cleaner/scripts/cleanup_report.py","docs/skills/daymade-skills/macos-cleaner/scripts/find_app_remnants.py","docs/skills/daymade-skills/macos-cleaner/scripts/safe_delete.py","docs/skills/daymade-skills/markdown-tools/SKILL.md","docs/skills/daymade-skills/markdown-tools/references/conversion-examples.md","docs/skills/daymade-skills/markdown-tools/scripts/convert_path.py","docs/skills/daymade-skills/markdown-tools/scripts/extract_pdf_images.py","docs/skills/daymade-skills/mermaid-tools/SKILL.md","docs/skills/daymade-skills/mermaid-tools/references/setup_and_troubleshooting.md","docs/skills/daymade-skills/mermaid-tools/scripts/extract-and-generate.sh","docs/skills/daymade-skills/mermaid-tools/scripts/extract_diagrams.py","docs/skills/daymade-skills/mermaid-tools/scripts/puppeteer-config.json","docs/skills/daymade-skills/pdf-creator/.security-scan-passed","docs/skills/daymade-skills/pdf-creator/SKILL.md","docs/skills/daymade-skills/pdf-creator/scripts/batch_convert.py","docs/skills/daymade-skills/pdf-creator/scripts/md_to_pdf.py","docs/skills/daymade-skills/ppt-creator/SKILL.md","docs/skills/daymade-skills/ppt-creator/references/CHECKLIST.md","docs/skills/daymade-skills/ppt-creator/references/EXAMPLES.md","docs/skills/daymade-skills/ppt-creator/references/INTAKE.md","docs/skills/daymade-skills/ppt-creator/references/ORCHESTRATION_DATA_CHARTS.md","docs/skills/daymade-skills/ppt-creator/references/ORCHESTRATION_OVERVIEW.md","docs/skills/daymade-skills/ppt-creator/references/ORCHESTRATION_PPTX.md","docs/skills/daymade-skills/ppt-creator/references/RUBRIC.md","docs/skills/daymade-skills/ppt-creator/references/STYLE-GUIDE.md","docs/skills/daymade-skills/ppt-creator/references/TEMPLATES.md","docs/skills/daymade-skills/ppt-creator/references/VIS-GUIDE.md","docs/skills/daymade-skills/ppt-creator/references/WORKFLOW.md","docs/skills/daymade-skills/ppt-creator/scripts/chartkit.py","docs/skills/daymade-skills/prompt-optimizer/.security-scan-passed","docs/skills/daymade-skills/prompt-optimizer/SKILL.md","docs/skills/daymade-skills/prompt-optimizer/references/advanced_techniques.md","docs/skills/daymade-skills/prompt-optimizer/references/domain_theories.md","docs/skills/daymade-skills/prompt-optimizer/references/ears_syntax.md","docs/skills/daymade-skills/prompt-optimizer/references/examples.md","docs/skills/daymade-skills/promptfoo-evaluation/.security-scan-passed","docs/skills/daymade-skills/promptfoo-evaluation/SKILL.md","docs/skills/daymade-skills/promptfoo-evaluation/references/promptfoo_api.md","docs/skills/daymade-skills/qa-expert/.security-scan-passed","docs/skills/daymade-skills/qa-expert/SKILL.md","docs/skills/daymade-skills/qa-expert/assets/templates/TEST-CASE-TEMPLATE.md","docs/skills/daymade-skills/qa-expert/references/day1_onboarding.md","docs/skills/daymade-skills/qa-expert/references/google_testing_standards.md","docs/skills/daymade-skills/qa-expert/references/ground_truth_principle.md","docs/skills/daymade-skills/qa-expert/references/llm_prompts_library.md","docs/skills/daymade-skills/qa-expert/references/master_qa_prompt.md","docs/skills/daymade-skills/qa-expert/scripts/calculate_metrics.py","docs/skills/daymade-skills/qa-expert/scripts/init_qa_project.py","docs/skills/daymade-skills/repomix-safe-mixer/SKILL.md","docs/skills/daymade-skills/repomix-safe-mixer/references/common_secrets.md","docs/skills/daymade-skills/repomix-safe-mixer/scripts/safe_pack.py","docs/skills/daymade-skills/repomix-safe-mixer/scripts/scan_secrets.py","docs/skills/daymade-skills/repomix-unmixer/README.md","docs/skills/daymade-skills/repomix-unmixer/SKILL.md","docs/skills/daymade-skills/repomix-unmixer/references/repomix-format.md","docs/skills/daymade-skills/repomix-unmixer/references/validation-workflow.md","docs/skills/daymade-skills/repomix-unmixer/scripts/unmix_repomix.py","docs/skills/daymade-skills/scripts/install.ps1","docs/skills/daymade-skills/scripts/install.sh","docs/skills/daymade-skills/skill-creator/.gitignore","docs/skills/daymade-skills/skill-creator/LICENSE.txt","docs/skills/daymade-skills/skill-creator/SKILL.md","docs/skills/daymade-skills/skill-creator/scripts/init_skill.py","docs/skills/daymade-skills/skill-creator/scripts/package_skill.py","docs/skills/daymade-skills/skill-creator/scripts/quick_validate.py","docs/skills/daymade-skills/skill-creator/scripts/security_scan.py","docs/skills/daymade-skills/skill-reviewer/.security-scan-passed","docs/skills/daymade-skills/skill-reviewer/SKILL.md","docs/skills/daymade-skills/skill-reviewer/references/evaluation_checklist.md","docs/skills/daymade-skills/skill-reviewer/references/marketplace_template.json","docs/skills/daymade-skills/skill-reviewer/references/pr_template.md","docs/skills/daymade-skills/skills-search/.security-scan-passed","docs/skills/daymade-skills/skills-search/SKILL.md","docs/skills/daymade-skills/statusline-generator/SKILL.md","docs/skills/daymade-skills/statusline-generator/references/ccusage_integration.md","docs/skills/daymade-skills/statusline-generator/references/color_codes.md","docs/skills/daymade-skills/statusline-generator/scripts/generate_statusline.sh","docs/skills/daymade-skills/statusline-generator/scripts/install_statusline.sh","docs/skills/daymade-skills/teams-channel-post-writer/SKILL.md","docs/skills/daymade-skills/teams-channel-post-writer/assets/post-template.md","docs/skills/daymade-skills/teams-channel-post-writer/references/writing-guidelines.md","docs/skills/daymade-skills/transcript-fixer/.gitignore","docs/skills/daymade-skills/transcript-fixer/SKILL.md","docs/skills/daymade-skills/transcript-fixer/references/architecture.md","docs/skills/daymade-skills/transcript-fixer/references/best_practices.md","docs/skills/daymade-skills/transcript-fixer/references/database_schema.md","docs/skills/daymade-skills/transcript-fixer/references/dictionary_guide.md","docs/skills/daymade-skills/transcript-fixer/references/file_formats.md","docs/skills/daymade-skills/transcript-fixer/references/glm_api_setup.md","docs/skills/daymade-skills/transcript-fixer/references/installation_setup.md","docs/skills/daymade-skills/transcript-fixer/references/iteration_workflow.md","docs/skills/daymade-skills/transcript-fixer/references/quick_reference.md","docs/skills/daymade-skills/transcript-fixer/references/script_parameters.md","docs/skills/daymade-skills/transcript-fixer/references/sql_queries.md","docs/skills/daymade-skills/transcript-fixer/references/team_collaboration.md","docs/skills/daymade-skills/transcript-fixer/references/troubleshooting.md","docs/skills/daymade-skills/transcript-fixer/references/workflow_guide.md","docs/skills/daymade-skills/transcript-fixer/requirements.txt","docs/skills/daymade-skills/transcript-fixer/scripts/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/check_type_hints.py","docs/skills/daymade-skills/transcript-fixer/scripts/cli/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/cli/argument_parser.py","docs/skills/daymade-skills/transcript-fixer/scripts/cli/commands.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/ai_processor.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/ai_processor_async.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/change_extractor.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/connection_pool.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/correction_repository.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/correction_service.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/dictionary_processor.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/learning_engine.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/schema.sql","docs/skills/daymade-skills/transcript-fixer/scripts/ensure_deps.py","docs/skills/daymade-skills/transcript-fixer/scripts/examples/bulk_import.py","docs/skills/daymade-skills/transcript-fixer/scripts/fix_transcript_enhanced.py","docs/skills/daymade-skills/transcript-fixer/scripts/fix_transcription.py","docs/skills/daymade-skills/transcript-fixer/scripts/generate_word_diff.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_audit_log_retention.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_connection_pool.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_correction_service.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_domain_validator.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_error_recovery.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_learning_engine.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_path_validator.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/audit_log_retention.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/concurrency_manager.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/config.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/database_migration.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/db_migrations_cli.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/change_extractor.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/html_format.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/inline_format.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/markdown_format.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/text_splitter.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/unified_format.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_generator.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/domain_validator.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/health_check.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/logging_config.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/metrics.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/migrations.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/path_validator.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/rate_limiter.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/retry_logic.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/security.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/validation.py","docs/skills/daymade-skills/twitter-reader/.security-scan-passed","docs/skills/daymade-skills/twitter-reader/SKILL.md","docs/skills/daymade-skills/twitter-reader/scripts/fetch_tweet.py","docs/skills/daymade-skills/twitter-reader/scripts/fetch_tweets.sh","docs/skills/daymade-skills/ui-designer/SKILL.md","docs/skills/daymade-skills/ui-designer/assets/app-overview-generator.md","docs/skills/daymade-skills/ui-designer/assets/design-system.md","docs/skills/daymade-skills/ui-designer/assets/vibe-design-template.md","docs/skills/daymade-skills/video-comparer/.security-scan-passed","docs/skills/daymade-skills/video-comparer/README.md","docs/skills/daymade-skills/video-comparer/SKILL.md","docs/skills/daymade-skills/video-comparer/assets/template.html","docs/skills/daymade-skills/video-comparer/references/configuration.md","docs/skills/daymade-skills/video-comparer/references/ffmpeg_commands.md","docs/skills/daymade-skills/video-comparer/references/video_metrics.md","docs/skills/daymade-skills/video-comparer/scripts/compare.py","docs/skills/daymade-skills/youtube-downloader/.security-scan-passed","docs/skills/daymade-skills/youtube-downloader/SKILL.md","docs/skills/daymade-skills/youtube-downloader/references/po-token-setup.md","docs/skills/daymade-skills/youtube-downloader/scripts/download_video.py","docs/skills/eval-harness/SKILL.md","docs/skills/frontend-patterns/SKILL.md","docs/skills/haizhan-ime-development.md","docs/skills/hizan-official/.claude-plugin/marketplace.json","docs/skills/hizan-official/skills/arch/SKILL.md","docs/skills/hizan-official/skills/game/SKILL.md","docs/skills/hizan-official/skills/quality/SKILL.md","docs/skills/hizan-official/skills/work/SKILL.md","docs/skills/juhi/tool-usage.md","docs/skills/mhattingpete-skills/.claude-plugin/marketplace.json","docs/skills/mhattingpete-skills/.claude/install-gh.sh","docs/skills/mhattingpete-skills/.claude/settings.json","docs/skills/mhattingpete-skills/.gitignore","docs/skills/mhattingpete-skills/CHANGELOG.md","docs/skills/mhattingpete-skills/CLAUDE.md","docs/skills/mhattingpete-skills/CONTRIBUTING.md","docs/skills/mhattingpete-skills/LICENSE","docs/skills/mhattingpete-skills/README.md","docs/skills/mhattingpete-skills/assets/skill-loading.gif","docs/skills/mhattingpete-skills/code-operations-plugin/.claude-plugin/plugin.json","docs/skills/mhattingpete-skills/code-operations-plugin/README.md","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-execution/SKILL.md","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-execution/examples/bulk_refactor.py","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-execution/examples/codebase_audit.py","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-execution/examples/extract_functions.py","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-refactor/SKILL.md","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-transfer/SKILL.md","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-transfer/scripts/line_insert.py","docs/skills/mhattingpete-skills/code-operations-plugin/skills/file-operations/SKILL.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/.claude-plugin/plugin.json","docs/skills/mhattingpete-skills/engineering-workflow-plugin/README.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/agents/ensemble-orchestrator/AGENT.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/agents/plan-implementer.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/commands/pr.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/ensemble-solving/SKILL.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/ensemble-solving/references/diversification-strategies.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/ensemble-solving/references/evaluation-rubrics.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/feature-planning/SKILL.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/feature-planning/references/planning-best-practices.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/git-pushing/SKILL.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/git-pushing/scripts/smart_commit.sh","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/review-implementing/SKILL.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/test-fixing/SKILL.md","docs/skills/mhattingpete-skills/execution-runtime/.env.example","docs/skills/mhattingpete-skills/execution-runtime/README.md","docs/skills/mhattingpete-skills/execution-runtime/api/__init__.py","docs/skills/mhattingpete-skills/execution-runtime/api/code_analysis.py","docs/skills/mhattingpete-skills/execution-runtime/api/code_transform.py","docs/skills/mhattingpete-skills/execution-runtime/api/filesystem.py","docs/skills/mhattingpete-skills/execution-runtime/api/git_operations.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/__init__.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/security/__init__.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/security/import_guard.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/security/pii_detector.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/sessions.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/skills.py","docs/skills/mhattingpete-skills/execution-runtime/mcp-server/mcp_server.py","docs/skills/mhattingpete-skills/execution-runtime/mcp-server/security/pii_detector.py","docs/skills/mhattingpete-skills/execution-runtime/mcp-server/security/sandbox.py","docs/skills/mhattingpete-skills/execution-runtime/pyproject.toml","docs/skills/mhattingpete-skills/execution-runtime/setup.sh","docs/skills/mhattingpete-skills/productivity-skills-plugin/.claude-plugin/plugin.json","docs/skills/mhattingpete-skills/productivity-skills-plugin/README.md","docs/skills/mhattingpete-skills/productivity-skills-plugin/skills/code-auditor/SKILL.md","docs/skills/mhattingpete-skills/productivity-skills-plugin/skills/codebase-documenter/SKILL.md","docs/skills/mhattingpete-skills/productivity-skills-plugin/skills/conversation-analyzer/SKILL.md","docs/skills/mhattingpete-skills/productivity-skills-plugin/skills/conversation-analyzer/scripts/analyze_history.py","docs/skills/mhattingpete-skills/productivity-skills-plugin/skills/project-bootstrapper/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/.claude-plugin/plugin.json","docs/skills/mhattingpete-skills/visual-documentation-plugin/EXAMPLES.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/README.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/architecture-diagram-creator/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/architecture-diagram-creator/assets/templates/architecture_components.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/architecture-diagram-creator/assets/templates/base_template.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/architecture-diagram-creator/references/example_architecture.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/dashboard-creator/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/dashboard-creator/assets/templates/base_template.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/dashboard-creator/assets/templates/dashboard_components.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/dashboard-creator/references/design_patterns.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/dashboard-creator/references/svg_library.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/flowchart-creator/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/flowchart-creator/assets/templates/base_template.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/flowchart-creator/assets/templates/flowchart_components.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/flowchart-creator/references/design_patterns.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/flowchart-creator/references/svg_library.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/technical-doc-creator/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/technical-doc-creator/assets/templates/base_template.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/technical-doc-creator/references/design_patterns.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/technical-doc-creator/references/svg_library.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/timeline-creator/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/timeline-creator/assets/templates/base_template.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/timeline-creator/assets/templates/timeline_components.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/timeline-creator/references/design_patterns.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/timeline-creator/references/svg_library.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/test-outputs/dashboard-test-monitoring.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/test-outputs/flowchart-test-authentication.html","docs/skills/netresearch-marketplace/.claude-plugin/marketplace.json","docs/skills/netresearch-marketplace/.github/workflows/sync-skills.yml","docs/skills/netresearch-marketplace/.gitignore","docs/skills/netresearch-marketplace/.sync-config.json","docs/skills/netresearch-marketplace/README.md","docs/skills/netresearch-marketplace/SYNC-SETUP.md","docs/skills/netresearch-marketplace/VERSIONING.md","docs/skills/netresearch-marketplace/notify-marketplace.yml","docs/skills/netresearch-marketplace/plugins/coach/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/plugins/coach/LICENSE","docs/skills/netresearch-marketplace/plugins/coach/README.md","docs/skills/netresearch-marketplace/plugins/coach/assets/templates/antipattern.md","docs/skills/netresearch-marketplace/plugins/coach/assets/templates/checklist.md","docs/skills/netresearch-marketplace/plugins/coach/assets/templates/rule.md","docs/skills/netresearch-marketplace/plugins/coach/assets/templates/snippet.md","docs/skills/netresearch-marketplace/plugins/coach/commands/approve.md","docs/skills/netresearch-marketplace/plugins/coach/commands/edit.md","docs/skills/netresearch-marketplace/plugins/coach/commands/init.md","docs/skills/netresearch-marketplace/plugins/coach/commands/promote.md","docs/skills/netresearch-marketplace/plugins/coach/commands/reject.md","docs/skills/netresearch-marketplace/plugins/coach/commands/review.md","docs/skills/netresearch-marketplace/plugins/coach/commands/scan.md","docs/skills/netresearch-marketplace/plugins/coach/commands/status.md","docs/skills/netresearch-marketplace/plugins/coach/hooks/hooks.json","docs/skills/netresearch-marketplace/plugins/coach/references/architecture.md","docs/skills/netresearch-marketplace/plugins/coach/references/schema.md","docs/skills/netresearch-marketplace/plugins/coach/references/scope_heuristics.md","docs/skills/netresearch-marketplace/plugins/coach/references/signal_patterns.md","docs/skills/netresearch-marketplace/plugins/coach/scripts/aggregate.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/apply.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/detect_signals.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/fingerprint.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/init_coach.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/ledger.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/propose.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/root_cause_analyzer.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/scope_analyzer.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/skill_analyzer.py","docs/skills/netresearch-marketplace/plugins/coach/skills/coach/SKILL.md","docs/skills/netresearch-marketplace/renovate.json","docs/skills/netresearch-marketplace/skills/agents/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/agents/LICENSE","docs/skills/netresearch-marketplace/skills/agents/README.md","docs/skills/netresearch-marketplace/skills/agents/STATUS.md","docs/skills/netresearch-marketplace/skills/agents/claudedocs/refactoring-summary.md","docs/skills/netresearch-marketplace/skills/agents/composer.json","docs/skills/netresearch-marketplace/skills/agents/docs/ROADMAP.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/SKILL.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/root-thin.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/root-verbose.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/backend-go.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/backend-php.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/cli.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/documentation.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/examples.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/frontend-typescript.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/resources.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/testing.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/analysis.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/directory-coverage.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/coding-agent-cli/AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/coding-agent-cli/scripts-AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/ldap-selfservice/AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/ldap-selfservice/internal-AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/ldap-selfservice/internal-web-AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/simple-ldap-go/AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/simple-ldap-go/examples-AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/t3x-rte-ckeditor-image/AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/t3x-rte-ckeditor-image/Classes-AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/analyze-git-history.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/check-freshness.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/detect-project.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/detect-scopes.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-agent-configs.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-ci-commands.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-commands.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-documentation.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-ide-settings.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-platform-files.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-quality-configs.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/generate-agents.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/lib/summary.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/lib/template.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/validate-structure.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/verify-content.sh","docs/skills/netresearch-marketplace/skills/cli-tools/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/cli-tools/LICENSE","docs/skills/netresearch-marketplace/skills/cli-tools/README.md","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ansible-core.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ast-grep.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/aws.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/bandit.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/bat.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/black.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/claude.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/codex.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/compose.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/composer.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ctags.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/curlie.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/dasel.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/delta.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/direnv.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/dive.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/docker.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/entr.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/eslint.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/fd.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/flake8.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/fx.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/fzf.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/gam.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/gem.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/gh.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/git-absorb.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/git-branchless.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/git-filter-repo.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/git-lfs.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/git.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/gitleaks.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/glab.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/go.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/golangci-lint.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/gosec.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/httpie.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/isort.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/jq.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/just.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/kubectl.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ninja.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/node.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/npm.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/parallel.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/php.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/pip.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/pipx.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/pnpm.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/poetry.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/pre-commit.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/prename.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/prettier.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/python.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/rbenv.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/rename.ul.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/rga.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ripgrep.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ruby-build.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ruby.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ruff.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/rust.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/sd.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/semgrep.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/shellcheck.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/shfmt.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/sponge.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/terraform.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/tfsec.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/trivy.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/uv.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/watchexec.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/xsv.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/yarn.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/yq.json","docs/skills/netresearch-marketplace/skills/cli-tools/composer.json","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/SKILL.md","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/references/binary_to_tool_map.md","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/references/project_type_requirements.md","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/auto_update.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/check_environment.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/detect_project_type.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/install_composer.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/install_tool.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/aws_installer.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/dedicated_script.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/github_clone.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/github_release_binary.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/hashicorp_zip.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/npm_global.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/npm_self_update.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/package_manager.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/uv_tool.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/capability.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/catalog.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/common.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/dependency.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/install_strategy.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/path_check.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/policy.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/reconcile.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/scope_detection.sh","docs/skills/netresearch-marketplace/skills/context7/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/context7/LICENSE","docs/skills/netresearch-marketplace/skills/context7/README.md","docs/skills/netresearch-marketplace/skills/context7/skills/context7/SKILL.md","docs/skills/netresearch-marketplace/skills/context7/skills/context7/scripts/context7.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/enterprise-readiness/LICENSE","docs/skills/netresearch-marketplace/skills/enterprise-readiness/README.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/ARCHITECTURE.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/BADGE_EXCEPTIONS.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/CODE_OF_CONDUCT.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/GOVERNANCE.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/ROADMAP.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/SECURITY_AUDIT.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/workflows/codeql.yml","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/workflows/dco-check.yml","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/workflows/dependency-review.yml","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/workflows/scorecard.yml","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/workflows/slsa-provenance.yml","docs/skills/netresearch-marketplace/skills/enterprise-readiness/composer.json","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/SKILL.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/2fa-enforcement.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/badge-display.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/branch-coverage.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/dco-implementation.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/dynamic-analysis.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/general.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/github.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/go.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/openssf-badge-gold.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/openssf-badge-silver.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/quick-start-guide.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/reproducible-builds.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/security-hardening.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/signed-releases.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/solo-maintainer-guide.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/sonarcloud.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/test-invocation.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/add-spdx-headers.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/analyze-bus-factor.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/check-branch-coverage.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/check-coverage-threshold.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/check-tls-minimum.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/verify-badge-criteria.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/verify-reproducible-build.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/verify-review-requirements.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/verify-signed-tags.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/verify-spdx-headers.sh","docs/skills/netresearch-marketplace/skills/git-workflow/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/git-workflow/LICENSE","docs/skills/netresearch-marketplace/skills/git-workflow/README.md","docs/skills/netresearch-marketplace/skills/git-workflow/composer.json","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/SKILL.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/advanced-git.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/branching-strategies.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/ci-cd-integration.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/commit-conventions.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/github-releases.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/pull-request-workflow.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/scripts/verify-git-workflow.sh","docs/skills/netresearch-marketplace/skills/github-project/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/github-project/LICENSE","docs/skills/netresearch-marketplace/skills/github-project/README.md","docs/skills/netresearch-marketplace/skills/github-project/composer.json","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/SKILL.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/CODEOWNERS.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/CONTRIBUTING.md.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/PULL_REQUEST_TEMPLATE.md.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/SECURITY.md.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/auto-merge-direct.yml.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/auto-merge-queue.yml.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/auto-merge.yml.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/bug_report.md.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/dependabot.yml.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/feature_request.md.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/release-labeler.yml.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/renovate.json.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/references/branch-migration.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/references/dependency-management.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/references/release-labeling.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/references/repository-structure.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/references/sub-issues.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/scripts/verify-github-project.sh","docs/skills/netresearch-marketplace/skills/go-development/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/go-development/LICENSE","docs/skills/netresearch-marketplace/skills/go-development/README.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/SKILL.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/api-design.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/architecture.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/docker.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/fuzz-testing.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/ldap.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/linting.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/makefile.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/mutation-testing.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/resilience.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/testing.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/scripts/verify-go-project.sh","docs/skills/netresearch-marketplace/skills/jira-integration/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/jira-integration/AGENTS.md","docs/skills/netresearch-marketplace/skills/jira-integration/CHANGELOG.md","docs/skills/netresearch-marketplace/skills/jira-integration/CLAUDE.md","docs/skills/netresearch-marketplace/skills/jira-integration/LICENSE","docs/skills/netresearch-marketplace/skills/jira-integration/MIGRATION.md","docs/skills/netresearch-marketplace/skills/jira-integration/PRD.md","docs/skills/netresearch-marketplace/skills/jira-integration/README.md","docs/skills/netresearch-marketplace/skills/jira-integration/SKILL.md","docs/skills/netresearch-marketplace/skills/jira-integration/composer.json","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/AGENTS.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/SKILL.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/references/jql-quick-reference.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/references/troubleshooting.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-attachment.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-issue.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-search.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-setup.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-validate.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-worklog.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/lib/__init__.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/lib/client.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/lib/config.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/lib/output.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/utility/jira-fields.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/utility/jira-link.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/utility/jira-user.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/workflow/jira-board.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/workflow/jira-comment.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/workflow/jira-create.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/workflow/jira-sprint.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/workflow/jira-transition.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/AGENTS.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/SKILL.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/references/jira-syntax-quick-reference.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/scripts/validate-jira-syntax.sh","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/templates/bug-report-template.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/templates/feature-request-template.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/netresearch-branding/LICENSE","docs/skills/netresearch-marketplace/skills/netresearch-branding/README.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/assets/logos/netresearch-symbol-only.svg","docs/skills/netresearch-marketplace/skills/netresearch-branding/composer.json","docs/skills/netresearch-marketplace/skills/netresearch-branding/examples/components.html","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/SKILL.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/references/colors.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/references/typo3-extension-branding.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/references/typography.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/references/web-design.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/templates/landing-page.html","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/templates/styles.css","docs/skills/netresearch-marketplace/skills/php-modernization/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/php-modernization/LICENSE","docs/skills/netresearch-marketplace/skills/php-modernization/README.md","docs/skills/netresearch-marketplace/skills/php-modernization/composer.json","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/SKILL.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/adapter-registry-pattern.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/migration-strategies.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/php8-features.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/phpstan-compliance.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/psr-per-compliance.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/request-dtos.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/static-analysis-tools.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/symfony-patterns.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/type-safety.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/scripts/verify-php-project.sh","docs/skills/netresearch-marketplace/skills/security-audit/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/security-audit/LICENSE","docs/skills/netresearch-marketplace/skills/security-audit/README.md","docs/skills/netresearch-marketplace/skills/security-audit/composer.json","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/SKILL.md","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/references/api-key-encryption.md","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/references/cvss-scoring.md","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/references/owasp-top10.md","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/references/xxe-prevention.md","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/scripts/security-audit.sh","docs/skills/netresearch-marketplace/skills/skill-repo/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/skill-repo/LICENSE","docs/skills/netresearch-marketplace/skills/skill-repo/README.md","docs/skills/netresearch-marketplace/skills/skill-repo/composer.json","docs/skills/netresearch-marketplace/skills/skill-repo/renovate.json","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/SKILL.md","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/references/composer-setup.md","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/references/installation-methods.md","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/references/marketplace-integration.md","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/scripts/validate-skill.sh","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/templates/README.md.template","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/templates/composer.json.template","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/templates/release.yml.template","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/README.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/composer.json","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/references/ckeditor5-architecture.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/references/migration-guide.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/references/plugin-development.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/references/typo3-integration.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/scripts/verify-ckeditor5.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-conformance/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-conformance/README.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/composer.json","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/assets/.github/workflows/publish-to-ter.yml","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/backend-module-v13.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/backend-wizard-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/best-practices.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/coding-guidelines.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/composer-validation.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/crowdin-integration.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/development-environment.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/directory-structure.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/dual-version-compatibility.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/excellence-indicators.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/ext-emconf-validation.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/ext-files-validation.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/extension-architecture.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/hooks-and-events.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/multi-tier-configuration.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/php-architecture.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/report-template.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/runtests-validation.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/ter-publishing.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/testing-standards.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/v13-deprecations.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/version-requirements.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-architecture.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-coding-standards.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-conformance.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-documentation.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-file-structure.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-phpstan-baseline.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-testing.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/generate-report.sh","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/README.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/assets/commit-template.txt","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/claudedocs/refactoring-summary.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/composer.json","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/account-setup.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/commit-message-format.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/commit-msg-hook.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/ddev-setup-workflow.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/forge-api.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/gerrit-review-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/gerrit-workflow.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/modern-typo3-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/troubleshooting.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/create-commit-message.py","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/create-forge-issue.sh","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/query-forge-metadata.sh","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/setup-typo3-coredev.sh","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/validate-commit-message.py","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/verify-prerequisites.sh","docs/skills/netresearch-marketplace/skills/typo3-ddev/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-ddev/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-ddev/README.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/composer.json","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/.envrc","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/Makefile.template","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/README-SERVICES.md.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/apache/apache-site.conf","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/host/docs","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/host/pre-start-git-info","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/host/setup","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/install-all","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/install-v11","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/install-v12","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/install-v13","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/web/configure-extension.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/web/generate-index","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/web/generate-makefile","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/web/install-introduction.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/config.redis.php.example","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/config.yaml","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/docker-compose.git-info.yaml","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/docker-compose.ofelia.yaml.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/docker-compose.services-redis.yaml.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/docker-compose.services.yaml.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/docker-compose.web.yaml","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/homeadditions/.bashrc_additions.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/index.html.netresearch.template","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/index.html.typo3.template","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/web-build/Dockerfile","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/web-build/install-cron.sh.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/web-entrypoint.d/10-cleanup-index.sh","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/0001-valkey-default-with-redis-alternative.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/0002-mariadb-default-with-database-alternatives.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/0003-php-version-management.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/advanced-options.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/documentation-rendering.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/index-page-generation.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/prerequisites-validation.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/quickstart.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/troubleshooting.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/typo3-12-cli-changes.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/windows-fixes.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/windows-optimizations.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/scripts/validate-prerequisites.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-docs/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-docs/README.md","docs/skills/netresearch-marketplace/skills/typo3-docs/composer.json","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/assets/AGENTS.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/architecture-decision-records.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/code-structure-elements.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/coding-guidelines.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/content-directives.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/documentation-coverage-analysis.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/extraction-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/file-structure.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/guides-xml.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/intercept-deployment.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/rendering.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/rst-syntax.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/screenshots.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/text-roles-inline-code.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/typo3-directives.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/typo3-extension-architecture.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/add-agents-md.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/analyze-docs.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-all.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-build-configs.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-composer.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-extension-config.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-php.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-project-files.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-repo-metadata.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/render_docs.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/validate_docs.sh","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/README.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/composer.json","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/assets/.php-cs-fixer.php","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/assets/fractor.php","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/assets/phpstan.neon","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/assets/phpunit.xml","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/assets/rector.php","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/api-changes.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/dual-compatibility.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/pre-upgrade.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/real-world-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/upgrade-v11-to-v12.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/upgrade-v12-to-v13.md","docs/skills/netresearch-marketplace/skills/typo3-testing/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-testing/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-testing/README.md","docs/skills/netresearch-marketplace/skills/typo3-testing/composer.json","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/.php-cs-fixer.dist.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/AGENTS.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/FunctionalTests.xml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/FunctionalTestsBootstrap.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/Makefile","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/UnitTests.xml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/UnitTestsBootstrap.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/bootstrap.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/codecov.yml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/docker/codeception.yml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/docker/docker-compose.yml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/example-tests/ExampleAcceptanceCest.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/example-tests/ExampleFunctionalTest.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/example-tests/ExampleUnitTest.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/fixtures/README.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/fixtures/be_users.csv","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/fixtures/pages.csv","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/fixtures/sys_category.csv","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/fixtures/tt_content.csv","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/github-actions-e2e.yml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/github-actions-tests.yml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/infection.json5","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/phpat.neon","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/phpat.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/phpstan-baseline.neon","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/phpstan.neon","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/rector.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/accessibility-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/architecture-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/ci-cd.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/crypto-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/ddev-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/e2e-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/functional-test-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/functional-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/fuzz-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/integration-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/javascript-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/mutation-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/performance-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/quality-tools.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/sonarcloud.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/test-runners.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/typo3-v14-final-classes.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/unit-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/scripts/generate-test.sh","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/scripts/setup-testing.sh","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/scripts/validate-setup.sh","docs/skills/netresearch-marketplace/update-source-repos.sh","docs/skills/project-guidelines-example/SKILL.md","docs/skills/security-review/SKILL.md","docs/skills/strategic-compact/SKILL.md","docs/skills/strategic-compact/suggest-compact.sh","docs/skills/tdd-workflow/SKILL.md","docs/skills/verification-loop/SKILL.md","docs/话术库导出_20251231103252.xlsx","docs_archive/AI_INPUT_METHOD_BRAINSTORM.md","docs_archive/ANDROID_100_PERCENT_PLAN.md","docs_archive/ANDROID_NATIVE_REPLACEMENT_DETAILED_PLAN.md","docs_archive/ANDROID_NATIVE_REPLACEMENT_PLAN.md","docs_archive/API.md","docs_archive/APPLE_PLATFORM_DEVELOPMENT_PLAN.md","docs_archive/ARCHITECTURE.md","docs_archive/ARCHITECTURE_COMPACT.md","docs_archive/CLAUDE.md","docs_archive/COMPREHENSIVE_IMPROVEMENT_PLAN.md","docs_archive/DEPLOYMENT.md","docs_archive/DESIGN_BASED_DEVELOPMENT_PLAN.md","docs_archive/DEVELOPMENT_ROADMAP.md","docs_archive/DICTIONARY_IMPROVEMENT_PLAN.md","docs_archive/DOCS_INDEX.md","docs_archive/IMPLEMENTATION_PLAN.md","docs_archive/IMPROVEMENT_RECOMMENDATIONS.md","docs_archive/IOS_DEVELOPMENT_PLAN.md","docs_archive/NEXT_STEPS_PLAN.md","docs_archive/PINYIN_DEVELOPMENT_PLAN.md","docs_archive/PRD.md","docs_archive/PROGRESS_TRACKER.md","docs_archive/README.md","docs_archive/REDLINES.md","docs_archive/SMART_RECOGNITION_COMPACT.md","docs_archive/TECHNICAL_ARCHITECTURE.md","docs_archive/UI_DEVELOPMENT_PLAN.md","docs_archive/smart-recognition-design.md","flutter_app/assets/fonts/PingFang-Medium.ttf","flutter_app/assets/fonts/PingFang-Regular.ttf","flutter_app/assets/fonts/PingFang-Semibold.ttf","flutter_app/assets/icons/.gitkeep","flutter_app/assets/images/.gitkeep","flutter_app/lib/core/bridge/bridge_models.dart","flutter_app/lib/core/bridge/bridge_response_parser.dart","flutter_app/lib/core/bridge/haizhan_bridge.dart","flutter_app/lib/core/di/service_locator.dart","flutter_app/lib/core/router/app_router.dart","flutter_app/lib/core/router/routes.dart","flutter_app/lib/core/theme/app_colors.dart","flutter_app/lib/core/theme/app_theme.dart","flutter_app/lib/core/theme/app_typography.dart","flutter_app/lib/features/auth/data/auth_provider.dart","flutter_app/lib/features/auth/data/auth_repository.dart","flutter_app/lib/features/auth/domain/auth_models.dart","flutter_app/lib/features/auth/presentation/login_screen.dart","flutter_app/lib/features/auth/presentation/register_screen.dart","flutter_app/lib/features/chat/data/ai_provider.dart","flutter_app/lib/features/chat/data/ai_repository.dart","flutter_app/lib/features/chat/domain/ai_reply_models.dart","flutter_app/lib/features/chat/presentation/chat_screen.dart","flutter_app/lib/features/chat/presentation/conversation_screen.dart","flutter_app/lib/features/contacts/data/contact_360_provider.dart","flutter_app/lib/features/contacts/data/contacts_provider.dart","flutter_app/lib/features/contacts/data/contacts_repository.dart","flutter_app/lib/features/contacts/domain/contact_models.dart","flutter_app/lib/features/contacts/presentation/contact_detail_screen.dart","flutter_app/lib/features/contacts/presentation/contacts_screen.dart","flutter_app/lib/features/home/presentation/home_screen.dart","flutter_app/lib/features/home/presentation/main_shell.dart","flutter_app/lib/features/knowledge/data/knowledge_provider.dart","flutter_app/lib/features/knowledge/data/knowledge_repository.dart","flutter_app/lib/features/knowledge/domain/knowledge_models.dart","flutter_app/lib/features/knowledge/presentation/knowledge_screen.dart","flutter_app/lib/features/profile/presentation/profile_screen.dart","flutter_app/lib/features/search/data/models/search_metrics.dart","flutter_app/lib/features/search/presentation/widgets/search_metrics_indicator.dart","flutter_app/lib/features/settings/presentation/settings_screen.dart","flutter_app/lib/features/stats/presentation/stats_screen.dart","flutter_app/lib/features/stats/presentation/widgets/contact_stats_tab.dart","flutter_app/lib/features/stats/presentation/widgets/overview_tab.dart","flutter_app/lib/features/stats/presentation/widgets/reply_stats_tab.dart","flutter_app/lib/features/stats/presentation/widgets/stats_shared_widgets.dart","flutter_app/lib/features/support/presentation/about_screen.dart","flutter_app/lib/features/support/presentation/feedback_screen.dart","flutter_app/lib/features/support/presentation/help_screen.dart","flutter_app/lib/features/support/presentation/privacy_screen.dart","flutter_app/lib/features/support/presentation/terms_screen.dart","flutter_app/lib/main.dart","flutter_app/lib/shared/widgets/stat_card.dart","flutter_app/pigeons/haizhan_api.dart","flutter_app/pubspec.lock","flutter_app/pubspec.yaml","flutter_app/test/core/network/api_client_test.dart","flutter_app/test/core/theme/theme_provider_test.dart","flutter_app/test/features/auth/login_screen_test.dart","flutter_app/test/features/chat/chat_screen_test.dart","flutter_app/test/features/contacts/contacts_screen_test.dart","flutter_app/test/features/home/home_screen_test.dart","flutter_app/test/features/knowledge/knowledge_screen_test.dart","flutter_app/test/features/profile/profile_screen_test.dart","flutter_app/test/features/settings/settings_screen_test.dart","flutter_app/test/features/statistics/statistics_screen_test.dart","flutter_app/test/features/stats/stats_screen_test.dart","flutter_app/test/integration/app_integration_test.dart","flutter_app/test/providers/auth_provider_test.dart","flutter_app/test/services/api_service_test.dart","flutter_app/test/widgets/contact_card_test.dart","gradle.properties","gradle/libs.versions.toml","gradle/wrapper/gradle-wrapper.jar","gradle/wrapper/gradle-wrapper.properties","gradlew","gradlew.bat","ime-core/build.gradle.kts","ime-core/consumer-rules.pro","ime-core/proguard-rules.pro","ime-core/src/androidTest/java/com/haizhan/ime/core/handwriting/HandwritingIntegrationTest.kt","ime-core/src/androidTest/java/com/haizhan/ime/core/handwriting/HandwritingPerformanceTest.kt","ime-core/src/androidTest/java/com/haizhan/ime/core/handwriting/HandwritingViewTest.kt","ime-core/src/main/AndroidManifest.xml","ime-core/src/main/assets/dictionaries/system/core-char.txt","ime-core/src/main/assets/dictionaries/system/core-merged.txt","ime-core/src/main/assets/dictionaries/system/core-phrase.txt","ime-core/src/main/assets/dictionaries/system/core-word2.txt","ime-core/src/main/assets/dictionaries/system/core-word3.txt","ime-core/src/main/assets/dictionaries/system/core-word4.txt","ime-core/src/main/assets/handwriting_labels_casia.txt","ime-core/src/main/assets/paddle_models/ppocr_keys_v1.txt","ime-core/src/main/cpp/CMakeLists.txt","ime-core/src/main/cpp/include/paddle_api.h","ime-core/src/main/cpp/include/paddle_image_preprocess.h","ime-core/src/main/cpp/include/paddle_lite_factory_helper.h","ime-core/src/main/cpp/include/paddle_place.h","ime-core/src/main/cpp/include/paddle_use_kernels.h","ime-core/src/main/cpp/include/paddle_use_ops.h","ime-core/src/main/cpp/include/paddle_use_passes.h","ime-core/src/main/cpp/paddle_lite_jni.cpp","ime-core/src/main/cpp/paddle_ocr_jni.cpp","ime-core/src/main/java/com/haizhan/ime/core/context/ChatContext.kt","ime-core/src/main/java/com/haizhan/ime/core/context/ChatContextProvider.kt","ime-core/src/main/java/com/haizhan/ime/core/context/ContextAnalyzer.kt","ime-core/src/main/java/com/haizhan/ime/core/context/ContextAwareRanker.kt","ime-core/src/main/java/com/haizhan/ime/core/context/WordCategoryClassifier.kt","ime-core/src/main/java/com/haizhan/ime/core/di/ImeCoreModule.kt","ime-core/src/main/java/com/haizhan/ime/core/di/PerformanceModule.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/ImeEngine.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/EnglishKeyHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/HandwritingKeyHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/KeyPressDispatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/KeyPressHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/PinyinKeyHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/SymbolKeyHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/VoiceKeyHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/HaizhanHandwritingApiClient.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/HandwritingKeyboard.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/HandwritingManager.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/HandwritingToolbar.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/HandwritingView.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/IHandwritingRecognizer.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/ModelDownloader.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/PaddleLiteRecognizer.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/RecognitionConfig.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/Stroke.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/StrokeCache.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/StrokePreprocessor.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/StrokeSegmenter.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/TFLiteRecognizer.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/UnifiedRecognitionEngine.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/di/HandwritingModule.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/CandidatesView.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/EnhancedCandidatesView.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/ImeContentLayout.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/ImeLayoutConstants.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/InputModeToolbar.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/KeyboardLayout.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/KeyboardView.kt","ime-core/src/main/java/com/haizhan/ime/core/ocr/IOcrEngine.kt","ime-core/src/main/java/com/haizhan/ime/core/ocr/OcrImageProcessor.kt","ime-core/src/main/java/com/haizhan/ime/core/ocr/OcrModels.kt","ime-core/src/main/java/com/haizhan/ime/core/ocr/PaddleOcrEngine.kt","ime-core/src/main/java/com/haizhan/ime/core/ocr/README.md","ime-core/src/main/java/com/haizhan/ime/core/ocr/di/OcrModule.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/BuiltinDictionary.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/Candidate.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/CloudPinyinService.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/CloudSyncService.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/DictModels.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/DictionaryFileParser.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/DictionaryHotReloader.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/DictionaryImporter.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/DictionaryReloader.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/EnterpriseDictionary.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/FuzzyPinyinConfig.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/HotWordService.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/ImportResult.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/InputPredictor.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/LocalDictionary.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/NgramData.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/NgramModel.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/NineGridMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/PinyinSegmenterImpl.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/PinyinService.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/PinyinServiceImpl.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/PinyinSplitter.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/SmartErrorCorrector.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/SystemDatDictionary.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/UserPreferenceStore.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/cloud/CloudPinyinApiImpl.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/cloud/CloudPinyinModule.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/cloud/ExponentialBackoff.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/converter/ChineseConverter.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/FullPinyinMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/InputMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/InputMatcherManager.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/NineGridMatcherAdapter.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/ShortcutMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/ShuangpinMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/di/MatcherModule.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/MicrosoftScheme.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/NaturalScheme.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/ShuangpinConverter.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/ShuangpinScheme.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/SogouScheme.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/XiaoheScheme.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/stroke/StrokeData.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/stroke/StrokeMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/theme/DesignTokens.kt","ime-core/src/main/java/com/haizhan/ime/core/theme/KeyboardTheme.kt","ime-core/src/main/java/com/haizhan/ime/core/theme/ThemeManager.kt","ime-core/src/main/java/com/haizhan/ime/core/voice/ui/VoicePanel.kt","ime-core/src/main/jniLibs/arm64-v8a/libpaddle_light_api_shared.so","ime-core/src/main/res/drawable/ic_backspace.xml","ime-core/src/main/res/drawable/ic_clear_all.xml","ime-core/src/main/res/drawable/ic_handwriting.xml","ime-core/src/main/res/drawable/ic_keyboard.xml","ime-core/src/test/java/com/haizhan/ime/core/ImeEngineTest.kt","ime-core/src/test/java/com/haizhan/ime/core/benchmark/ImeCorePerformanceTest.kt","ime-core/src/test/java/com/haizhan/ime/core/benchmark/MemoryBenchmarkTest.kt","ime-core/src/test/java/com/haizhan/ime/core/context/ContextAnalyzerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/context/ContextAwareRankerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/context/WordCategoryClassifierTest.kt","ime-core/src/test/java/com/haizhan/ime/core/decoder/UnifiedRankerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/ImeEngineTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/handler/EnglishKeyHandlerExpandedTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/handler/KeyPressDispatcherTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/handler/KeyPressHandlerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/handler/PinyinKeyHandlerExpandedTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/handler/SymbolKeyHandlerExpandedTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/HandwritingManagerAdvancedTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/HandwritingManagerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/PaddleLiteRecognizerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/StrokeCacheTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/StrokePreprocessorTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/TFLiteRecognizerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/keyboard/CandidatesViewTest.kt","ime-core/src/test/java/com/haizhan/ime/core/keyboard/KeyboardLayoutTest.kt","ime-core/src/test/java/com/haizhan/ime/core/keyboard/KeyboardViewTest.kt","ime-core/src/test/java/com/haizhan/ime/core/ocr/OcrImageProcessorTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/CloudPinyinServiceTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/CloudSyncServiceTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/DictionaryFileParserTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/DictionaryImporterTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/DictionaryReloaderTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/EnterpriseDictionaryTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/FuzzyPinyinConfigTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/HotWordServiceTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/InputPredictorTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/LocalDictionaryTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/NgramModelTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/NineGridMatcherTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/PinyinSegmenterTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/PinyinServiceImplTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/PinyinServiceTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/PinyinSplitterTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/SmartErrorCorrectorTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/SystemDatDictionaryTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/UserPreferenceStoreTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/cloud/CloudPinyinApiImplTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/cloud/ExponentialBackoffTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/matcher/FullPinyinMatcherTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/matcher/ShuangpinMatcherTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/shuangpin/ShuangpinSchemeTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/shuangpin/SogouSchemeTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/shuangpin/XiaoheSchemeTest.kt","ime-core/src/test/java/com/haizhan/ime/core/theme/ThemeManagerTest.kt","ios_keyboard/APPSTORE_LISTING.md","ios_keyboard/HaizhanKeyboard/Info.plist","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboard.xcodeproj/project.pbxproj","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboard.xcodeproj/project.xcworkspace/contents.xcworkspacedata","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp.entitlements","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/HaizhanKeyboardApp.entitlements","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/HaizhanKeyboardApp.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Info.plist","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Models/AppSession.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Services/KeyboardStatusService.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Services/ScreenshotResponder.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Views/AccountView.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Views/AppSettingsView.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Views/ContentView.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Views/LoginView.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Views/OnboardingView.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardExtension.entitlements","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardExtension/HaizhanKeyboardExtension.entitlements","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardExtension/Info.plist","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardExtension/KeyboardExtensionStub.swift","ios_keyboard/HaizhanKeyboardApp/Info.plist","ios_keyboard/HaizhanKeyboardApp/Models/AppSession.swift","ios_keyboard/HaizhanKeyboardApp/README.md","ios_keyboard/HaizhanKeyboardApp/Services/KeyboardStatusService.swift","ios_keyboard/HaizhanKeyboardApp/Services/ScreenshotResponder.swift","ios_keyboard/HaizhanKeyboardApp/Views/AccountView.swift","ios_keyboard/HaizhanKeyboardApp/Views/AppSettingsView.swift","ios_keyboard/HaizhanKeyboardApp/Views/ContentView.swift","ios_keyboard/HaizhanKeyboardApp/Views/LoginView.swift","ios_keyboard/HaizhanKeyboardApp/Views/OnboardingView.swift","ios_keyboard/HaizhanKeyboardApp/project.yml","ios_keyboard/HaizhanKeyboardExtension/Info.plist","ios_keyboard/HaizhanKeyboardExtension/KeyboardExtensionStub.swift","ios_keyboard/Package.swift","ios_keyboard/README.md","ios_keyboard/Sources/HaizhanKeyboard/AI/ContactMatcher.swift","ios_keyboard/Sources/HaizhanKeyboard/AI/ReplyService.swift","ios_keyboard/Sources/HaizhanKeyboard/AI/ScreenshotManager.swift","ios_keyboard/Sources/HaizhanKeyboard/Bridge/KMPBridge.swift","ios_keyboard/Sources/HaizhanKeyboard/Engine/KeyboardEngine.swift","ios_keyboard/Sources/HaizhanKeyboard/Engine/PinyinSegmenter.swift","ios_keyboard/Sources/HaizhanKeyboard/KeyboardViewController.swift","ios_keyboard/Sources/HaizhanKeyboard/Network/ApiClient.swift","ios_keyboard/Sources/HaizhanKeyboard/Network/AuthService.swift","ios_keyboard/Sources/HaizhanKeyboard/Storage/AppGroupStore.swift","ios_keyboard/Sources/HaizhanKeyboard/Storage/KeychainStore.swift","ios_keyboard/Sources/HaizhanKeyboard/Theme/ThemeManager.swift","ios_keyboard/Sources/HaizhanKeyboard/Utils/HapticManager.swift","ios_keyboard/Sources/HaizhanKeyboard/ViewModel/KeyboardViewModel.swift","ios_keyboard/Sources/HaizhanKeyboard/Views/AIPanelView.swift","ios_keyboard/Sources/HaizhanKeyboard/Views/KeyboardView.swift","ios_keyboard/Sources/HaizhanKeyboard/Views/NineGridKeyboard.swift","ios_keyboard/Sources/HaizhanKeyboard/Views/SettingsView.swift","ios_keyboard/Tests/HaizhanKeyboardTests/ApiClientTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/AppGroupStoreTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/ContactMatcherTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/HapticManagerTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/KeyboardEngineTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/KeychainStoreTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/PinyinSegmenterTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/ReplyServiceTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/ThemeManagerTests.swift","ios_keyboard/build_kmp_xcframework.sh","openapitools.json","package.json","pnpm-workspace.yaml","scripts/PACKAGE_MANAGER_SUMMARY.md","scripts/check-docs-sync.sh","scripts/download_paddle_ocr_models.sh","scripts/generate-design-tokens.py","scripts/package-manager-migration.md","scripts/pre-commit","server/.dockerignore","server/.env.example","server/.npmrc","server/Makefile","server/README.md","server/ai-service/.dockerignore","server/ai-service/Dockerfile","server/ai-service/jest.config.js","server/ai-service/nest-cli.json","server/ai-service/package.json","server/ai-service/poc-load-test-1770067946237.json","server/ai-service/poc-report-1770067953461.json","server/ai-service/poc-report-1770067953461.md","server/ai-service/poc-report-1771647201192.json","server/ai-service/poc-report-1771647201192.md","server/ai-service/scripts/poc/README.md","server/ai-service/scripts/poc/deploy-models.sh","server/ai-service/scripts/poc/generate-report.ts","server/ai-service/scripts/poc/load-test.ts","server/ai-service/scripts/poc/v1-int8-quality.ts","server/ai-service/scripts/poc/v2-router-accuracy.ts","server/ai-service/scripts/poc/v3-e2e-latency.ts","server/ai-service/scripts/seed-rag.ts","server/ai-service/src/app.module.ts","server/ai-service/src/common/decorators/current-tenant.decorator.ts","server/ai-service/src/common/decorators/public.decorator.ts","server/ai-service/src/common/guards/auth.guard.spec.ts","server/ai-service/src/common/guards/auth.guard.ts","server/ai-service/src/common/redis/index.ts","server/ai-service/src/common/redis/redis.module.ts","server/ai-service/src/common/redis/redis.service.ts","server/ai-service/src/main.ts","server/ai-service/src/modules/ai/ai.controller.ts","server/ai-service/src/modules/ai/ai.module.ts","server/ai-service/src/modules/ai/ai.service.spec.ts","server/ai-service/src/modules/ai/ai.service.ts","server/ai-service/src/modules/ai/dto/generate-reply.dto.ts","server/ai-service/src/modules/ai/legacy-reply.controller.ts","server/ai-service/src/modules/health/health.controller.ts","server/ai-service/src/modules/health/health.module.ts","server/ai-service/src/modules/memory/dto/memory.dto.ts","server/ai-service/src/modules/memory/event.service.spec.ts","server/ai-service/src/modules/memory/event.service.ts","server/ai-service/src/modules/memory/index.ts","server/ai-service/src/modules/memory/memory.controller.ts","server/ai-service/src/modules/memory/memory.module.ts","server/ai-service/src/modules/memory/memory.service.spec.ts","server/ai-service/src/modules/memory/memory.service.ts","server/ai-service/src/modules/memory/profile.service.spec.ts","server/ai-service/src/modules/memory/profile.service.ts","server/ai-service/src/modules/memory/schemas/contact-event.schema.ts","server/ai-service/src/modules/memory/schemas/contact-profile.schema.ts","server/ai-service/src/modules/memory/schemas/conversation-summary.schema.ts","server/ai-service/src/modules/memory/summary.service.spec.ts","server/ai-service/src/modules/memory/summary.service.ts","server/ai-service/src/modules/memory/vector.service.ts","server/ai-service/src/modules/privacy/index.ts","server/ai-service/src/modules/privacy/pii-scrubber.service.ts","server/ai-service/src/modules/privacy/privacy.module.ts","server/ai-service/src/modules/search/agentic/agentic-loop.controller.ts","server/ai-service/src/modules/search/agentic/answer-synthesizer.service.ts","server/ai-service/src/modules/search/agentic/answer-synthesizer.spec.ts","server/ai-service/src/modules/search/agentic/index.ts","server/ai-service/src/modules/search/agentic/query-decomposer.service.ts","server/ai-service/src/modules/search/agentic/query-decomposer.spec.ts","server/ai-service/src/modules/search/agentic/result-evaluator.service.ts","server/ai-service/src/modules/search/agentic/result-evaluator.spec.ts","server/ai-service/src/modules/search/cache/index.ts","server/ai-service/src/modules/search/cache/multi-level-cache.service.ts","server/ai-service/src/modules/search/cache/multi-level-cache.spec.ts","server/ai-service/src/modules/search/config/search.config.ts","server/ai-service/src/modules/search/dto/index.ts","server/ai-service/src/modules/search/dto/search-request.dto.ts","server/ai-service/src/modules/search/dto/search-response.dto.ts","server/ai-service/src/modules/search/experiment/ab-testing.service.ts","server/ai-service/src/modules/search/experiment/experiment.controller.ts","server/ai-service/src/modules/search/experiment/gradual-release.service.ts","server/ai-service/src/modules/search/experiment/index.ts","server/ai-service/src/modules/search/gateway/unified-search-gateway.service.ts","server/ai-service/src/modules/search/gateway/unified-search-gateway.spec.ts","server/ai-service/src/modules/search/index.ts","server/ai-service/src/modules/search/layers/agentic-layer.service.spec.ts","server/ai-service/src/modules/search/layers/agentic-layer.service.ts","server/ai-service/src/modules/search/layers/cache-layer.service.spec.ts","server/ai-service/src/modules/search/layers/cache-layer.service.ts","server/ai-service/src/modules/search/layers/rag-layer.service.spec.ts","server/ai-service/src/modules/search/layers/rag-layer.service.ts","server/ai-service/src/modules/search/monitoring/alert.service.ts","server/ai-service/src/modules/search/monitoring/grafana-dashboard.json","server/ai-service/src/modules/search/monitoring/index.ts","server/ai-service/src/modules/search/monitoring/metrics.service.ts","server/ai-service/src/modules/search/optimization/index.ts","server/ai-service/src/modules/search/optimization/parallel-retriever.service.ts","server/ai-service/src/modules/search/optimization/parallel-retriever.spec.ts","server/ai-service/src/modules/search/router/pure-rule-router.spec.ts","server/ai-service/src/modules/search/router/pure-rule-router.ts","server/ai-service/src/modules/search/router/router.types.ts","server/ai-service/src/modules/search/search.controller.ts","server/ai-service/src/modules/search/search.integration.spec.ts","server/ai-service/src/modules/search/search.module.ts","server/ai-service/src/modules/search/services/elasticsearch.service.ts","server/ai-service/src/modules/search/services/embedding.service.spec.ts","server/ai-service/src/modules/search/services/embedding.service.ts","server/ai-service/src/modules/search/services/index.ts","server/ai-service/src/modules/search/services/llm.service.spec.ts","server/ai-service/src/modules/search/services/llm.service.ts","server/ai-service/src/modules/search/services/milvus.service.ts","server/ai-service/src/modules/search/services/reranker.service.spec.ts","server/ai-service/src/modules/search/services/reranker.service.ts","server/ai-service/src/modules/search/streaming/index.ts","server/ai-service/src/modules/search/streaming/stream-optimizer.service.ts","server/ai-service/src/modules/search/vip/index.ts","server/ai-service/src/modules/search/vip/vip-tier.service.ts","server/ai-service/tsconfig.json","server/api-gateway/.dockerignore","server/api-gateway/Dockerfile","server/api-gateway/logs/.3fa4d5e91883ce1217f62a49f94203b42caa131d-audit.json","server/api-gateway/logs/.92dabeadf9708ae538f84c8892e853b5a8f57f04-audit.json","server/api-gateway/nest-cli.json","server/api-gateway/package.json","server/api-gateway/prisma/README.md","server/api-gateway/prisma/migrations/20260203065715_init/migration.sql","server/api-gateway/prisma/migrations/20260203160000_add_360_view_models/migration.sql","server/api-gateway/prisma/migrations/20260203170000_add_admin_modules/migration.sql","server/api-gateway/prisma/migrations/20260203180000_add_config_and_usage_stats/migration.sql","server/api-gateway/prisma/migrations/20260213000000_add_contact_geo_fields/migration.sql","server/api-gateway/prisma/migrations/20260213100000_expand_prompt_template/migration.sql","server/api-gateway/prisma/migrations/migration_lock.toml","server/api-gateway/prisma/schema.prisma","server/api-gateway/prisma/seed.ts","server/api-gateway/scripts/generate-openapi.ts","server/api-gateway/src/app.module.ts","server/api-gateway/src/common/logger/global-logger.module.ts","server/api-gateway/src/common/logger/global-logger.service.ts","server/api-gateway/src/main.ts","server/api-gateway/src/modules/ai-config/ai-config.controller.ts","server/api-gateway/src/modules/ai-config/ai-config.module.ts","server/api-gateway/src/modules/ai-config/ai-config.service.ts","server/api-gateway/src/modules/ai-config/dto/ai-config.dto.ts","server/api-gateway/src/modules/ai/ai.controller.ts","server/api-gateway/src/modules/ai/ai.module.ts","server/api-gateway/src/modules/ai/ai.service.ts","server/api-gateway/src/modules/audit-logs/audit-logs.controller.ts","server/api-gateway/src/modules/audit-logs/audit-logs.module.ts","server/api-gateway/src/modules/audit-logs/audit-logs.service.ts","server/api-gateway/src/modules/audit-logs/dto/audit-logs.dto.ts","server/api-gateway/src/modules/auth/auth.controller.spec.ts","server/api-gateway/src/modules/auth/auth.controller.ts","server/api-gateway/src/modules/auth/auth.module.ts","server/api-gateway/src/modules/auth/auth.service.spec.ts","server/api-gateway/src/modules/auth/auth.service.ts","server/api-gateway/src/modules/auth/decorators/roles.decorator.ts","server/api-gateway/src/modules/auth/dto/admin-login.dto.ts","server/api-gateway/src/modules/auth/dto/login.dto.ts","server/api-gateway/src/modules/auth/dto/refresh-token.dto.ts","server/api-gateway/src/modules/auth/guards/jwt-auth.guard.ts","server/api-gateway/src/modules/auth/guards/roles.guard.ts","server/api-gateway/src/modules/auth/strategies/jwt.strategy.ts","server/api-gateway/src/modules/contacts/contacts.controller.spec.ts","server/api-gateway/src/modules/contacts/contacts.controller.ts","server/api-gateway/src/modules/contacts/contacts.module.ts","server/api-gateway/src/modules/contacts/contacts.service.spec.ts","server/api-gateway/src/modules/contacts/contacts.service.ts","server/api-gateway/src/modules/contacts/dto/match-contact.dto.ts","server/api-gateway/src/modules/health/health.controller.spec.ts","server/api-gateway/src/modules/health/health.controller.ts","server/api-gateway/src/modules/health/health.module.ts","server/api-gateway/src/modules/knowledge/dto/knowledge-base.dto.ts","server/api-gateway/src/modules/knowledge/dto/search-knowledge.dto.ts","server/api-gateway/src/modules/knowledge/knowledge.controller.spec.ts","server/api-gateway/src/modules/knowledge/knowledge.controller.ts","server/api-gateway/src/modules/knowledge/knowledge.module.ts","server/api-gateway/src/modules/knowledge/knowledge.service.spec.ts","server/api-gateway/src/modules/knowledge/knowledge.service.ts","server/api-gateway/src/modules/mobile-compat/mobile-compat.controller.ts","server/api-gateway/src/modules/mobile-compat/mobile-compat.module.ts","server/api-gateway/src/modules/ocr/ocr.controller.ts","server/api-gateway/src/modules/ocr/ocr.module.ts","server/api-gateway/src/modules/ocr/ocr.service.ts","server/api-gateway/src/modules/pinyin/pinyin.controller.spec.ts","server/api-gateway/src/modules/pinyin/pinyin.controller.ts","server/api-gateway/src/modules/pinyin/pinyin.module.ts","server/api-gateway/src/modules/pinyin/pinyin.service.spec.ts","server/api-gateway/src/modules/pinyin/pinyin.service.ts","server/api-gateway/src/modules/rag/dto/rag.dto.ts","server/api-gateway/src/modules/rag/rag.controller.spec.ts","server/api-gateway/src/modules/rag/rag.controller.ts","server/api-gateway/src/modules/rag/rag.module.ts","server/api-gateway/src/modules/rag/rag.service.runtime.spec.ts","server/api-gateway/src/modules/rag/rag.service.spec.ts","server/api-gateway/src/modules/rag/rag.service.ts","server/api-gateway/src/modules/settings/dto/settings.dto.ts","server/api-gateway/src/modules/settings/settings.controller.spec.ts","server/api-gateway/src/modules/settings/settings.controller.ts","server/api-gateway/src/modules/settings/settings.module.ts","server/api-gateway/src/modules/settings/settings.service.spec.ts","server/api-gateway/src/modules/settings/settings.service.ts","server/api-gateway/src/modules/teams/dto/teams.dto.ts","server/api-gateway/src/modules/teams/teams.controller.spec.ts","server/api-gateway/src/modules/teams/teams.controller.ts","server/api-gateway/src/modules/teams/teams.module.ts","server/api-gateway/src/modules/teams/teams.service.spec.ts","server/api-gateway/src/modules/teams/teams.service.ts","server/api-gateway/src/modules/templates/dto/template.dto.ts","server/api-gateway/src/modules/templates/templates.controller.spec.ts","server/api-gateway/src/modules/templates/templates.controller.ts","server/api-gateway/src/modules/templates/templates.module.ts","server/api-gateway/src/modules/templates/templates.service.spec.ts","server/api-gateway/src/modules/templates/templates.service.ts","server/api-gateway/src/modules/usage/dto/usage.dto.ts","server/api-gateway/src/modules/usage/usage.controller.ts","server/api-gateway/src/modules/usage/usage.module.ts","server/api-gateway/src/modules/usage/usage.service.spec.ts","server/api-gateway/src/modules/usage/usage.service.ts","server/api-gateway/src/modules/users/users.controller.spec.ts","server/api-gateway/src/modules/users/users.controller.ts","server/api-gateway/src/modules/users/users.module.ts","server/api-gateway/src/modules/users/users.service.spec.ts","server/api-gateway/src/modules/users/users.service.ts","server/api-gateway/src/modules/weather/weather.controller.spec.ts","server/api-gateway/src/modules/weather/weather.controller.ts","server/api-gateway/src/modules/weather/weather.module.ts","server/api-gateway/src/modules/weather/weather.service.spec.ts","server/api-gateway/src/modules/weather/weather.service.ts","server/api-gateway/src/shared/prisma/prisma.module.ts","server/api-gateway/src/shared/prisma/prisma.service.ts","server/api-gateway/src/shared/redis/redis.module.ts","server/api-gateway/src/shared/redis/redis.service.ts","server/api-gateway/src/shared/sms/sms.module.ts","server/api-gateway/src/shared/sms/sms.service.spec.ts","server/api-gateway/src/shared/sms/sms.service.ts","server/api-gateway/tsconfig.json","server/docker-compose.override.yml","server/docker-compose.prod.yml","server/docker-compose.yml","server/docker/grafana/provisioning/dashboards/dashboards.yml","server/docker/grafana/provisioning/dashboards/json/api-gateway.json","server/docker/grafana/provisioning/datasources/datasources.yml","server/docker/loki/loki-config.yml","server/docker/mongodb/init.js","server/docker/nginx/conf.d/default.conf","server/docker/nginx/nginx.conf","server/docker/nginx/ssl/.gitkeep","server/docker/nginx/ssl/README.md","server/docker/postgres/init.sql","server/docker/prometheus/alert.rules.yml","server/docker/prometheus/prometheus.yml","server/docker/promtail/promtail-config.yml","server/k8s/vllm/deployment.yaml","server/k8s/vllm/hpa.yaml","server/k8s/vllm/service.yaml","server/model-services/reranker/Dockerfile","server/model-services/reranker/requirements.txt","server/model-services/reranker/reranker_server.py","server/ocr-service/.dockerignore","server/ocr-service/Dockerfile","server/ocr-service/jest.config.js","server/ocr-service/nest-cli.json","server/ocr-service/package.json","server/ocr-service/src/app.module.ts","server/ocr-service/src/main.ts","server/ocr-service/src/modules/health/health.controller.ts","server/ocr-service/src/modules/health/health.module.ts","server/ocr-service/src/modules/ocr/chat-parser.service.spec.ts","server/ocr-service/src/modules/ocr/chat-parser.service.ts","server/ocr-service/src/modules/ocr/dto/chat-screenshot.dto.ts","server/ocr-service/src/modules/ocr/ocr.controller.ts","server/ocr-service/src/modules/ocr/ocr.module.ts","server/ocr-service/src/modules/ocr/ocr.service.spec.ts","server/ocr-service/src/modules/ocr/ocr.service.ts","server/ocr-service/tsconfig.json","server/scripts/backup.sh","server/scripts/check-mobile-api-coverage.js","server/scripts/check-mobile-response-compat.js","server/scripts/deploy.sh","server/scripts/deploy/deploy-infrastructure.sh","server/scripts/deploy/deploy-models.sh","server/scripts/deploy/final-deploy.sh","server/scripts/deploy/stop-models.sh","server/scripts/e2e-smoke.js","server/scripts/health-check.sh","server/scripts/mobile-api-smoke.js","server/scripts/setup-ssl.sh","settings.gradle.kts","shared/README.md","shared/build.gradle.kts","shared/src/androidInstrumentedTest/kotlin/com/haizhan/ime/shared/auth/AndroidTokenStorageTest.kt","shared/src/androidInstrumentedTest/kotlin/com/haizhan/ime/shared/auth/SharedAuthManagerIntegrationTest.kt","shared/src/androidInstrumentedTest/kotlin/com/haizhan/ime/shared/database/DatabaseIntegrationTest.kt","shared/src/androidInstrumentedTest/kotlin/com/haizhan/ime/shared/pinyin/CandidateRankerIntegrationTest.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/BuildConfig.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/Platform.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/auth/AndroidTokenStorage.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/auth/CurrentTime.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/database/DatabaseDriverFactory.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/database/SharedDatabaseKeyManager.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/di/PlatformModule.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/migration/RoomToSqlDelightMigrator.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/platform/Connectivity.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/platform/DeviceInfo.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/platform/DictionaryLoader.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/platform/FileSystem.android.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/Platform.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/analytics/AnalyticsTracker.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/ApiClient.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/AuthApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/ContactApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/DashboardApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/FeedbackApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/KnowledgeApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/MemoryApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/NoteApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/OcrApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/PinyinApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/RagSearchApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/ReplyApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/ScriptApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/SearchApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/SessionApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/SettingsApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/SubscriptionApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/UserApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/WeatherApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/auth/AuthManager.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/auth/AuthModels.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/database/DatabaseDriverFactory.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/database/DatabaseExtensions.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/di/SharedModule.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/matcher/NicknameMatcher.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/ContactModel.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/KnowledgeModel.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/AiDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/ApiResponse.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/AuthDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/ContactDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/DashboardDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/FeedbackDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/KnowledgeDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/MemoryDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/MessageDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/NoteDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/OcrDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/PinyinDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/ProfileDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/RagSearchDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/ReplyDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/ScriptDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/SearchDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/SessionDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/SettingsDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/SubscriptionDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/WeatherDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/Candidate.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/CandidateRanker.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/DictEntry.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/NineGridMatcher.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/PinyinConstants.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/PinyinService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/PinyinSplitter.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/CloudSynergyEngine.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/DoubleArrayTrie.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/DoubleArrayTrieImpl.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/DynamicWeightRanker.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/PinyinDAG.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/ViterbiDecoder.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/platform/Connectivity.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/platform/DeviceInfo.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/platform/DictionaryLoader.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/platform/FileSystem.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/ContactRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/KnowledgeRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/MessageRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/NoteRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/PinyinRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/SearchRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/SettingsRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/UserDictRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/MessageChainMatcher.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/OcrMatchService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/OfflineFallbackService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/ReplyService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/ScriptService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/SessionService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/sync/SyncManager.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/util/FlowExt.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/util/LevenshteinDistance.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/util/LruCache.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/util/StringExt.kt","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Contact.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Knowledge.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Message.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Note.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Search.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Settings.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/UserDict.sq","shared/src/commonMain/sqldelight/migrations/1.sqm","shared/src/commonTest/kotlin/com/haizhan/ime/shared/analytics/AnalyticsTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/api/ApiClientTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/auth/AuthModelsTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/matcher/NicknameMatcherTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/model/ContactModelTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/model/KnowledgeModelTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/network/NetworkClientTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/CandidateRankerTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/CandidateTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/NineGridMatcherTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/PinyinConstantsTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/PinyinSplitterTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/algorithm/CloudSynergyEngineTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/algorithm/DoubleArrayTrieImplTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/algorithm/DynamicWeightRankerTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/algorithm/PinyinDAGTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/algorithm/ViterbiDecoderTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/repository/ContactRepositoryTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/sync/SyncTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/util/LevenshteinDistanceTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/util/PinyinConverterTest.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/Platform.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/auth/CurrentTime.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/auth/IosTokenStorage.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/database/DatabaseDriverFactory.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/di/PlatformModule.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/platform/Connectivity.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/platform/DeviceInfo.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/platform/DictionaryLoader.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/platform/FileSystem.ios.kt","voice/build.gradle.kts","voice/consumer-rules.pro","voice/proguard-rules.pro","voice/src/androidTest/java/com/haizhan/ime/voice/integration/VoiceModuleIntegrationTest.kt","voice/src/androidTest/java/com/haizhan/ime/voice/integration/WakeWordServiceIntegrationTest.kt","voice/src/main/AndroidManifest.xml","voice/src/main/java/com/haizhan/ime/voice/api/AudioPipeline.kt","voice/src/main/java/com/haizhan/ime/voice/api/SpeechRecognitionService.kt","voice/src/main/java/com/haizhan/ime/voice/api/VoiceCoordinator.kt","voice/src/main/java/com/haizhan/ime/voice/api/VoiceErrors.kt","voice/src/main/java/com/haizhan/ime/voice/api/VoiceTypes.kt","voice/src/main/java/com/haizhan/ime/voice/api/WakeWordConfigManager.kt","voice/src/main/java/com/haizhan/ime/voice/api/WakeWordDetectionService.kt","voice/src/main/java/com/haizhan/ime/voice/audio/AudioPipelineImpl.kt","voice/src/main/java/com/haizhan/ime/voice/audio/di/AudioModule.kt","voice/src/main/java/com/haizhan/ime/voice/coordinator/VoiceCoordinatorImpl.kt","voice/src/main/java/com/haizhan/ime/voice/coordinator/di/CoordinatorModule.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/DenoiseAudioConsumer.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/DenoiseManager.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/MusicAwareAEC.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/NoiseEstimator.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/SpectralSubtractor.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/VoiceActivityDetector.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/di/DenoiseModule.kt","voice/src/main/java/com/haizhan/ime/voice/di/VoiceModule.kt","voice/src/main/java/com/haizhan/ime/voice/engine/VoiceInputEngine.kt","voice/src/main/java/com/haizhan/ime/voice/model/MultiModelManager.kt","voice/src/main/java/com/haizhan/ime/voice/model/VoiceModelManager.kt","voice/src/main/java/com/haizhan/ime/voice/monitoring/VoicePerformanceMonitor.kt","voice/src/main/java/com/haizhan/ime/voice/monitoring/di/MonitoringModule.kt","voice/src/main/java/com/haizhan/ime/voice/recognition/AudioDiagnostics.kt","voice/src/main/java/com/haizhan/ime/voice/recognition/SpeechRecognitionServiceImpl.kt","voice/src/main/java/com/haizhan/ime/voice/recognition/VoskGrammarBuilder.kt","voice/src/main/java/com/haizhan/ime/voice/recognition/VoskRecognizer.kt","voice/src/main/java/com/haizhan/ime/voice/recognition/di/SpeechModule.kt","voice/src/main/java/com/haizhan/ime/voice/ui/VoiceUiTypes.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/WakeWordDetectionServiceImpl.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/analytics/WakeWordAnalytics.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/config/WakeWordConfigManagerImpl.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/config/di/ConfigModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/confirmation/WakeWordConfirmation.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/detector/IWakeWordDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/detector/VoskWakeWordDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/di/ConfirmationModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/di/MatcherModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/di/ParserModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/di/RepositoryModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/di/WakeWordModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/filter/FalseWakeFilter.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/matcher/PinyinData.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/matcher/PinyinMatcher.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/matcher/TrieWordMatcher.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/parser/WakeWordCommandParser.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/EnergyPatternMatcher.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/PitchExtractor.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/QuickWakeDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/SingingModeDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/SpectralAnalyzer.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/SyllableDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/VibratoDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/VoiceCharacteristicAnalyzer.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/VoiceProfileAnalyzer.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/di/PredetectModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/repository/WakeWordRepository.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/sensitivity/AdaptiveSensitivity.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/service/WakeWordService.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/util/PinyinUtils.kt","voice/src/test/java/com/haizhan/ime/voice/api/HotwordConfigTest.kt","voice/src/test/java/com/haizhan/ime/voice/audio/AudioPipelineImplTest.kt","voice/src/test/java/com/haizhan/ime/voice/coordinator/VoiceCoordinatorImplTest.kt","voice/src/test/java/com/haizhan/ime/voice/denoise/DenoiseManagerTest.kt","voice/src/test/java/com/haizhan/ime/voice/denoise/MusicAwareAECTest.kt","voice/src/test/java/com/haizhan/ime/voice/denoise/SpectralSubtractorTest.kt","voice/src/test/java/com/haizhan/ime/voice/denoise/VoiceActivityDetectorTest.kt.bak","voice/src/test/java/com/haizhan/ime/voice/model/MultiModelManagerTest.kt","voice/src/test/java/com/haizhan/ime/voice/monitoring/VoicePerformanceMonitorTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/config/WakeWordConfigManagerTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/confirmation/WakeWordConfirmationTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/filter/FalseWakeFilterTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/matcher/PinyinDataTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/matcher/PinyinMatcherTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/matcher/TrieWordMatcherTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/parser/WakeWordCommandParserTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/QuickWakeDetectorTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/SingingModeDetectorTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/SyllableDetectorTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/VibratoDetectorTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/VoiceCharacteristicAnalyzerTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/VoiceProfileAnalyzerTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/repository/WakeWordRepositorySerializationTest.kt"],"removed":[],"modified":[]},"repository":{"id":9,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"haizhan-ime-android","full_name":"luoanwu/haizhan-ime-android","description":"嗨赞AI输入法 Android版","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":29,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/haizhan-ime-android/languages","html_url":"https://gitea.g-hi.com/luoanwu/haizhan-ime-android","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/haizhan-ime-android","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/haizhan-ime-android.git","clone_url":"https://gitea.g-hi.com/luoanwu/haizhan-ime-android.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-27T15:27:17+08:00","updated_at":"2026-02-27T15:27:32+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
7
|
1772177363
|
1772177727
|
0
|
1772177363
|
1772177727
|
NULL
|
|
0
|
Edit
Delete
|
|
1132
|
feat: 嗨赞AI输入法Android版初始提交
|
9
|
5
|
frontend-backend-ci.yml
|
2
|
5
|
0
|
refs/heads/main
|
893022bfd17ce1f2e75e75651551cf8ceaacfe45
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"a8f0a86b4c1d4422bfe5c002b8c5307111d317bb","after":"893022bfd17ce1f2e75e75651551cf8ceaacfe45","compare_url":"https://gitea.g-hi.com/luoanwu/haizhan-ime-android/compare/a8f0a86b4c1d4422bfe5c002b8c5307111d317bb...893022bfd17ce1f2e75e75651551cf8ceaacfe45","commits":[{"id":"893022bfd17ce1f2e75e75651551cf8ceaacfe45","message":"feat: 嗨赞AI输入法Android版初始提交\n","url":"https://gitea.g-hi.com/luoanwu/haizhan-ime-android/commit/893022bfd17ce1f2e75e75651551cf8ceaacfe45","author":{"name":"luoanwu","email":"law@g-hi.com","username":"luoanwu"},"committer":{"name":"luoanwu","email":"law@g-hi.com","username":"luoanwu"},"verification":null,"timestamp":"2026-02-27T15:28:58+08:00","added":[".claude/skills/haizhan-ime-development.md",".claude/worktrees/charming-zhukovsky",".editorconfig",".github/workflows/ci.yml",".github/workflows/frontend-backend-ci.yml",".github/workflows/ios-ci.yml",".github/workflows/performance-check.yml",".github/workflows/pr-check.yml",".github/workflows/release.yml",".gitignore",".npmrc","CHANGELOG.md","CLAUDE.md","MIGRATION_COMPLETE_REPORT.md","README.md","admin-web/.env.development","admin-web/.eslintrc.cjs","admin-web/.gitignore","admin-web/.npmrc","admin-web/README.md","admin-web/e2e/all-pages.spec.ts","admin-web/e2e/crud-tests.spec.ts","admin-web/e2e/dashboard.spec.ts","admin-web/e2e/interactive-click.spec.ts","admin-web/e2e/login.spec.ts","admin-web/e2e/templates.spec.ts","admin-web/index.html","admin-web/package.json","admin-web/playwright.config.ts","admin-web/postcss.config.js","admin-web/public/favicon.svg","admin-web/src/App.vue","admin-web/src/api/ai-config.ts","admin-web/src/api/audit.ts","admin-web/src/api/auth.ts","admin-web/src/api/contact.ts","admin-web/src/api/knowledge.ts","admin-web/src/api/rag.ts","admin-web/src/api/settings.ts","admin-web/src/api/team.ts","admin-web/src/api/template.ts","admin-web/src/api/usage.ts","admin-web/src/api/user.ts","admin-web/src/assets/logo.svg","admin-web/src/components/UserCard.vue","admin-web/src/components/index.ts","admin-web/src/composables/usePermission.ts","admin-web/src/composables/useResponsive.ts","admin-web/src/composables/useTable.ts","admin-web/src/directives/index.ts","admin-web/src/directives/permission.ts","admin-web/src/env.d.ts","admin-web/src/layouts/MainLayout.vue","admin-web/src/layouts/components/HeaderBar.vue","admin-web/src/layouts/components/MobileDrawer.vue","admin-web/src/layouts/components/SidebarMenu.vue","admin-web/src/main.ts","admin-web/src/router/index.ts","admin-web/src/stores/app.ts","admin-web/src/stores/user.ts","admin-web/src/styles/index.scss","admin-web/src/styles/variables.scss","admin-web/src/types/ai-config.ts","admin-web/src/types/api.ts","admin-web/src/types/audit.ts","admin-web/src/types/contact.ts","admin-web/src/types/knowledge.ts","admin-web/src/types/permission.ts","admin-web/src/types/rag.ts","admin-web/src/types/settings.ts","admin-web/src/types/team.ts","admin-web/src/types/template.ts","admin-web/src/types/usage.ts","admin-web/src/types/user.ts","admin-web/src/utils/request.ts","admin-web/src/views/ai-config/index.vue","admin-web/src/views/audit/index.vue","admin-web/src/views/contacts/index.vue","admin-web/src/views/contacts/profile.vue","admin-web/src/views/dashboard/index.vue","admin-web/src/views/error/403.vue","admin-web/src/views/error/404.vue","admin-web/src/views/knowledge/index.vue","admin-web/src/views/login/index.vue","admin-web/src/views/profile/index.vue","admin-web/src/views/rag/index.vue","admin-web/src/views/settings/index.vue","admin-web/src/views/teams/index.vue","admin-web/src/views/templates/index.vue","admin-web/src/views/usage/index.vue","admin-web/src/views/users/index.vue","admin-web/tailwind.config.js","admin-web/test-results/.last-run.json","admin-web/tsconfig.app.json","admin-web/tsconfig.json","admin-web/tsconfig.node.json","admin-web/vite.config.d.ts","admin-web/vite.config.js","admin-web/vite.config.ts","ai-panel/build.gradle.kts","ai-panel/consumer-rules.pro","ai-panel/proguard-rules.pro","ai-panel/src/main/AndroidManifest.xml","ai-panel/src/main/java/com/haizhan/ime/panel/AiPanelManager.kt","ai-panel/src/main/java/com/haizhan/ime/panel/AiPanelModels.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/AgenticDecisionEngine.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/AgenticRouter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/AgenticTypes.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/CostController.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/HybridSearchExecutor.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/di/AgenticModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/AvatarMatcher.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/ContactCache.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/ContactContextPreloader.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/ContactIndexes.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/ContactMatcher.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/ContactMatcherData.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/EnhancedContactMatcher.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/MatchedContact.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/NicknameMatcher.kt","ai-panel/src/main/java/com/haizhan/ime/panel/context/InputContextCollector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/context/UnifiedContextManager.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/AiPanelModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/ContactModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/ContextModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/OcrModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/ReplyModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/ScreenshotModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/knowledge/KnowledgeService.kt","ai-panel/src/main/java/com/haizhan/ime/panel/memory/ContactMemoryModels.kt","ai-panel/src/main/java/com/haizhan/ime/panel/memory/ContactMemoryService.kt","ai-panel/src/main/java/com/haizhan/ime/panel/memory/MemoryDtoMapper.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/EnhancedSenderDetector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/MessageParser.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/OcrReliabilityScore.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/OcrService.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/TitleBarParser.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/ChatMessageAdapter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/DingTalkMessageAdapter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/FeishuMessageAdapter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/MessageAdapterFactory.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/WeChatMessageAdapter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/WeWorkMessageAdapter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/BatteryAwareManager.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/ClipboardHelper.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/FrequencyController.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/RagReplyGenerator.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/ReplyGenerator.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/ReplyStyle.kt","ai-panel/src/main/java/com/haizhan/ime/panel/screenshot/RegionDetector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/screenshot/ScreenshotManager.kt","ai-panel/src/main/java/com/haizhan/ime/panel/service/ScreenshotForegroundService.kt","ai-panel/src/main/java/com/haizhan/ime/panel/trigger/AppDetector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/trigger/TriggerDetector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/AIPanelScreen.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/AiPanelTheme.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/Contact360View.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/ContactCard.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/ContactSelector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/EmotionBadge.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/FunctionTabBar.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/IntentBadge.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/KnowledgeCard.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/KnowledgePanel.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/QuickReplyPanel.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/ReplyCard.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/ContactComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/HistoryComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/KnowledgeComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/NoteComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/OcrComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/PanelCommon.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/ReplyComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/TeamComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/AiReplyTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/ContactsTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/HistoryTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/KnowledgeTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/NoteTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/OcrTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/TeamTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/weather/WeatherService.kt","ai-panel/src/main/res/drawable/ic_ai_reply.xml","ai-panel/src/main/res/drawable/ic_capture.xml","ai-panel/src/main/res/drawable/ic_contacts.xml","ai-panel/src/main/res/drawable/ic_knowledge.xml","ai-panel/src/main/res/drawable/ic_ocr.xml","ai-panel/src/main/res/drawable/ic_refresh.xml","ai-panel/src/main/res/drawable/ic_screenshot.xml","ai-panel/src/main/res/drawable/ic_stop.xml","ai-panel/src/test/java/com/haizhan/ime/panel/AiPanelManagerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/agentic/AgenticDecisionEngineTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/agentic/AgenticRouterTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/agentic/AgenticTypesTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/agentic/CostControllerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/agentic/ResultQualityEvaluatorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactCacheTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactContextPreloaderTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactIndexPerformanceTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactIndexesTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactMatcherTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactMemoryServiceTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/MatchedContactTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/NicknameMatcherTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/context/InputContextCollectorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/context/UnifiedContextManagerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/knowledge/KnowledgeServiceTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ocr/EnhancedSenderDetectorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ocr/MessageParserTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ocr/OcrReliabilityScoreTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ocr/OcrServiceTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ocr/TitleBarParserTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/platform/DingTalkAdapterTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/platform/FeishuAdapterTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/platform/WeChatAdapterTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/platform/WeWorkAdapterTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/BatteryAwareManagerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/ClipboardHelperTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/FrequencyControllerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/RagReplyGeneratorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/ReplyGeneratorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/ReplyStyleTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/screenshot/RegionDetectorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/screenshot/ScreenshotManagerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/trigger/AppDetectorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/trigger/TriggerDetectorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ui/AIPanelScreenTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ui/ReplyCardTest.kt","api-clients/android/.openapi-generator-ignore","api-clients/android/.openapi-generator/FILES","api-clients/android/.openapi-generator/VERSION","api-clients/android/README.md","api-clients/android/build.gradle","api-clients/android/docs/AdminLoginDto.md","api-clients/android/docs/AiConfigApi.md","api-clients/android/docs/AuditLogsApi.md","api-clients/android/docs/AuthApi.md","api-clients/android/docs/BatchRemoveContactsDto.md","api-clients/android/docs/ChunkingConfigDto.md","api-clients/android/docs/Contact360ResponseDto.md","api-clients/android/docs/Contact360ViewDto.md","api-clients/android/docs/ContactDetailResponseDto.md","api-clients/android/docs/ContactDto.md","api-clients/android/docs/ContactEventDto.md","api-clients/android/docs/ContactListResponseDto.md","api-clients/android/docs/ContactProfileDto.md","api-clients/android/docs/ContactStatsDto.md","api-clients/android/docs/ContactTagDto.md","api-clients/android/docs/ContactsApi.md","api-clients/android/docs/ConversationSummaryDto.md","api-clients/android/docs/CreateContactDto.md","api-clients/android/docs/CreateContactEventDto.md","api-clients/android/docs/CreateKnowledgeBaseDto.md","api-clients/android/docs/CreateKnowledgeDocumentDto.md","api-clients/android/docs/CreateQwenModelDto.md","api-clients/android/docs/DefaultApi.md","api-clients/android/docs/EmbeddingConfigDto.md","api-clients/android/docs/EmbeddingModelDto.md","api-clients/android/docs/GenerationConfigDto.md","api-clients/android/docs/HealthApi.md","api-clients/android/docs/KnowledgeApi.md","api-clients/android/docs/KnowledgeBaseResponseDto.md","api-clients/android/docs/KnowledgeDocumentListResponseDto.md","api-clients/android/docs/KnowledgeDocumentResponseDto.md","api-clients/android/docs/LoginDto.md","api-clients/android/docs/MatchContactDto.md","api-clients/android/docs/MatchContactResponseDto.md","api-clients/android/docs/MobileCompatApi.md","api-clients/android/docs/PinyinApi.md","api-clients/android/docs/PipelineHealthDto.md","api-clients/android/docs/PipelineMetricsDto.md","api-clients/android/docs/PreviewChunkingDto.md","api-clients/android/docs/QwenModelConfigDto.md","api-clients/android/docs/QwenModelFeaturesDto.md","api-clients/android/docs/RagApi.md","api-clients/android/docs/RagConfigDto.md","api-clients/android/docs/RagMetricsDto.md","api-clients/android/docs/RagPipelineStatusDto.md","api-clients/android/docs/RagQueryDto.md","api-clients/android/docs/RebuildIndexDto.md","api-clients/android/docs/RefreshTokenDto.md","api-clients/android/docs/RetrievalConfigDto.md","api-clients/android/docs/SettingsApi.md","api-clients/android/docs/SyncContactsDto.md","api-clients/android/docs/SyncContactsResponseDto.md","api-clients/android/docs/TeamsApi.md","api-clients/android/docs/ToggleQwenModelDto.md","api-clients/android/docs/UpdateContactDto.md","api-clients/android/docs/UpdateKnowledgeBaseDto.md","api-clients/android/docs/UpdateKnowledgeDocumentDto.md","api-clients/android/docs/UpdateQwenModelDto.md","api-clients/android/docs/UpdateRagConfigDto.md","api-clients/android/docs/UsageApi.md","api-clients/android/docs/WeatherApi.md","api-clients/android/gradle/wrapper/gradle-wrapper.jar","api-clients/android/gradle/wrapper/gradle-wrapper.properties","api-clients/android/gradlew","api-clients/android/gradlew.bat","api-clients/android/settings.gradle","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/AiConfigApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/AuditLogsApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/AuthApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/ContactsApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/DefaultApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/HealthApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/KnowledgeApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/MobileCompatApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/PinyinApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/RagApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/SettingsApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/TeamsApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/UsageApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/WeatherApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/auth/HttpBearerAuth.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/ApiClient.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/BigDecimalAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/BigIntegerAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/ByteArrayAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/CollectionFormats.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/LocalDateAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/LocalDateTimeAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/OffsetDateTimeAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/ResponseExt.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/Serializer.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/URIAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/UUIDAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/AdminLoginDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/BatchRemoveContactsDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ChunkingConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/Contact360ResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/Contact360ViewDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactDetailResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactEventDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactListResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactProfileDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactStatsDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactTagDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ConversationSummaryDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/CreateContactDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/CreateContactEventDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/CreateKnowledgeBaseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/CreateKnowledgeDocumentDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/CreateQwenModelDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/EmbeddingConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/EmbeddingModelDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/GenerationConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/KnowledgeBaseResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/KnowledgeDocumentListResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/KnowledgeDocumentResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/LoginDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/MatchContactDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/MatchContactResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/PipelineHealthDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/PipelineMetricsDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/PreviewChunkingDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/QwenModelConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/QwenModelFeaturesDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RagConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RagMetricsDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RagPipelineStatusDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RagQueryDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RebuildIndexDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RefreshTokenDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RetrievalConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/SyncContactsDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/SyncContactsResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ToggleQwenModelDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/UpdateContactDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/UpdateKnowledgeBaseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/UpdateKnowledgeDocumentDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/UpdateQwenModelDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/UpdateRagConfigDto.kt","api-clients/flutter/.gitignore","api-clients/flutter/.openapi-generator-ignore","api-clients/flutter/.openapi-generator/FILES","api-clients/flutter/.openapi-generator/VERSION","api-clients/flutter/README.md","api-clients/flutter/analysis_options.yaml","api-clients/flutter/doc/AdminLoginDto.md","api-clients/flutter/doc/AiConfigApi.md","api-clients/flutter/doc/AuditLogsApi.md","api-clients/flutter/doc/AuthApi.md","api-clients/flutter/doc/BatchRemoveContactsDto.md","api-clients/flutter/doc/ChunkingConfigDto.md","api-clients/flutter/doc/Contact360ResponseDto.md","api-clients/flutter/doc/Contact360ViewDto.md","api-clients/flutter/doc/ContactDetailResponseDto.md","api-clients/flutter/doc/ContactDto.md","api-clients/flutter/doc/ContactEventDto.md","api-clients/flutter/doc/ContactListResponseDto.md","api-clients/flutter/doc/ContactProfileDto.md","api-clients/flutter/doc/ContactStatsDto.md","api-clients/flutter/doc/ContactTagDto.md","api-clients/flutter/doc/ContactsApi.md","api-clients/flutter/doc/ConversationSummaryDto.md","api-clients/flutter/doc/CreateContactDto.md","api-clients/flutter/doc/CreateContactEventDto.md","api-clients/flutter/doc/CreateKnowledgeBaseDto.md","api-clients/flutter/doc/CreateKnowledgeDocumentDto.md","api-clients/flutter/doc/CreateQwenModelDto.md","api-clients/flutter/doc/DefaultApi.md","api-clients/flutter/doc/EmbeddingConfigDto.md","api-clients/flutter/doc/EmbeddingModelDto.md","api-clients/flutter/doc/GenerationConfigDto.md","api-clients/flutter/doc/HealthApi.md","api-clients/flutter/doc/KnowledgeApi.md","api-clients/flutter/doc/KnowledgeBaseResponseDto.md","api-clients/flutter/doc/KnowledgeDocumentListResponseDto.md","api-clients/flutter/doc/KnowledgeDocumentResponseDto.md","api-clients/flutter/doc/LoginDto.md","api-clients/flutter/doc/MatchContactDto.md","api-clients/flutter/doc/MatchContactResponseDto.md","api-clients/flutter/doc/MobileCompatApi.md","api-clients/flutter/doc/PinyinApi.md","api-clients/flutter/doc/PipelineHealthDto.md","api-clients/flutter/doc/PipelineMetricsDto.md","api-clients/flutter/doc/PreviewChunkingDto.md","api-clients/flutter/doc/QwenModelConfigDto.md","api-clients/flutter/doc/QwenModelFeaturesDto.md","api-clients/flutter/doc/RagApi.md","api-clients/flutter/doc/RagConfigDto.md","api-clients/flutter/doc/RagMetricsDto.md","api-clients/flutter/doc/RagPipelineStatusDto.md","api-clients/flutter/doc/RagQueryDto.md","api-clients/flutter/doc/RebuildIndexDto.md","api-clients/flutter/doc/RefreshTokenDto.md","api-clients/flutter/doc/RetrievalConfigDto.md","api-clients/flutter/doc/SettingsApi.md","api-clients/flutter/doc/SyncContactsDto.md","api-clients/flutter/doc/SyncContactsResponseDto.md","api-clients/flutter/doc/TeamsApi.md","api-clients/flutter/doc/ToggleQwenModelDto.md","api-clients/flutter/doc/UpdateContactDto.md","api-clients/flutter/doc/UpdateKnowledgeBaseDto.md","api-clients/flutter/doc/UpdateKnowledgeDocumentDto.md","api-clients/flutter/doc/UpdateQwenModelDto.md","api-clients/flutter/doc/UpdateRagConfigDto.md","api-clients/flutter/doc/UsageApi.md","api-clients/flutter/doc/WeatherApi.md","api-clients/flutter/lib/haizhan_api.dart","api-clients/flutter/lib/src/api.dart","api-clients/flutter/lib/src/api/ai_config_api.dart","api-clients/flutter/lib/src/api/audit_logs_api.dart","api-clients/flutter/lib/src/api/auth_api.dart","api-clients/flutter/lib/src/api/contacts_api.dart","api-clients/flutter/lib/src/api/default_api.dart","api-clients/flutter/lib/src/api/health_api.dart","api-clients/flutter/lib/src/api/knowledge_api.dart","api-clients/flutter/lib/src/api/mobile_compat_api.dart","api-clients/flutter/lib/src/api/pinyin_api.dart","api-clients/flutter/lib/src/api/rag_api.dart","api-clients/flutter/lib/src/api/settings_api.dart","api-clients/flutter/lib/src/api/teams_api.dart","api-clients/flutter/lib/src/api/usage_api.dart","api-clients/flutter/lib/src/api/weather_api.dart","api-clients/flutter/lib/src/api_util.dart","api-clients/flutter/lib/src/auth/api_key_auth.dart","api-clients/flutter/lib/src/auth/auth.dart","api-clients/flutter/lib/src/auth/basic_auth.dart","api-clients/flutter/lib/src/auth/bearer_auth.dart","api-clients/flutter/lib/src/auth/oauth.dart","api-clients/flutter/lib/src/date_serializer.dart","api-clients/flutter/lib/src/model/admin_login_dto.dart","api-clients/flutter/lib/src/model/batch_remove_contacts_dto.dart","api-clients/flutter/lib/src/model/chunking_config_dto.dart","api-clients/flutter/lib/src/model/contact360_response_dto.dart","api-clients/flutter/lib/src/model/contact360_view_dto.dart","api-clients/flutter/lib/src/model/contact_detail_response_dto.dart","api-clients/flutter/lib/src/model/contact_dto.dart","api-clients/flutter/lib/src/model/contact_event_dto.dart","api-clients/flutter/lib/src/model/contact_list_response_dto.dart","api-clients/flutter/lib/src/model/contact_profile_dto.dart","api-clients/flutter/lib/src/model/contact_stats_dto.dart","api-clients/flutter/lib/src/model/contact_tag_dto.dart","api-clients/flutter/lib/src/model/conversation_summary_dto.dart","api-clients/flutter/lib/src/model/create_contact_dto.dart","api-clients/flutter/lib/src/model/create_contact_event_dto.dart","api-clients/flutter/lib/src/model/create_knowledge_base_dto.dart","api-clients/flutter/lib/src/model/create_knowledge_document_dto.dart","api-clients/flutter/lib/src/model/create_qwen_model_dto.dart","api-clients/flutter/lib/src/model/date.dart","api-clients/flutter/lib/src/model/embedding_config_dto.dart","api-clients/flutter/lib/src/model/embedding_model_dto.dart","api-clients/flutter/lib/src/model/generation_config_dto.dart","api-clients/flutter/lib/src/model/knowledge_base_response_dto.dart","api-clients/flutter/lib/src/model/knowledge_document_list_response_dto.dart","api-clients/flutter/lib/src/model/knowledge_document_response_dto.dart","api-clients/flutter/lib/src/model/login_dto.dart","api-clients/flutter/lib/src/model/match_contact_dto.dart","api-clients/flutter/lib/src/model/match_contact_response_dto.dart","api-clients/flutter/lib/src/model/pipeline_health_dto.dart","api-clients/flutter/lib/src/model/pipeline_metrics_dto.dart","api-clients/flutter/lib/src/model/preview_chunking_dto.dart","api-clients/flutter/lib/src/model/qwen_model_config_dto.dart","api-clients/flutter/lib/src/model/qwen_model_features_dto.dart","api-clients/flutter/lib/src/model/rag_config_dto.dart","api-clients/flutter/lib/src/model/rag_metrics_dto.dart","api-clients/flutter/lib/src/model/rag_pipeline_status_dto.dart","api-clients/flutter/lib/src/model/rag_query_dto.dart","api-clients/flutter/lib/src/model/rebuild_index_dto.dart","api-clients/flutter/lib/src/model/refresh_token_dto.dart","api-clients/flutter/lib/src/model/retrieval_config_dto.dart","api-clients/flutter/lib/src/model/sync_contacts_dto.dart","api-clients/flutter/lib/src/model/sync_contacts_response_dto.dart","api-clients/flutter/lib/src/model/toggle_qwen_model_dto.dart","api-clients/flutter/lib/src/model/update_contact_dto.dart","api-clients/flutter/lib/src/model/update_knowledge_base_dto.dart","api-clients/flutter/lib/src/model/update_knowledge_document_dto.dart","api-clients/flutter/lib/src/model/update_qwen_model_dto.dart","api-clients/flutter/lib/src/model/update_rag_config_dto.dart","api-clients/flutter/lib/src/serializers.dart","api-clients/flutter/pubspec.yaml","api-clients/flutter/test/admin_login_dto_test.dart","api-clients/flutter/test/ai_config_api_test.dart","api-clients/flutter/test/audit_logs_api_test.dart","api-clients/flutter/test/auth_api_test.dart","api-clients/flutter/test/batch_remove_contacts_dto_test.dart","api-clients/flutter/test/chunking_config_dto_test.dart","api-clients/flutter/test/contact360_response_dto_test.dart","api-clients/flutter/test/contact360_view_dto_test.dart","api-clients/flutter/test/contact_detail_response_dto_test.dart","api-clients/flutter/test/contact_dto_test.dart","api-clients/flutter/test/contact_event_dto_test.dart","api-clients/flutter/test/contact_list_response_dto_test.dart","api-clients/flutter/test/contact_profile_dto_test.dart","api-clients/flutter/test/contact_stats_dto_test.dart","api-clients/flutter/test/contact_tag_dto_test.dart","api-clients/flutter/test/contacts_api_test.dart","api-clients/flutter/test/conversation_summary_dto_test.dart","api-clients/flutter/test/create_contact_dto_test.dart","api-clients/flutter/test/create_contact_event_dto_test.dart","api-clients/flutter/test/create_knowledge_base_dto_test.dart","api-clients/flutter/test/create_knowledge_document_dto_test.dart","api-clients/flutter/test/create_qwen_model_dto_test.dart","api-clients/flutter/test/default_api_test.dart","api-clients/flutter/test/embedding_config_dto_test.dart","api-clients/flutter/test/embedding_model_dto_test.dart","api-clients/flutter/test/generation_config_dto_test.dart","api-clients/flutter/test/health_api_test.dart","api-clients/flutter/test/knowledge_api_test.dart","api-clients/flutter/test/knowledge_base_response_dto_test.dart","api-clients/flutter/test/knowledge_document_list_response_dto_test.dart","api-clients/flutter/test/knowledge_document_response_dto_test.dart","api-clients/flutter/test/login_dto_test.dart","api-clients/flutter/test/match_contact_dto_test.dart","api-clients/flutter/test/match_contact_response_dto_test.dart","api-clients/flutter/test/mobile_compat_api_test.dart","api-clients/flutter/test/pinyin_api_test.dart","api-clients/flutter/test/pipeline_health_dto_test.dart","api-clients/flutter/test/pipeline_metrics_dto_test.dart","api-clients/flutter/test/preview_chunking_dto_test.dart","api-clients/flutter/test/qwen_model_config_dto_test.dart","api-clients/flutter/test/qwen_model_features_dto_test.dart","api-clients/flutter/test/rag_api_test.dart","api-clients/flutter/test/rag_config_dto_test.dart","api-clients/flutter/test/rag_metrics_dto_test.dart","api-clients/flutter/test/rag_pipeline_status_dto_test.dart","api-clients/flutter/test/rag_query_dto_test.dart","api-clients/flutter/test/rebuild_index_dto_test.dart","api-clients/flutter/test/refresh_token_dto_test.dart","api-clients/flutter/test/retrieval_config_dto_test.dart","api-clients/flutter/test/settings_api_test.dart","api-clients/flutter/test/sync_contacts_dto_test.dart","api-clients/flutter/test/sync_contacts_response_dto_test.dart","api-clients/flutter/test/teams_api_test.dart","api-clients/flutter/test/toggle_qwen_model_dto_test.dart","api-clients/flutter/test/update_contact_dto_test.dart","api-clients/flutter/test/update_knowledge_base_dto_test.dart","api-clients/flutter/test/update_knowledge_document_dto_test.dart","api-clients/flutter/test/update_qwen_model_dto_test.dart","api-clients/flutter/test/update_rag_config_dto_test.dart","api-clients/flutter/test/usage_api_test.dart","api-clients/flutter/test/weather_api_test.dart","api-clients/ios/.gitignore","api-clients/ios/.openapi-generator-ignore","api-clients/ios/.openapi-generator/FILES","api-clients/ios/.openapi-generator/VERSION","api-clients/ios/.swiftformat","api-clients/ios/Cartfile","api-clients/ios/HaizhanAPI.podspec","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIHelper.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/AiConfigAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/AuditLogsAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/AuthAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/ContactsAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/DefaultAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/HealthAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/KnowledgeAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/MobileCompatAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/PinyinAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/RagAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/SettingsAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/TeamsAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/UsageAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/WeatherAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/CodableHelper.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Configuration.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Extensions.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/JSONDataEncoding.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/JSONEncodingHelper.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/AdminLoginDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/BatchRemoveContactsDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ChunkingConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/Contact360ResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/Contact360ViewDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactDetailResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactEventDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactListResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactProfileDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactStatsDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactTagDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ConversationSummaryDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/CreateContactDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/CreateContactEventDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/CreateKnowledgeBaseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/CreateKnowledgeDocumentDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/CreateQwenModelDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/EmbeddingConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/EmbeddingModelDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/GenerationConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/KnowledgeBaseResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/KnowledgeDocumentListResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/KnowledgeDocumentResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/LoginDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/MatchContactDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/MatchContactResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/PipelineHealthDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/PipelineMetricsDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/PreviewChunkingDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/QwenModelConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/QwenModelFeaturesDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RagConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RagMetricsDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RagPipelineStatusDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RagQueryDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RebuildIndexDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RefreshTokenDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RetrievalConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/SyncContactsDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/SyncContactsResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ToggleQwenModelDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/UpdateContactDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/UpdateKnowledgeBaseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/UpdateKnowledgeDocumentDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/UpdateQwenModelDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/UpdateRagConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/OpenISO8601DateFormatter.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/SynchronizedDictionary.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/URLSessionImplementations.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Validation.swift","api-clients/ios/Package.swift","api-clients/ios/README.md","api-clients/ios/docs/AdminLoginDto.md","api-clients/ios/docs/AiConfigAPI.md","api-clients/ios/docs/AuditLogsAPI.md","api-clients/ios/docs/AuthAPI.md","api-clients/ios/docs/BatchRemoveContactsDto.md","api-clients/ios/docs/ChunkingConfigDto.md","api-clients/ios/docs/Contact360ResponseDto.md","api-clients/ios/docs/Contact360ViewDto.md","api-clients/ios/docs/ContactDetailResponseDto.md","api-clients/ios/docs/ContactDto.md","api-clients/ios/docs/ContactEventDto.md","api-clients/ios/docs/ContactListResponseDto.md","api-clients/ios/docs/ContactProfileDto.md","api-clients/ios/docs/ContactStatsDto.md","api-clients/ios/docs/ContactTagDto.md","api-clients/ios/docs/ContactsAPI.md","api-clients/ios/docs/ConversationSummaryDto.md","api-clients/ios/docs/CreateContactDto.md","api-clients/ios/docs/CreateContactEventDto.md","api-clients/ios/docs/CreateKnowledgeBaseDto.md","api-clients/ios/docs/CreateKnowledgeDocumentDto.md","api-clients/ios/docs/CreateQwenModelDto.md","api-clients/ios/docs/DefaultAPI.md","api-clients/ios/docs/EmbeddingConfigDto.md","api-clients/ios/docs/EmbeddingModelDto.md","api-clients/ios/docs/GenerationConfigDto.md","api-clients/ios/docs/HealthAPI.md","api-clients/ios/docs/KnowledgeAPI.md","api-clients/ios/docs/KnowledgeBaseResponseDto.md","api-clients/ios/docs/KnowledgeDocumentListResponseDto.md","api-clients/ios/docs/KnowledgeDocumentResponseDto.md","api-clients/ios/docs/LoginDto.md","api-clients/ios/docs/MatchContactDto.md","api-clients/ios/docs/MatchContactResponseDto.md","api-clients/ios/docs/MobileCompatAPI.md","api-clients/ios/docs/PinyinAPI.md","api-clients/ios/docs/PipelineHealthDto.md","api-clients/ios/docs/PipelineMetricsDto.md","api-clients/ios/docs/PreviewChunkingDto.md","api-clients/ios/docs/QwenModelConfigDto.md","api-clients/ios/docs/QwenModelFeaturesDto.md","api-clients/ios/docs/RagAPI.md","api-clients/ios/docs/RagConfigDto.md","api-clients/ios/docs/RagMetricsDto.md","api-clients/ios/docs/RagPipelineStatusDto.md","api-clients/ios/docs/RagQueryDto.md","api-clients/ios/docs/RebuildIndexDto.md","api-clients/ios/docs/RefreshTokenDto.md","api-clients/ios/docs/RetrievalConfigDto.md","api-clients/ios/docs/SettingsAPI.md","api-clients/ios/docs/SyncContactsDto.md","api-clients/ios/docs/SyncContactsResponseDto.md","api-clients/ios/docs/TeamsAPI.md","api-clients/ios/docs/ToggleQwenModelDto.md","api-clients/ios/docs/UpdateContactDto.md","api-clients/ios/docs/UpdateKnowledgeBaseDto.md","api-clients/ios/docs/UpdateKnowledgeDocumentDto.md","api-clients/ios/docs/UpdateQwenModelDto.md","api-clients/ios/docs/UpdateRagConfigDto.md","api-clients/ios/docs/UsageAPI.md","api-clients/ios/docs/WeatherAPI.md","api-clients/ios/git_push.sh","api-clients/ios/project.yml","app/build.gradle.kts","app/proguard-rules-release.pro","app/proguard-rules.pro","app/src/androidTest/java/com/haizhan/ime/ComposeUiTest.kt","app/src/androidTest/java/com/haizhan/ime/ExampleInstrumentedTest.kt","app/src/androidTest/java/com/haizhan/ime/e2e/SmokeE2ETest.kt","app/src/androidTest/java/com/haizhan/ime/integration/ImeIntegrationTest.kt","app/src/main/AndroidManifest.xml","app/src/main/assets/dictionaries/stroke-data.txt","app/src/main/assets/handwriting_labels.txt","app/src/main/assets/handwriting_labels_casia.txt","app/src/main/assets/handwriting_labels_clean.txt","app/src/main/assets/handwriting_labels_jp.txt","app/src/main/assets/paddle_models/handwriting_labels.txt","app/src/main/assets/paddle_models/ppocr_keys_v1.txt","app/src/main/assets/temp_clean.txt","app/src/main/assets/temp_labels.txt","app/src/main/java/com/haizhan/ime/HaizhanApplication.kt","app/src/main/java/com/haizhan/ime/about/ui/AboutScreen.kt","app/src/main/java/com/haizhan/ime/chat/model/Message.kt","app/src/main/java/com/haizhan/ime/chat/service/WebSocketService.kt","app/src/main/java/com/haizhan/ime/chat/ui/ChatMessageCard.kt","app/src/main/java/com/haizhan/ime/chat/ui/ChatScreen.kt","app/src/main/java/com/haizhan/ime/chat/ui/GroupChatScreen.kt","app/src/main/java/com/haizhan/ime/feedback/ui/FeedbackScreen.kt","app/src/main/java/com/haizhan/ime/help/ui/HelpCenterScreen.kt","app/src/main/java/com/haizhan/ime/note/model/Note.kt","app/src/main/java/com/haizhan/ime/note/service/NoteService.kt","app/src/main/java/com/haizhan/ime/note/ui/NoteEditorScreen.kt","app/src/main/java/com/haizhan/ime/note/ui/NoteListScreen.kt","app/src/main/java/com/haizhan/ime/profile/model/Profile.kt","app/src/main/java/com/haizhan/ime/profile/ui/ProfileScreen.kt","app/src/main/java/com/haizhan/ime/receiver/BootReceiver.kt","app/src/main/java/com/haizhan/ime/search/model/Search.kt","app/src/main/java/com/haizhan/ime/search/service/SearchService.kt","app/src/main/java/com/haizhan/ime/search/ui/GlobalSearchScreen.kt","app/src/main/java/com/haizhan/ime/security/EncryptionManager.kt","app/src/main/java/com/haizhan/ime/security/NetworkSecurityManager.kt","app/src/main/java/com/haizhan/ime/security/PrivacyComplianceManager.kt","app/src/main/java/com/haizhan/ime/security/SecurityAuditor.kt","app/src/main/java/com/haizhan/ime/service/AiProcessingService.kt","app/src/main/java/com/haizhan/ime/service/ContextCollector.kt","app/src/main/java/com/haizhan/ime/service/DataSyncService.kt","app/src/main/java/com/haizhan/ime/service/HaizhanInputMethodService.kt","app/src/main/java/com/haizhan/ime/service/InputTypeAnalysis.kt","app/src/main/java/com/haizhan/ime/service/KeyboardContentView.kt","app/src/main/java/com/haizhan/ime/service/OcrCaptureService.kt","app/src/main/java/com/haizhan/ime/service/VoiceInputDelegate.kt","app/src/main/java/com/haizhan/ime/session/model/Session.kt","app/src/main/java/com/haizhan/ime/session/service/SessionService.kt","app/src/main/java/com/haizhan/ime/session/ui/MessageCenterScreen.kt","app/src/main/java/com/haizhan/ime/session/ui/SessionCard.kt","app/src/main/java/com/haizhan/ime/session/ui/SessionListScreen.kt","app/src/main/java/com/haizhan/ime/stability/AnrWatchdog.kt","app/src/main/java/com/haizhan/ime/stability/CrashHandler.kt","app/src/main/java/com/haizhan/ime/stability/MemoryLeakDetector.kt","app/src/main/java/com/haizhan/ime/stability/StabilityManager.kt","app/src/main/java/com/haizhan/ime/statistics/model/Statistics.kt","app/src/main/java/com/haizhan/ime/statistics/ui/ChartComponents.kt","app/src/main/java/com/haizhan/ime/statistics/ui/StatisticsScreen.kt","app/src/main/java/com/haizhan/ime/subscription/model/Subscription.kt","app/src/main/java/com/haizhan/ime/subscription/service/SubscriptionService.kt","app/src/main/java/com/haizhan/ime/subscription/ui/SubscriptionScreen.kt","app/src/main/java/com/haizhan/ime/sync/ContactSyncTaskAdapter.kt","app/src/main/java/com/haizhan/ime/sync/KnowledgeSyncTaskAdapter.kt","app/src/main/java/com/haizhan/ime/sync/SyncContracts.kt","app/src/main/java/com/haizhan/ime/sync/SyncCoordinator.kt","app/src/main/java/com/haizhan/ime/sync/SyncScheduler.kt","app/src/main/java/com/haizhan/ime/team/model/Team.kt","app/src/main/java/com/haizhan/ime/team/service/TeamService.kt","app/src/main/java/com/haizhan/ime/team/ui/TeamScreen.kt","app/src/main/java/com/haizhan/ime/template/data/B2BTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/ClosingTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/CoreSalesTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/DailyTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/DefaultTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/FollowUpTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/QuickPhraseDefaults.kt","app/src/main/java/com/haizhan/ime/template/data/SeasonalTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/TemplateDatabase.kt","app/src/main/java/com/haizhan/ime/template/data/TemplateImporter.kt","app/src/main/java/com/haizhan/ime/template/data/TemplateRepository.kt","app/src/main/java/com/haizhan/ime/template/di/TemplateModule.kt","app/src/main/java/com/haizhan/ime/template/model/Template.kt","app/src/main/java/com/haizhan/ime/template/service/TemplateService.kt","app/src/main/java/com/haizhan/ime/template/ui/FolderManagementDialog.kt","app/src/main/java/com/haizhan/ime/template/ui/TemplateListScreen.kt","app/src/main/java/com/haizhan/ime/template/ui/TemplateViewModel.kt","app/src/main/java/com/haizhan/ime/ui/MainActivity.kt","app/src/main/java/com/haizhan/ime/ui/management/DictionaryImportActivity.kt","app/src/main/java/com/haizhan/ime/ui/management/DictionaryImportScreen.kt","app/src/main/java/com/haizhan/ime/ui/management/DictionaryImportViewModel.kt","app/src/main/java/com/haizhan/ime/ui/management/DictionaryScreen.kt","app/src/main/java/com/haizhan/ime/ui/management/ManagementActivity.kt","app/src/main/java/com/haizhan/ime/ui/management/ManagementViewModel.kt","app/src/main/java/com/haizhan/ime/ui/management/PermissionScreen.kt","app/src/main/java/com/haizhan/ime/ui/management/SettingsScreen.kt","app/src/main/java/com/haizhan/ime/ui/permission/ScreenshotPermissionActivity.kt","app/src/main/java/com/haizhan/ime/ui/settings/ImeSettingsActivity.kt","app/src/main/java/com/haizhan/ime/ui/settings/SettingsViewModel.kt","app/src/main/java/com/haizhan/ime/ui/theme/Theme.kt","app/src/main/java/com/haizhan/ime/ui/theme/Type.kt","app/src/main/java/com/haizhan/ime/ux/AccessibilityHelper.kt","app/src/main/java/com/haizhan/ime/ux/AnimationUtils.kt","app/src/main/java/com/haizhan/ime/ux/ErrorHandler.kt","app/src/main/java/com/haizhan/ime/ux/OnboardingScreen.kt","app/src/main/java/com/haizhan/ime/ux/StartupOptimizer.kt","app/src/main/java/com/haizhan/ime/voice/service/VoiceService.kt","app/src/main/java/com/haizhan/ime/voice/ui/VoiceInputScreen.kt","app/src/main/res/drawable/ic_launcher_background.xml","app/src/main/res/drawable/ic_launcher_foreground.xml","app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml","app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml","app/src/main/res/values-night/colors.xml","app/src/main/res/values/colors.xml","app/src/main/res/values/strings.xml","app/src/main/res/values/themes.xml","app/src/main/res/xml/backup_rules.xml","app/src/main/res/xml/data_extraction_rules.xml","app/src/main/res/xml/file_paths.xml","app/src/main/res/xml/method.xml","app/src/main/res/xml/network_security_config.xml","app/src/test/java/com/haizhan/ime/ExampleUnitTest.kt","app/src/test/java/com/haizhan/ime/app/service/NotificationServiceTest.kt","app/src/test/java/com/haizhan/ime/app/service/SearchServiceTest.kt","app/src/test/java/com/haizhan/ime/app/service/SessionServiceTest.kt","app/src/test/java/com/haizhan/ime/app/service/SyncServiceTest.kt","app/src/test/java/com/haizhan/ime/app/service/WebSocketServiceTest.kt","app/src/test/java/com/haizhan/ime/benchmark/PerformanceBenchmarkTest.kt","app/src/test/java/com/haizhan/ime/security/EncryptionManagerTest.kt","app/src/test/java/com/haizhan/ime/security/PrivacyComplianceManagerTest.kt","app/src/test/java/com/haizhan/ime/security/SecurityAuditorTest.kt","app/src/test/java/com/haizhan/ime/service/HaizhanInputMethodServiceTest.kt","app/src/test/java/com/haizhan/ime/services/AiProcessingServiceTest.kt","app/src/test/java/com/haizhan/ime/services/NoteServiceTest.kt","app/src/test/java/com/haizhan/ime/services/OcrCaptureServiceTest.kt","app/src/test/java/com/haizhan/ime/services/SubscriptionServiceTest.kt","app/src/test/java/com/haizhan/ime/services/TeamServiceTest.kt","app/src/test/java/com/haizhan/ime/services/TemplateServiceTest.kt","app/src/test/java/com/haizhan/ime/services/VoiceServiceTest.kt","app/src/test/java/com/haizhan/ime/ui/management/ManagementViewModelTest.kt","app/src/test/java/com/haizhan/ime/ui/settings/SettingsViewModelTest.kt","app/src/test/java/com/haizhan/ime/ux/ErrorHandlerTest.kt","app/src/test/java/com/haizhan/ime/ux/StartupOptimizerTest.kt","app/src/test/java/com/haizhan/ime/viewmodel/DictionaryImportViewModelTest.kt","app/src/test/java/com/haizhan/ime/viewmodel/TemplateViewModelTest.kt","build.gradle.kts","common/build.gradle.kts","common/consumer-rules.pro","common/proguard-rules.pro","common/src/main/AndroidManifest.xml","common/src/main/java/com/haizhan/ime/common/ext/ContextExt.kt","common/src/main/java/com/haizhan/ime/common/ext/FlowExt.kt","common/src/main/java/com/haizhan/ime/common/ext/StringExt.kt","common/src/main/java/com/haizhan/ime/common/performance/ImePerformanceTracker.kt","common/src/main/java/com/haizhan/ime/common/theme/DesignTokens.kt","common/src/main/java/com/haizhan/ime/common/theme/KeyboardTheme.kt","common/src/main/java/com/haizhan/ime/common/util/DeviceUtils.kt","common/src/main/java/com/haizhan/ime/common/util/Logger.kt","common/src/main/java/com/haizhan/ime/common/util/LruCache.kt","common/src/main/java/com/haizhan/ime/common/util/MemoryMonitor.kt","common/src/test/java/com/haizhan/ime/common/StringExtTest.kt","common/src/test/java/com/haizhan/ime/common/ext/ResultTest.kt","common/src/test/java/com/haizhan/ime/common/util/DateUtilsTest.kt","common/src/test/java/com/haizhan/ime/common/util/LoggerTest.kt","common/src/test/java/com/haizhan/ime/common/util/MemoryStatsTest.kt","common/src/test/java/com/haizhan/ime/common/util/PinyinUtilsTest.kt","common/src/test/java/com/haizhan/ime/common/util/TextUtilsTest.kt","config/detekt/detekt.yml","data/build.gradle.kts","data/consumer-rules.pro","data/dictionaries/dictionary.config.json","data/dictionaries/fallback-words.txt","data/dictionaries/sensitive-words.txt","data/dictionaries/system/char-single.txt","data/dictionaries/system/core-char.txt","data/dictionaries/system/core-phrase.txt","data/dictionaries/system/core-word2.txt","data/dictionaries/system/core-word3.txt","data/dictionaries/system/core-word4.txt","data/dictionaries/system/idiom.txt","data/dictionaries/system/name-place.txt","data/dictionaries/system/word-common.txt","data/proguard-rules.pro","data/schemas/com.haizhan.ime.data.local.database.HaizhanDatabase/1.json","data/schemas/com.haizhan.ime.data.local.database.HaizhanDatabase/2.json","data/schemas/com.haizhan.ime.data.local.database.HaizhanDatabase/3.json","data/schemas/com.haizhan.ime.data.local.database.HaizhanDatabase/4.json","data/src/main/AndroidManifest.xml","data/src/main/java/com/haizhan/ime/data/auth/AuthInterceptor.kt","data/src/main/java/com/haizhan/ime/data/auth/AuthManager.kt","data/src/main/java/com/haizhan/ime/data/di/DataModule.kt","data/src/main/java/com/haizhan/ime/data/di/DatabaseModule.kt","data/src/main/java/com/haizhan/ime/data/di/NetworkModule.kt","data/src/main/java/com/haizhan/ime/data/di/RepositoryModule.kt","data/src/main/java/com/haizhan/ime/data/local/dao/ContactDao.kt","data/src/main/java/com/haizhan/ime/data/local/dao/KnowledgeDao.kt","data/src/main/java/com/haizhan/ime/data/local/dao/MessageDao.kt","data/src/main/java/com/haizhan/ime/data/local/dao/NoteDao.kt","data/src/main/java/com/haizhan/ime/data/local/dao/SearchDao.kt","data/src/main/java/com/haizhan/ime/data/local/dao/UserDictDao.kt","data/src/main/java/com/haizhan/ime/data/local/database/Converters.kt","data/src/main/java/com/haizhan/ime/data/local/database/HaizhanDatabase.kt","data/src/main/java/com/haizhan/ime/data/local/database/SecureDatabaseFactory.kt","data/src/main/java/com/haizhan/ime/data/local/entity/ContactEntity.kt","data/src/main/java/com/haizhan/ime/data/local/entity/KnowledgeEntity.kt","data/src/main/java/com/haizhan/ime/data/local/entity/MessageEntity.kt","data/src/main/java/com/haizhan/ime/data/local/entity/NoteEntity.kt","data/src/main/java/com/haizhan/ime/data/local/entity/SearchEntity.kt","data/src/main/java/com/haizhan/ime/data/local/entity/UserDictEntity.kt","data/src/main/java/com/haizhan/ime/data/remote/adapter/FlexibleTimestampAdapter.kt","data/src/main/java/com/haizhan/ime/data/remote/aliyun/AliyunSearchClient.kt","data/src/main/java/com/haizhan/ime/data/remote/aliyun/AliyunSearchConfig.kt","data/src/main/java/com/haizhan/ime/data/remote/aliyun/AliyunSearchConfigProvider.kt","data/src/main/java/com/haizhan/ime/data/remote/api/AuthApi.kt","data/src/main/java/com/haizhan/ime/data/remote/api/ContactApi.kt","data/src/main/java/com/haizhan/ime/data/remote/api/HaizhanApi.kt","data/src/main/java/com/haizhan/ime/data/remote/api/PinyinApi.kt","data/src/main/java/com/haizhan/ime/data/remote/api/RagSearchApi.kt","data/src/main/java/com/haizhan/ime/data/remote/api/ReplyApi.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/AiDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/AuthDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/CommonDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/ContactDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/KnowledgeDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/MemoryDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/MessageDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/NoteDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/ProfileDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/RagSearchDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/SearchDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/TeamDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/WeatherDto.kt","data/src/main/java/com/haizhan/ime/data/repository/ContactRepository.kt","data/src/main/java/com/haizhan/ime/data/repository/KnowledgeRepository.kt","data/src/main/java/com/haizhan/ime/data/repository/MessageRepository.kt","data/src/main/java/com/haizhan/ime/data/repository/RagSearchRepository.kt","data/src/main/java/com/haizhan/ime/data/repository/SettingsRepository.kt","data/src/main/java/com/haizhan/ime/data/repository/mapper/ContactMapper.kt","data/src/main/java/com/haizhan/ime/data/repository/mapper/KnowledgeMapper.kt","data/src/main/java/com/haizhan/ime/data/repository/mapper/MessageMapper.kt","data/src/main/java/com/haizhan/ime/data/repository/model/Contact.kt","data/src/main/java/com/haizhan/ime/data/repository/model/Knowledge.kt","data/src/main/java/com/haizhan/ime/data/repository/model/Message.kt","data/src/test/java/com/haizhan/ime/data/auth/AuthInterceptorTest.kt","data/src/test/java/com/haizhan/ime/data/auth/AuthManagerTest.kt","data/src/test/java/com/haizhan/ime/data/auth/AuthTypesTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/ContactDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/KnowledgeDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/MessageDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/NoteDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/SearchDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/UserDictDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/UserPreferencesDaoTest.kt","data/src/test/java/com/haizhan/ime/data/remote/api/HaizhanApiTest.kt","data/src/test/java/com/haizhan/ime/data/remote/dto/ContactDtoTest.kt","data/src/test/java/com/haizhan/ime/data/repository/ContactRepositoryTest.kt","data/src/test/java/com/haizhan/ime/data/repository/KnowledgeRepositoryTest.kt","data/src/test/java/com/haizhan/ime/data/repository/MessageRepositoryTest.kt","data/src/test/java/com/haizhan/ime/data/repository/SettingsRepositoryTest.kt","data/src/test/java/com/haizhan/ime/data/repository/mapper/ContactMapperTest.kt","data/src/test/java/com/haizhan/ime/data/repository/mapper/KnowledgeMapperTest.kt","data/src/test/java/com/haizhan/ime/data/repository/mapper/MessageMapperTest.kt","designs/exports/CLAUDE_CODE_DESIGN_GUIDE.md","designs/exports/DESIGN_MANIFEST.md","designs/exports/svg/Frame.svg","designs/exports/svg/P2-关于.svg","designs/exports/svg/P2-协议条款.svg","designs/exports/svg/P2-帮助中心.svg","designs/exports/svg/P2-意见反馈.svg","designs/exports/svg/P2-版本更新.svg","designs/exports/svg/__设计系统_-_组件库.svg","designs/exports/svg/功能面板_-_OCR识别.svg","designs/exports/svg/功能面板_-_历史.svg","designs/exports/svg/功能面板_-_团队.svg","designs/exports/svg/功能面板_-_知识库.svg","designs/exports/svg/功能面板_-_笔记.svg","designs/exports/svg/功能面板_-_联系人.svg","designs/exports/svg/嗨赞AI助手_-_AI回复选择.svg","designs/exports/svg/嗨赞AI助手_-_OCR结果确认.svg","designs/exports/svg/嗨赞AI助手_-_个人中心.svg","designs/exports/svg/嗨赞AI助手_-_主应用首页.svg","designs/exports/svg/嗨赞AI助手_-_主键盘界面.svg","designs/exports/svg/嗨赞AI助手_-_主键盘界面__深色_.svg","designs/exports/svg/嗨赞AI助手_-_交互式笔记.svg","designs/exports/svg/嗨赞AI助手_-_会员订阅.svg","designs/exports/svg/嗨赞AI助手_-_会话列表.svg","designs/exports/svg/嗨赞AI助手_-_单聊IM.svg","designs/exports/svg/嗨赞AI助手_-_历史记录页面.svg","designs/exports/svg/嗨赞AI助手_-_引导页1.svg","designs/exports/svg/嗨赞AI助手_-_引导页2.svg","designs/exports/svg/嗨赞AI助手_-_引导页3.svg","designs/exports/svg/嗨赞AI助手_-_忘记密码.svg","designs/exports/svg/嗨赞AI助手_-_我的页面.svg","designs/exports/svg/嗨赞AI助手_-_搜索.svg","designs/exports/svg/嗨赞AI助手_-_数据统计.svg","designs/exports/svg/嗨赞AI助手_-_新建联系人.svg","designs/exports/svg/嗨赞AI助手_-_注册页面.svg","designs/exports/svg/嗨赞AI助手_-_消息中心.svg","designs/exports/svg/嗨赞AI助手_-_登录页面.svg","designs/exports/svg/嗨赞AI助手_-_知识库列表.svg","designs/exports/svg/嗨赞AI助手_-_知识库详情.svg","designs/exports/svg/嗨赞AI助手_-_编辑个人信息.svg","designs/exports/svg/嗨赞AI助手_-_群聊IM.svg","designs/exports/svg/嗨赞AI助手_-_联系人列表.svg","designs/exports/svg/嗨赞AI助手_-_联系人详情.svg","designs/exports/svg/嗨赞AI助手_-_设置.svg","designs/exports/svg/嗨赞AI助手_-_设置页面.svg","designs/exports/svg/嗨赞AI助手_-_话术模板.svg","designs/exports/svg/嗨赞AI助手_-_话术模板详情.svg","designs/exports/svg/微交互规范文档.svg","designs/exports/svg/组件_-_悬浮球状态.svg","designs/exports/svg/组件_-_拼音候选词展开.svg","designs/exports/svg/组件_-_空状态.svg","designs/exports/svg/组件_-_语音输入状态.svg","designs/exports/svg/组件_-_错误状态.svg","designs/mobile-keyboard-design.md","designs/specs/COMPONENT_SPEC.md","designs/specs/KEYBOARD_DESIGN_SPEC.md","designs/specs/README.md","designs/specs/design-tokens.json","designs/templates/android/DesignTokens.kt","designs/templates/android/KeyboardTheme.kt","designs/templates/ios/DesignTokens.swift","designs/templates/ios/KeyboardTheme.swift","designs/嗨赞输入法.pen","docs/ANDROID_DEVELOPMENT.md","docs/API.md","docs/ARCHITECTURE.md","docs/BACKEND_API_REQUIREMENTS.md","docs/BACKEND_DESIGN.md","docs/CI_CD_PIPELINE.md","docs/CODING_STANDARDS.md","docs/COMPLETE_FEATURE_SPEC.md","docs/DATABASE.md","docs/DEPLOYMENT.md","docs/DESIGN_TO_DEV_SPEC.md","docs/DEVELOPMENT_GUIDE.md","docs/DEVELOPMENT_PLAN.md","docs/DOCS_SYNC.md","docs/ERROR_HANDLING.md","docs/FEATURE_ANALYSIS.md","docs/FLUTTER_DEVELOPMENT.md","docs/FRONTEND_DEV_REQUIREMENTS.md","docs/HANDWRITING_MODEL_UPGRADE.md","docs/IOS_DEVELOPMENT.md","docs/KMP_DEVELOPMENT.md","docs/LOGGING_STANDARDS.md","docs/MILESTONES.md","docs/MODULE_ANALYSIS.md","docs/MODULE_LIST.md","docs/PERFORMANCE_OPTIMIZATION.md","docs/PNPM_MIGRATION_NOTICE.md","docs/PRD.md","docs/PRIVACY_POLICY.md","docs/PRODUCT_ARCHITECTURE.md","docs/Phase_11_12_Final_Report.md","docs/RELEASE_CHECKLIST.md","docs/SECURITY_AUDIT.md","docs/SECURITY_GUIDELINES.md","docs/STORE_LISTING.md","docs/SYSTEM_ARCHITECTURE.md","docs/TASKS.md","docs/TECH_STACK.md","docs/TESTING_STRATEGY.md","docs/USER_MANUAL.md","docs/VOICE_API_DOCUMENTATION.md","docs/VOICE_MODULE_MIGRATION.md","docs/openapi.json","docs/skills/anthropic-official/.claude-plugin/marketplace.json","docs/skills/anthropic-official/.gitignore","docs/skills/anthropic-official/README.md","docs/skills/anthropic-official/THIRD_PARTY_NOTICES.md","docs/skills/anthropic-official/skills/algorithmic-art/LICENSE.txt","docs/skills/anthropic-official/skills/algorithmic-art/SKILL.md","docs/skills/anthropic-official/skills/algorithmic-art/templates/generator_template.js","docs/skills/anthropic-official/skills/algorithmic-art/templates/viewer.html","docs/skills/anthropic-official/skills/brand-guidelines/LICENSE.txt","docs/skills/anthropic-official/skills/brand-guidelines/SKILL.md","docs/skills/anthropic-official/skills/canvas-design/LICENSE.txt","docs/skills/anthropic-official/skills/canvas-design/SKILL.md","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/ArsenalSC-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BigShoulders-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BigShoulders-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BigShoulders-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Boldonse-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Boldonse-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/CrimsonPro-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/DMMono-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/DMMono-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/EricaOne-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/EricaOne-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/GeistMono-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/GeistMono-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/GeistMono-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Gloock-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Gloock-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSans-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Italiana-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Italiana-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Jura-Light.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Jura-Medium.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Jura-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Lora-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Lora-BoldItalic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Lora-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Lora-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Lora-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/NationalPark-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/NationalPark-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/NationalPark-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Outfit-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Outfit-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Outfit-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/PixelifySans-Medium.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/PixelifySans-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/PoiretOne-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/PoiretOne-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/RedHatMono-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/RedHatMono-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/RedHatMono-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Silkscreen-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Silkscreen-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/SmoochSans-Medium.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/SmoochSans-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Tektur-Medium.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Tektur-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Tektur-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/WorkSans-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/WorkSans-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/WorkSans-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/WorkSans-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/YoungSerif-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/YoungSerif-Regular.ttf","docs/skills/anthropic-official/skills/doc-coauthoring/SKILL.md","docs/skills/anthropic-official/skills/docx/LICENSE.txt","docs/skills/anthropic-official/skills/docx/SKILL.md","docs/skills/anthropic-official/skills/docx/docx-js.md","docs/skills/anthropic-official/skills/docx/ooxml.md","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/mce/mc.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-2010.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-2012.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-2018.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd","docs/skills/anthropic-official/skills/docx/ooxml/scripts/pack.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/unpack.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validate.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validation/__init__.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validation/base.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validation/docx.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validation/pptx.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validation/redlining.py","docs/skills/anthropic-official/skills/docx/scripts/__init__.py","docs/skills/anthropic-official/skills/docx/scripts/document.py","docs/skills/anthropic-official/skills/docx/scripts/templates/comments.xml","docs/skills/anthropic-official/skills/docx/scripts/templates/commentsExtended.xml","docs/skills/anthropic-official/skills/docx/scripts/templates/commentsExtensible.xml","docs/skills/anthropic-official/skills/docx/scripts/templates/commentsIds.xml","docs/skills/anthropic-official/skills/docx/scripts/templates/people.xml","docs/skills/anthropic-official/skills/docx/scripts/utilities.py","docs/skills/anthropic-official/skills/frontend-design/LICENSE.txt","docs/skills/anthropic-official/skills/frontend-design/SKILL.md","docs/skills/anthropic-official/skills/internal-comms/LICENSE.txt","docs/skills/anthropic-official/skills/internal-comms/SKILL.md","docs/skills/anthropic-official/skills/internal-comms/examples/3p-updates.md","docs/skills/anthropic-official/skills/internal-comms/examples/company-newsletter.md","docs/skills/anthropic-official/skills/internal-comms/examples/faq-answers.md","docs/skills/anthropic-official/skills/internal-comms/examples/general-comms.md","docs/skills/anthropic-official/skills/mcp-builder/LICENSE.txt","docs/skills/anthropic-official/skills/mcp-builder/SKILL.md","docs/skills/anthropic-official/skills/mcp-builder/reference/evaluation.md","docs/skills/anthropic-official/skills/mcp-builder/reference/mcp_best_practices.md","docs/skills/anthropic-official/skills/mcp-builder/reference/node_mcp_server.md","docs/skills/anthropic-official/skills/mcp-builder/reference/python_mcp_server.md","docs/skills/anthropic-official/skills/mcp-builder/scripts/connections.py","docs/skills/anthropic-official/skills/mcp-builder/scripts/evaluation.py","docs/skills/anthropic-official/skills/mcp-builder/scripts/example_evaluation.xml","docs/skills/anthropic-official/skills/mcp-builder/scripts/requirements.txt","docs/skills/anthropic-official/skills/pdf/LICENSE.txt","docs/skills/anthropic-official/skills/pdf/SKILL.md","docs/skills/anthropic-official/skills/pdf/forms.md","docs/skills/anthropic-official/skills/pdf/reference.md","docs/skills/anthropic-official/skills/pdf/scripts/check_bounding_boxes.py","docs/skills/anthropic-official/skills/pdf/scripts/check_bounding_boxes_test.py","docs/skills/anthropic-official/skills/pdf/scripts/check_fillable_fields.py","docs/skills/anthropic-official/skills/pdf/scripts/convert_pdf_to_images.py","docs/skills/anthropic-official/skills/pdf/scripts/create_validation_image.py","docs/skills/anthropic-official/skills/pdf/scripts/extract_form_field_info.py","docs/skills/anthropic-official/skills/pdf/scripts/fill_fillable_fields.py","docs/skills/anthropic-official/skills/pdf/scripts/fill_pdf_form_with_annotations.py","docs/skills/anthropic-official/skills/pptx/LICENSE.txt","docs/skills/anthropic-official/skills/pptx/SKILL.md","docs/skills/anthropic-official/skills/pptx/html2pptx.md","docs/skills/anthropic-official/skills/pptx/ooxml.md","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/mce/mc.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-2010.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-2012.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-2018.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/pack.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/unpack.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validate.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validation/__init__.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validation/base.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validation/docx.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validation/pptx.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validation/redlining.py","docs/skills/anthropic-official/skills/pptx/scripts/html2pptx.js","docs/skills/anthropic-official/skills/pptx/scripts/inventory.py","docs/skills/anthropic-official/skills/pptx/scripts/rearrange.py","docs/skills/anthropic-official/skills/pptx/scripts/replace.py","docs/skills/anthropic-official/skills/pptx/scripts/thumbnail.py","docs/skills/anthropic-official/skills/skill-creator/LICENSE.txt","docs/skills/anthropic-official/skills/skill-creator/SKILL.md","docs/skills/anthropic-official/skills/skill-creator/references/output-patterns.md","docs/skills/anthropic-official/skills/skill-creator/references/workflows.md","docs/skills/anthropic-official/skills/skill-creator/scripts/init_skill.py","docs/skills/anthropic-official/skills/skill-creator/scripts/package_skill.py","docs/skills/anthropic-official/skills/skill-creator/scripts/quick_validate.py","docs/skills/anthropic-official/skills/slack-gif-creator/LICENSE.txt","docs/skills/anthropic-official/skills/slack-gif-creator/SKILL.md","docs/skills/anthropic-official/skills/slack-gif-creator/core/easing.py","docs/skills/anthropic-official/skills/slack-gif-creator/core/frame_composer.py","docs/skills/anthropic-official/skills/slack-gif-creator/core/gif_builder.py","docs/skills/anthropic-official/skills/slack-gif-creator/core/validators.py","docs/skills/anthropic-official/skills/slack-gif-creator/requirements.txt","docs/skills/anthropic-official/skills/theme-factory/LICENSE.txt","docs/skills/anthropic-official/skills/theme-factory/SKILL.md","docs/skills/anthropic-official/skills/theme-factory/theme-showcase.pdf","docs/skills/anthropic-official/skills/theme-factory/themes/arctic-frost.md","docs/skills/anthropic-official/skills/theme-factory/themes/botanical-garden.md","docs/skills/anthropic-official/skills/theme-factory/themes/desert-rose.md","docs/skills/anthropic-official/skills/theme-factory/themes/forest-canopy.md","docs/skills/anthropic-official/skills/theme-factory/themes/golden-hour.md","docs/skills/anthropic-official/skills/theme-factory/themes/midnight-galaxy.md","docs/skills/anthropic-official/skills/theme-factory/themes/modern-minimalist.md","docs/skills/anthropic-official/skills/theme-factory/themes/ocean-depths.md","docs/skills/anthropic-official/skills/theme-factory/themes/sunset-boulevard.md","docs/skills/anthropic-official/skills/theme-factory/themes/tech-innovation.md","docs/skills/anthropic-official/skills/web-artifacts-builder/LICENSE.txt","docs/skills/anthropic-official/skills/web-artifacts-builder/SKILL.md","docs/skills/anthropic-official/skills/web-artifacts-builder/scripts/bundle-artifact.sh","docs/skills/anthropic-official/skills/web-artifacts-builder/scripts/init-artifact.sh","docs/skills/anthropic-official/skills/web-artifacts-builder/scripts/shadcn-components.tar.gz","docs/skills/anthropic-official/skills/webapp-testing/LICENSE.txt","docs/skills/anthropic-official/skills/webapp-testing/SKILL.md","docs/skills/anthropic-official/skills/webapp-testing/examples/console_logging.py","docs/skills/anthropic-official/skills/webapp-testing/examples/element_discovery.py","docs/skills/anthropic-official/skills/webapp-testing/examples/static_html_automation.py","docs/skills/anthropic-official/skills/webapp-testing/scripts/with_server.py","docs/skills/anthropic-official/skills/xlsx/LICENSE.txt","docs/skills/anthropic-official/skills/xlsx/SKILL.md","docs/skills/anthropic-official/skills/xlsx/recalc.py","docs/skills/anthropic-official/spec/agent-skills-spec.md","docs/skills/anthropic-official/template/SKILL.md","docs/skills/awesome-skills/.gitignore","docs/skills/awesome-skills/CONTRIBUTING.md","docs/skills/awesome-skills/README.md","docs/skills/backend-patterns/SKILL.md","docs/skills/clickhouse-io/SKILL.md","docs/skills/coding-standards/SKILL.md","docs/skills/continuous-learning/SKILL.md","docs/skills/continuous-learning/config.json","docs/skills/continuous-learning/evaluate-session.sh","docs/skills/daymade-skills/.claude-plugin/marketplace.json","docs/skills/daymade-skills/.github/ISSUE_TEMPLATE/bug_report.md","docs/skills/daymade-skills/.github/ISSUE_TEMPLATE/feature_request.md","docs/skills/daymade-skills/.github/PULL_REQUEST_TEMPLATE.md","docs/skills/daymade-skills/.gitignore","docs/skills/daymade-skills/AGENTS.md","docs/skills/daymade-skills/CHANGELOG.md","docs/skills/daymade-skills/CLAUDE.md","docs/skills/daymade-skills/CONTRIBUTING.md","docs/skills/daymade-skills/LICENSE","docs/skills/daymade-skills/QUICKSTART.md","docs/skills/daymade-skills/QUICKSTART.zh-CN.md","docs/skills/daymade-skills/README.md","docs/skills/daymade-skills/README.zh-CN.md","docs/skills/daymade-skills/claude-code-history-files-finder/.INTEGRATION_SUMMARY.md","docs/skills/daymade-skills/claude-code-history-files-finder/.security-scan-passed","docs/skills/daymade-skills/claude-code-history-files-finder/SKILL.md","docs/skills/daymade-skills/claude-code-history-files-finder/references/session_file_format.md","docs/skills/daymade-skills/claude-code-history-files-finder/references/workflow_examples.md","docs/skills/daymade-skills/claude-code-history-files-finder/scripts/analyze_sessions.py","docs/skills/daymade-skills/claude-code-history-files-finder/scripts/recover_content.py","docs/skills/daymade-skills/claude-md-progressive-disclosurer/.security-scan-passed","docs/skills/daymade-skills/claude-md-progressive-disclosurer/SKILL.md","docs/skills/daymade-skills/claude-md-progressive-disclosurer/references/progressive_disclosure_principles.md","docs/skills/daymade-skills/cli-demo-generator/SKILL.md","docs/skills/daymade-skills/cli-demo-generator/assets/examples/batch-config.yaml","docs/skills/daymade-skills/cli-demo-generator/assets/templates/basic.tape","docs/skills/daymade-skills/cli-demo-generator/assets/templates/interactive.tape","docs/skills/daymade-skills/cli-demo-generator/references/best_practices.md","docs/skills/daymade-skills/cli-demo-generator/references/vhs_syntax.md","docs/skills/daymade-skills/cli-demo-generator/scripts/auto_generate_demo.py","docs/skills/daymade-skills/cli-demo-generator/scripts/batch_generate.py","docs/skills/daymade-skills/cli-demo-generator/scripts/record_interactive.sh","docs/skills/daymade-skills/cloudflare-troubleshooting/SKILL.md","docs/skills/daymade-skills/cloudflare-troubleshooting/references/api_overview.md","docs/skills/daymade-skills/cloudflare-troubleshooting/references/common_issues.md","docs/skills/daymade-skills/cloudflare-troubleshooting/references/ssl_modes.md","docs/skills/daymade-skills/cloudflare-troubleshooting/scripts/check_cloudflare_config.py","docs/skills/daymade-skills/cloudflare-troubleshooting/scripts/fix_ssl_mode.py","docs/skills/daymade-skills/demos/README.md","docs/skills/daymade-skills/demos/cli-demo-generator/generate-demo.gif","docs/skills/daymade-skills/demos/cli-demo-generator/generate-demo.tape","docs/skills/daymade-skills/demos/generate_all_demos.sh","docs/skills/daymade-skills/demos/github-ops/create-pr.gif","docs/skills/daymade-skills/demos/github-ops/create-pr.tape","docs/skills/daymade-skills/demos/index.html","docs/skills/daymade-skills/demos/llm-icon-finder/find-icons.gif","docs/skills/daymade-skills/demos/llm-icon-finder/find-icons.tape","docs/skills/daymade-skills/demos/markdown-tools/convert-docs.gif","docs/skills/daymade-skills/demos/markdown-tools/convert-docs.tape","docs/skills/daymade-skills/demos/mermaid-tools/extract-diagrams.gif","docs/skills/daymade-skills/demos/mermaid-tools/extract-diagrams.tape","docs/skills/daymade-skills/demos/ppt-creator/create-presentation.gif","docs/skills/daymade-skills/demos/ppt-creator/create-presentation.tape","docs/skills/daymade-skills/demos/repomix-unmixer/extract-repo.gif","docs/skills/daymade-skills/demos/repomix-unmixer/extract-repo.tape","docs/skills/daymade-skills/demos/skill-creator/init-skill.gif","docs/skills/daymade-skills/demos/skill-creator/init-skill.tape","docs/skills/daymade-skills/demos/skill-creator/package-skill.gif","docs/skills/daymade-skills/demos/skill-creator/package-skill.tape","docs/skills/daymade-skills/demos/skill-creator/validate-skill.gif","docs/skills/daymade-skills/demos/skill-creator/validate-skill.tape","docs/skills/daymade-skills/demos/statusline-generator/customize-statusline.gif","docs/skills/daymade-skills/demos/statusline-generator/customize-statusline.tape","docs/skills/daymade-skills/demos/teams-channel-post-writer/write-post.gif","docs/skills/daymade-skills/demos/teams-channel-post-writer/write-post.tape","docs/skills/daymade-skills/demos/ui-designer/extract-design-system.gif","docs/skills/daymade-skills/demos/ui-designer/extract-design-system.tape","docs/skills/daymade-skills/demos/youtube-downloader/download-video.gif","docs/skills/daymade-skills/demos/youtube-downloader/download-video.tape","docs/skills/daymade-skills/docs-cleaner/.security-scan-passed","docs/skills/daymade-skills/docs-cleaner/SKILL.md","docs/skills/daymade-skills/docs-cleaner/references/value_analysis_template.md","docs/skills/daymade-skills/fact-checker/.security-scan-passed","docs/skills/daymade-skills/fact-checker/README.md","docs/skills/daymade-skills/fact-checker/SKILL.md","docs/skills/daymade-skills/github-contributor/.security-scan-passed","docs/skills/daymade-skills/github-contributor/SKILL.md","docs/skills/daymade-skills/github-contributor/references/communication_templates.md","docs/skills/daymade-skills/github-contributor/references/pr_checklist.md","docs/skills/daymade-skills/github-contributor/references/project_evaluation.md","docs/skills/daymade-skills/github-ops/SKILL.md","docs/skills/daymade-skills/github-ops/references/api_reference.md","docs/skills/daymade-skills/github-ops/references/best_practices.md","docs/skills/daymade-skills/github-ops/references/issue_operations.md","docs/skills/daymade-skills/github-ops/references/pr_operations.md","docs/skills/daymade-skills/github-ops/references/workflow_operations.md","docs/skills/daymade-skills/iOS-APP-developer/.security-scan-passed","docs/skills/daymade-skills/iOS-APP-developer/SKILL.md","docs/skills/daymade-skills/iOS-APP-developer/references/camera-avfoundation.md","docs/skills/daymade-skills/iOS-APP-developer/references/swiftui-compatibility.md","docs/skills/daymade-skills/iOS-APP-developer/references/testing-mainactor.md","docs/skills/daymade-skills/iOS-APP-developer/references/xcodegen-full.md","docs/skills/daymade-skills/llm-icon-finder/SKILL.md","docs/skills/daymade-skills/llm-icon-finder/references/developer-info.md","docs/skills/daymade-skills/llm-icon-finder/references/icons-list.md","docs/skills/daymade-skills/macos-cleaner/.security-scan-passed","docs/skills/daymade-skills/macos-cleaner/SKILL.md","docs/skills/daymade-skills/macos-cleaner/references/cleanup_targets.md","docs/skills/daymade-skills/macos-cleaner/references/mole_integration.md","docs/skills/daymade-skills/macos-cleaner/references/safety_rules.md","docs/skills/daymade-skills/macos-cleaner/scripts/analyze_caches.py","docs/skills/daymade-skills/macos-cleaner/scripts/analyze_dev_env.py","docs/skills/daymade-skills/macos-cleaner/scripts/analyze_large_files.py","docs/skills/daymade-skills/macos-cleaner/scripts/cleanup_report.py","docs/skills/daymade-skills/macos-cleaner/scripts/find_app_remnants.py","docs/skills/daymade-skills/macos-cleaner/scripts/safe_delete.py","docs/skills/daymade-skills/markdown-tools/SKILL.md","docs/skills/daymade-skills/markdown-tools/references/conversion-examples.md","docs/skills/daymade-skills/markdown-tools/scripts/convert_path.py","docs/skills/daymade-skills/markdown-tools/scripts/extract_pdf_images.py","docs/skills/daymade-skills/mermaid-tools/SKILL.md","docs/skills/daymade-skills/mermaid-tools/references/setup_and_troubleshooting.md","docs/skills/daymade-skills/mermaid-tools/scripts/extract-and-generate.sh","docs/skills/daymade-skills/mermaid-tools/scripts/extract_diagrams.py","docs/skills/daymade-skills/mermaid-tools/scripts/puppeteer-config.json","docs/skills/daymade-skills/pdf-creator/.security-scan-passed","docs/skills/daymade-skills/pdf-creator/SKILL.md","docs/skills/daymade-skills/pdf-creator/scripts/batch_convert.py","docs/skills/daymade-skills/pdf-creator/scripts/md_to_pdf.py","docs/skills/daymade-skills/ppt-creator/SKILL.md","docs/skills/daymade-skills/ppt-creator/references/CHECKLIST.md","docs/skills/daymade-skills/ppt-creator/references/EXAMPLES.md","docs/skills/daymade-skills/ppt-creator/references/INTAKE.md","docs/skills/daymade-skills/ppt-creator/references/ORCHESTRATION_DATA_CHARTS.md","docs/skills/daymade-skills/ppt-creator/references/ORCHESTRATION_OVERVIEW.md","docs/skills/daymade-skills/ppt-creator/references/ORCHESTRATION_PPTX.md","docs/skills/daymade-skills/ppt-creator/references/RUBRIC.md","docs/skills/daymade-skills/ppt-creator/references/STYLE-GUIDE.md","docs/skills/daymade-skills/ppt-creator/references/TEMPLATES.md","docs/skills/daymade-skills/ppt-creator/references/VIS-GUIDE.md","docs/skills/daymade-skills/ppt-creator/references/WORKFLOW.md","docs/skills/daymade-skills/ppt-creator/scripts/chartkit.py","docs/skills/daymade-skills/prompt-optimizer/.security-scan-passed","docs/skills/daymade-skills/prompt-optimizer/SKILL.md","docs/skills/daymade-skills/prompt-optimizer/references/advanced_techniques.md","docs/skills/daymade-skills/prompt-optimizer/references/domain_theories.md","docs/skills/daymade-skills/prompt-optimizer/references/ears_syntax.md","docs/skills/daymade-skills/prompt-optimizer/references/examples.md","docs/skills/daymade-skills/promptfoo-evaluation/.security-scan-passed","docs/skills/daymade-skills/promptfoo-evaluation/SKILL.md","docs/skills/daymade-skills/promptfoo-evaluation/references/promptfoo_api.md","docs/skills/daymade-skills/qa-expert/.security-scan-passed","docs/skills/daymade-skills/qa-expert/SKILL.md","docs/skills/daymade-skills/qa-expert/assets/templates/TEST-CASE-TEMPLATE.md","docs/skills/daymade-skills/qa-expert/references/day1_onboarding.md","docs/skills/daymade-skills/qa-expert/references/google_testing_standards.md","docs/skills/daymade-skills/qa-expert/references/ground_truth_principle.md","docs/skills/daymade-skills/qa-expert/references/llm_prompts_library.md","docs/skills/daymade-skills/qa-expert/references/master_qa_prompt.md","docs/skills/daymade-skills/qa-expert/scripts/calculate_metrics.py","docs/skills/daymade-skills/qa-expert/scripts/init_qa_project.py","docs/skills/daymade-skills/repomix-safe-mixer/SKILL.md","docs/skills/daymade-skills/repomix-safe-mixer/references/common_secrets.md","docs/skills/daymade-skills/repomix-safe-mixer/scripts/safe_pack.py","docs/skills/daymade-skills/repomix-safe-mixer/scripts/scan_secrets.py","docs/skills/daymade-skills/repomix-unmixer/README.md","docs/skills/daymade-skills/repomix-unmixer/SKILL.md","docs/skills/daymade-skills/repomix-unmixer/references/repomix-format.md","docs/skills/daymade-skills/repomix-unmixer/references/validation-workflow.md","docs/skills/daymade-skills/repomix-unmixer/scripts/unmix_repomix.py","docs/skills/daymade-skills/scripts/install.ps1","docs/skills/daymade-skills/scripts/install.sh","docs/skills/daymade-skills/skill-creator/.gitignore","docs/skills/daymade-skills/skill-creator/LICENSE.txt","docs/skills/daymade-skills/skill-creator/SKILL.md","docs/skills/daymade-skills/skill-creator/scripts/init_skill.py","docs/skills/daymade-skills/skill-creator/scripts/package_skill.py","docs/skills/daymade-skills/skill-creator/scripts/quick_validate.py","docs/skills/daymade-skills/skill-creator/scripts/security_scan.py","docs/skills/daymade-skills/skill-reviewer/.security-scan-passed","docs/skills/daymade-skills/skill-reviewer/SKILL.md","docs/skills/daymade-skills/skill-reviewer/references/evaluation_checklist.md","docs/skills/daymade-skills/skill-reviewer/references/marketplace_template.json","docs/skills/daymade-skills/skill-reviewer/references/pr_template.md","docs/skills/daymade-skills/skills-search/.security-scan-passed","docs/skills/daymade-skills/skills-search/SKILL.md","docs/skills/daymade-skills/statusline-generator/SKILL.md","docs/skills/daymade-skills/statusline-generator/references/ccusage_integration.md","docs/skills/daymade-skills/statusline-generator/references/color_codes.md","docs/skills/daymade-skills/statusline-generator/scripts/generate_statusline.sh","docs/skills/daymade-skills/statusline-generator/scripts/install_statusline.sh","docs/skills/daymade-skills/teams-channel-post-writer/SKILL.md","docs/skills/daymade-skills/teams-channel-post-writer/assets/post-template.md","docs/skills/daymade-skills/teams-channel-post-writer/references/writing-guidelines.md","docs/skills/daymade-skills/transcript-fixer/.gitignore","docs/skills/daymade-skills/transcript-fixer/SKILL.md","docs/skills/daymade-skills/transcript-fixer/references/architecture.md","docs/skills/daymade-skills/transcript-fixer/references/best_practices.md","docs/skills/daymade-skills/transcript-fixer/references/database_schema.md","docs/skills/daymade-skills/transcript-fixer/references/dictionary_guide.md","docs/skills/daymade-skills/transcript-fixer/references/file_formats.md","docs/skills/daymade-skills/transcript-fixer/references/glm_api_setup.md","docs/skills/daymade-skills/transcript-fixer/references/installation_setup.md","docs/skills/daymade-skills/transcript-fixer/references/iteration_workflow.md","docs/skills/daymade-skills/transcript-fixer/references/quick_reference.md","docs/skills/daymade-skills/transcript-fixer/references/script_parameters.md","docs/skills/daymade-skills/transcript-fixer/references/sql_queries.md","docs/skills/daymade-skills/transcript-fixer/references/team_collaboration.md","docs/skills/daymade-skills/transcript-fixer/references/troubleshooting.md","docs/skills/daymade-skills/transcript-fixer/references/workflow_guide.md","docs/skills/daymade-skills/transcript-fixer/requirements.txt","docs/skills/daymade-skills/transcript-fixer/scripts/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/check_type_hints.py","docs/skills/daymade-skills/transcript-fixer/scripts/cli/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/cli/argument_parser.py","docs/skills/daymade-skills/transcript-fixer/scripts/cli/commands.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/ai_processor.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/ai_processor_async.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/change_extractor.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/connection_pool.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/correction_repository.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/correction_service.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/dictionary_processor.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/learning_engine.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/schema.sql","docs/skills/daymade-skills/transcript-fixer/scripts/ensure_deps.py","docs/skills/daymade-skills/transcript-fixer/scripts/examples/bulk_import.py","docs/skills/daymade-skills/transcript-fixer/scripts/fix_transcript_enhanced.py","docs/skills/daymade-skills/transcript-fixer/scripts/fix_transcription.py","docs/skills/daymade-skills/transcript-fixer/scripts/generate_word_diff.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_audit_log_retention.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_connection_pool.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_correction_service.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_domain_validator.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_error_recovery.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_learning_engine.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_path_validator.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/audit_log_retention.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/concurrency_manager.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/config.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/database_migration.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/db_migrations_cli.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/change_extractor.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/html_format.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/inline_format.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/markdown_format.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/text_splitter.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/unified_format.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_generator.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/domain_validator.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/health_check.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/logging_config.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/metrics.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/migrations.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/path_validator.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/rate_limiter.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/retry_logic.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/security.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/validation.py","docs/skills/daymade-skills/twitter-reader/.security-scan-passed","docs/skills/daymade-skills/twitter-reader/SKILL.md","docs/skills/daymade-skills/twitter-reader/scripts/fetch_tweet.py","docs/skills/daymade-skills/twitter-reader/scripts/fetch_tweets.sh","docs/skills/daymade-skills/ui-designer/SKILL.md","docs/skills/daymade-skills/ui-designer/assets/app-overview-generator.md","docs/skills/daymade-skills/ui-designer/assets/design-system.md","docs/skills/daymade-skills/ui-designer/assets/vibe-design-template.md","docs/skills/daymade-skills/video-comparer/.security-scan-passed","docs/skills/daymade-skills/video-comparer/README.md","docs/skills/daymade-skills/video-comparer/SKILL.md","docs/skills/daymade-skills/video-comparer/assets/template.html","docs/skills/daymade-skills/video-comparer/references/configuration.md","docs/skills/daymade-skills/video-comparer/references/ffmpeg_commands.md","docs/skills/daymade-skills/video-comparer/references/video_metrics.md","docs/skills/daymade-skills/video-comparer/scripts/compare.py","docs/skills/daymade-skills/youtube-downloader/.security-scan-passed","docs/skills/daymade-skills/youtube-downloader/SKILL.md","docs/skills/daymade-skills/youtube-downloader/references/po-token-setup.md","docs/skills/daymade-skills/youtube-downloader/scripts/download_video.py","docs/skills/eval-harness/SKILL.md","docs/skills/frontend-patterns/SKILL.md","docs/skills/haizhan-ime-development.md","docs/skills/hizan-official/.claude-plugin/marketplace.json","docs/skills/hizan-official/skills/arch/SKILL.md","docs/skills/hizan-official/skills/game/SKILL.md","docs/skills/hizan-official/skills/quality/SKILL.md","docs/skills/hizan-official/skills/work/SKILL.md","docs/skills/juhi/tool-usage.md","docs/skills/mhattingpete-skills/.claude-plugin/marketplace.json","docs/skills/mhattingpete-skills/.claude/install-gh.sh","docs/skills/mhattingpete-skills/.claude/settings.json","docs/skills/mhattingpete-skills/.gitignore","docs/skills/mhattingpete-skills/CHANGELOG.md","docs/skills/mhattingpete-skills/CLAUDE.md","docs/skills/mhattingpete-skills/CONTRIBUTING.md","docs/skills/mhattingpete-skills/LICENSE","docs/skills/mhattingpete-skills/README.md","docs/skills/mhattingpete-skills/assets/skill-loading.gif","docs/skills/mhattingpete-skills/code-operations-plugin/.claude-plugin/plugin.json","docs/skills/mhattingpete-skills/code-operations-plugin/README.md","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-execution/SKILL.md","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-execution/examples/bulk_refactor.py","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-execution/examples/codebase_audit.py","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-execution/examples/extract_functions.py","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-refactor/SKILL.md","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-transfer/SKILL.md","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-transfer/scripts/line_insert.py","docs/skills/mhattingpete-skills/code-operations-plugin/skills/file-operations/SKILL.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/.claude-plugin/plugin.json","docs/skills/mhattingpete-skills/engineering-workflow-plugin/README.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/agents/ensemble-orchestrator/AGENT.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/agents/plan-implementer.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/commands/pr.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/ensemble-solving/SKILL.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/ensemble-solving/references/diversification-strategies.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/ensemble-solving/references/evaluation-rubrics.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/feature-planning/SKILL.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/feature-planning/references/planning-best-practices.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/git-pushing/SKILL.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/git-pushing/scripts/smart_commit.sh","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/review-implementing/SKILL.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/test-fixing/SKILL.md","docs/skills/mhattingpete-skills/execution-runtime/.env.example","docs/skills/mhattingpete-skills/execution-runtime/README.md","docs/skills/mhattingpete-skills/execution-runtime/api/__init__.py","docs/skills/mhattingpete-skills/execution-runtime/api/code_analysis.py","docs/skills/mhattingpete-skills/execution-runtime/api/code_transform.py","docs/skills/mhattingpete-skills/execution-runtime/api/filesystem.py","docs/skills/mhattingpete-skills/execution-runtime/api/git_operations.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/__init__.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/security/__init__.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/security/import_guard.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/security/pii_detector.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/sessions.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/skills.py","docs/skills/mhattingpete-skills/execution-runtime/mcp-server/mcp_server.py","docs/skills/mhattingpete-skills/execution-runtime/mcp-server/security/pii_detector.py","docs/skills/mhattingpete-skills/execution-runtime/mcp-server/security/sandbox.py","docs/skills/mhattingpete-skills/execution-runtime/pyproject.toml","docs/skills/mhattingpete-skills/execution-runtime/setup.sh","docs/skills/mhattingpete-skills/productivity-skills-plugin/.claude-plugin/plugin.json","docs/skills/mhattingpete-skills/productivity-skills-plugin/README.md","docs/skills/mhattingpete-skills/productivity-skills-plugin/skills/code-auditor/SKILL.md","docs/skills/mhattingpete-skills/productivity-skills-plugin/skills/codebase-documenter/SKILL.md","docs/skills/mhattingpete-skills/productivity-skills-plugin/skills/conversation-analyzer/SKILL.md","docs/skills/mhattingpete-skills/productivity-skills-plugin/skills/conversation-analyzer/scripts/analyze_history.py","docs/skills/mhattingpete-skills/productivity-skills-plugin/skills/project-bootstrapper/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/.claude-plugin/plugin.json","docs/skills/mhattingpete-skills/visual-documentation-plugin/EXAMPLES.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/README.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/architecture-diagram-creator/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/architecture-diagram-creator/assets/templates/architecture_components.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/architecture-diagram-creator/assets/templates/base_template.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/architecture-diagram-creator/references/example_architecture.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/dashboard-creator/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/dashboard-creator/assets/templates/base_template.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/dashboard-creator/assets/templates/dashboard_components.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/dashboard-creator/references/design_patterns.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/dashboard-creator/references/svg_library.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/flowchart-creator/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/flowchart-creator/assets/templates/base_template.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/flowchart-creator/assets/templates/flowchart_components.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/flowchart-creator/references/design_patterns.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/flowchart-creator/references/svg_library.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/technical-doc-creator/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/technical-doc-creator/assets/templates/base_template.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/technical-doc-creator/references/design_patterns.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/technical-doc-creator/references/svg_library.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/timeline-creator/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/timeline-creator/assets/templates/base_template.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/timeline-creator/assets/templates/timeline_components.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/timeline-creator/references/design_patterns.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/timeline-creator/references/svg_library.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/test-outputs/dashboard-test-monitoring.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/test-outputs/flowchart-test-authentication.html","docs/skills/netresearch-marketplace/.claude-plugin/marketplace.json","docs/skills/netresearch-marketplace/.github/workflows/sync-skills.yml","docs/skills/netresearch-marketplace/.gitignore","docs/skills/netresearch-marketplace/.sync-config.json","docs/skills/netresearch-marketplace/README.md","docs/skills/netresearch-marketplace/SYNC-SETUP.md","docs/skills/netresearch-marketplace/VERSIONING.md","docs/skills/netresearch-marketplace/notify-marketplace.yml","docs/skills/netresearch-marketplace/plugins/coach/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/plugins/coach/LICENSE","docs/skills/netresearch-marketplace/plugins/coach/README.md","docs/skills/netresearch-marketplace/plugins/coach/assets/templates/antipattern.md","docs/skills/netresearch-marketplace/plugins/coach/assets/templates/checklist.md","docs/skills/netresearch-marketplace/plugins/coach/assets/templates/rule.md","docs/skills/netresearch-marketplace/plugins/coach/assets/templates/snippet.md","docs/skills/netresearch-marketplace/plugins/coach/commands/approve.md","docs/skills/netresearch-marketplace/plugins/coach/commands/edit.md","docs/skills/netresearch-marketplace/plugins/coach/commands/init.md","docs/skills/netresearch-marketplace/plugins/coach/commands/promote.md","docs/skills/netresearch-marketplace/plugins/coach/commands/reject.md","docs/skills/netresearch-marketplace/plugins/coach/commands/review.md","docs/skills/netresearch-marketplace/plugins/coach/commands/scan.md","docs/skills/netresearch-marketplace/plugins/coach/commands/status.md","docs/skills/netresearch-marketplace/plugins/coach/hooks/hooks.json","docs/skills/netresearch-marketplace/plugins/coach/references/architecture.md","docs/skills/netresearch-marketplace/plugins/coach/references/schema.md","docs/skills/netresearch-marketplace/plugins/coach/references/scope_heuristics.md","docs/skills/netresearch-marketplace/plugins/coach/references/signal_patterns.md","docs/skills/netresearch-marketplace/plugins/coach/scripts/aggregate.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/apply.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/detect_signals.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/fingerprint.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/init_coach.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/ledger.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/propose.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/root_cause_analyzer.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/scope_analyzer.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/skill_analyzer.py","docs/skills/netresearch-marketplace/plugins/coach/skills/coach/SKILL.md","docs/skills/netresearch-marketplace/renovate.json","docs/skills/netresearch-marketplace/skills/agents/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/agents/LICENSE","docs/skills/netresearch-marketplace/skills/agents/README.md","docs/skills/netresearch-marketplace/skills/agents/STATUS.md","docs/skills/netresearch-marketplace/skills/agents/claudedocs/refactoring-summary.md","docs/skills/netresearch-marketplace/skills/agents/composer.json","docs/skills/netresearch-marketplace/skills/agents/docs/ROADMAP.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/SKILL.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/root-thin.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/root-verbose.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/backend-go.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/backend-php.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/cli.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/documentation.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/examples.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/frontend-typescript.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/resources.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/testing.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/analysis.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/directory-coverage.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/coding-agent-cli/AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/coding-agent-cli/scripts-AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/ldap-selfservice/AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/ldap-selfservice/internal-AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/ldap-selfservice/internal-web-AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/simple-ldap-go/AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/simple-ldap-go/examples-AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/t3x-rte-ckeditor-image/AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/t3x-rte-ckeditor-image/Classes-AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/analyze-git-history.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/check-freshness.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/detect-project.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/detect-scopes.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-agent-configs.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-ci-commands.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-commands.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-documentation.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-ide-settings.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-platform-files.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-quality-configs.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/generate-agents.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/lib/summary.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/lib/template.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/validate-structure.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/verify-content.sh","docs/skills/netresearch-marketplace/skills/cli-tools/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/cli-tools/LICENSE","docs/skills/netresearch-marketplace/skills/cli-tools/README.md","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ansible-core.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ast-grep.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/aws.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/bandit.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/bat.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/black.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/claude.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/codex.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/compose.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/composer.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ctags.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/curlie.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/dasel.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/delta.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/direnv.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/dive.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/docker.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/entr.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/eslint.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/fd.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/flake8.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/fx.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/fzf.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/gam.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/gem.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/gh.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/git-absorb.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/git-branchless.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/git-filter-repo.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/git-lfs.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/git.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/gitleaks.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/glab.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/go.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/golangci-lint.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/gosec.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/httpie.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/isort.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/jq.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/just.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/kubectl.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ninja.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/node.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/npm.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/parallel.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/php.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/pip.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/pipx.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/pnpm.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/poetry.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/pre-commit.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/prename.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/prettier.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/python.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/rbenv.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/rename.ul.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/rga.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ripgrep.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ruby-build.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ruby.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ruff.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/rust.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/sd.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/semgrep.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/shellcheck.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/shfmt.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/sponge.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/terraform.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/tfsec.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/trivy.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/uv.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/watchexec.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/xsv.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/yarn.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/yq.json","docs/skills/netresearch-marketplace/skills/cli-tools/composer.json","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/SKILL.md","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/references/binary_to_tool_map.md","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/references/project_type_requirements.md","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/auto_update.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/check_environment.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/detect_project_type.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/install_composer.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/install_tool.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/aws_installer.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/dedicated_script.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/github_clone.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/github_release_binary.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/hashicorp_zip.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/npm_global.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/npm_self_update.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/package_manager.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/uv_tool.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/capability.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/catalog.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/common.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/dependency.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/install_strategy.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/path_check.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/policy.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/reconcile.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/scope_detection.sh","docs/skills/netresearch-marketplace/skills/context7/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/context7/LICENSE","docs/skills/netresearch-marketplace/skills/context7/README.md","docs/skills/netresearch-marketplace/skills/context7/skills/context7/SKILL.md","docs/skills/netresearch-marketplace/skills/context7/skills/context7/scripts/context7.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/enterprise-readiness/LICENSE","docs/skills/netresearch-marketplace/skills/enterprise-readiness/README.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/ARCHITECTURE.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/BADGE_EXCEPTIONS.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/CODE_OF_CONDUCT.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/GOVERNANCE.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/ROADMAP.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/SECURITY_AUDIT.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/workflows/codeql.yml","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/workflows/dco-check.yml","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/workflows/dependency-review.yml","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/workflows/scorecard.yml","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/workflows/slsa-provenance.yml","docs/skills/netresearch-marketplace/skills/enterprise-readiness/composer.json","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/SKILL.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/2fa-enforcement.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/badge-display.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/branch-coverage.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/dco-implementation.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/dynamic-analysis.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/general.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/github.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/go.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/openssf-badge-gold.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/openssf-badge-silver.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/quick-start-guide.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/reproducible-builds.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/security-hardening.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/signed-releases.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/solo-maintainer-guide.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/sonarcloud.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/test-invocation.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/add-spdx-headers.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/analyze-bus-factor.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/check-branch-coverage.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/check-coverage-threshold.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/check-tls-minimum.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/verify-badge-criteria.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/verify-reproducible-build.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/verify-review-requirements.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/verify-signed-tags.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/verify-spdx-headers.sh","docs/skills/netresearch-marketplace/skills/git-workflow/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/git-workflow/LICENSE","docs/skills/netresearch-marketplace/skills/git-workflow/README.md","docs/skills/netresearch-marketplace/skills/git-workflow/composer.json","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/SKILL.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/advanced-git.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/branching-strategies.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/ci-cd-integration.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/commit-conventions.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/github-releases.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/pull-request-workflow.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/scripts/verify-git-workflow.sh","docs/skills/netresearch-marketplace/skills/github-project/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/github-project/LICENSE","docs/skills/netresearch-marketplace/skills/github-project/README.md","docs/skills/netresearch-marketplace/skills/github-project/composer.json","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/SKILL.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/CODEOWNERS.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/CONTRIBUTING.md.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/PULL_REQUEST_TEMPLATE.md.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/SECURITY.md.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/auto-merge-direct.yml.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/auto-merge-queue.yml.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/auto-merge.yml.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/bug_report.md.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/dependabot.yml.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/feature_request.md.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/release-labeler.yml.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/renovate.json.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/references/branch-migration.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/references/dependency-management.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/references/release-labeling.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/references/repository-structure.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/references/sub-issues.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/scripts/verify-github-project.sh","docs/skills/netresearch-marketplace/skills/go-development/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/go-development/LICENSE","docs/skills/netresearch-marketplace/skills/go-development/README.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/SKILL.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/api-design.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/architecture.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/docker.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/fuzz-testing.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/ldap.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/linting.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/makefile.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/mutation-testing.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/resilience.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/testing.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/scripts/verify-go-project.sh","docs/skills/netresearch-marketplace/skills/jira-integration/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/jira-integration/AGENTS.md","docs/skills/netresearch-marketplace/skills/jira-integration/CHANGELOG.md","docs/skills/netresearch-marketplace/skills/jira-integration/CLAUDE.md","docs/skills/netresearch-marketplace/skills/jira-integration/LICENSE","docs/skills/netresearch-marketplace/skills/jira-integration/MIGRATION.md","docs/skills/netresearch-marketplace/skills/jira-integration/PRD.md","docs/skills/netresearch-marketplace/skills/jira-integration/README.md","docs/skills/netresearch-marketplace/skills/jira-integration/SKILL.md","docs/skills/netresearch-marketplace/skills/jira-integration/composer.json","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/AGENTS.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/SKILL.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/references/jql-quick-reference.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/references/troubleshooting.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-attachment.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-issue.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-search.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-setup.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-validate.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-worklog.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/lib/__init__.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/lib/client.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/lib/config.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/lib/output.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/utility/jira-fields.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/utility/jira-link.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/utility/jira-user.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/workflow/jira-board.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/workflow/jira-comment.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/workflow/jira-create.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/workflow/jira-sprint.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/workflow/jira-transition.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/AGENTS.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/SKILL.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/references/jira-syntax-quick-reference.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/scripts/validate-jira-syntax.sh","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/templates/bug-report-template.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/templates/feature-request-template.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/netresearch-branding/LICENSE","docs/skills/netresearch-marketplace/skills/netresearch-branding/README.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/assets/logos/netresearch-symbol-only.svg","docs/skills/netresearch-marketplace/skills/netresearch-branding/composer.json","docs/skills/netresearch-marketplace/skills/netresearch-branding/examples/components.html","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/SKILL.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/references/colors.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/references/typo3-extension-branding.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/references/typography.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/references/web-design.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/templates/landing-page.html","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/templates/styles.css","docs/skills/netresearch-marketplace/skills/php-modernization/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/php-modernization/LICENSE","docs/skills/netresearch-marketplace/skills/php-modernization/README.md","docs/skills/netresearch-marketplace/skills/php-modernization/composer.json","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/SKILL.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/adapter-registry-pattern.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/migration-strategies.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/php8-features.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/phpstan-compliance.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/psr-per-compliance.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/request-dtos.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/static-analysis-tools.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/symfony-patterns.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/type-safety.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/scripts/verify-php-project.sh","docs/skills/netresearch-marketplace/skills/security-audit/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/security-audit/LICENSE","docs/skills/netresearch-marketplace/skills/security-audit/README.md","docs/skills/netresearch-marketplace/skills/security-audit/composer.json","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/SKILL.md","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/references/api-key-encryption.md","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/references/cvss-scoring.md","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/references/owasp-top10.md","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/references/xxe-prevention.md","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/scripts/security-audit.sh","docs/skills/netresearch-marketplace/skills/skill-repo/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/skill-repo/LICENSE","docs/skills/netresearch-marketplace/skills/skill-repo/README.md","docs/skills/netresearch-marketplace/skills/skill-repo/composer.json","docs/skills/netresearch-marketplace/skills/skill-repo/renovate.json","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/SKILL.md","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/references/composer-setup.md","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/references/installation-methods.md","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/references/marketplace-integration.md","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/scripts/validate-skill.sh","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/templates/README.md.template","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/templates/composer.json.template","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/templates/release.yml.template","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/README.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/composer.json","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/references/ckeditor5-architecture.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/references/migration-guide.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/references/plugin-development.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/references/typo3-integration.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/scripts/verify-ckeditor5.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-conformance/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-conformance/README.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/composer.json","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/assets/.github/workflows/publish-to-ter.yml","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/backend-module-v13.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/backend-wizard-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/best-practices.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/coding-guidelines.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/composer-validation.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/crowdin-integration.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/development-environment.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/directory-structure.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/dual-version-compatibility.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/excellence-indicators.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/ext-emconf-validation.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/ext-files-validation.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/extension-architecture.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/hooks-and-events.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/multi-tier-configuration.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/php-architecture.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/report-template.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/runtests-validation.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/ter-publishing.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/testing-standards.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/v13-deprecations.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/version-requirements.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-architecture.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-coding-standards.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-conformance.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-documentation.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-file-structure.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-phpstan-baseline.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-testing.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/generate-report.sh","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/README.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/assets/commit-template.txt","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/claudedocs/refactoring-summary.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/composer.json","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/account-setup.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/commit-message-format.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/commit-msg-hook.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/ddev-setup-workflow.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/forge-api.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/gerrit-review-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/gerrit-workflow.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/modern-typo3-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/troubleshooting.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/create-commit-message.py","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/create-forge-issue.sh","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/query-forge-metadata.sh","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/setup-typo3-coredev.sh","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/validate-commit-message.py","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/verify-prerequisites.sh","docs/skills/netresearch-marketplace/skills/typo3-ddev/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-ddev/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-ddev/README.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/composer.json","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/.envrc","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/Makefile.template","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/README-SERVICES.md.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/apache/apache-site.conf","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/host/docs","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/host/pre-start-git-info","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/host/setup","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/install-all","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/install-v11","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/install-v12","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/install-v13","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/web/configure-extension.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/web/generate-index","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/web/generate-makefile","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/web/install-introduction.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/config.redis.php.example","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/config.yaml","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/docker-compose.git-info.yaml","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/docker-compose.ofelia.yaml.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/docker-compose.services-redis.yaml.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/docker-compose.services.yaml.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/docker-compose.web.yaml","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/homeadditions/.bashrc_additions.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/index.html.netresearch.template","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/index.html.typo3.template","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/web-build/Dockerfile","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/web-build/install-cron.sh.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/web-entrypoint.d/10-cleanup-index.sh","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/0001-valkey-default-with-redis-alternative.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/0002-mariadb-default-with-database-alternatives.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/0003-php-version-management.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/advanced-options.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/documentation-rendering.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/index-page-generation.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/prerequisites-validation.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/quickstart.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/troubleshooting.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/typo3-12-cli-changes.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/windows-fixes.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/windows-optimizations.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/scripts/validate-prerequisites.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-docs/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-docs/README.md","docs/skills/netresearch-marketplace/skills/typo3-docs/composer.json","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/assets/AGENTS.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/architecture-decision-records.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/code-structure-elements.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/coding-guidelines.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/content-directives.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/documentation-coverage-analysis.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/extraction-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/file-structure.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/guides-xml.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/intercept-deployment.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/rendering.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/rst-syntax.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/screenshots.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/text-roles-inline-code.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/typo3-directives.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/typo3-extension-architecture.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/add-agents-md.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/analyze-docs.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-all.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-build-configs.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-composer.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-extension-config.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-php.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-project-files.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-repo-metadata.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/render_docs.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/validate_docs.sh","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/README.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/composer.json","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/assets/.php-cs-fixer.php","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/assets/fractor.php","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/assets/phpstan.neon","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/assets/phpunit.xml","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/assets/rector.php","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/api-changes.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/dual-compatibility.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/pre-upgrade.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/real-world-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/upgrade-v11-to-v12.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/upgrade-v12-to-v13.md","docs/skills/netresearch-marketplace/skills/typo3-testing/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-testing/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-testing/README.md","docs/skills/netresearch-marketplace/skills/typo3-testing/composer.json","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/.php-cs-fixer.dist.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/AGENTS.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/FunctionalTests.xml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/FunctionalTestsBootstrap.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/Makefile","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/UnitTests.xml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/UnitTestsBootstrap.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/bootstrap.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/codecov.yml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/docker/codeception.yml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/docker/docker-compose.yml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/example-tests/ExampleAcceptanceCest.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/example-tests/ExampleFunctionalTest.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/example-tests/ExampleUnitTest.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/fixtures/README.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/fixtures/be_users.csv","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/fixtures/pages.csv","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/fixtures/sys_category.csv","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/fixtures/tt_content.csv","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/github-actions-e2e.yml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/github-actions-tests.yml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/infection.json5","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/phpat.neon","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/phpat.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/phpstan-baseline.neon","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/phpstan.neon","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/rector.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/accessibility-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/architecture-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/ci-cd.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/crypto-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/ddev-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/e2e-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/functional-test-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/functional-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/fuzz-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/integration-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/javascript-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/mutation-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/performance-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/quality-tools.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/sonarcloud.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/test-runners.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/typo3-v14-final-classes.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/unit-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/scripts/generate-test.sh","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/scripts/setup-testing.sh","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/scripts/validate-setup.sh","docs/skills/netresearch-marketplace/update-source-repos.sh","docs/skills/project-guidelines-example/SKILL.md","docs/skills/security-review/SKILL.md","docs/skills/strategic-compact/SKILL.md","docs/skills/strategic-compact/suggest-compact.sh","docs/skills/tdd-workflow/SKILL.md","docs/skills/verification-loop/SKILL.md","docs/话术库导出_20251231103252.xlsx","docs_archive/AI_INPUT_METHOD_BRAINSTORM.md","docs_archive/ANDROID_100_PERCENT_PLAN.md","docs_archive/ANDROID_NATIVE_REPLACEMENT_DETAILED_PLAN.md","docs_archive/ANDROID_NATIVE_REPLACEMENT_PLAN.md","docs_archive/API.md","docs_archive/APPLE_PLATFORM_DEVELOPMENT_PLAN.md","docs_archive/ARCHITECTURE.md","docs_archive/ARCHITECTURE_COMPACT.md","docs_archive/CLAUDE.md","docs_archive/COMPREHENSIVE_IMPROVEMENT_PLAN.md","docs_archive/DEPLOYMENT.md","docs_archive/DESIGN_BASED_DEVELOPMENT_PLAN.md","docs_archive/DEVELOPMENT_ROADMAP.md","docs_archive/DICTIONARY_IMPROVEMENT_PLAN.md","docs_archive/DOCS_INDEX.md","docs_archive/IMPLEMENTATION_PLAN.md","docs_archive/IMPROVEMENT_RECOMMENDATIONS.md","docs_archive/IOS_DEVELOPMENT_PLAN.md","docs_archive/NEXT_STEPS_PLAN.md","docs_archive/PINYIN_DEVELOPMENT_PLAN.md","docs_archive/PRD.md","docs_archive/PROGRESS_TRACKER.md","docs_archive/README.md","docs_archive/REDLINES.md","docs_archive/SMART_RECOGNITION_COMPACT.md","docs_archive/TECHNICAL_ARCHITECTURE.md","docs_archive/UI_DEVELOPMENT_PLAN.md","docs_archive/smart-recognition-design.md","flutter_app/assets/fonts/PingFang-Medium.ttf","flutter_app/assets/fonts/PingFang-Regular.ttf","flutter_app/assets/fonts/PingFang-Semibold.ttf","flutter_app/assets/icons/.gitkeep","flutter_app/assets/images/.gitkeep","flutter_app/lib/core/bridge/bridge_models.dart","flutter_app/lib/core/bridge/bridge_response_parser.dart","flutter_app/lib/core/bridge/haizhan_bridge.dart","flutter_app/lib/core/di/service_locator.dart","flutter_app/lib/core/router/app_router.dart","flutter_app/lib/core/router/routes.dart","flutter_app/lib/core/theme/app_colors.dart","flutter_app/lib/core/theme/app_theme.dart","flutter_app/lib/core/theme/app_typography.dart","flutter_app/lib/features/auth/data/auth_provider.dart","flutter_app/lib/features/auth/data/auth_repository.dart","flutter_app/lib/features/auth/domain/auth_models.dart","flutter_app/lib/features/auth/presentation/login_screen.dart","flutter_app/lib/features/auth/presentation/register_screen.dart","flutter_app/lib/features/chat/data/ai_provider.dart","flutter_app/lib/features/chat/data/ai_repository.dart","flutter_app/lib/features/chat/domain/ai_reply_models.dart","flutter_app/lib/features/chat/presentation/chat_screen.dart","flutter_app/lib/features/chat/presentation/conversation_screen.dart","flutter_app/lib/features/contacts/data/contact_360_provider.dart","flutter_app/lib/features/contacts/data/contacts_provider.dart","flutter_app/lib/features/contacts/data/contacts_repository.dart","flutter_app/lib/features/contacts/domain/contact_models.dart","flutter_app/lib/features/contacts/presentation/contact_detail_screen.dart","flutter_app/lib/features/contacts/presentation/contacts_screen.dart","flutter_app/lib/features/home/presentation/home_screen.dart","flutter_app/lib/features/home/presentation/main_shell.dart","flutter_app/lib/features/knowledge/data/knowledge_provider.dart","flutter_app/lib/features/knowledge/data/knowledge_repository.dart","flutter_app/lib/features/knowledge/domain/knowledge_models.dart","flutter_app/lib/features/knowledge/presentation/knowledge_screen.dart","flutter_app/lib/features/profile/presentation/profile_screen.dart","flutter_app/lib/features/search/data/models/search_metrics.dart","flutter_app/lib/features/search/presentation/widgets/search_metrics_indicator.dart","flutter_app/lib/features/settings/presentation/settings_screen.dart","flutter_app/lib/features/stats/presentation/stats_screen.dart","flutter_app/lib/features/stats/presentation/widgets/contact_stats_tab.dart","flutter_app/lib/features/stats/presentation/widgets/overview_tab.dart","flutter_app/lib/features/stats/presentation/widgets/reply_stats_tab.dart","flutter_app/lib/features/stats/presentation/widgets/stats_shared_widgets.dart","flutter_app/lib/features/support/presentation/about_screen.dart","flutter_app/lib/features/support/presentation/feedback_screen.dart","flutter_app/lib/features/support/presentation/help_screen.dart","flutter_app/lib/features/support/presentation/privacy_screen.dart","flutter_app/lib/features/support/presentation/terms_screen.dart","flutter_app/lib/main.dart","flutter_app/lib/shared/widgets/stat_card.dart","flutter_app/pigeons/haizhan_api.dart","flutter_app/pubspec.lock","flutter_app/pubspec.yaml","flutter_app/test/core/network/api_client_test.dart","flutter_app/test/core/theme/theme_provider_test.dart","flutter_app/test/features/auth/login_screen_test.dart","flutter_app/test/features/chat/chat_screen_test.dart","flutter_app/test/features/contacts/contacts_screen_test.dart","flutter_app/test/features/home/home_screen_test.dart","flutter_app/test/features/knowledge/knowledge_screen_test.dart","flutter_app/test/features/profile/profile_screen_test.dart","flutter_app/test/features/settings/settings_screen_test.dart","flutter_app/test/features/statistics/statistics_screen_test.dart","flutter_app/test/features/stats/stats_screen_test.dart","flutter_app/test/integration/app_integration_test.dart","flutter_app/test/providers/auth_provider_test.dart","flutter_app/test/services/api_service_test.dart","flutter_app/test/widgets/contact_card_test.dart","gradle.properties","gradle/libs.versions.toml","gradle/wrapper/gradle-wrapper.jar","gradle/wrapper/gradle-wrapper.properties","gradlew","gradlew.bat","ime-core/build.gradle.kts","ime-core/consumer-rules.pro","ime-core/proguard-rules.pro","ime-core/src/androidTest/java/com/haizhan/ime/core/handwriting/HandwritingIntegrationTest.kt","ime-core/src/androidTest/java/com/haizhan/ime/core/handwriting/HandwritingPerformanceTest.kt","ime-core/src/androidTest/java/com/haizhan/ime/core/handwriting/HandwritingViewTest.kt","ime-core/src/main/AndroidManifest.xml","ime-core/src/main/assets/dictionaries/system/core-char.txt","ime-core/src/main/assets/dictionaries/system/core-merged.txt","ime-core/src/main/assets/dictionaries/system/core-phrase.txt","ime-core/src/main/assets/dictionaries/system/core-word2.txt","ime-core/src/main/assets/dictionaries/system/core-word3.txt","ime-core/src/main/assets/dictionaries/system/core-word4.txt","ime-core/src/main/assets/handwriting_labels_casia.txt","ime-core/src/main/assets/paddle_models/ppocr_keys_v1.txt","ime-core/src/main/cpp/CMakeLists.txt","ime-core/src/main/cpp/include/paddle_api.h","ime-core/src/main/cpp/include/paddle_image_preprocess.h","ime-core/src/main/cpp/include/paddle_lite_factory_helper.h","ime-core/src/main/cpp/include/paddle_place.h","ime-core/src/main/cpp/include/paddle_use_kernels.h","ime-core/src/main/cpp/include/paddle_use_ops.h","ime-core/src/main/cpp/include/paddle_use_passes.h","ime-core/src/main/cpp/paddle_lite_jni.cpp","ime-core/src/main/cpp/paddle_ocr_jni.cpp","ime-core/src/main/java/com/haizhan/ime/core/context/ChatContext.kt","ime-core/src/main/java/com/haizhan/ime/core/context/ChatContextProvider.kt","ime-core/src/main/java/com/haizhan/ime/core/context/ContextAnalyzer.kt","ime-core/src/main/java/com/haizhan/ime/core/context/ContextAwareRanker.kt","ime-core/src/main/java/com/haizhan/ime/core/context/WordCategoryClassifier.kt","ime-core/src/main/java/com/haizhan/ime/core/di/ImeCoreModule.kt","ime-core/src/main/java/com/haizhan/ime/core/di/PerformanceModule.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/ImeEngine.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/EnglishKeyHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/HandwritingKeyHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/KeyPressDispatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/KeyPressHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/PinyinKeyHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/SymbolKeyHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/VoiceKeyHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/HaizhanHandwritingApiClient.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/HandwritingKeyboard.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/HandwritingManager.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/HandwritingToolbar.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/HandwritingView.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/IHandwritingRecognizer.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/ModelDownloader.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/PaddleLiteRecognizer.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/RecognitionConfig.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/Stroke.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/StrokeCache.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/StrokePreprocessor.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/StrokeSegmenter.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/TFLiteRecognizer.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/UnifiedRecognitionEngine.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/di/HandwritingModule.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/CandidatesView.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/EnhancedCandidatesView.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/ImeContentLayout.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/ImeLayoutConstants.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/InputModeToolbar.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/KeyboardLayout.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/KeyboardView.kt","ime-core/src/main/java/com/haizhan/ime/core/ocr/IOcrEngine.kt","ime-core/src/main/java/com/haizhan/ime/core/ocr/OcrImageProcessor.kt","ime-core/src/main/java/com/haizhan/ime/core/ocr/OcrModels.kt","ime-core/src/main/java/com/haizhan/ime/core/ocr/PaddleOcrEngine.kt","ime-core/src/main/java/com/haizhan/ime/core/ocr/README.md","ime-core/src/main/java/com/haizhan/ime/core/ocr/di/OcrModule.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/BuiltinDictionary.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/Candidate.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/CloudPinyinService.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/CloudSyncService.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/DictModels.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/DictionaryFileParser.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/DictionaryHotReloader.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/DictionaryImporter.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/DictionaryReloader.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/EnterpriseDictionary.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/FuzzyPinyinConfig.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/HotWordService.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/ImportResult.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/InputPredictor.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/LocalDictionary.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/NgramData.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/NgramModel.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/NineGridMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/PinyinSegmenterImpl.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/PinyinService.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/PinyinServiceImpl.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/PinyinSplitter.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/SmartErrorCorrector.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/SystemDatDictionary.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/UserPreferenceStore.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/cloud/CloudPinyinApiImpl.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/cloud/CloudPinyinModule.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/cloud/ExponentialBackoff.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/converter/ChineseConverter.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/FullPinyinMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/InputMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/InputMatcherManager.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/NineGridMatcherAdapter.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/ShortcutMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/ShuangpinMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/di/MatcherModule.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/MicrosoftScheme.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/NaturalScheme.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/ShuangpinConverter.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/ShuangpinScheme.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/SogouScheme.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/XiaoheScheme.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/stroke/StrokeData.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/stroke/StrokeMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/theme/DesignTokens.kt","ime-core/src/main/java/com/haizhan/ime/core/theme/KeyboardTheme.kt","ime-core/src/main/java/com/haizhan/ime/core/theme/ThemeManager.kt","ime-core/src/main/java/com/haizhan/ime/core/voice/ui/VoicePanel.kt","ime-core/src/main/jniLibs/arm64-v8a/libpaddle_light_api_shared.so","ime-core/src/main/res/drawable/ic_backspace.xml","ime-core/src/main/res/drawable/ic_clear_all.xml","ime-core/src/main/res/drawable/ic_handwriting.xml","ime-core/src/main/res/drawable/ic_keyboard.xml","ime-core/src/test/java/com/haizhan/ime/core/ImeEngineTest.kt","ime-core/src/test/java/com/haizhan/ime/core/benchmark/ImeCorePerformanceTest.kt","ime-core/src/test/java/com/haizhan/ime/core/benchmark/MemoryBenchmarkTest.kt","ime-core/src/test/java/com/haizhan/ime/core/context/ContextAnalyzerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/context/ContextAwareRankerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/context/WordCategoryClassifierTest.kt","ime-core/src/test/java/com/haizhan/ime/core/decoder/UnifiedRankerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/ImeEngineTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/handler/EnglishKeyHandlerExpandedTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/handler/KeyPressDispatcherTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/handler/KeyPressHandlerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/handler/PinyinKeyHandlerExpandedTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/handler/SymbolKeyHandlerExpandedTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/HandwritingManagerAdvancedTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/HandwritingManagerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/PaddleLiteRecognizerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/StrokeCacheTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/StrokePreprocessorTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/TFLiteRecognizerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/keyboard/CandidatesViewTest.kt","ime-core/src/test/java/com/haizhan/ime/core/keyboard/KeyboardLayoutTest.kt","ime-core/src/test/java/com/haizhan/ime/core/keyboard/KeyboardViewTest.kt","ime-core/src/test/java/com/haizhan/ime/core/ocr/OcrImageProcessorTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/CloudPinyinServiceTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/CloudSyncServiceTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/DictionaryFileParserTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/DictionaryImporterTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/DictionaryReloaderTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/EnterpriseDictionaryTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/FuzzyPinyinConfigTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/HotWordServiceTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/InputPredictorTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/LocalDictionaryTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/NgramModelTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/NineGridMatcherTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/PinyinSegmenterTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/PinyinServiceImplTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/PinyinServiceTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/PinyinSplitterTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/SmartErrorCorrectorTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/SystemDatDictionaryTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/UserPreferenceStoreTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/cloud/CloudPinyinApiImplTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/cloud/ExponentialBackoffTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/matcher/FullPinyinMatcherTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/matcher/ShuangpinMatcherTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/shuangpin/ShuangpinSchemeTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/shuangpin/SogouSchemeTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/shuangpin/XiaoheSchemeTest.kt","ime-core/src/test/java/com/haizhan/ime/core/theme/ThemeManagerTest.kt","ios_keyboard/APPSTORE_LISTING.md","ios_keyboard/HaizhanKeyboard/Info.plist","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboard.xcodeproj/project.pbxproj","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboard.xcodeproj/project.xcworkspace/contents.xcworkspacedata","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp.entitlements","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/HaizhanKeyboardApp.entitlements","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/HaizhanKeyboardApp.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Info.plist","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Models/AppSession.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Services/KeyboardStatusService.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Services/ScreenshotResponder.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Views/AccountView.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Views/AppSettingsView.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Views/ContentView.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Views/LoginView.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Views/OnboardingView.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardExtension.entitlements","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardExtension/HaizhanKeyboardExtension.entitlements","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardExtension/Info.plist","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardExtension/KeyboardExtensionStub.swift","ios_keyboard/HaizhanKeyboardApp/Info.plist","ios_keyboard/HaizhanKeyboardApp/Models/AppSession.swift","ios_keyboard/HaizhanKeyboardApp/README.md","ios_keyboard/HaizhanKeyboardApp/Services/KeyboardStatusService.swift","ios_keyboard/HaizhanKeyboardApp/Services/ScreenshotResponder.swift","ios_keyboard/HaizhanKeyboardApp/Views/AccountView.swift","ios_keyboard/HaizhanKeyboardApp/Views/AppSettingsView.swift","ios_keyboard/HaizhanKeyboardApp/Views/ContentView.swift","ios_keyboard/HaizhanKeyboardApp/Views/LoginView.swift","ios_keyboard/HaizhanKeyboardApp/Views/OnboardingView.swift","ios_keyboard/HaizhanKeyboardApp/project.yml","ios_keyboard/HaizhanKeyboardExtension/Info.plist","ios_keyboard/HaizhanKeyboardExtension/KeyboardExtensionStub.swift","ios_keyboard/Package.swift","ios_keyboard/README.md","ios_keyboard/Sources/HaizhanKeyboard/AI/ContactMatcher.swift","ios_keyboard/Sources/HaizhanKeyboard/AI/ReplyService.swift","ios_keyboard/Sources/HaizhanKeyboard/AI/ScreenshotManager.swift","ios_keyboard/Sources/HaizhanKeyboard/Bridge/KMPBridge.swift","ios_keyboard/Sources/HaizhanKeyboard/Engine/KeyboardEngine.swift","ios_keyboard/Sources/HaizhanKeyboard/Engine/PinyinSegmenter.swift","ios_keyboard/Sources/HaizhanKeyboard/KeyboardViewController.swift","ios_keyboard/Sources/HaizhanKeyboard/Network/ApiClient.swift","ios_keyboard/Sources/HaizhanKeyboard/Network/AuthService.swift","ios_keyboard/Sources/HaizhanKeyboard/Storage/AppGroupStore.swift","ios_keyboard/Sources/HaizhanKeyboard/Storage/KeychainStore.swift","ios_keyboard/Sources/HaizhanKeyboard/Theme/ThemeManager.swift","ios_keyboard/Sources/HaizhanKeyboard/Utils/HapticManager.swift","ios_keyboard/Sources/HaizhanKeyboard/ViewModel/KeyboardViewModel.swift","ios_keyboard/Sources/HaizhanKeyboard/Views/AIPanelView.swift","ios_keyboard/Sources/HaizhanKeyboard/Views/KeyboardView.swift","ios_keyboard/Sources/HaizhanKeyboard/Views/NineGridKeyboard.swift","ios_keyboard/Sources/HaizhanKeyboard/Views/SettingsView.swift","ios_keyboard/Tests/HaizhanKeyboardTests/ApiClientTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/AppGroupStoreTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/ContactMatcherTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/HapticManagerTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/KeyboardEngineTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/KeychainStoreTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/PinyinSegmenterTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/ReplyServiceTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/ThemeManagerTests.swift","ios_keyboard/build_kmp_xcframework.sh","openapitools.json","package.json","pnpm-workspace.yaml","scripts/PACKAGE_MANAGER_SUMMARY.md","scripts/check-docs-sync.sh","scripts/download_paddle_ocr_models.sh","scripts/generate-design-tokens.py","scripts/package-manager-migration.md","scripts/pre-commit","server/.dockerignore","server/.env.example","server/.npmrc","server/Makefile","server/README.md","server/ai-service/.dockerignore","server/ai-service/Dockerfile","server/ai-service/jest.config.js","server/ai-service/nest-cli.json","server/ai-service/package.json","server/ai-service/poc-load-test-1770067946237.json","server/ai-service/poc-report-1770067953461.json","server/ai-service/poc-report-1770067953461.md","server/ai-service/poc-report-1771647201192.json","server/ai-service/poc-report-1771647201192.md","server/ai-service/scripts/poc/README.md","server/ai-service/scripts/poc/deploy-models.sh","server/ai-service/scripts/poc/generate-report.ts","server/ai-service/scripts/poc/load-test.ts","server/ai-service/scripts/poc/v1-int8-quality.ts","server/ai-service/scripts/poc/v2-router-accuracy.ts","server/ai-service/scripts/poc/v3-e2e-latency.ts","server/ai-service/scripts/seed-rag.ts","server/ai-service/src/app.module.ts","server/ai-service/src/common/decorators/current-tenant.decorator.ts","server/ai-service/src/common/decorators/public.decorator.ts","server/ai-service/src/common/guards/auth.guard.spec.ts","server/ai-service/src/common/guards/auth.guard.ts","server/ai-service/src/common/redis/index.ts","server/ai-service/src/common/redis/redis.module.ts","server/ai-service/src/common/redis/redis.service.ts","server/ai-service/src/main.ts","server/ai-service/src/modules/ai/ai.controller.ts","server/ai-service/src/modules/ai/ai.module.ts","server/ai-service/src/modules/ai/ai.service.spec.ts","server/ai-service/src/modules/ai/ai.service.ts","server/ai-service/src/modules/ai/dto/generate-reply.dto.ts","server/ai-service/src/modules/ai/legacy-reply.controller.ts","server/ai-service/src/modules/health/health.controller.ts","server/ai-service/src/modules/health/health.module.ts","server/ai-service/src/modules/memory/dto/memory.dto.ts","server/ai-service/src/modules/memory/event.service.spec.ts","server/ai-service/src/modules/memory/event.service.ts","server/ai-service/src/modules/memory/index.ts","server/ai-service/src/modules/memory/memory.controller.ts","server/ai-service/src/modules/memory/memory.module.ts","server/ai-service/src/modules/memory/memory.service.spec.ts","server/ai-service/src/modules/memory/memory.service.ts","server/ai-service/src/modules/memory/profile.service.spec.ts","server/ai-service/src/modules/memory/profile.service.ts","server/ai-service/src/modules/memory/schemas/contact-event.schema.ts","server/ai-service/src/modules/memory/schemas/contact-profile.schema.ts","server/ai-service/src/modules/memory/schemas/conversation-summary.schema.ts","server/ai-service/src/modules/memory/summary.service.spec.ts","server/ai-service/src/modules/memory/summary.service.ts","server/ai-service/src/modules/memory/vector.service.ts","server/ai-service/src/modules/privacy/index.ts","server/ai-service/src/modules/privacy/pii-scrubber.service.ts","server/ai-service/src/modules/privacy/privacy.module.ts","server/ai-service/src/modules/search/agentic/agentic-loop.controller.ts","server/ai-service/src/modules/search/agentic/answer-synthesizer.service.ts","server/ai-service/src/modules/search/agentic/answer-synthesizer.spec.ts","server/ai-service/src/modules/search/agentic/index.ts","server/ai-service/src/modules/search/agentic/query-decomposer.service.ts","server/ai-service/src/modules/search/agentic/query-decomposer.spec.ts","server/ai-service/src/modules/search/agentic/result-evaluator.service.ts","server/ai-service/src/modules/search/agentic/result-evaluator.spec.ts","server/ai-service/src/modules/search/cache/index.ts","server/ai-service/src/modules/search/cache/multi-level-cache.service.ts","server/ai-service/src/modules/search/cache/multi-level-cache.spec.ts","server/ai-service/src/modules/search/config/search.config.ts","server/ai-service/src/modules/search/dto/index.ts","server/ai-service/src/modules/search/dto/search-request.dto.ts","server/ai-service/src/modules/search/dto/search-response.dto.ts","server/ai-service/src/modules/search/experiment/ab-testing.service.ts","server/ai-service/src/modules/search/experiment/experiment.controller.ts","server/ai-service/src/modules/search/experiment/gradual-release.service.ts","server/ai-service/src/modules/search/experiment/index.ts","server/ai-service/src/modules/search/gateway/unified-search-gateway.service.ts","server/ai-service/src/modules/search/gateway/unified-search-gateway.spec.ts","server/ai-service/src/modules/search/index.ts","server/ai-service/src/modules/search/layers/agentic-layer.service.spec.ts","server/ai-service/src/modules/search/layers/agentic-layer.service.ts","server/ai-service/src/modules/search/layers/cache-layer.service.spec.ts","server/ai-service/src/modules/search/layers/cache-layer.service.ts","server/ai-service/src/modules/search/layers/rag-layer.service.spec.ts","server/ai-service/src/modules/search/layers/rag-layer.service.ts","server/ai-service/src/modules/search/monitoring/alert.service.ts","server/ai-service/src/modules/search/monitoring/grafana-dashboard.json","server/ai-service/src/modules/search/monitoring/index.ts","server/ai-service/src/modules/search/monitoring/metrics.service.ts","server/ai-service/src/modules/search/optimization/index.ts","server/ai-service/src/modules/search/optimization/parallel-retriever.service.ts","server/ai-service/src/modules/search/optimization/parallel-retriever.spec.ts","server/ai-service/src/modules/search/router/pure-rule-router.spec.ts","server/ai-service/src/modules/search/router/pure-rule-router.ts","server/ai-service/src/modules/search/router/router.types.ts","server/ai-service/src/modules/search/search.controller.ts","server/ai-service/src/modules/search/search.integration.spec.ts","server/ai-service/src/modules/search/search.module.ts","server/ai-service/src/modules/search/services/elasticsearch.service.ts","server/ai-service/src/modules/search/services/embedding.service.spec.ts","server/ai-service/src/modules/search/services/embedding.service.ts","server/ai-service/src/modules/search/services/index.ts","server/ai-service/src/modules/search/services/llm.service.spec.ts","server/ai-service/src/modules/search/services/llm.service.ts","server/ai-service/src/modules/search/services/milvus.service.ts","server/ai-service/src/modules/search/services/reranker.service.spec.ts","server/ai-service/src/modules/search/services/reranker.service.ts","server/ai-service/src/modules/search/streaming/index.ts","server/ai-service/src/modules/search/streaming/stream-optimizer.service.ts","server/ai-service/src/modules/search/vip/index.ts","server/ai-service/src/modules/search/vip/vip-tier.service.ts","server/ai-service/tsconfig.json","server/api-gateway/.dockerignore","server/api-gateway/Dockerfile","server/api-gateway/logs/.3fa4d5e91883ce1217f62a49f94203b42caa131d-audit.json","server/api-gateway/logs/.92dabeadf9708ae538f84c8892e853b5a8f57f04-audit.json","server/api-gateway/nest-cli.json","server/api-gateway/package.json","server/api-gateway/prisma/README.md","server/api-gateway/prisma/migrations/20260203065715_init/migration.sql","server/api-gateway/prisma/migrations/20260203160000_add_360_view_models/migration.sql","server/api-gateway/prisma/migrations/20260203170000_add_admin_modules/migration.sql","server/api-gateway/prisma/migrations/20260203180000_add_config_and_usage_stats/migration.sql","server/api-gateway/prisma/migrations/20260213000000_add_contact_geo_fields/migration.sql","server/api-gateway/prisma/migrations/20260213100000_expand_prompt_template/migration.sql","server/api-gateway/prisma/migrations/migration_lock.toml","server/api-gateway/prisma/schema.prisma","server/api-gateway/prisma/seed.ts","server/api-gateway/scripts/generate-openapi.ts","server/api-gateway/src/app.module.ts","server/api-gateway/src/common/logger/global-logger.module.ts","server/api-gateway/src/common/logger/global-logger.service.ts","server/api-gateway/src/main.ts","server/api-gateway/src/modules/ai-config/ai-config.controller.ts","server/api-gateway/src/modules/ai-config/ai-config.module.ts","server/api-gateway/src/modules/ai-config/ai-config.service.ts","server/api-gateway/src/modules/ai-config/dto/ai-config.dto.ts","server/api-gateway/src/modules/ai/ai.controller.ts","server/api-gateway/src/modules/ai/ai.module.ts","server/api-gateway/src/modules/ai/ai.service.ts","server/api-gateway/src/modules/audit-logs/audit-logs.controller.ts","server/api-gateway/src/modules/audit-logs/audit-logs.module.ts","server/api-gateway/src/modules/audit-logs/audit-logs.service.ts","server/api-gateway/src/modules/audit-logs/dto/audit-logs.dto.ts","server/api-gateway/src/modules/auth/auth.controller.spec.ts","server/api-gateway/src/modules/auth/auth.controller.ts","server/api-gateway/src/modules/auth/auth.module.ts","server/api-gateway/src/modules/auth/auth.service.spec.ts","server/api-gateway/src/modules/auth/auth.service.ts","server/api-gateway/src/modules/auth/decorators/roles.decorator.ts","server/api-gateway/src/modules/auth/dto/admin-login.dto.ts","server/api-gateway/src/modules/auth/dto/login.dto.ts","server/api-gateway/src/modules/auth/dto/refresh-token.dto.ts","server/api-gateway/src/modules/auth/guards/jwt-auth.guard.ts","server/api-gateway/src/modules/auth/guards/roles.guard.ts","server/api-gateway/src/modules/auth/strategies/jwt.strategy.ts","server/api-gateway/src/modules/contacts/contacts.controller.spec.ts","server/api-gateway/src/modules/contacts/contacts.controller.ts","server/api-gateway/src/modules/contacts/contacts.module.ts","server/api-gateway/src/modules/contacts/contacts.service.spec.ts","server/api-gateway/src/modules/contacts/contacts.service.ts","server/api-gateway/src/modules/contacts/dto/match-contact.dto.ts","server/api-gateway/src/modules/health/health.controller.spec.ts","server/api-gateway/src/modules/health/health.controller.ts","server/api-gateway/src/modules/health/health.module.ts","server/api-gateway/src/modules/knowledge/dto/knowledge-base.dto.ts","server/api-gateway/src/modules/knowledge/dto/search-knowledge.dto.ts","server/api-gateway/src/modules/knowledge/knowledge.controller.spec.ts","server/api-gateway/src/modules/knowledge/knowledge.controller.ts","server/api-gateway/src/modules/knowledge/knowledge.module.ts","server/api-gateway/src/modules/knowledge/knowledge.service.spec.ts","server/api-gateway/src/modules/knowledge/knowledge.service.ts","server/api-gateway/src/modules/mobile-compat/mobile-compat.controller.ts","server/api-gateway/src/modules/mobile-compat/mobile-compat.module.ts","server/api-gateway/src/modules/ocr/ocr.controller.ts","server/api-gateway/src/modules/ocr/ocr.module.ts","server/api-gateway/src/modules/ocr/ocr.service.ts","server/api-gateway/src/modules/pinyin/pinyin.controller.spec.ts","server/api-gateway/src/modules/pinyin/pinyin.controller.ts","server/api-gateway/src/modules/pinyin/pinyin.module.ts","server/api-gateway/src/modules/pinyin/pinyin.service.spec.ts","server/api-gateway/src/modules/pinyin/pinyin.service.ts","server/api-gateway/src/modules/rag/dto/rag.dto.ts","server/api-gateway/src/modules/rag/rag.controller.spec.ts","server/api-gateway/src/modules/rag/rag.controller.ts","server/api-gateway/src/modules/rag/rag.module.ts","server/api-gateway/src/modules/rag/rag.service.runtime.spec.ts","server/api-gateway/src/modules/rag/rag.service.spec.ts","server/api-gateway/src/modules/rag/rag.service.ts","server/api-gateway/src/modules/settings/dto/settings.dto.ts","server/api-gateway/src/modules/settings/settings.controller.spec.ts","server/api-gateway/src/modules/settings/settings.controller.ts","server/api-gateway/src/modules/settings/settings.module.ts","server/api-gateway/src/modules/settings/settings.service.spec.ts","server/api-gateway/src/modules/settings/settings.service.ts","server/api-gateway/src/modules/teams/dto/teams.dto.ts","server/api-gateway/src/modules/teams/teams.controller.spec.ts","server/api-gateway/src/modules/teams/teams.controller.ts","server/api-gateway/src/modules/teams/teams.module.ts","server/api-gateway/src/modules/teams/teams.service.spec.ts","server/api-gateway/src/modules/teams/teams.service.ts","server/api-gateway/src/modules/templates/dto/template.dto.ts","server/api-gateway/src/modules/templates/templates.controller.spec.ts","server/api-gateway/src/modules/templates/templates.controller.ts","server/api-gateway/src/modules/templates/templates.module.ts","server/api-gateway/src/modules/templates/templates.service.spec.ts","server/api-gateway/src/modules/templates/templates.service.ts","server/api-gateway/src/modules/usage/dto/usage.dto.ts","server/api-gateway/src/modules/usage/usage.controller.ts","server/api-gateway/src/modules/usage/usage.module.ts","server/api-gateway/src/modules/usage/usage.service.spec.ts","server/api-gateway/src/modules/usage/usage.service.ts","server/api-gateway/src/modules/users/users.controller.spec.ts","server/api-gateway/src/modules/users/users.controller.ts","server/api-gateway/src/modules/users/users.module.ts","server/api-gateway/src/modules/users/users.service.spec.ts","server/api-gateway/src/modules/users/users.service.ts","server/api-gateway/src/modules/weather/weather.controller.spec.ts","server/api-gateway/src/modules/weather/weather.controller.ts","server/api-gateway/src/modules/weather/weather.module.ts","server/api-gateway/src/modules/weather/weather.service.spec.ts","server/api-gateway/src/modules/weather/weather.service.ts","server/api-gateway/src/shared/prisma/prisma.module.ts","server/api-gateway/src/shared/prisma/prisma.service.ts","server/api-gateway/src/shared/redis/redis.module.ts","server/api-gateway/src/shared/redis/redis.service.ts","server/api-gateway/src/shared/sms/sms.module.ts","server/api-gateway/src/shared/sms/sms.service.spec.ts","server/api-gateway/src/shared/sms/sms.service.ts","server/api-gateway/tsconfig.json","server/docker-compose.override.yml","server/docker-compose.prod.yml","server/docker-compose.yml","server/docker/grafana/provisioning/dashboards/dashboards.yml","server/docker/grafana/provisioning/dashboards/json/api-gateway.json","server/docker/grafana/provisioning/datasources/datasources.yml","server/docker/loki/loki-config.yml","server/docker/mongodb/init.js","server/docker/nginx/conf.d/default.conf","server/docker/nginx/nginx.conf","server/docker/nginx/ssl/.gitkeep","server/docker/nginx/ssl/README.md","server/docker/postgres/init.sql","server/docker/prometheus/alert.rules.yml","server/docker/prometheus/prometheus.yml","server/docker/promtail/promtail-config.yml","server/k8s/vllm/deployment.yaml","server/k8s/vllm/hpa.yaml","server/k8s/vllm/service.yaml","server/model-services/reranker/Dockerfile","server/model-services/reranker/requirements.txt","server/model-services/reranker/reranker_server.py","server/ocr-service/.dockerignore","server/ocr-service/Dockerfile","server/ocr-service/jest.config.js","server/ocr-service/nest-cli.json","server/ocr-service/package.json","server/ocr-service/src/app.module.ts","server/ocr-service/src/main.ts","server/ocr-service/src/modules/health/health.controller.ts","server/ocr-service/src/modules/health/health.module.ts","server/ocr-service/src/modules/ocr/chat-parser.service.spec.ts","server/ocr-service/src/modules/ocr/chat-parser.service.ts","server/ocr-service/src/modules/ocr/dto/chat-screenshot.dto.ts","server/ocr-service/src/modules/ocr/ocr.controller.ts","server/ocr-service/src/modules/ocr/ocr.module.ts","server/ocr-service/src/modules/ocr/ocr.service.spec.ts","server/ocr-service/src/modules/ocr/ocr.service.ts","server/ocr-service/tsconfig.json","server/scripts/backup.sh","server/scripts/check-mobile-api-coverage.js","server/scripts/check-mobile-response-compat.js","server/scripts/deploy.sh","server/scripts/deploy/deploy-infrastructure.sh","server/scripts/deploy/deploy-models.sh","server/scripts/deploy/final-deploy.sh","server/scripts/deploy/stop-models.sh","server/scripts/e2e-smoke.js","server/scripts/health-check.sh","server/scripts/mobile-api-smoke.js","server/scripts/setup-ssl.sh","settings.gradle.kts","shared/README.md","shared/build.gradle.kts","shared/src/androidInstrumentedTest/kotlin/com/haizhan/ime/shared/auth/AndroidTokenStorageTest.kt","shared/src/androidInstrumentedTest/kotlin/com/haizhan/ime/shared/auth/SharedAuthManagerIntegrationTest.kt","shared/src/androidInstrumentedTest/kotlin/com/haizhan/ime/shared/database/DatabaseIntegrationTest.kt","shared/src/androidInstrumentedTest/kotlin/com/haizhan/ime/shared/pinyin/CandidateRankerIntegrationTest.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/BuildConfig.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/Platform.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/auth/AndroidTokenStorage.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/auth/CurrentTime.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/database/DatabaseDriverFactory.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/database/SharedDatabaseKeyManager.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/di/PlatformModule.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/migration/RoomToSqlDelightMigrator.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/platform/Connectivity.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/platform/DeviceInfo.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/platform/DictionaryLoader.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/platform/FileSystem.android.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/Platform.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/analytics/AnalyticsTracker.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/ApiClient.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/AuthApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/ContactApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/DashboardApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/FeedbackApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/KnowledgeApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/MemoryApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/NoteApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/OcrApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/PinyinApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/RagSearchApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/ReplyApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/ScriptApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/SearchApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/SessionApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/SettingsApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/SubscriptionApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/UserApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/WeatherApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/auth/AuthManager.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/auth/AuthModels.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/database/DatabaseDriverFactory.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/database/DatabaseExtensions.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/di/SharedModule.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/matcher/NicknameMatcher.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/ContactModel.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/KnowledgeModel.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/AiDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/ApiResponse.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/AuthDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/ContactDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/DashboardDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/FeedbackDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/KnowledgeDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/MemoryDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/MessageDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/NoteDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/OcrDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/PinyinDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/ProfileDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/RagSearchDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/ReplyDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/ScriptDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/SearchDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/SessionDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/SettingsDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/SubscriptionDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/WeatherDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/Candidate.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/CandidateRanker.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/DictEntry.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/NineGridMatcher.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/PinyinConstants.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/PinyinService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/PinyinSplitter.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/CloudSynergyEngine.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/DoubleArrayTrie.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/DoubleArrayTrieImpl.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/DynamicWeightRanker.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/PinyinDAG.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/ViterbiDecoder.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/platform/Connectivity.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/platform/DeviceInfo.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/platform/DictionaryLoader.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/platform/FileSystem.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/ContactRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/KnowledgeRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/MessageRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/NoteRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/PinyinRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/SearchRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/SettingsRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/UserDictRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/MessageChainMatcher.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/OcrMatchService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/OfflineFallbackService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/ReplyService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/ScriptService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/SessionService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/sync/SyncManager.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/util/FlowExt.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/util/LevenshteinDistance.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/util/LruCache.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/util/StringExt.kt","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Contact.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Knowledge.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Message.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Note.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Search.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Settings.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/UserDict.sq","shared/src/commonMain/sqldelight/migrations/1.sqm","shared/src/commonTest/kotlin/com/haizhan/ime/shared/analytics/AnalyticsTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/api/ApiClientTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/auth/AuthModelsTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/matcher/NicknameMatcherTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/model/ContactModelTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/model/KnowledgeModelTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/network/NetworkClientTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/CandidateRankerTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/CandidateTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/NineGridMatcherTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/PinyinConstantsTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/PinyinSplitterTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/algorithm/CloudSynergyEngineTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/algorithm/DoubleArrayTrieImplTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/algorithm/DynamicWeightRankerTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/algorithm/PinyinDAGTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/algorithm/ViterbiDecoderTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/repository/ContactRepositoryTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/sync/SyncTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/util/LevenshteinDistanceTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/util/PinyinConverterTest.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/Platform.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/auth/CurrentTime.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/auth/IosTokenStorage.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/database/DatabaseDriverFactory.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/di/PlatformModule.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/platform/Connectivity.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/platform/DeviceInfo.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/platform/DictionaryLoader.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/platform/FileSystem.ios.kt","voice/build.gradle.kts","voice/consumer-rules.pro","voice/proguard-rules.pro","voice/src/androidTest/java/com/haizhan/ime/voice/integration/VoiceModuleIntegrationTest.kt","voice/src/androidTest/java/com/haizhan/ime/voice/integration/WakeWordServiceIntegrationTest.kt","voice/src/main/AndroidManifest.xml","voice/src/main/java/com/haizhan/ime/voice/api/AudioPipeline.kt","voice/src/main/java/com/haizhan/ime/voice/api/SpeechRecognitionService.kt","voice/src/main/java/com/haizhan/ime/voice/api/VoiceCoordinator.kt","voice/src/main/java/com/haizhan/ime/voice/api/VoiceErrors.kt","voice/src/main/java/com/haizhan/ime/voice/api/VoiceTypes.kt","voice/src/main/java/com/haizhan/ime/voice/api/WakeWordConfigManager.kt","voice/src/main/java/com/haizhan/ime/voice/api/WakeWordDetectionService.kt","voice/src/main/java/com/haizhan/ime/voice/audio/AudioPipelineImpl.kt","voice/src/main/java/com/haizhan/ime/voice/audio/di/AudioModule.kt","voice/src/main/java/com/haizhan/ime/voice/coordinator/VoiceCoordinatorImpl.kt","voice/src/main/java/com/haizhan/ime/voice/coordinator/di/CoordinatorModule.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/DenoiseAudioConsumer.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/DenoiseManager.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/MusicAwareAEC.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/NoiseEstimator.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/SpectralSubtractor.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/VoiceActivityDetector.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/di/DenoiseModule.kt","voice/src/main/java/com/haizhan/ime/voice/di/VoiceModule.kt","voice/src/main/java/com/haizhan/ime/voice/engine/VoiceInputEngine.kt","voice/src/main/java/com/haizhan/ime/voice/model/MultiModelManager.kt","voice/src/main/java/com/haizhan/ime/voice/model/VoiceModelManager.kt","voice/src/main/java/com/haizhan/ime/voice/monitoring/VoicePerformanceMonitor.kt","voice/src/main/java/com/haizhan/ime/voice/monitoring/di/MonitoringModule.kt","voice/src/main/java/com/haizhan/ime/voice/recognition/AudioDiagnostics.kt","voice/src/main/java/com/haizhan/ime/voice/recognition/SpeechRecognitionServiceImpl.kt","voice/src/main/java/com/haizhan/ime/voice/recognition/VoskGrammarBuilder.kt","voice/src/main/java/com/haizhan/ime/voice/recognition/VoskRecognizer.kt","voice/src/main/java/com/haizhan/ime/voice/recognition/di/SpeechModule.kt","voice/src/main/java/com/haizhan/ime/voice/ui/VoiceUiTypes.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/WakeWordDetectionServiceImpl.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/analytics/WakeWordAnalytics.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/config/WakeWordConfigManagerImpl.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/config/di/ConfigModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/confirmation/WakeWordConfirmation.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/detector/IWakeWordDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/detector/VoskWakeWordDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/di/ConfirmationModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/di/MatcherModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/di/ParserModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/di/RepositoryModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/di/WakeWordModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/filter/FalseWakeFilter.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/matcher/PinyinData.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/matcher/PinyinMatcher.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/matcher/TrieWordMatcher.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/parser/WakeWordCommandParser.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/EnergyPatternMatcher.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/PitchExtractor.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/QuickWakeDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/SingingModeDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/SpectralAnalyzer.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/SyllableDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/VibratoDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/VoiceCharacteristicAnalyzer.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/VoiceProfileAnalyzer.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/di/PredetectModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/repository/WakeWordRepository.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/sensitivity/AdaptiveSensitivity.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/service/WakeWordService.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/util/PinyinUtils.kt","voice/src/test/java/com/haizhan/ime/voice/api/HotwordConfigTest.kt","voice/src/test/java/com/haizhan/ime/voice/audio/AudioPipelineImplTest.kt","voice/src/test/java/com/haizhan/ime/voice/coordinator/VoiceCoordinatorImplTest.kt","voice/src/test/java/com/haizhan/ime/voice/denoise/DenoiseManagerTest.kt","voice/src/test/java/com/haizhan/ime/voice/denoise/MusicAwareAECTest.kt","voice/src/test/java/com/haizhan/ime/voice/denoise/SpectralSubtractorTest.kt","voice/src/test/java/com/haizhan/ime/voice/denoise/VoiceActivityDetectorTest.kt.bak","voice/src/test/java/com/haizhan/ime/voice/model/MultiModelManagerTest.kt","voice/src/test/java/com/haizhan/ime/voice/monitoring/VoicePerformanceMonitorTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/config/WakeWordConfigManagerTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/confirmation/WakeWordConfirmationTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/filter/FalseWakeFilterTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/matcher/PinyinDataTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/matcher/PinyinMatcherTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/matcher/TrieWordMatcherTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/parser/WakeWordCommandParserTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/QuickWakeDetectorTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/SingingModeDetectorTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/SyllableDetectorTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/VibratoDetectorTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/VoiceCharacteristicAnalyzerTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/VoiceProfileAnalyzerTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/repository/WakeWordRepositorySerializationTest.kt"],"removed":[],"modified":[]}],"total_commits":0,"head_commit":{"id":"893022bfd17ce1f2e75e75651551cf8ceaacfe45","message":"feat: 嗨赞AI输入法Android版初始提交\n","url":"https://gitea.g-hi.com/luoanwu/haizhan-ime-android/commit/893022bfd17ce1f2e75e75651551cf8ceaacfe45","author":{"name":"luoanwu","email":"law@g-hi.com","username":"luoanwu"},"committer":{"name":"luoanwu","email":"law@g-hi.com","username":"luoanwu"},"verification":null,"timestamp":"2026-02-27T15:28:58+08:00","added":[".claude/skills/haizhan-ime-development.md",".claude/worktrees/charming-zhukovsky",".editorconfig",".github/workflows/ci.yml",".github/workflows/frontend-backend-ci.yml",".github/workflows/ios-ci.yml",".github/workflows/performance-check.yml",".github/workflows/pr-check.yml",".github/workflows/release.yml",".gitignore",".npmrc","CHANGELOG.md","CLAUDE.md","MIGRATION_COMPLETE_REPORT.md","README.md","admin-web/.env.development","admin-web/.eslintrc.cjs","admin-web/.gitignore","admin-web/.npmrc","admin-web/README.md","admin-web/e2e/all-pages.spec.ts","admin-web/e2e/crud-tests.spec.ts","admin-web/e2e/dashboard.spec.ts","admin-web/e2e/interactive-click.spec.ts","admin-web/e2e/login.spec.ts","admin-web/e2e/templates.spec.ts","admin-web/index.html","admin-web/package.json","admin-web/playwright.config.ts","admin-web/postcss.config.js","admin-web/public/favicon.svg","admin-web/src/App.vue","admin-web/src/api/ai-config.ts","admin-web/src/api/audit.ts","admin-web/src/api/auth.ts","admin-web/src/api/contact.ts","admin-web/src/api/knowledge.ts","admin-web/src/api/rag.ts","admin-web/src/api/settings.ts","admin-web/src/api/team.ts","admin-web/src/api/template.ts","admin-web/src/api/usage.ts","admin-web/src/api/user.ts","admin-web/src/assets/logo.svg","admin-web/src/components/UserCard.vue","admin-web/src/components/index.ts","admin-web/src/composables/usePermission.ts","admin-web/src/composables/useResponsive.ts","admin-web/src/composables/useTable.ts","admin-web/src/directives/index.ts","admin-web/src/directives/permission.ts","admin-web/src/env.d.ts","admin-web/src/layouts/MainLayout.vue","admin-web/src/layouts/components/HeaderBar.vue","admin-web/src/layouts/components/MobileDrawer.vue","admin-web/src/layouts/components/SidebarMenu.vue","admin-web/src/main.ts","admin-web/src/router/index.ts","admin-web/src/stores/app.ts","admin-web/src/stores/user.ts","admin-web/src/styles/index.scss","admin-web/src/styles/variables.scss","admin-web/src/types/ai-config.ts","admin-web/src/types/api.ts","admin-web/src/types/audit.ts","admin-web/src/types/contact.ts","admin-web/src/types/knowledge.ts","admin-web/src/types/permission.ts","admin-web/src/types/rag.ts","admin-web/src/types/settings.ts","admin-web/src/types/team.ts","admin-web/src/types/template.ts","admin-web/src/types/usage.ts","admin-web/src/types/user.ts","admin-web/src/utils/request.ts","admin-web/src/views/ai-config/index.vue","admin-web/src/views/audit/index.vue","admin-web/src/views/contacts/index.vue","admin-web/src/views/contacts/profile.vue","admin-web/src/views/dashboard/index.vue","admin-web/src/views/error/403.vue","admin-web/src/views/error/404.vue","admin-web/src/views/knowledge/index.vue","admin-web/src/views/login/index.vue","admin-web/src/views/profile/index.vue","admin-web/src/views/rag/index.vue","admin-web/src/views/settings/index.vue","admin-web/src/views/teams/index.vue","admin-web/src/views/templates/index.vue","admin-web/src/views/usage/index.vue","admin-web/src/views/users/index.vue","admin-web/tailwind.config.js","admin-web/test-results/.last-run.json","admin-web/tsconfig.app.json","admin-web/tsconfig.json","admin-web/tsconfig.node.json","admin-web/vite.config.d.ts","admin-web/vite.config.js","admin-web/vite.config.ts","ai-panel/build.gradle.kts","ai-panel/consumer-rules.pro","ai-panel/proguard-rules.pro","ai-panel/src/main/AndroidManifest.xml","ai-panel/src/main/java/com/haizhan/ime/panel/AiPanelManager.kt","ai-panel/src/main/java/com/haizhan/ime/panel/AiPanelModels.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/AgenticDecisionEngine.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/AgenticRouter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/AgenticTypes.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/CostController.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/HybridSearchExecutor.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/di/AgenticModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/AvatarMatcher.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/ContactCache.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/ContactContextPreloader.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/ContactIndexes.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/ContactMatcher.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/ContactMatcherData.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/EnhancedContactMatcher.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/MatchedContact.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/NicknameMatcher.kt","ai-panel/src/main/java/com/haizhan/ime/panel/context/InputContextCollector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/context/UnifiedContextManager.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/AiPanelModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/ContactModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/ContextModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/OcrModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/ReplyModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/ScreenshotModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/knowledge/KnowledgeService.kt","ai-panel/src/main/java/com/haizhan/ime/panel/memory/ContactMemoryModels.kt","ai-panel/src/main/java/com/haizhan/ime/panel/memory/ContactMemoryService.kt","ai-panel/src/main/java/com/haizhan/ime/panel/memory/MemoryDtoMapper.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/EnhancedSenderDetector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/MessageParser.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/OcrReliabilityScore.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/OcrService.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/TitleBarParser.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/ChatMessageAdapter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/DingTalkMessageAdapter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/FeishuMessageAdapter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/MessageAdapterFactory.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/WeChatMessageAdapter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/WeWorkMessageAdapter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/BatteryAwareManager.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/ClipboardHelper.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/FrequencyController.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/RagReplyGenerator.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/ReplyGenerator.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/ReplyStyle.kt","ai-panel/src/main/java/com/haizhan/ime/panel/screenshot/RegionDetector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/screenshot/ScreenshotManager.kt","ai-panel/src/main/java/com/haizhan/ime/panel/service/ScreenshotForegroundService.kt","ai-panel/src/main/java/com/haizhan/ime/panel/trigger/AppDetector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/trigger/TriggerDetector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/AIPanelScreen.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/AiPanelTheme.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/Contact360View.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/ContactCard.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/ContactSelector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/EmotionBadge.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/FunctionTabBar.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/IntentBadge.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/KnowledgeCard.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/KnowledgePanel.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/QuickReplyPanel.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/ReplyCard.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/ContactComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/HistoryComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/KnowledgeComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/NoteComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/OcrComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/PanelCommon.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/ReplyComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/TeamComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/AiReplyTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/ContactsTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/HistoryTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/KnowledgeTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/NoteTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/OcrTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/TeamTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/weather/WeatherService.kt","ai-panel/src/main/res/drawable/ic_ai_reply.xml","ai-panel/src/main/res/drawable/ic_capture.xml","ai-panel/src/main/res/drawable/ic_contacts.xml","ai-panel/src/main/res/drawable/ic_knowledge.xml","ai-panel/src/main/res/drawable/ic_ocr.xml","ai-panel/src/main/res/drawable/ic_refresh.xml","ai-panel/src/main/res/drawable/ic_screenshot.xml","ai-panel/src/main/res/drawable/ic_stop.xml","ai-panel/src/test/java/com/haizhan/ime/panel/AiPanelManagerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/agentic/AgenticDecisionEngineTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/agentic/AgenticRouterTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/agentic/AgenticTypesTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/agentic/CostControllerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/agentic/ResultQualityEvaluatorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactCacheTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactContextPreloaderTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactIndexPerformanceTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactIndexesTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactMatcherTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactMemoryServiceTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/MatchedContactTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/NicknameMatcherTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/context/InputContextCollectorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/context/UnifiedContextManagerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/knowledge/KnowledgeServiceTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ocr/EnhancedSenderDetectorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ocr/MessageParserTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ocr/OcrReliabilityScoreTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ocr/OcrServiceTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ocr/TitleBarParserTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/platform/DingTalkAdapterTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/platform/FeishuAdapterTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/platform/WeChatAdapterTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/platform/WeWorkAdapterTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/BatteryAwareManagerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/ClipboardHelperTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/FrequencyControllerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/RagReplyGeneratorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/ReplyGeneratorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/ReplyStyleTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/screenshot/RegionDetectorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/screenshot/ScreenshotManagerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/trigger/AppDetectorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/trigger/TriggerDetectorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ui/AIPanelScreenTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ui/ReplyCardTest.kt","api-clients/android/.openapi-generator-ignore","api-clients/android/.openapi-generator/FILES","api-clients/android/.openapi-generator/VERSION","api-clients/android/README.md","api-clients/android/build.gradle","api-clients/android/docs/AdminLoginDto.md","api-clients/android/docs/AiConfigApi.md","api-clients/android/docs/AuditLogsApi.md","api-clients/android/docs/AuthApi.md","api-clients/android/docs/BatchRemoveContactsDto.md","api-clients/android/docs/ChunkingConfigDto.md","api-clients/android/docs/Contact360ResponseDto.md","api-clients/android/docs/Contact360ViewDto.md","api-clients/android/docs/ContactDetailResponseDto.md","api-clients/android/docs/ContactDto.md","api-clients/android/docs/ContactEventDto.md","api-clients/android/docs/ContactListResponseDto.md","api-clients/android/docs/ContactProfileDto.md","api-clients/android/docs/ContactStatsDto.md","api-clients/android/docs/ContactTagDto.md","api-clients/android/docs/ContactsApi.md","api-clients/android/docs/ConversationSummaryDto.md","api-clients/android/docs/CreateContactDto.md","api-clients/android/docs/CreateContactEventDto.md","api-clients/android/docs/CreateKnowledgeBaseDto.md","api-clients/android/docs/CreateKnowledgeDocumentDto.md","api-clients/android/docs/CreateQwenModelDto.md","api-clients/android/docs/DefaultApi.md","api-clients/android/docs/EmbeddingConfigDto.md","api-clients/android/docs/EmbeddingModelDto.md","api-clients/android/docs/GenerationConfigDto.md","api-clients/android/docs/HealthApi.md","api-clients/android/docs/KnowledgeApi.md","api-clients/android/docs/KnowledgeBaseResponseDto.md","api-clients/android/docs/KnowledgeDocumentListResponseDto.md","api-clients/android/docs/KnowledgeDocumentResponseDto.md","api-clients/android/docs/LoginDto.md","api-clients/android/docs/MatchContactDto.md","api-clients/android/docs/MatchContactResponseDto.md","api-clients/android/docs/MobileCompatApi.md","api-clients/android/docs/PinyinApi.md","api-clients/android/docs/PipelineHealthDto.md","api-clients/android/docs/PipelineMetricsDto.md","api-clients/android/docs/PreviewChunkingDto.md","api-clients/android/docs/QwenModelConfigDto.md","api-clients/android/docs/QwenModelFeaturesDto.md","api-clients/android/docs/RagApi.md","api-clients/android/docs/RagConfigDto.md","api-clients/android/docs/RagMetricsDto.md","api-clients/android/docs/RagPipelineStatusDto.md","api-clients/android/docs/RagQueryDto.md","api-clients/android/docs/RebuildIndexDto.md","api-clients/android/docs/RefreshTokenDto.md","api-clients/android/docs/RetrievalConfigDto.md","api-clients/android/docs/SettingsApi.md","api-clients/android/docs/SyncContactsDto.md","api-clients/android/docs/SyncContactsResponseDto.md","api-clients/android/docs/TeamsApi.md","api-clients/android/docs/ToggleQwenModelDto.md","api-clients/android/docs/UpdateContactDto.md","api-clients/android/docs/UpdateKnowledgeBaseDto.md","api-clients/android/docs/UpdateKnowledgeDocumentDto.md","api-clients/android/docs/UpdateQwenModelDto.md","api-clients/android/docs/UpdateRagConfigDto.md","api-clients/android/docs/UsageApi.md","api-clients/android/docs/WeatherApi.md","api-clients/android/gradle/wrapper/gradle-wrapper.jar","api-clients/android/gradle/wrapper/gradle-wrapper.properties","api-clients/android/gradlew","api-clients/android/gradlew.bat","api-clients/android/settings.gradle","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/AiConfigApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/AuditLogsApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/AuthApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/ContactsApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/DefaultApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/HealthApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/KnowledgeApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/MobileCompatApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/PinyinApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/RagApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/SettingsApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/TeamsApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/UsageApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/WeatherApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/auth/HttpBearerAuth.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/ApiClient.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/BigDecimalAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/BigIntegerAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/ByteArrayAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/CollectionFormats.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/LocalDateAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/LocalDateTimeAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/OffsetDateTimeAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/ResponseExt.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/Serializer.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/URIAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/UUIDAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/AdminLoginDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/BatchRemoveContactsDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ChunkingConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/Contact360ResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/Contact360ViewDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactDetailResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactEventDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactListResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactProfileDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactStatsDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactTagDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ConversationSummaryDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/CreateContactDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/CreateContactEventDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/CreateKnowledgeBaseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/CreateKnowledgeDocumentDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/CreateQwenModelDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/EmbeddingConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/EmbeddingModelDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/GenerationConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/KnowledgeBaseResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/KnowledgeDocumentListResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/KnowledgeDocumentResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/LoginDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/MatchContactDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/MatchContactResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/PipelineHealthDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/PipelineMetricsDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/PreviewChunkingDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/QwenModelConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/QwenModelFeaturesDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RagConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RagMetricsDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RagPipelineStatusDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RagQueryDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RebuildIndexDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RefreshTokenDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RetrievalConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/SyncContactsDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/SyncContactsResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ToggleQwenModelDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/UpdateContactDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/UpdateKnowledgeBaseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/UpdateKnowledgeDocumentDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/UpdateQwenModelDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/UpdateRagConfigDto.kt","api-clients/flutter/.gitignore","api-clients/flutter/.openapi-generator-ignore","api-clients/flutter/.openapi-generator/FILES","api-clients/flutter/.openapi-generator/VERSION","api-clients/flutter/README.md","api-clients/flutter/analysis_options.yaml","api-clients/flutter/doc/AdminLoginDto.md","api-clients/flutter/doc/AiConfigApi.md","api-clients/flutter/doc/AuditLogsApi.md","api-clients/flutter/doc/AuthApi.md","api-clients/flutter/doc/BatchRemoveContactsDto.md","api-clients/flutter/doc/ChunkingConfigDto.md","api-clients/flutter/doc/Contact360ResponseDto.md","api-clients/flutter/doc/Contact360ViewDto.md","api-clients/flutter/doc/ContactDetailResponseDto.md","api-clients/flutter/doc/ContactDto.md","api-clients/flutter/doc/ContactEventDto.md","api-clients/flutter/doc/ContactListResponseDto.md","api-clients/flutter/doc/ContactProfileDto.md","api-clients/flutter/doc/ContactStatsDto.md","api-clients/flutter/doc/ContactTagDto.md","api-clients/flutter/doc/ContactsApi.md","api-clients/flutter/doc/ConversationSummaryDto.md","api-clients/flutter/doc/CreateContactDto.md","api-clients/flutter/doc/CreateContactEventDto.md","api-clients/flutter/doc/CreateKnowledgeBaseDto.md","api-clients/flutter/doc/CreateKnowledgeDocumentDto.md","api-clients/flutter/doc/CreateQwenModelDto.md","api-clients/flutter/doc/DefaultApi.md","api-clients/flutter/doc/EmbeddingConfigDto.md","api-clients/flutter/doc/EmbeddingModelDto.md","api-clients/flutter/doc/GenerationConfigDto.md","api-clients/flutter/doc/HealthApi.md","api-clients/flutter/doc/KnowledgeApi.md","api-clients/flutter/doc/KnowledgeBaseResponseDto.md","api-clients/flutter/doc/KnowledgeDocumentListResponseDto.md","api-clients/flutter/doc/KnowledgeDocumentResponseDto.md","api-clients/flutter/doc/LoginDto.md","api-clients/flutter/doc/MatchContactDto.md","api-clients/flutter/doc/MatchContactResponseDto.md","api-clients/flutter/doc/MobileCompatApi.md","api-clients/flutter/doc/PinyinApi.md","api-clients/flutter/doc/PipelineHealthDto.md","api-clients/flutter/doc/PipelineMetricsDto.md","api-clients/flutter/doc/PreviewChunkingDto.md","api-clients/flutter/doc/QwenModelConfigDto.md","api-clients/flutter/doc/QwenModelFeaturesDto.md","api-clients/flutter/doc/RagApi.md","api-clients/flutter/doc/RagConfigDto.md","api-clients/flutter/doc/RagMetricsDto.md","api-clients/flutter/doc/RagPipelineStatusDto.md","api-clients/flutter/doc/RagQueryDto.md","api-clients/flutter/doc/RebuildIndexDto.md","api-clients/flutter/doc/RefreshTokenDto.md","api-clients/flutter/doc/RetrievalConfigDto.md","api-clients/flutter/doc/SettingsApi.md","api-clients/flutter/doc/SyncContactsDto.md","api-clients/flutter/doc/SyncContactsResponseDto.md","api-clients/flutter/doc/TeamsApi.md","api-clients/flutter/doc/ToggleQwenModelDto.md","api-clients/flutter/doc/UpdateContactDto.md","api-clients/flutter/doc/UpdateKnowledgeBaseDto.md","api-clients/flutter/doc/UpdateKnowledgeDocumentDto.md","api-clients/flutter/doc/UpdateQwenModelDto.md","api-clients/flutter/doc/UpdateRagConfigDto.md","api-clients/flutter/doc/UsageApi.md","api-clients/flutter/doc/WeatherApi.md","api-clients/flutter/lib/haizhan_api.dart","api-clients/flutter/lib/src/api.dart","api-clients/flutter/lib/src/api/ai_config_api.dart","api-clients/flutter/lib/src/api/audit_logs_api.dart","api-clients/flutter/lib/src/api/auth_api.dart","api-clients/flutter/lib/src/api/contacts_api.dart","api-clients/flutter/lib/src/api/default_api.dart","api-clients/flutter/lib/src/api/health_api.dart","api-clients/flutter/lib/src/api/knowledge_api.dart","api-clients/flutter/lib/src/api/mobile_compat_api.dart","api-clients/flutter/lib/src/api/pinyin_api.dart","api-clients/flutter/lib/src/api/rag_api.dart","api-clients/flutter/lib/src/api/settings_api.dart","api-clients/flutter/lib/src/api/teams_api.dart","api-clients/flutter/lib/src/api/usage_api.dart","api-clients/flutter/lib/src/api/weather_api.dart","api-clients/flutter/lib/src/api_util.dart","api-clients/flutter/lib/src/auth/api_key_auth.dart","api-clients/flutter/lib/src/auth/auth.dart","api-clients/flutter/lib/src/auth/basic_auth.dart","api-clients/flutter/lib/src/auth/bearer_auth.dart","api-clients/flutter/lib/src/auth/oauth.dart","api-clients/flutter/lib/src/date_serializer.dart","api-clients/flutter/lib/src/model/admin_login_dto.dart","api-clients/flutter/lib/src/model/batch_remove_contacts_dto.dart","api-clients/flutter/lib/src/model/chunking_config_dto.dart","api-clients/flutter/lib/src/model/contact360_response_dto.dart","api-clients/flutter/lib/src/model/contact360_view_dto.dart","api-clients/flutter/lib/src/model/contact_detail_response_dto.dart","api-clients/flutter/lib/src/model/contact_dto.dart","api-clients/flutter/lib/src/model/contact_event_dto.dart","api-clients/flutter/lib/src/model/contact_list_response_dto.dart","api-clients/flutter/lib/src/model/contact_profile_dto.dart","api-clients/flutter/lib/src/model/contact_stats_dto.dart","api-clients/flutter/lib/src/model/contact_tag_dto.dart","api-clients/flutter/lib/src/model/conversation_summary_dto.dart","api-clients/flutter/lib/src/model/create_contact_dto.dart","api-clients/flutter/lib/src/model/create_contact_event_dto.dart","api-clients/flutter/lib/src/model/create_knowledge_base_dto.dart","api-clients/flutter/lib/src/model/create_knowledge_document_dto.dart","api-clients/flutter/lib/src/model/create_qwen_model_dto.dart","api-clients/flutter/lib/src/model/date.dart","api-clients/flutter/lib/src/model/embedding_config_dto.dart","api-clients/flutter/lib/src/model/embedding_model_dto.dart","api-clients/flutter/lib/src/model/generation_config_dto.dart","api-clients/flutter/lib/src/model/knowledge_base_response_dto.dart","api-clients/flutter/lib/src/model/knowledge_document_list_response_dto.dart","api-clients/flutter/lib/src/model/knowledge_document_response_dto.dart","api-clients/flutter/lib/src/model/login_dto.dart","api-clients/flutter/lib/src/model/match_contact_dto.dart","api-clients/flutter/lib/src/model/match_contact_response_dto.dart","api-clients/flutter/lib/src/model/pipeline_health_dto.dart","api-clients/flutter/lib/src/model/pipeline_metrics_dto.dart","api-clients/flutter/lib/src/model/preview_chunking_dto.dart","api-clients/flutter/lib/src/model/qwen_model_config_dto.dart","api-clients/flutter/lib/src/model/qwen_model_features_dto.dart","api-clients/flutter/lib/src/model/rag_config_dto.dart","api-clients/flutter/lib/src/model/rag_metrics_dto.dart","api-clients/flutter/lib/src/model/rag_pipeline_status_dto.dart","api-clients/flutter/lib/src/model/rag_query_dto.dart","api-clients/flutter/lib/src/model/rebuild_index_dto.dart","api-clients/flutter/lib/src/model/refresh_token_dto.dart","api-clients/flutter/lib/src/model/retrieval_config_dto.dart","api-clients/flutter/lib/src/model/sync_contacts_dto.dart","api-clients/flutter/lib/src/model/sync_contacts_response_dto.dart","api-clients/flutter/lib/src/model/toggle_qwen_model_dto.dart","api-clients/flutter/lib/src/model/update_contact_dto.dart","api-clients/flutter/lib/src/model/update_knowledge_base_dto.dart","api-clients/flutter/lib/src/model/update_knowledge_document_dto.dart","api-clients/flutter/lib/src/model/update_qwen_model_dto.dart","api-clients/flutter/lib/src/model/update_rag_config_dto.dart","api-clients/flutter/lib/src/serializers.dart","api-clients/flutter/pubspec.yaml","api-clients/flutter/test/admin_login_dto_test.dart","api-clients/flutter/test/ai_config_api_test.dart","api-clients/flutter/test/audit_logs_api_test.dart","api-clients/flutter/test/auth_api_test.dart","api-clients/flutter/test/batch_remove_contacts_dto_test.dart","api-clients/flutter/test/chunking_config_dto_test.dart","api-clients/flutter/test/contact360_response_dto_test.dart","api-clients/flutter/test/contact360_view_dto_test.dart","api-clients/flutter/test/contact_detail_response_dto_test.dart","api-clients/flutter/test/contact_dto_test.dart","api-clients/flutter/test/contact_event_dto_test.dart","api-clients/flutter/test/contact_list_response_dto_test.dart","api-clients/flutter/test/contact_profile_dto_test.dart","api-clients/flutter/test/contact_stats_dto_test.dart","api-clients/flutter/test/contact_tag_dto_test.dart","api-clients/flutter/test/contacts_api_test.dart","api-clients/flutter/test/conversation_summary_dto_test.dart","api-clients/flutter/test/create_contact_dto_test.dart","api-clients/flutter/test/create_contact_event_dto_test.dart","api-clients/flutter/test/create_knowledge_base_dto_test.dart","api-clients/flutter/test/create_knowledge_document_dto_test.dart","api-clients/flutter/test/create_qwen_model_dto_test.dart","api-clients/flutter/test/default_api_test.dart","api-clients/flutter/test/embedding_config_dto_test.dart","api-clients/flutter/test/embedding_model_dto_test.dart","api-clients/flutter/test/generation_config_dto_test.dart","api-clients/flutter/test/health_api_test.dart","api-clients/flutter/test/knowledge_api_test.dart","api-clients/flutter/test/knowledge_base_response_dto_test.dart","api-clients/flutter/test/knowledge_document_list_response_dto_test.dart","api-clients/flutter/test/knowledge_document_response_dto_test.dart","api-clients/flutter/test/login_dto_test.dart","api-clients/flutter/test/match_contact_dto_test.dart","api-clients/flutter/test/match_contact_response_dto_test.dart","api-clients/flutter/test/mobile_compat_api_test.dart","api-clients/flutter/test/pinyin_api_test.dart","api-clients/flutter/test/pipeline_health_dto_test.dart","api-clients/flutter/test/pipeline_metrics_dto_test.dart","api-clients/flutter/test/preview_chunking_dto_test.dart","api-clients/flutter/test/qwen_model_config_dto_test.dart","api-clients/flutter/test/qwen_model_features_dto_test.dart","api-clients/flutter/test/rag_api_test.dart","api-clients/flutter/test/rag_config_dto_test.dart","api-clients/flutter/test/rag_metrics_dto_test.dart","api-clients/flutter/test/rag_pipeline_status_dto_test.dart","api-clients/flutter/test/rag_query_dto_test.dart","api-clients/flutter/test/rebuild_index_dto_test.dart","api-clients/flutter/test/refresh_token_dto_test.dart","api-clients/flutter/test/retrieval_config_dto_test.dart","api-clients/flutter/test/settings_api_test.dart","api-clients/flutter/test/sync_contacts_dto_test.dart","api-clients/flutter/test/sync_contacts_response_dto_test.dart","api-clients/flutter/test/teams_api_test.dart","api-clients/flutter/test/toggle_qwen_model_dto_test.dart","api-clients/flutter/test/update_contact_dto_test.dart","api-clients/flutter/test/update_knowledge_base_dto_test.dart","api-clients/flutter/test/update_knowledge_document_dto_test.dart","api-clients/flutter/test/update_qwen_model_dto_test.dart","api-clients/flutter/test/update_rag_config_dto_test.dart","api-clients/flutter/test/usage_api_test.dart","api-clients/flutter/test/weather_api_test.dart","api-clients/ios/.gitignore","api-clients/ios/.openapi-generator-ignore","api-clients/ios/.openapi-generator/FILES","api-clients/ios/.openapi-generator/VERSION","api-clients/ios/.swiftformat","api-clients/ios/Cartfile","api-clients/ios/HaizhanAPI.podspec","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIHelper.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/AiConfigAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/AuditLogsAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/AuthAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/ContactsAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/DefaultAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/HealthAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/KnowledgeAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/MobileCompatAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/PinyinAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/RagAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/SettingsAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/TeamsAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/UsageAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/WeatherAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/CodableHelper.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Configuration.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Extensions.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/JSONDataEncoding.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/JSONEncodingHelper.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/AdminLoginDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/BatchRemoveContactsDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ChunkingConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/Contact360ResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/Contact360ViewDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactDetailResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactEventDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactListResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactProfileDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactStatsDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactTagDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ConversationSummaryDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/CreateContactDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/CreateContactEventDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/CreateKnowledgeBaseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/CreateKnowledgeDocumentDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/CreateQwenModelDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/EmbeddingConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/EmbeddingModelDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/GenerationConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/KnowledgeBaseResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/KnowledgeDocumentListResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/KnowledgeDocumentResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/LoginDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/MatchContactDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/MatchContactResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/PipelineHealthDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/PipelineMetricsDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/PreviewChunkingDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/QwenModelConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/QwenModelFeaturesDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RagConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RagMetricsDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RagPipelineStatusDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RagQueryDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RebuildIndexDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RefreshTokenDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RetrievalConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/SyncContactsDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/SyncContactsResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ToggleQwenModelDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/UpdateContactDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/UpdateKnowledgeBaseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/UpdateKnowledgeDocumentDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/UpdateQwenModelDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/UpdateRagConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/OpenISO8601DateFormatter.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/SynchronizedDictionary.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/URLSessionImplementations.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Validation.swift","api-clients/ios/Package.swift","api-clients/ios/README.md","api-clients/ios/docs/AdminLoginDto.md","api-clients/ios/docs/AiConfigAPI.md","api-clients/ios/docs/AuditLogsAPI.md","api-clients/ios/docs/AuthAPI.md","api-clients/ios/docs/BatchRemoveContactsDto.md","api-clients/ios/docs/ChunkingConfigDto.md","api-clients/ios/docs/Contact360ResponseDto.md","api-clients/ios/docs/Contact360ViewDto.md","api-clients/ios/docs/ContactDetailResponseDto.md","api-clients/ios/docs/ContactDto.md","api-clients/ios/docs/ContactEventDto.md","api-clients/ios/docs/ContactListResponseDto.md","api-clients/ios/docs/ContactProfileDto.md","api-clients/ios/docs/ContactStatsDto.md","api-clients/ios/docs/ContactTagDto.md","api-clients/ios/docs/ContactsAPI.md","api-clients/ios/docs/ConversationSummaryDto.md","api-clients/ios/docs/CreateContactDto.md","api-clients/ios/docs/CreateContactEventDto.md","api-clients/ios/docs/CreateKnowledgeBaseDto.md","api-clients/ios/docs/CreateKnowledgeDocumentDto.md","api-clients/ios/docs/CreateQwenModelDto.md","api-clients/ios/docs/DefaultAPI.md","api-clients/ios/docs/EmbeddingConfigDto.md","api-clients/ios/docs/EmbeddingModelDto.md","api-clients/ios/docs/GenerationConfigDto.md","api-clients/ios/docs/HealthAPI.md","api-clients/ios/docs/KnowledgeAPI.md","api-clients/ios/docs/KnowledgeBaseResponseDto.md","api-clients/ios/docs/KnowledgeDocumentListResponseDto.md","api-clients/ios/docs/KnowledgeDocumentResponseDto.md","api-clients/ios/docs/LoginDto.md","api-clients/ios/docs/MatchContactDto.md","api-clients/ios/docs/MatchContactResponseDto.md","api-clients/ios/docs/MobileCompatAPI.md","api-clients/ios/docs/PinyinAPI.md","api-clients/ios/docs/PipelineHealthDto.md","api-clients/ios/docs/PipelineMetricsDto.md","api-clients/ios/docs/PreviewChunkingDto.md","api-clients/ios/docs/QwenModelConfigDto.md","api-clients/ios/docs/QwenModelFeaturesDto.md","api-clients/ios/docs/RagAPI.md","api-clients/ios/docs/RagConfigDto.md","api-clients/ios/docs/RagMetricsDto.md","api-clients/ios/docs/RagPipelineStatusDto.md","api-clients/ios/docs/RagQueryDto.md","api-clients/ios/docs/RebuildIndexDto.md","api-clients/ios/docs/RefreshTokenDto.md","api-clients/ios/docs/RetrievalConfigDto.md","api-clients/ios/docs/SettingsAPI.md","api-clients/ios/docs/SyncContactsDto.md","api-clients/ios/docs/SyncContactsResponseDto.md","api-clients/ios/docs/TeamsAPI.md","api-clients/ios/docs/ToggleQwenModelDto.md","api-clients/ios/docs/UpdateContactDto.md","api-clients/ios/docs/UpdateKnowledgeBaseDto.md","api-clients/ios/docs/UpdateKnowledgeDocumentDto.md","api-clients/ios/docs/UpdateQwenModelDto.md","api-clients/ios/docs/UpdateRagConfigDto.md","api-clients/ios/docs/UsageAPI.md","api-clients/ios/docs/WeatherAPI.md","api-clients/ios/git_push.sh","api-clients/ios/project.yml","app/build.gradle.kts","app/proguard-rules-release.pro","app/proguard-rules.pro","app/src/androidTest/java/com/haizhan/ime/ComposeUiTest.kt","app/src/androidTest/java/com/haizhan/ime/ExampleInstrumentedTest.kt","app/src/androidTest/java/com/haizhan/ime/e2e/SmokeE2ETest.kt","app/src/androidTest/java/com/haizhan/ime/integration/ImeIntegrationTest.kt","app/src/main/AndroidManifest.xml","app/src/main/assets/dictionaries/stroke-data.txt","app/src/main/assets/handwriting_labels.txt","app/src/main/assets/handwriting_labels_casia.txt","app/src/main/assets/handwriting_labels_clean.txt","app/src/main/assets/handwriting_labels_jp.txt","app/src/main/assets/paddle_models/handwriting_labels.txt","app/src/main/assets/paddle_models/ppocr_keys_v1.txt","app/src/main/assets/temp_clean.txt","app/src/main/assets/temp_labels.txt","app/src/main/java/com/haizhan/ime/HaizhanApplication.kt","app/src/main/java/com/haizhan/ime/about/ui/AboutScreen.kt","app/src/main/java/com/haizhan/ime/chat/model/Message.kt","app/src/main/java/com/haizhan/ime/chat/service/WebSocketService.kt","app/src/main/java/com/haizhan/ime/chat/ui/ChatMessageCard.kt","app/src/main/java/com/haizhan/ime/chat/ui/ChatScreen.kt","app/src/main/java/com/haizhan/ime/chat/ui/GroupChatScreen.kt","app/src/main/java/com/haizhan/ime/feedback/ui/FeedbackScreen.kt","app/src/main/java/com/haizhan/ime/help/ui/HelpCenterScreen.kt","app/src/main/java/com/haizhan/ime/note/model/Note.kt","app/src/main/java/com/haizhan/ime/note/service/NoteService.kt","app/src/main/java/com/haizhan/ime/note/ui/NoteEditorScreen.kt","app/src/main/java/com/haizhan/ime/note/ui/NoteListScreen.kt","app/src/main/java/com/haizhan/ime/profile/model/Profile.kt","app/src/main/java/com/haizhan/ime/profile/ui/ProfileScreen.kt","app/src/main/java/com/haizhan/ime/receiver/BootReceiver.kt","app/src/main/java/com/haizhan/ime/search/model/Search.kt","app/src/main/java/com/haizhan/ime/search/service/SearchService.kt","app/src/main/java/com/haizhan/ime/search/ui/GlobalSearchScreen.kt","app/src/main/java/com/haizhan/ime/security/EncryptionManager.kt","app/src/main/java/com/haizhan/ime/security/NetworkSecurityManager.kt","app/src/main/java/com/haizhan/ime/security/PrivacyComplianceManager.kt","app/src/main/java/com/haizhan/ime/security/SecurityAuditor.kt","app/src/main/java/com/haizhan/ime/service/AiProcessingService.kt","app/src/main/java/com/haizhan/ime/service/ContextCollector.kt","app/src/main/java/com/haizhan/ime/service/DataSyncService.kt","app/src/main/java/com/haizhan/ime/service/HaizhanInputMethodService.kt","app/src/main/java/com/haizhan/ime/service/InputTypeAnalysis.kt","app/src/main/java/com/haizhan/ime/service/KeyboardContentView.kt","app/src/main/java/com/haizhan/ime/service/OcrCaptureService.kt","app/src/main/java/com/haizhan/ime/service/VoiceInputDelegate.kt","app/src/main/java/com/haizhan/ime/session/model/Session.kt","app/src/main/java/com/haizhan/ime/session/service/SessionService.kt","app/src/main/java/com/haizhan/ime/session/ui/MessageCenterScreen.kt","app/src/main/java/com/haizhan/ime/session/ui/SessionCard.kt","app/src/main/java/com/haizhan/ime/session/ui/SessionListScreen.kt","app/src/main/java/com/haizhan/ime/stability/AnrWatchdog.kt","app/src/main/java/com/haizhan/ime/stability/CrashHandler.kt","app/src/main/java/com/haizhan/ime/stability/MemoryLeakDetector.kt","app/src/main/java/com/haizhan/ime/stability/StabilityManager.kt","app/src/main/java/com/haizhan/ime/statistics/model/Statistics.kt","app/src/main/java/com/haizhan/ime/statistics/ui/ChartComponents.kt","app/src/main/java/com/haizhan/ime/statistics/ui/StatisticsScreen.kt","app/src/main/java/com/haizhan/ime/subscription/model/Subscription.kt","app/src/main/java/com/haizhan/ime/subscription/service/SubscriptionService.kt","app/src/main/java/com/haizhan/ime/subscription/ui/SubscriptionScreen.kt","app/src/main/java/com/haizhan/ime/sync/ContactSyncTaskAdapter.kt","app/src/main/java/com/haizhan/ime/sync/KnowledgeSyncTaskAdapter.kt","app/src/main/java/com/haizhan/ime/sync/SyncContracts.kt","app/src/main/java/com/haizhan/ime/sync/SyncCoordinator.kt","app/src/main/java/com/haizhan/ime/sync/SyncScheduler.kt","app/src/main/java/com/haizhan/ime/team/model/Team.kt","app/src/main/java/com/haizhan/ime/team/service/TeamService.kt","app/src/main/java/com/haizhan/ime/team/ui/TeamScreen.kt","app/src/main/java/com/haizhan/ime/template/data/B2BTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/ClosingTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/CoreSalesTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/DailyTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/DefaultTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/FollowUpTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/QuickPhraseDefaults.kt","app/src/main/java/com/haizhan/ime/template/data/SeasonalTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/TemplateDatabase.kt","app/src/main/java/com/haizhan/ime/template/data/TemplateImporter.kt","app/src/main/java/com/haizhan/ime/template/data/TemplateRepository.kt","app/src/main/java/com/haizhan/ime/template/di/TemplateModule.kt","app/src/main/java/com/haizhan/ime/template/model/Template.kt","app/src/main/java/com/haizhan/ime/template/service/TemplateService.kt","app/src/main/java/com/haizhan/ime/template/ui/FolderManagementDialog.kt","app/src/main/java/com/haizhan/ime/template/ui/TemplateListScreen.kt","app/src/main/java/com/haizhan/ime/template/ui/TemplateViewModel.kt","app/src/main/java/com/haizhan/ime/ui/MainActivity.kt","app/src/main/java/com/haizhan/ime/ui/management/DictionaryImportActivity.kt","app/src/main/java/com/haizhan/ime/ui/management/DictionaryImportScreen.kt","app/src/main/java/com/haizhan/ime/ui/management/DictionaryImportViewModel.kt","app/src/main/java/com/haizhan/ime/ui/management/DictionaryScreen.kt","app/src/main/java/com/haizhan/ime/ui/management/ManagementActivity.kt","app/src/main/java/com/haizhan/ime/ui/management/ManagementViewModel.kt","app/src/main/java/com/haizhan/ime/ui/management/PermissionScreen.kt","app/src/main/java/com/haizhan/ime/ui/management/SettingsScreen.kt","app/src/main/java/com/haizhan/ime/ui/permission/ScreenshotPermissionActivity.kt","app/src/main/java/com/haizhan/ime/ui/settings/ImeSettingsActivity.kt","app/src/main/java/com/haizhan/ime/ui/settings/SettingsViewModel.kt","app/src/main/java/com/haizhan/ime/ui/theme/Theme.kt","app/src/main/java/com/haizhan/ime/ui/theme/Type.kt","app/src/main/java/com/haizhan/ime/ux/AccessibilityHelper.kt","app/src/main/java/com/haizhan/ime/ux/AnimationUtils.kt","app/src/main/java/com/haizhan/ime/ux/ErrorHandler.kt","app/src/main/java/com/haizhan/ime/ux/OnboardingScreen.kt","app/src/main/java/com/haizhan/ime/ux/StartupOptimizer.kt","app/src/main/java/com/haizhan/ime/voice/service/VoiceService.kt","app/src/main/java/com/haizhan/ime/voice/ui/VoiceInputScreen.kt","app/src/main/res/drawable/ic_launcher_background.xml","app/src/main/res/drawable/ic_launcher_foreground.xml","app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml","app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml","app/src/main/res/values-night/colors.xml","app/src/main/res/values/colors.xml","app/src/main/res/values/strings.xml","app/src/main/res/values/themes.xml","app/src/main/res/xml/backup_rules.xml","app/src/main/res/xml/data_extraction_rules.xml","app/src/main/res/xml/file_paths.xml","app/src/main/res/xml/method.xml","app/src/main/res/xml/network_security_config.xml","app/src/test/java/com/haizhan/ime/ExampleUnitTest.kt","app/src/test/java/com/haizhan/ime/app/service/NotificationServiceTest.kt","app/src/test/java/com/haizhan/ime/app/service/SearchServiceTest.kt","app/src/test/java/com/haizhan/ime/app/service/SessionServiceTest.kt","app/src/test/java/com/haizhan/ime/app/service/SyncServiceTest.kt","app/src/test/java/com/haizhan/ime/app/service/WebSocketServiceTest.kt","app/src/test/java/com/haizhan/ime/benchmark/PerformanceBenchmarkTest.kt","app/src/test/java/com/haizhan/ime/security/EncryptionManagerTest.kt","app/src/test/java/com/haizhan/ime/security/PrivacyComplianceManagerTest.kt","app/src/test/java/com/haizhan/ime/security/SecurityAuditorTest.kt","app/src/test/java/com/haizhan/ime/service/HaizhanInputMethodServiceTest.kt","app/src/test/java/com/haizhan/ime/services/AiProcessingServiceTest.kt","app/src/test/java/com/haizhan/ime/services/NoteServiceTest.kt","app/src/test/java/com/haizhan/ime/services/OcrCaptureServiceTest.kt","app/src/test/java/com/haizhan/ime/services/SubscriptionServiceTest.kt","app/src/test/java/com/haizhan/ime/services/TeamServiceTest.kt","app/src/test/java/com/haizhan/ime/services/TemplateServiceTest.kt","app/src/test/java/com/haizhan/ime/services/VoiceServiceTest.kt","app/src/test/java/com/haizhan/ime/ui/management/ManagementViewModelTest.kt","app/src/test/java/com/haizhan/ime/ui/settings/SettingsViewModelTest.kt","app/src/test/java/com/haizhan/ime/ux/ErrorHandlerTest.kt","app/src/test/java/com/haizhan/ime/ux/StartupOptimizerTest.kt","app/src/test/java/com/haizhan/ime/viewmodel/DictionaryImportViewModelTest.kt","app/src/test/java/com/haizhan/ime/viewmodel/TemplateViewModelTest.kt","build.gradle.kts","common/build.gradle.kts","common/consumer-rules.pro","common/proguard-rules.pro","common/src/main/AndroidManifest.xml","common/src/main/java/com/haizhan/ime/common/ext/ContextExt.kt","common/src/main/java/com/haizhan/ime/common/ext/FlowExt.kt","common/src/main/java/com/haizhan/ime/common/ext/StringExt.kt","common/src/main/java/com/haizhan/ime/common/performance/ImePerformanceTracker.kt","common/src/main/java/com/haizhan/ime/common/theme/DesignTokens.kt","common/src/main/java/com/haizhan/ime/common/theme/KeyboardTheme.kt","common/src/main/java/com/haizhan/ime/common/util/DeviceUtils.kt","common/src/main/java/com/haizhan/ime/common/util/Logger.kt","common/src/main/java/com/haizhan/ime/common/util/LruCache.kt","common/src/main/java/com/haizhan/ime/common/util/MemoryMonitor.kt","common/src/test/java/com/haizhan/ime/common/StringExtTest.kt","common/src/test/java/com/haizhan/ime/common/ext/ResultTest.kt","common/src/test/java/com/haizhan/ime/common/util/DateUtilsTest.kt","common/src/test/java/com/haizhan/ime/common/util/LoggerTest.kt","common/src/test/java/com/haizhan/ime/common/util/MemoryStatsTest.kt","common/src/test/java/com/haizhan/ime/common/util/PinyinUtilsTest.kt","common/src/test/java/com/haizhan/ime/common/util/TextUtilsTest.kt","config/detekt/detekt.yml","data/build.gradle.kts","data/consumer-rules.pro","data/dictionaries/dictionary.config.json","data/dictionaries/fallback-words.txt","data/dictionaries/sensitive-words.txt","data/dictionaries/system/char-single.txt","data/dictionaries/system/core-char.txt","data/dictionaries/system/core-phrase.txt","data/dictionaries/system/core-word2.txt","data/dictionaries/system/core-word3.txt","data/dictionaries/system/core-word4.txt","data/dictionaries/system/idiom.txt","data/dictionaries/system/name-place.txt","data/dictionaries/system/word-common.txt","data/proguard-rules.pro","data/schemas/com.haizhan.ime.data.local.database.HaizhanDatabase/1.json","data/schemas/com.haizhan.ime.data.local.database.HaizhanDatabase/2.json","data/schemas/com.haizhan.ime.data.local.database.HaizhanDatabase/3.json","data/schemas/com.haizhan.ime.data.local.database.HaizhanDatabase/4.json","data/src/main/AndroidManifest.xml","data/src/main/java/com/haizhan/ime/data/auth/AuthInterceptor.kt","data/src/main/java/com/haizhan/ime/data/auth/AuthManager.kt","data/src/main/java/com/haizhan/ime/data/di/DataModule.kt","data/src/main/java/com/haizhan/ime/data/di/DatabaseModule.kt","data/src/main/java/com/haizhan/ime/data/di/NetworkModule.kt","data/src/main/java/com/haizhan/ime/data/di/RepositoryModule.kt","data/src/main/java/com/haizhan/ime/data/local/dao/ContactDao.kt","data/src/main/java/com/haizhan/ime/data/local/dao/KnowledgeDao.kt","data/src/main/java/com/haizhan/ime/data/local/dao/MessageDao.kt","data/src/main/java/com/haizhan/ime/data/local/dao/NoteDao.kt","data/src/main/java/com/haizhan/ime/data/local/dao/SearchDao.kt","data/src/main/java/com/haizhan/ime/data/local/dao/UserDictDao.kt","data/src/main/java/com/haizhan/ime/data/local/database/Converters.kt","data/src/main/java/com/haizhan/ime/data/local/database/HaizhanDatabase.kt","data/src/main/java/com/haizhan/ime/data/local/database/SecureDatabaseFactory.kt","data/src/main/java/com/haizhan/ime/data/local/entity/ContactEntity.kt","data/src/main/java/com/haizhan/ime/data/local/entity/KnowledgeEntity.kt","data/src/main/java/com/haizhan/ime/data/local/entity/MessageEntity.kt","data/src/main/java/com/haizhan/ime/data/local/entity/NoteEntity.kt","data/src/main/java/com/haizhan/ime/data/local/entity/SearchEntity.kt","data/src/main/java/com/haizhan/ime/data/local/entity/UserDictEntity.kt","data/src/main/java/com/haizhan/ime/data/remote/adapter/FlexibleTimestampAdapter.kt","data/src/main/java/com/haizhan/ime/data/remote/aliyun/AliyunSearchClient.kt","data/src/main/java/com/haizhan/ime/data/remote/aliyun/AliyunSearchConfig.kt","data/src/main/java/com/haizhan/ime/data/remote/aliyun/AliyunSearchConfigProvider.kt","data/src/main/java/com/haizhan/ime/data/remote/api/AuthApi.kt","data/src/main/java/com/haizhan/ime/data/remote/api/ContactApi.kt","data/src/main/java/com/haizhan/ime/data/remote/api/HaizhanApi.kt","data/src/main/java/com/haizhan/ime/data/remote/api/PinyinApi.kt","data/src/main/java/com/haizhan/ime/data/remote/api/RagSearchApi.kt","data/src/main/java/com/haizhan/ime/data/remote/api/ReplyApi.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/AiDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/AuthDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/CommonDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/ContactDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/KnowledgeDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/MemoryDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/MessageDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/NoteDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/ProfileDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/RagSearchDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/SearchDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/TeamDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/WeatherDto.kt","data/src/main/java/com/haizhan/ime/data/repository/ContactRepository.kt","data/src/main/java/com/haizhan/ime/data/repository/KnowledgeRepository.kt","data/src/main/java/com/haizhan/ime/data/repository/MessageRepository.kt","data/src/main/java/com/haizhan/ime/data/repository/RagSearchRepository.kt","data/src/main/java/com/haizhan/ime/data/repository/SettingsRepository.kt","data/src/main/java/com/haizhan/ime/data/repository/mapper/ContactMapper.kt","data/src/main/java/com/haizhan/ime/data/repository/mapper/KnowledgeMapper.kt","data/src/main/java/com/haizhan/ime/data/repository/mapper/MessageMapper.kt","data/src/main/java/com/haizhan/ime/data/repository/model/Contact.kt","data/src/main/java/com/haizhan/ime/data/repository/model/Knowledge.kt","data/src/main/java/com/haizhan/ime/data/repository/model/Message.kt","data/src/test/java/com/haizhan/ime/data/auth/AuthInterceptorTest.kt","data/src/test/java/com/haizhan/ime/data/auth/AuthManagerTest.kt","data/src/test/java/com/haizhan/ime/data/auth/AuthTypesTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/ContactDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/KnowledgeDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/MessageDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/NoteDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/SearchDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/UserDictDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/UserPreferencesDaoTest.kt","data/src/test/java/com/haizhan/ime/data/remote/api/HaizhanApiTest.kt","data/src/test/java/com/haizhan/ime/data/remote/dto/ContactDtoTest.kt","data/src/test/java/com/haizhan/ime/data/repository/ContactRepositoryTest.kt","data/src/test/java/com/haizhan/ime/data/repository/KnowledgeRepositoryTest.kt","data/src/test/java/com/haizhan/ime/data/repository/MessageRepositoryTest.kt","data/src/test/java/com/haizhan/ime/data/repository/SettingsRepositoryTest.kt","data/src/test/java/com/haizhan/ime/data/repository/mapper/ContactMapperTest.kt","data/src/test/java/com/haizhan/ime/data/repository/mapper/KnowledgeMapperTest.kt","data/src/test/java/com/haizhan/ime/data/repository/mapper/MessageMapperTest.kt","designs/exports/CLAUDE_CODE_DESIGN_GUIDE.md","designs/exports/DESIGN_MANIFEST.md","designs/exports/svg/Frame.svg","designs/exports/svg/P2-关于.svg","designs/exports/svg/P2-协议条款.svg","designs/exports/svg/P2-帮助中心.svg","designs/exports/svg/P2-意见反馈.svg","designs/exports/svg/P2-版本更新.svg","designs/exports/svg/__设计系统_-_组件库.svg","designs/exports/svg/功能面板_-_OCR识别.svg","designs/exports/svg/功能面板_-_历史.svg","designs/exports/svg/功能面板_-_团队.svg","designs/exports/svg/功能面板_-_知识库.svg","designs/exports/svg/功能面板_-_笔记.svg","designs/exports/svg/功能面板_-_联系人.svg","designs/exports/svg/嗨赞AI助手_-_AI回复选择.svg","designs/exports/svg/嗨赞AI助手_-_OCR结果确认.svg","designs/exports/svg/嗨赞AI助手_-_个人中心.svg","designs/exports/svg/嗨赞AI助手_-_主应用首页.svg","designs/exports/svg/嗨赞AI助手_-_主键盘界面.svg","designs/exports/svg/嗨赞AI助手_-_主键盘界面__深色_.svg","designs/exports/svg/嗨赞AI助手_-_交互式笔记.svg","designs/exports/svg/嗨赞AI助手_-_会员订阅.svg","designs/exports/svg/嗨赞AI助手_-_会话列表.svg","designs/exports/svg/嗨赞AI助手_-_单聊IM.svg","designs/exports/svg/嗨赞AI助手_-_历史记录页面.svg","designs/exports/svg/嗨赞AI助手_-_引导页1.svg","designs/exports/svg/嗨赞AI助手_-_引导页2.svg","designs/exports/svg/嗨赞AI助手_-_引导页3.svg","designs/exports/svg/嗨赞AI助手_-_忘记密码.svg","designs/exports/svg/嗨赞AI助手_-_我的页面.svg","designs/exports/svg/嗨赞AI助手_-_搜索.svg","designs/exports/svg/嗨赞AI助手_-_数据统计.svg","designs/exports/svg/嗨赞AI助手_-_新建联系人.svg","designs/exports/svg/嗨赞AI助手_-_注册页面.svg","designs/exports/svg/嗨赞AI助手_-_消息中心.svg","designs/exports/svg/嗨赞AI助手_-_登录页面.svg","designs/exports/svg/嗨赞AI助手_-_知识库列表.svg","designs/exports/svg/嗨赞AI助手_-_知识库详情.svg","designs/exports/svg/嗨赞AI助手_-_编辑个人信息.svg","designs/exports/svg/嗨赞AI助手_-_群聊IM.svg","designs/exports/svg/嗨赞AI助手_-_联系人列表.svg","designs/exports/svg/嗨赞AI助手_-_联系人详情.svg","designs/exports/svg/嗨赞AI助手_-_设置.svg","designs/exports/svg/嗨赞AI助手_-_设置页面.svg","designs/exports/svg/嗨赞AI助手_-_话术模板.svg","designs/exports/svg/嗨赞AI助手_-_话术模板详情.svg","designs/exports/svg/微交互规范文档.svg","designs/exports/svg/组件_-_悬浮球状态.svg","designs/exports/svg/组件_-_拼音候选词展开.svg","designs/exports/svg/组件_-_空状态.svg","designs/exports/svg/组件_-_语音输入状态.svg","designs/exports/svg/组件_-_错误状态.svg","designs/mobile-keyboard-design.md","designs/specs/COMPONENT_SPEC.md","designs/specs/KEYBOARD_DESIGN_SPEC.md","designs/specs/README.md","designs/specs/design-tokens.json","designs/templates/android/DesignTokens.kt","designs/templates/android/KeyboardTheme.kt","designs/templates/ios/DesignTokens.swift","designs/templates/ios/KeyboardTheme.swift","designs/嗨赞输入法.pen","docs/ANDROID_DEVELOPMENT.md","docs/API.md","docs/ARCHITECTURE.md","docs/BACKEND_API_REQUIREMENTS.md","docs/BACKEND_DESIGN.md","docs/CI_CD_PIPELINE.md","docs/CODING_STANDARDS.md","docs/COMPLETE_FEATURE_SPEC.md","docs/DATABASE.md","docs/DEPLOYMENT.md","docs/DESIGN_TO_DEV_SPEC.md","docs/DEVELOPMENT_GUIDE.md","docs/DEVELOPMENT_PLAN.md","docs/DOCS_SYNC.md","docs/ERROR_HANDLING.md","docs/FEATURE_ANALYSIS.md","docs/FLUTTER_DEVELOPMENT.md","docs/FRONTEND_DEV_REQUIREMENTS.md","docs/HANDWRITING_MODEL_UPGRADE.md","docs/IOS_DEVELOPMENT.md","docs/KMP_DEVELOPMENT.md","docs/LOGGING_STANDARDS.md","docs/MILESTONES.md","docs/MODULE_ANALYSIS.md","docs/MODULE_LIST.md","docs/PERFORMANCE_OPTIMIZATION.md","docs/PNPM_MIGRATION_NOTICE.md","docs/PRD.md","docs/PRIVACY_POLICY.md","docs/PRODUCT_ARCHITECTURE.md","docs/Phase_11_12_Final_Report.md","docs/RELEASE_CHECKLIST.md","docs/SECURITY_AUDIT.md","docs/SECURITY_GUIDELINES.md","docs/STORE_LISTING.md","docs/SYSTEM_ARCHITECTURE.md","docs/TASKS.md","docs/TECH_STACK.md","docs/TESTING_STRATEGY.md","docs/USER_MANUAL.md","docs/VOICE_API_DOCUMENTATION.md","docs/VOICE_MODULE_MIGRATION.md","docs/openapi.json","docs/skills/anthropic-official/.claude-plugin/marketplace.json","docs/skills/anthropic-official/.gitignore","docs/skills/anthropic-official/README.md","docs/skills/anthropic-official/THIRD_PARTY_NOTICES.md","docs/skills/anthropic-official/skills/algorithmic-art/LICENSE.txt","docs/skills/anthropic-official/skills/algorithmic-art/SKILL.md","docs/skills/anthropic-official/skills/algorithmic-art/templates/generator_template.js","docs/skills/anthropic-official/skills/algorithmic-art/templates/viewer.html","docs/skills/anthropic-official/skills/brand-guidelines/LICENSE.txt","docs/skills/anthropic-official/skills/brand-guidelines/SKILL.md","docs/skills/anthropic-official/skills/canvas-design/LICENSE.txt","docs/skills/anthropic-official/skills/canvas-design/SKILL.md","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/ArsenalSC-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BigShoulders-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BigShoulders-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BigShoulders-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Boldonse-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Boldonse-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/CrimsonPro-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/DMMono-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/DMMono-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/EricaOne-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/EricaOne-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/GeistMono-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/GeistMono-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/GeistMono-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Gloock-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Gloock-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSans-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Italiana-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Italiana-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Jura-Light.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Jura-Medium.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Jura-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Lora-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Lora-BoldItalic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Lora-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Lora-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Lora-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/NationalPark-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/NationalPark-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/NationalPark-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Outfit-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Outfit-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Outfit-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/PixelifySans-Medium.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/PixelifySans-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/PoiretOne-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/PoiretOne-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/RedHatMono-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/RedHatMono-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/RedHatMono-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Silkscreen-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Silkscreen-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/SmoochSans-Medium.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/SmoochSans-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Tektur-Medium.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Tektur-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Tektur-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/WorkSans-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/WorkSans-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/WorkSans-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/WorkSans-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/YoungSerif-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/YoungSerif-Regular.ttf","docs/skills/anthropic-official/skills/doc-coauthoring/SKILL.md","docs/skills/anthropic-official/skills/docx/LICENSE.txt","docs/skills/anthropic-official/skills/docx/SKILL.md","docs/skills/anthropic-official/skills/docx/docx-js.md","docs/skills/anthropic-official/skills/docx/ooxml.md","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/mce/mc.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-2010.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-2012.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-2018.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd","docs/skills/anthropic-official/skills/docx/ooxml/scripts/pack.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/unpack.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validate.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validation/__init__.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validation/base.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validation/docx.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validation/pptx.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validation/redlining.py","docs/skills/anthropic-official/skills/docx/scripts/__init__.py","docs/skills/anthropic-official/skills/docx/scripts/document.py","docs/skills/anthropic-official/skills/docx/scripts/templates/comments.xml","docs/skills/anthropic-official/skills/docx/scripts/templates/commentsExtended.xml","docs/skills/anthropic-official/skills/docx/scripts/templates/commentsExtensible.xml","docs/skills/anthropic-official/skills/docx/scripts/templates/commentsIds.xml","docs/skills/anthropic-official/skills/docx/scripts/templates/people.xml","docs/skills/anthropic-official/skills/docx/scripts/utilities.py","docs/skills/anthropic-official/skills/frontend-design/LICENSE.txt","docs/skills/anthropic-official/skills/frontend-design/SKILL.md","docs/skills/anthropic-official/skills/internal-comms/LICENSE.txt","docs/skills/anthropic-official/skills/internal-comms/SKILL.md","docs/skills/anthropic-official/skills/internal-comms/examples/3p-updates.md","docs/skills/anthropic-official/skills/internal-comms/examples/company-newsletter.md","docs/skills/anthropic-official/skills/internal-comms/examples/faq-answers.md","docs/skills/anthropic-official/skills/internal-comms/examples/general-comms.md","docs/skills/anthropic-official/skills/mcp-builder/LICENSE.txt","docs/skills/anthropic-official/skills/mcp-builder/SKILL.md","docs/skills/anthropic-official/skills/mcp-builder/reference/evaluation.md","docs/skills/anthropic-official/skills/mcp-builder/reference/mcp_best_practices.md","docs/skills/anthropic-official/skills/mcp-builder/reference/node_mcp_server.md","docs/skills/anthropic-official/skills/mcp-builder/reference/python_mcp_server.md","docs/skills/anthropic-official/skills/mcp-builder/scripts/connections.py","docs/skills/anthropic-official/skills/mcp-builder/scripts/evaluation.py","docs/skills/anthropic-official/skills/mcp-builder/scripts/example_evaluation.xml","docs/skills/anthropic-official/skills/mcp-builder/scripts/requirements.txt","docs/skills/anthropic-official/skills/pdf/LICENSE.txt","docs/skills/anthropic-official/skills/pdf/SKILL.md","docs/skills/anthropic-official/skills/pdf/forms.md","docs/skills/anthropic-official/skills/pdf/reference.md","docs/skills/anthropic-official/skills/pdf/scripts/check_bounding_boxes.py","docs/skills/anthropic-official/skills/pdf/scripts/check_bounding_boxes_test.py","docs/skills/anthropic-official/skills/pdf/scripts/check_fillable_fields.py","docs/skills/anthropic-official/skills/pdf/scripts/convert_pdf_to_images.py","docs/skills/anthropic-official/skills/pdf/scripts/create_validation_image.py","docs/skills/anthropic-official/skills/pdf/scripts/extract_form_field_info.py","docs/skills/anthropic-official/skills/pdf/scripts/fill_fillable_fields.py","docs/skills/anthropic-official/skills/pdf/scripts/fill_pdf_form_with_annotations.py","docs/skills/anthropic-official/skills/pptx/LICENSE.txt","docs/skills/anthropic-official/skills/pptx/SKILL.md","docs/skills/anthropic-official/skills/pptx/html2pptx.md","docs/skills/anthropic-official/skills/pptx/ooxml.md","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/mce/mc.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-2010.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-2012.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-2018.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/pack.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/unpack.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validate.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validation/__init__.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validation/base.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validation/docx.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validation/pptx.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validation/redlining.py","docs/skills/anthropic-official/skills/pptx/scripts/html2pptx.js","docs/skills/anthropic-official/skills/pptx/scripts/inventory.py","docs/skills/anthropic-official/skills/pptx/scripts/rearrange.py","docs/skills/anthropic-official/skills/pptx/scripts/replace.py","docs/skills/anthropic-official/skills/pptx/scripts/thumbnail.py","docs/skills/anthropic-official/skills/skill-creator/LICENSE.txt","docs/skills/anthropic-official/skills/skill-creator/SKILL.md","docs/skills/anthropic-official/skills/skill-creator/references/output-patterns.md","docs/skills/anthropic-official/skills/skill-creator/references/workflows.md","docs/skills/anthropic-official/skills/skill-creator/scripts/init_skill.py","docs/skills/anthropic-official/skills/skill-creator/scripts/package_skill.py","docs/skills/anthropic-official/skills/skill-creator/scripts/quick_validate.py","docs/skills/anthropic-official/skills/slack-gif-creator/LICENSE.txt","docs/skills/anthropic-official/skills/slack-gif-creator/SKILL.md","docs/skills/anthropic-official/skills/slack-gif-creator/core/easing.py","docs/skills/anthropic-official/skills/slack-gif-creator/core/frame_composer.py","docs/skills/anthropic-official/skills/slack-gif-creator/core/gif_builder.py","docs/skills/anthropic-official/skills/slack-gif-creator/core/validators.py","docs/skills/anthropic-official/skills/slack-gif-creator/requirements.txt","docs/skills/anthropic-official/skills/theme-factory/LICENSE.txt","docs/skills/anthropic-official/skills/theme-factory/SKILL.md","docs/skills/anthropic-official/skills/theme-factory/theme-showcase.pdf","docs/skills/anthropic-official/skills/theme-factory/themes/arctic-frost.md","docs/skills/anthropic-official/skills/theme-factory/themes/botanical-garden.md","docs/skills/anthropic-official/skills/theme-factory/themes/desert-rose.md","docs/skills/anthropic-official/skills/theme-factory/themes/forest-canopy.md","docs/skills/anthropic-official/skills/theme-factory/themes/golden-hour.md","docs/skills/anthropic-official/skills/theme-factory/themes/midnight-galaxy.md","docs/skills/anthropic-official/skills/theme-factory/themes/modern-minimalist.md","docs/skills/anthropic-official/skills/theme-factory/themes/ocean-depths.md","docs/skills/anthropic-official/skills/theme-factory/themes/sunset-boulevard.md","docs/skills/anthropic-official/skills/theme-factory/themes/tech-innovation.md","docs/skills/anthropic-official/skills/web-artifacts-builder/LICENSE.txt","docs/skills/anthropic-official/skills/web-artifacts-builder/SKILL.md","docs/skills/anthropic-official/skills/web-artifacts-builder/scripts/bundle-artifact.sh","docs/skills/anthropic-official/skills/web-artifacts-builder/scripts/init-artifact.sh","docs/skills/anthropic-official/skills/web-artifacts-builder/scripts/shadcn-components.tar.gz","docs/skills/anthropic-official/skills/webapp-testing/LICENSE.txt","docs/skills/anthropic-official/skills/webapp-testing/SKILL.md","docs/skills/anthropic-official/skills/webapp-testing/examples/console_logging.py","docs/skills/anthropic-official/skills/webapp-testing/examples/element_discovery.py","docs/skills/anthropic-official/skills/webapp-testing/examples/static_html_automation.py","docs/skills/anthropic-official/skills/webapp-testing/scripts/with_server.py","docs/skills/anthropic-official/skills/xlsx/LICENSE.txt","docs/skills/anthropic-official/skills/xlsx/SKILL.md","docs/skills/anthropic-official/skills/xlsx/recalc.py","docs/skills/anthropic-official/spec/agent-skills-spec.md","docs/skills/anthropic-official/template/SKILL.md","docs/skills/awesome-skills/.gitignore","docs/skills/awesome-skills/CONTRIBUTING.md","docs/skills/awesome-skills/README.md","docs/skills/backend-patterns/SKILL.md","docs/skills/clickhouse-io/SKILL.md","docs/skills/coding-standards/SKILL.md","docs/skills/continuous-learning/SKILL.md","docs/skills/continuous-learning/config.json","docs/skills/continuous-learning/evaluate-session.sh","docs/skills/daymade-skills/.claude-plugin/marketplace.json","docs/skills/daymade-skills/.github/ISSUE_TEMPLATE/bug_report.md","docs/skills/daymade-skills/.github/ISSUE_TEMPLATE/feature_request.md","docs/skills/daymade-skills/.github/PULL_REQUEST_TEMPLATE.md","docs/skills/daymade-skills/.gitignore","docs/skills/daymade-skills/AGENTS.md","docs/skills/daymade-skills/CHANGELOG.md","docs/skills/daymade-skills/CLAUDE.md","docs/skills/daymade-skills/CONTRIBUTING.md","docs/skills/daymade-skills/LICENSE","docs/skills/daymade-skills/QUICKSTART.md","docs/skills/daymade-skills/QUICKSTART.zh-CN.md","docs/skills/daymade-skills/README.md","docs/skills/daymade-skills/README.zh-CN.md","docs/skills/daymade-skills/claude-code-history-files-finder/.INTEGRATION_SUMMARY.md","docs/skills/daymade-skills/claude-code-history-files-finder/.security-scan-passed","docs/skills/daymade-skills/claude-code-history-files-finder/SKILL.md","docs/skills/daymade-skills/claude-code-history-files-finder/references/session_file_format.md","docs/skills/daymade-skills/claude-code-history-files-finder/references/workflow_examples.md","docs/skills/daymade-skills/claude-code-history-files-finder/scripts/analyze_sessions.py","docs/skills/daymade-skills/claude-code-history-files-finder/scripts/recover_content.py","docs/skills/daymade-skills/claude-md-progressive-disclosurer/.security-scan-passed","docs/skills/daymade-skills/claude-md-progressive-disclosurer/SKILL.md","docs/skills/daymade-skills/claude-md-progressive-disclosurer/references/progressive_disclosure_principles.md","docs/skills/daymade-skills/cli-demo-generator/SKILL.md","docs/skills/daymade-skills/cli-demo-generator/assets/examples/batch-config.yaml","docs/skills/daymade-skills/cli-demo-generator/assets/templates/basic.tape","docs/skills/daymade-skills/cli-demo-generator/assets/templates/interactive.tape","docs/skills/daymade-skills/cli-demo-generator/references/best_practices.md","docs/skills/daymade-skills/cli-demo-generator/references/vhs_syntax.md","docs/skills/daymade-skills/cli-demo-generator/scripts/auto_generate_demo.py","docs/skills/daymade-skills/cli-demo-generator/scripts/batch_generate.py","docs/skills/daymade-skills/cli-demo-generator/scripts/record_interactive.sh","docs/skills/daymade-skills/cloudflare-troubleshooting/SKILL.md","docs/skills/daymade-skills/cloudflare-troubleshooting/references/api_overview.md","docs/skills/daymade-skills/cloudflare-troubleshooting/references/common_issues.md","docs/skills/daymade-skills/cloudflare-troubleshooting/references/ssl_modes.md","docs/skills/daymade-skills/cloudflare-troubleshooting/scripts/check_cloudflare_config.py","docs/skills/daymade-skills/cloudflare-troubleshooting/scripts/fix_ssl_mode.py","docs/skills/daymade-skills/demos/README.md","docs/skills/daymade-skills/demos/cli-demo-generator/generate-demo.gif","docs/skills/daymade-skills/demos/cli-demo-generator/generate-demo.tape","docs/skills/daymade-skills/demos/generate_all_demos.sh","docs/skills/daymade-skills/demos/github-ops/create-pr.gif","docs/skills/daymade-skills/demos/github-ops/create-pr.tape","docs/skills/daymade-skills/demos/index.html","docs/skills/daymade-skills/demos/llm-icon-finder/find-icons.gif","docs/skills/daymade-skills/demos/llm-icon-finder/find-icons.tape","docs/skills/daymade-skills/demos/markdown-tools/convert-docs.gif","docs/skills/daymade-skills/demos/markdown-tools/convert-docs.tape","docs/skills/daymade-skills/demos/mermaid-tools/extract-diagrams.gif","docs/skills/daymade-skills/demos/mermaid-tools/extract-diagrams.tape","docs/skills/daymade-skills/demos/ppt-creator/create-presentation.gif","docs/skills/daymade-skills/demos/ppt-creator/create-presentation.tape","docs/skills/daymade-skills/demos/repomix-unmixer/extract-repo.gif","docs/skills/daymade-skills/demos/repomix-unmixer/extract-repo.tape","docs/skills/daymade-skills/demos/skill-creator/init-skill.gif","docs/skills/daymade-skills/demos/skill-creator/init-skill.tape","docs/skills/daymade-skills/demos/skill-creator/package-skill.gif","docs/skills/daymade-skills/demos/skill-creator/package-skill.tape","docs/skills/daymade-skills/demos/skill-creator/validate-skill.gif","docs/skills/daymade-skills/demos/skill-creator/validate-skill.tape","docs/skills/daymade-skills/demos/statusline-generator/customize-statusline.gif","docs/skills/daymade-skills/demos/statusline-generator/customize-statusline.tape","docs/skills/daymade-skills/demos/teams-channel-post-writer/write-post.gif","docs/skills/daymade-skills/demos/teams-channel-post-writer/write-post.tape","docs/skills/daymade-skills/demos/ui-designer/extract-design-system.gif","docs/skills/daymade-skills/demos/ui-designer/extract-design-system.tape","docs/skills/daymade-skills/demos/youtube-downloader/download-video.gif","docs/skills/daymade-skills/demos/youtube-downloader/download-video.tape","docs/skills/daymade-skills/docs-cleaner/.security-scan-passed","docs/skills/daymade-skills/docs-cleaner/SKILL.md","docs/skills/daymade-skills/docs-cleaner/references/value_analysis_template.md","docs/skills/daymade-skills/fact-checker/.security-scan-passed","docs/skills/daymade-skills/fact-checker/README.md","docs/skills/daymade-skills/fact-checker/SKILL.md","docs/skills/daymade-skills/github-contributor/.security-scan-passed","docs/skills/daymade-skills/github-contributor/SKILL.md","docs/skills/daymade-skills/github-contributor/references/communication_templates.md","docs/skills/daymade-skills/github-contributor/references/pr_checklist.md","docs/skills/daymade-skills/github-contributor/references/project_evaluation.md","docs/skills/daymade-skills/github-ops/SKILL.md","docs/skills/daymade-skills/github-ops/references/api_reference.md","docs/skills/daymade-skills/github-ops/references/best_practices.md","docs/skills/daymade-skills/github-ops/references/issue_operations.md","docs/skills/daymade-skills/github-ops/references/pr_operations.md","docs/skills/daymade-skills/github-ops/references/workflow_operations.md","docs/skills/daymade-skills/iOS-APP-developer/.security-scan-passed","docs/skills/daymade-skills/iOS-APP-developer/SKILL.md","docs/skills/daymade-skills/iOS-APP-developer/references/camera-avfoundation.md","docs/skills/daymade-skills/iOS-APP-developer/references/swiftui-compatibility.md","docs/skills/daymade-skills/iOS-APP-developer/references/testing-mainactor.md","docs/skills/daymade-skills/iOS-APP-developer/references/xcodegen-full.md","docs/skills/daymade-skills/llm-icon-finder/SKILL.md","docs/skills/daymade-skills/llm-icon-finder/references/developer-info.md","docs/skills/daymade-skills/llm-icon-finder/references/icons-list.md","docs/skills/daymade-skills/macos-cleaner/.security-scan-passed","docs/skills/daymade-skills/macos-cleaner/SKILL.md","docs/skills/daymade-skills/macos-cleaner/references/cleanup_targets.md","docs/skills/daymade-skills/macos-cleaner/references/mole_integration.md","docs/skills/daymade-skills/macos-cleaner/references/safety_rules.md","docs/skills/daymade-skills/macos-cleaner/scripts/analyze_caches.py","docs/skills/daymade-skills/macos-cleaner/scripts/analyze_dev_env.py","docs/skills/daymade-skills/macos-cleaner/scripts/analyze_large_files.py","docs/skills/daymade-skills/macos-cleaner/scripts/cleanup_report.py","docs/skills/daymade-skills/macos-cleaner/scripts/find_app_remnants.py","docs/skills/daymade-skills/macos-cleaner/scripts/safe_delete.py","docs/skills/daymade-skills/markdown-tools/SKILL.md","docs/skills/daymade-skills/markdown-tools/references/conversion-examples.md","docs/skills/daymade-skills/markdown-tools/scripts/convert_path.py","docs/skills/daymade-skills/markdown-tools/scripts/extract_pdf_images.py","docs/skills/daymade-skills/mermaid-tools/SKILL.md","docs/skills/daymade-skills/mermaid-tools/references/setup_and_troubleshooting.md","docs/skills/daymade-skills/mermaid-tools/scripts/extract-and-generate.sh","docs/skills/daymade-skills/mermaid-tools/scripts/extract_diagrams.py","docs/skills/daymade-skills/mermaid-tools/scripts/puppeteer-config.json","docs/skills/daymade-skills/pdf-creator/.security-scan-passed","docs/skills/daymade-skills/pdf-creator/SKILL.md","docs/skills/daymade-skills/pdf-creator/scripts/batch_convert.py","docs/skills/daymade-skills/pdf-creator/scripts/md_to_pdf.py","docs/skills/daymade-skills/ppt-creator/SKILL.md","docs/skills/daymade-skills/ppt-creator/references/CHECKLIST.md","docs/skills/daymade-skills/ppt-creator/references/EXAMPLES.md","docs/skills/daymade-skills/ppt-creator/references/INTAKE.md","docs/skills/daymade-skills/ppt-creator/references/ORCHESTRATION_DATA_CHARTS.md","docs/skills/daymade-skills/ppt-creator/references/ORCHESTRATION_OVERVIEW.md","docs/skills/daymade-skills/ppt-creator/references/ORCHESTRATION_PPTX.md","docs/skills/daymade-skills/ppt-creator/references/RUBRIC.md","docs/skills/daymade-skills/ppt-creator/references/STYLE-GUIDE.md","docs/skills/daymade-skills/ppt-creator/references/TEMPLATES.md","docs/skills/daymade-skills/ppt-creator/references/VIS-GUIDE.md","docs/skills/daymade-skills/ppt-creator/references/WORKFLOW.md","docs/skills/daymade-skills/ppt-creator/scripts/chartkit.py","docs/skills/daymade-skills/prompt-optimizer/.security-scan-passed","docs/skills/daymade-skills/prompt-optimizer/SKILL.md","docs/skills/daymade-skills/prompt-optimizer/references/advanced_techniques.md","docs/skills/daymade-skills/prompt-optimizer/references/domain_theories.md","docs/skills/daymade-skills/prompt-optimizer/references/ears_syntax.md","docs/skills/daymade-skills/prompt-optimizer/references/examples.md","docs/skills/daymade-skills/promptfoo-evaluation/.security-scan-passed","docs/skills/daymade-skills/promptfoo-evaluation/SKILL.md","docs/skills/daymade-skills/promptfoo-evaluation/references/promptfoo_api.md","docs/skills/daymade-skills/qa-expert/.security-scan-passed","docs/skills/daymade-skills/qa-expert/SKILL.md","docs/skills/daymade-skills/qa-expert/assets/templates/TEST-CASE-TEMPLATE.md","docs/skills/daymade-skills/qa-expert/references/day1_onboarding.md","docs/skills/daymade-skills/qa-expert/references/google_testing_standards.md","docs/skills/daymade-skills/qa-expert/references/ground_truth_principle.md","docs/skills/daymade-skills/qa-expert/references/llm_prompts_library.md","docs/skills/daymade-skills/qa-expert/references/master_qa_prompt.md","docs/skills/daymade-skills/qa-expert/scripts/calculate_metrics.py","docs/skills/daymade-skills/qa-expert/scripts/init_qa_project.py","docs/skills/daymade-skills/repomix-safe-mixer/SKILL.md","docs/skills/daymade-skills/repomix-safe-mixer/references/common_secrets.md","docs/skills/daymade-skills/repomix-safe-mixer/scripts/safe_pack.py","docs/skills/daymade-skills/repomix-safe-mixer/scripts/scan_secrets.py","docs/skills/daymade-skills/repomix-unmixer/README.md","docs/skills/daymade-skills/repomix-unmixer/SKILL.md","docs/skills/daymade-skills/repomix-unmixer/references/repomix-format.md","docs/skills/daymade-skills/repomix-unmixer/references/validation-workflow.md","docs/skills/daymade-skills/repomix-unmixer/scripts/unmix_repomix.py","docs/skills/daymade-skills/scripts/install.ps1","docs/skills/daymade-skills/scripts/install.sh","docs/skills/daymade-skills/skill-creator/.gitignore","docs/skills/daymade-skills/skill-creator/LICENSE.txt","docs/skills/daymade-skills/skill-creator/SKILL.md","docs/skills/daymade-skills/skill-creator/scripts/init_skill.py","docs/skills/daymade-skills/skill-creator/scripts/package_skill.py","docs/skills/daymade-skills/skill-creator/scripts/quick_validate.py","docs/skills/daymade-skills/skill-creator/scripts/security_scan.py","docs/skills/daymade-skills/skill-reviewer/.security-scan-passed","docs/skills/daymade-skills/skill-reviewer/SKILL.md","docs/skills/daymade-skills/skill-reviewer/references/evaluation_checklist.md","docs/skills/daymade-skills/skill-reviewer/references/marketplace_template.json","docs/skills/daymade-skills/skill-reviewer/references/pr_template.md","docs/skills/daymade-skills/skills-search/.security-scan-passed","docs/skills/daymade-skills/skills-search/SKILL.md","docs/skills/daymade-skills/statusline-generator/SKILL.md","docs/skills/daymade-skills/statusline-generator/references/ccusage_integration.md","docs/skills/daymade-skills/statusline-generator/references/color_codes.md","docs/skills/daymade-skills/statusline-generator/scripts/generate_statusline.sh","docs/skills/daymade-skills/statusline-generator/scripts/install_statusline.sh","docs/skills/daymade-skills/teams-channel-post-writer/SKILL.md","docs/skills/daymade-skills/teams-channel-post-writer/assets/post-template.md","docs/skills/daymade-skills/teams-channel-post-writer/references/writing-guidelines.md","docs/skills/daymade-skills/transcript-fixer/.gitignore","docs/skills/daymade-skills/transcript-fixer/SKILL.md","docs/skills/daymade-skills/transcript-fixer/references/architecture.md","docs/skills/daymade-skills/transcript-fixer/references/best_practices.md","docs/skills/daymade-skills/transcript-fixer/references/database_schema.md","docs/skills/daymade-skills/transcript-fixer/references/dictionary_guide.md","docs/skills/daymade-skills/transcript-fixer/references/file_formats.md","docs/skills/daymade-skills/transcript-fixer/references/glm_api_setup.md","docs/skills/daymade-skills/transcript-fixer/references/installation_setup.md","docs/skills/daymade-skills/transcript-fixer/references/iteration_workflow.md","docs/skills/daymade-skills/transcript-fixer/references/quick_reference.md","docs/skills/daymade-skills/transcript-fixer/references/script_parameters.md","docs/skills/daymade-skills/transcript-fixer/references/sql_queries.md","docs/skills/daymade-skills/transcript-fixer/references/team_collaboration.md","docs/skills/daymade-skills/transcript-fixer/references/troubleshooting.md","docs/skills/daymade-skills/transcript-fixer/references/workflow_guide.md","docs/skills/daymade-skills/transcript-fixer/requirements.txt","docs/skills/daymade-skills/transcript-fixer/scripts/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/check_type_hints.py","docs/skills/daymade-skills/transcript-fixer/scripts/cli/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/cli/argument_parser.py","docs/skills/daymade-skills/transcript-fixer/scripts/cli/commands.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/ai_processor.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/ai_processor_async.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/change_extractor.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/connection_pool.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/correction_repository.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/correction_service.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/dictionary_processor.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/learning_engine.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/schema.sql","docs/skills/daymade-skills/transcript-fixer/scripts/ensure_deps.py","docs/skills/daymade-skills/transcript-fixer/scripts/examples/bulk_import.py","docs/skills/daymade-skills/transcript-fixer/scripts/fix_transcript_enhanced.py","docs/skills/daymade-skills/transcript-fixer/scripts/fix_transcription.py","docs/skills/daymade-skills/transcript-fixer/scripts/generate_word_diff.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_audit_log_retention.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_connection_pool.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_correction_service.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_domain_validator.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_error_recovery.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_learning_engine.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_path_validator.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/audit_log_retention.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/concurrency_manager.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/config.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/database_migration.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/db_migrations_cli.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/change_extractor.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/html_format.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/inline_format.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/markdown_format.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/text_splitter.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/unified_format.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_generator.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/domain_validator.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/health_check.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/logging_config.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/metrics.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/migrations.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/path_validator.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/rate_limiter.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/retry_logic.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/security.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/validation.py","docs/skills/daymade-skills/twitter-reader/.security-scan-passed","docs/skills/daymade-skills/twitter-reader/SKILL.md","docs/skills/daymade-skills/twitter-reader/scripts/fetch_tweet.py","docs/skills/daymade-skills/twitter-reader/scripts/fetch_tweets.sh","docs/skills/daymade-skills/ui-designer/SKILL.md","docs/skills/daymade-skills/ui-designer/assets/app-overview-generator.md","docs/skills/daymade-skills/ui-designer/assets/design-system.md","docs/skills/daymade-skills/ui-designer/assets/vibe-design-template.md","docs/skills/daymade-skills/video-comparer/.security-scan-passed","docs/skills/daymade-skills/video-comparer/README.md","docs/skills/daymade-skills/video-comparer/SKILL.md","docs/skills/daymade-skills/video-comparer/assets/template.html","docs/skills/daymade-skills/video-comparer/references/configuration.md","docs/skills/daymade-skills/video-comparer/references/ffmpeg_commands.md","docs/skills/daymade-skills/video-comparer/references/video_metrics.md","docs/skills/daymade-skills/video-comparer/scripts/compare.py","docs/skills/daymade-skills/youtube-downloader/.security-scan-passed","docs/skills/daymade-skills/youtube-downloader/SKILL.md","docs/skills/daymade-skills/youtube-downloader/references/po-token-setup.md","docs/skills/daymade-skills/youtube-downloader/scripts/download_video.py","docs/skills/eval-harness/SKILL.md","docs/skills/frontend-patterns/SKILL.md","docs/skills/haizhan-ime-development.md","docs/skills/hizan-official/.claude-plugin/marketplace.json","docs/skills/hizan-official/skills/arch/SKILL.md","docs/skills/hizan-official/skills/game/SKILL.md","docs/skills/hizan-official/skills/quality/SKILL.md","docs/skills/hizan-official/skills/work/SKILL.md","docs/skills/juhi/tool-usage.md","docs/skills/mhattingpete-skills/.claude-plugin/marketplace.json","docs/skills/mhattingpete-skills/.claude/install-gh.sh","docs/skills/mhattingpete-skills/.claude/settings.json","docs/skills/mhattingpete-skills/.gitignore","docs/skills/mhattingpete-skills/CHANGELOG.md","docs/skills/mhattingpete-skills/CLAUDE.md","docs/skills/mhattingpete-skills/CONTRIBUTING.md","docs/skills/mhattingpete-skills/LICENSE","docs/skills/mhattingpete-skills/README.md","docs/skills/mhattingpete-skills/assets/skill-loading.gif","docs/skills/mhattingpete-skills/code-operations-plugin/.claude-plugin/plugin.json","docs/skills/mhattingpete-skills/code-operations-plugin/README.md","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-execution/SKILL.md","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-execution/examples/bulk_refactor.py","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-execution/examples/codebase_audit.py","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-execution/examples/extract_functions.py","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-refactor/SKILL.md","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-transfer/SKILL.md","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-transfer/scripts/line_insert.py","docs/skills/mhattingpete-skills/code-operations-plugin/skills/file-operations/SKILL.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/.claude-plugin/plugin.json","docs/skills/mhattingpete-skills/engineering-workflow-plugin/README.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/agents/ensemble-orchestrator/AGENT.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/agents/plan-implementer.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/commands/pr.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/ensemble-solving/SKILL.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/ensemble-solving/references/diversification-strategies.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/ensemble-solving/references/evaluation-rubrics.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/feature-planning/SKILL.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/feature-planning/references/planning-best-practices.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/git-pushing/SKILL.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/git-pushing/scripts/smart_commit.sh","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/review-implementing/SKILL.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/test-fixing/SKILL.md","docs/skills/mhattingpete-skills/execution-runtime/.env.example","docs/skills/mhattingpete-skills/execution-runtime/README.md","docs/skills/mhattingpete-skills/execution-runtime/api/__init__.py","docs/skills/mhattingpete-skills/execution-runtime/api/code_analysis.py","docs/skills/mhattingpete-skills/execution-runtime/api/code_transform.py","docs/skills/mhattingpete-skills/execution-runtime/api/filesystem.py","docs/skills/mhattingpete-skills/execution-runtime/api/git_operations.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/__init__.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/security/__init__.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/security/import_guard.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/security/pii_detector.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/sessions.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/skills.py","docs/skills/mhattingpete-skills/execution-runtime/mcp-server/mcp_server.py","docs/skills/mhattingpete-skills/execution-runtime/mcp-server/security/pii_detector.py","docs/skills/mhattingpete-skills/execution-runtime/mcp-server/security/sandbox.py","docs/skills/mhattingpete-skills/execution-runtime/pyproject.toml","docs/skills/mhattingpete-skills/execution-runtime/setup.sh","docs/skills/mhattingpete-skills/productivity-skills-plugin/.claude-plugin/plugin.json","docs/skills/mhattingpete-skills/productivity-skills-plugin/README.md","docs/skills/mhattingpete-skills/productivity-skills-plugin/skills/code-auditor/SKILL.md","docs/skills/mhattingpete-skills/productivity-skills-plugin/skills/codebase-documenter/SKILL.md","docs/skills/mhattingpete-skills/productivity-skills-plugin/skills/conversation-analyzer/SKILL.md","docs/skills/mhattingpete-skills/productivity-skills-plugin/skills/conversation-analyzer/scripts/analyze_history.py","docs/skills/mhattingpete-skills/productivity-skills-plugin/skills/project-bootstrapper/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/.claude-plugin/plugin.json","docs/skills/mhattingpete-skills/visual-documentation-plugin/EXAMPLES.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/README.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/architecture-diagram-creator/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/architecture-diagram-creator/assets/templates/architecture_components.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/architecture-diagram-creator/assets/templates/base_template.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/architecture-diagram-creator/references/example_architecture.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/dashboard-creator/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/dashboard-creator/assets/templates/base_template.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/dashboard-creator/assets/templates/dashboard_components.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/dashboard-creator/references/design_patterns.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/dashboard-creator/references/svg_library.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/flowchart-creator/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/flowchart-creator/assets/templates/base_template.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/flowchart-creator/assets/templates/flowchart_components.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/flowchart-creator/references/design_patterns.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/flowchart-creator/references/svg_library.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/technical-doc-creator/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/technical-doc-creator/assets/templates/base_template.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/technical-doc-creator/references/design_patterns.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/technical-doc-creator/references/svg_library.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/timeline-creator/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/timeline-creator/assets/templates/base_template.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/timeline-creator/assets/templates/timeline_components.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/timeline-creator/references/design_patterns.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/timeline-creator/references/svg_library.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/test-outputs/dashboard-test-monitoring.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/test-outputs/flowchart-test-authentication.html","docs/skills/netresearch-marketplace/.claude-plugin/marketplace.json","docs/skills/netresearch-marketplace/.github/workflows/sync-skills.yml","docs/skills/netresearch-marketplace/.gitignore","docs/skills/netresearch-marketplace/.sync-config.json","docs/skills/netresearch-marketplace/README.md","docs/skills/netresearch-marketplace/SYNC-SETUP.md","docs/skills/netresearch-marketplace/VERSIONING.md","docs/skills/netresearch-marketplace/notify-marketplace.yml","docs/skills/netresearch-marketplace/plugins/coach/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/plugins/coach/LICENSE","docs/skills/netresearch-marketplace/plugins/coach/README.md","docs/skills/netresearch-marketplace/plugins/coach/assets/templates/antipattern.md","docs/skills/netresearch-marketplace/plugins/coach/assets/templates/checklist.md","docs/skills/netresearch-marketplace/plugins/coach/assets/templates/rule.md","docs/skills/netresearch-marketplace/plugins/coach/assets/templates/snippet.md","docs/skills/netresearch-marketplace/plugins/coach/commands/approve.md","docs/skills/netresearch-marketplace/plugins/coach/commands/edit.md","docs/skills/netresearch-marketplace/plugins/coach/commands/init.md","docs/skills/netresearch-marketplace/plugins/coach/commands/promote.md","docs/skills/netresearch-marketplace/plugins/coach/commands/reject.md","docs/skills/netresearch-marketplace/plugins/coach/commands/review.md","docs/skills/netresearch-marketplace/plugins/coach/commands/scan.md","docs/skills/netresearch-marketplace/plugins/coach/commands/status.md","docs/skills/netresearch-marketplace/plugins/coach/hooks/hooks.json","docs/skills/netresearch-marketplace/plugins/coach/references/architecture.md","docs/skills/netresearch-marketplace/plugins/coach/references/schema.md","docs/skills/netresearch-marketplace/plugins/coach/references/scope_heuristics.md","docs/skills/netresearch-marketplace/plugins/coach/references/signal_patterns.md","docs/skills/netresearch-marketplace/plugins/coach/scripts/aggregate.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/apply.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/detect_signals.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/fingerprint.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/init_coach.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/ledger.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/propose.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/root_cause_analyzer.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/scope_analyzer.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/skill_analyzer.py","docs/skills/netresearch-marketplace/plugins/coach/skills/coach/SKILL.md","docs/skills/netresearch-marketplace/renovate.json","docs/skills/netresearch-marketplace/skills/agents/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/agents/LICENSE","docs/skills/netresearch-marketplace/skills/agents/README.md","docs/skills/netresearch-marketplace/skills/agents/STATUS.md","docs/skills/netresearch-marketplace/skills/agents/claudedocs/refactoring-summary.md","docs/skills/netresearch-marketplace/skills/agents/composer.json","docs/skills/netresearch-marketplace/skills/agents/docs/ROADMAP.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/SKILL.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/root-thin.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/root-verbose.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/backend-go.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/backend-php.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/cli.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/documentation.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/examples.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/frontend-typescript.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/resources.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/testing.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/analysis.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/directory-coverage.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/coding-agent-cli/AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/coding-agent-cli/scripts-AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/ldap-selfservice/AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/ldap-selfservice/internal-AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/ldap-selfservice/internal-web-AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/simple-ldap-go/AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/simple-ldap-go/examples-AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/t3x-rte-ckeditor-image/AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/t3x-rte-ckeditor-image/Classes-AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/analyze-git-history.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/check-freshness.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/detect-project.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/detect-scopes.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-agent-configs.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-ci-commands.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-commands.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-documentation.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-ide-settings.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-platform-files.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-quality-configs.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/generate-agents.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/lib/summary.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/lib/template.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/validate-structure.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/verify-content.sh","docs/skills/netresearch-marketplace/skills/cli-tools/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/cli-tools/LICENSE","docs/skills/netresearch-marketplace/skills/cli-tools/README.md","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ansible-core.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ast-grep.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/aws.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/bandit.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/bat.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/black.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/claude.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/codex.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/compose.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/composer.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ctags.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/curlie.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/dasel.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/delta.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/direnv.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/dive.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/docker.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/entr.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/eslint.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/fd.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/flake8.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/fx.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/fzf.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/gam.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/gem.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/gh.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/git-absorb.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/git-branchless.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/git-filter-repo.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/git-lfs.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/git.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/gitleaks.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/glab.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/go.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/golangci-lint.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/gosec.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/httpie.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/isort.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/jq.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/just.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/kubectl.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ninja.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/node.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/npm.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/parallel.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/php.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/pip.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/pipx.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/pnpm.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/poetry.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/pre-commit.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/prename.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/prettier.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/python.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/rbenv.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/rename.ul.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/rga.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ripgrep.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ruby-build.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ruby.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ruff.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/rust.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/sd.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/semgrep.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/shellcheck.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/shfmt.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/sponge.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/terraform.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/tfsec.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/trivy.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/uv.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/watchexec.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/xsv.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/yarn.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/yq.json","docs/skills/netresearch-marketplace/skills/cli-tools/composer.json","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/SKILL.md","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/references/binary_to_tool_map.md","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/references/project_type_requirements.md","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/auto_update.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/check_environment.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/detect_project_type.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/install_composer.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/install_tool.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/aws_installer.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/dedicated_script.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/github_clone.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/github_release_binary.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/hashicorp_zip.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/npm_global.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/npm_self_update.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/package_manager.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/uv_tool.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/capability.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/catalog.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/common.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/dependency.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/install_strategy.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/path_check.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/policy.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/reconcile.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/scope_detection.sh","docs/skills/netresearch-marketplace/skills/context7/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/context7/LICENSE","docs/skills/netresearch-marketplace/skills/context7/README.md","docs/skills/netresearch-marketplace/skills/context7/skills/context7/SKILL.md","docs/skills/netresearch-marketplace/skills/context7/skills/context7/scripts/context7.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/enterprise-readiness/LICENSE","docs/skills/netresearch-marketplace/skills/enterprise-readiness/README.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/ARCHITECTURE.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/BADGE_EXCEPTIONS.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/CODE_OF_CONDUCT.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/GOVERNANCE.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/ROADMAP.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/SECURITY_AUDIT.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/workflows/codeql.yml","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/workflows/dco-check.yml","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/workflows/dependency-review.yml","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/workflows/scorecard.yml","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/workflows/slsa-provenance.yml","docs/skills/netresearch-marketplace/skills/enterprise-readiness/composer.json","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/SKILL.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/2fa-enforcement.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/badge-display.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/branch-coverage.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/dco-implementation.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/dynamic-analysis.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/general.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/github.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/go.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/openssf-badge-gold.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/openssf-badge-silver.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/quick-start-guide.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/reproducible-builds.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/security-hardening.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/signed-releases.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/solo-maintainer-guide.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/sonarcloud.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/test-invocation.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/add-spdx-headers.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/analyze-bus-factor.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/check-branch-coverage.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/check-coverage-threshold.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/check-tls-minimum.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/verify-badge-criteria.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/verify-reproducible-build.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/verify-review-requirements.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/verify-signed-tags.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/verify-spdx-headers.sh","docs/skills/netresearch-marketplace/skills/git-workflow/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/git-workflow/LICENSE","docs/skills/netresearch-marketplace/skills/git-workflow/README.md","docs/skills/netresearch-marketplace/skills/git-workflow/composer.json","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/SKILL.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/advanced-git.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/branching-strategies.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/ci-cd-integration.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/commit-conventions.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/github-releases.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/pull-request-workflow.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/scripts/verify-git-workflow.sh","docs/skills/netresearch-marketplace/skills/github-project/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/github-project/LICENSE","docs/skills/netresearch-marketplace/skills/github-project/README.md","docs/skills/netresearch-marketplace/skills/github-project/composer.json","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/SKILL.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/CODEOWNERS.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/CONTRIBUTING.md.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/PULL_REQUEST_TEMPLATE.md.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/SECURITY.md.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/auto-merge-direct.yml.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/auto-merge-queue.yml.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/auto-merge.yml.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/bug_report.md.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/dependabot.yml.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/feature_request.md.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/release-labeler.yml.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/renovate.json.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/references/branch-migration.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/references/dependency-management.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/references/release-labeling.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/references/repository-structure.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/references/sub-issues.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/scripts/verify-github-project.sh","docs/skills/netresearch-marketplace/skills/go-development/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/go-development/LICENSE","docs/skills/netresearch-marketplace/skills/go-development/README.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/SKILL.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/api-design.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/architecture.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/docker.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/fuzz-testing.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/ldap.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/linting.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/makefile.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/mutation-testing.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/resilience.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/testing.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/scripts/verify-go-project.sh","docs/skills/netresearch-marketplace/skills/jira-integration/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/jira-integration/AGENTS.md","docs/skills/netresearch-marketplace/skills/jira-integration/CHANGELOG.md","docs/skills/netresearch-marketplace/skills/jira-integration/CLAUDE.md","docs/skills/netresearch-marketplace/skills/jira-integration/LICENSE","docs/skills/netresearch-marketplace/skills/jira-integration/MIGRATION.md","docs/skills/netresearch-marketplace/skills/jira-integration/PRD.md","docs/skills/netresearch-marketplace/skills/jira-integration/README.md","docs/skills/netresearch-marketplace/skills/jira-integration/SKILL.md","docs/skills/netresearch-marketplace/skills/jira-integration/composer.json","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/AGENTS.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/SKILL.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/references/jql-quick-reference.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/references/troubleshooting.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-attachment.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-issue.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-search.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-setup.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-validate.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-worklog.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/lib/__init__.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/lib/client.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/lib/config.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/lib/output.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/utility/jira-fields.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/utility/jira-link.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/utility/jira-user.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/workflow/jira-board.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/workflow/jira-comment.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/workflow/jira-create.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/workflow/jira-sprint.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/workflow/jira-transition.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/AGENTS.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/SKILL.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/references/jira-syntax-quick-reference.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/scripts/validate-jira-syntax.sh","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/templates/bug-report-template.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/templates/feature-request-template.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/netresearch-branding/LICENSE","docs/skills/netresearch-marketplace/skills/netresearch-branding/README.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/assets/logos/netresearch-symbol-only.svg","docs/skills/netresearch-marketplace/skills/netresearch-branding/composer.json","docs/skills/netresearch-marketplace/skills/netresearch-branding/examples/components.html","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/SKILL.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/references/colors.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/references/typo3-extension-branding.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/references/typography.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/references/web-design.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/templates/landing-page.html","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/templates/styles.css","docs/skills/netresearch-marketplace/skills/php-modernization/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/php-modernization/LICENSE","docs/skills/netresearch-marketplace/skills/php-modernization/README.md","docs/skills/netresearch-marketplace/skills/php-modernization/composer.json","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/SKILL.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/adapter-registry-pattern.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/migration-strategies.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/php8-features.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/phpstan-compliance.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/psr-per-compliance.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/request-dtos.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/static-analysis-tools.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/symfony-patterns.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/type-safety.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/scripts/verify-php-project.sh","docs/skills/netresearch-marketplace/skills/security-audit/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/security-audit/LICENSE","docs/skills/netresearch-marketplace/skills/security-audit/README.md","docs/skills/netresearch-marketplace/skills/security-audit/composer.json","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/SKILL.md","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/references/api-key-encryption.md","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/references/cvss-scoring.md","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/references/owasp-top10.md","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/references/xxe-prevention.md","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/scripts/security-audit.sh","docs/skills/netresearch-marketplace/skills/skill-repo/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/skill-repo/LICENSE","docs/skills/netresearch-marketplace/skills/skill-repo/README.md","docs/skills/netresearch-marketplace/skills/skill-repo/composer.json","docs/skills/netresearch-marketplace/skills/skill-repo/renovate.json","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/SKILL.md","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/references/composer-setup.md","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/references/installation-methods.md","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/references/marketplace-integration.md","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/scripts/validate-skill.sh","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/templates/README.md.template","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/templates/composer.json.template","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/templates/release.yml.template","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/README.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/composer.json","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/references/ckeditor5-architecture.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/references/migration-guide.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/references/plugin-development.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/references/typo3-integration.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/scripts/verify-ckeditor5.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-conformance/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-conformance/README.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/composer.json","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/assets/.github/workflows/publish-to-ter.yml","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/backend-module-v13.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/backend-wizard-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/best-practices.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/coding-guidelines.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/composer-validation.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/crowdin-integration.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/development-environment.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/directory-structure.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/dual-version-compatibility.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/excellence-indicators.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/ext-emconf-validation.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/ext-files-validation.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/extension-architecture.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/hooks-and-events.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/multi-tier-configuration.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/php-architecture.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/report-template.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/runtests-validation.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/ter-publishing.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/testing-standards.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/v13-deprecations.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/version-requirements.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-architecture.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-coding-standards.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-conformance.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-documentation.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-file-structure.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-phpstan-baseline.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-testing.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/generate-report.sh","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/README.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/assets/commit-template.txt","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/claudedocs/refactoring-summary.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/composer.json","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/account-setup.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/commit-message-format.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/commit-msg-hook.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/ddev-setup-workflow.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/forge-api.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/gerrit-review-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/gerrit-workflow.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/modern-typo3-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/troubleshooting.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/create-commit-message.py","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/create-forge-issue.sh","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/query-forge-metadata.sh","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/setup-typo3-coredev.sh","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/validate-commit-message.py","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/verify-prerequisites.sh","docs/skills/netresearch-marketplace/skills/typo3-ddev/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-ddev/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-ddev/README.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/composer.json","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/.envrc","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/Makefile.template","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/README-SERVICES.md.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/apache/apache-site.conf","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/host/docs","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/host/pre-start-git-info","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/host/setup","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/install-all","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/install-v11","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/install-v12","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/install-v13","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/web/configure-extension.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/web/generate-index","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/web/generate-makefile","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/web/install-introduction.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/config.redis.php.example","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/config.yaml","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/docker-compose.git-info.yaml","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/docker-compose.ofelia.yaml.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/docker-compose.services-redis.yaml.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/docker-compose.services.yaml.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/docker-compose.web.yaml","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/homeadditions/.bashrc_additions.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/index.html.netresearch.template","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/index.html.typo3.template","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/web-build/Dockerfile","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/web-build/install-cron.sh.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/web-entrypoint.d/10-cleanup-index.sh","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/0001-valkey-default-with-redis-alternative.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/0002-mariadb-default-with-database-alternatives.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/0003-php-version-management.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/advanced-options.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/documentation-rendering.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/index-page-generation.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/prerequisites-validation.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/quickstart.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/troubleshooting.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/typo3-12-cli-changes.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/windows-fixes.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/windows-optimizations.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/scripts/validate-prerequisites.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-docs/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-docs/README.md","docs/skills/netresearch-marketplace/skills/typo3-docs/composer.json","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/assets/AGENTS.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/architecture-decision-records.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/code-structure-elements.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/coding-guidelines.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/content-directives.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/documentation-coverage-analysis.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/extraction-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/file-structure.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/guides-xml.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/intercept-deployment.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/rendering.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/rst-syntax.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/screenshots.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/text-roles-inline-code.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/typo3-directives.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/typo3-extension-architecture.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/add-agents-md.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/analyze-docs.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-all.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-build-configs.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-composer.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-extension-config.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-php.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-project-files.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-repo-metadata.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/render_docs.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/validate_docs.sh","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/README.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/composer.json","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/assets/.php-cs-fixer.php","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/assets/fractor.php","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/assets/phpstan.neon","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/assets/phpunit.xml","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/assets/rector.php","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/api-changes.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/dual-compatibility.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/pre-upgrade.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/real-world-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/upgrade-v11-to-v12.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/upgrade-v12-to-v13.md","docs/skills/netresearch-marketplace/skills/typo3-testing/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-testing/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-testing/README.md","docs/skills/netresearch-marketplace/skills/typo3-testing/composer.json","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/.php-cs-fixer.dist.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/AGENTS.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/FunctionalTests.xml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/FunctionalTestsBootstrap.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/Makefile","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/UnitTests.xml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/UnitTestsBootstrap.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/bootstrap.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/codecov.yml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/docker/codeception.yml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/docker/docker-compose.yml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/example-tests/ExampleAcceptanceCest.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/example-tests/ExampleFunctionalTest.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/example-tests/ExampleUnitTest.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/fixtures/README.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/fixtures/be_users.csv","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/fixtures/pages.csv","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/fixtures/sys_category.csv","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/fixtures/tt_content.csv","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/github-actions-e2e.yml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/github-actions-tests.yml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/infection.json5","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/phpat.neon","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/phpat.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/phpstan-baseline.neon","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/phpstan.neon","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/rector.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/accessibility-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/architecture-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/ci-cd.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/crypto-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/ddev-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/e2e-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/functional-test-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/functional-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/fuzz-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/integration-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/javascript-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/mutation-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/performance-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/quality-tools.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/sonarcloud.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/test-runners.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/typo3-v14-final-classes.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/unit-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/scripts/generate-test.sh","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/scripts/setup-testing.sh","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/scripts/validate-setup.sh","docs/skills/netresearch-marketplace/update-source-repos.sh","docs/skills/project-guidelines-example/SKILL.md","docs/skills/security-review/SKILL.md","docs/skills/strategic-compact/SKILL.md","docs/skills/strategic-compact/suggest-compact.sh","docs/skills/tdd-workflow/SKILL.md","docs/skills/verification-loop/SKILL.md","docs/话术库导出_20251231103252.xlsx","docs_archive/AI_INPUT_METHOD_BRAINSTORM.md","docs_archive/ANDROID_100_PERCENT_PLAN.md","docs_archive/ANDROID_NATIVE_REPLACEMENT_DETAILED_PLAN.md","docs_archive/ANDROID_NATIVE_REPLACEMENT_PLAN.md","docs_archive/API.md","docs_archive/APPLE_PLATFORM_DEVELOPMENT_PLAN.md","docs_archive/ARCHITECTURE.md","docs_archive/ARCHITECTURE_COMPACT.md","docs_archive/CLAUDE.md","docs_archive/COMPREHENSIVE_IMPROVEMENT_PLAN.md","docs_archive/DEPLOYMENT.md","docs_archive/DESIGN_BASED_DEVELOPMENT_PLAN.md","docs_archive/DEVELOPMENT_ROADMAP.md","docs_archive/DICTIONARY_IMPROVEMENT_PLAN.md","docs_archive/DOCS_INDEX.md","docs_archive/IMPLEMENTATION_PLAN.md","docs_archive/IMPROVEMENT_RECOMMENDATIONS.md","docs_archive/IOS_DEVELOPMENT_PLAN.md","docs_archive/NEXT_STEPS_PLAN.md","docs_archive/PINYIN_DEVELOPMENT_PLAN.md","docs_archive/PRD.md","docs_archive/PROGRESS_TRACKER.md","docs_archive/README.md","docs_archive/REDLINES.md","docs_archive/SMART_RECOGNITION_COMPACT.md","docs_archive/TECHNICAL_ARCHITECTURE.md","docs_archive/UI_DEVELOPMENT_PLAN.md","docs_archive/smart-recognition-design.md","flutter_app/assets/fonts/PingFang-Medium.ttf","flutter_app/assets/fonts/PingFang-Regular.ttf","flutter_app/assets/fonts/PingFang-Semibold.ttf","flutter_app/assets/icons/.gitkeep","flutter_app/assets/images/.gitkeep","flutter_app/lib/core/bridge/bridge_models.dart","flutter_app/lib/core/bridge/bridge_response_parser.dart","flutter_app/lib/core/bridge/haizhan_bridge.dart","flutter_app/lib/core/di/service_locator.dart","flutter_app/lib/core/router/app_router.dart","flutter_app/lib/core/router/routes.dart","flutter_app/lib/core/theme/app_colors.dart","flutter_app/lib/core/theme/app_theme.dart","flutter_app/lib/core/theme/app_typography.dart","flutter_app/lib/features/auth/data/auth_provider.dart","flutter_app/lib/features/auth/data/auth_repository.dart","flutter_app/lib/features/auth/domain/auth_models.dart","flutter_app/lib/features/auth/presentation/login_screen.dart","flutter_app/lib/features/auth/presentation/register_screen.dart","flutter_app/lib/features/chat/data/ai_provider.dart","flutter_app/lib/features/chat/data/ai_repository.dart","flutter_app/lib/features/chat/domain/ai_reply_models.dart","flutter_app/lib/features/chat/presentation/chat_screen.dart","flutter_app/lib/features/chat/presentation/conversation_screen.dart","flutter_app/lib/features/contacts/data/contact_360_provider.dart","flutter_app/lib/features/contacts/data/contacts_provider.dart","flutter_app/lib/features/contacts/data/contacts_repository.dart","flutter_app/lib/features/contacts/domain/contact_models.dart","flutter_app/lib/features/contacts/presentation/contact_detail_screen.dart","flutter_app/lib/features/contacts/presentation/contacts_screen.dart","flutter_app/lib/features/home/presentation/home_screen.dart","flutter_app/lib/features/home/presentation/main_shell.dart","flutter_app/lib/features/knowledge/data/knowledge_provider.dart","flutter_app/lib/features/knowledge/data/knowledge_repository.dart","flutter_app/lib/features/knowledge/domain/knowledge_models.dart","flutter_app/lib/features/knowledge/presentation/knowledge_screen.dart","flutter_app/lib/features/profile/presentation/profile_screen.dart","flutter_app/lib/features/search/data/models/search_metrics.dart","flutter_app/lib/features/search/presentation/widgets/search_metrics_indicator.dart","flutter_app/lib/features/settings/presentation/settings_screen.dart","flutter_app/lib/features/stats/presentation/stats_screen.dart","flutter_app/lib/features/stats/presentation/widgets/contact_stats_tab.dart","flutter_app/lib/features/stats/presentation/widgets/overview_tab.dart","flutter_app/lib/features/stats/presentation/widgets/reply_stats_tab.dart","flutter_app/lib/features/stats/presentation/widgets/stats_shared_widgets.dart","flutter_app/lib/features/support/presentation/about_screen.dart","flutter_app/lib/features/support/presentation/feedback_screen.dart","flutter_app/lib/features/support/presentation/help_screen.dart","flutter_app/lib/features/support/presentation/privacy_screen.dart","flutter_app/lib/features/support/presentation/terms_screen.dart","flutter_app/lib/main.dart","flutter_app/lib/shared/widgets/stat_card.dart","flutter_app/pigeons/haizhan_api.dart","flutter_app/pubspec.lock","flutter_app/pubspec.yaml","flutter_app/test/core/network/api_client_test.dart","flutter_app/test/core/theme/theme_provider_test.dart","flutter_app/test/features/auth/login_screen_test.dart","flutter_app/test/features/chat/chat_screen_test.dart","flutter_app/test/features/contacts/contacts_screen_test.dart","flutter_app/test/features/home/home_screen_test.dart","flutter_app/test/features/knowledge/knowledge_screen_test.dart","flutter_app/test/features/profile/profile_screen_test.dart","flutter_app/test/features/settings/settings_screen_test.dart","flutter_app/test/features/statistics/statistics_screen_test.dart","flutter_app/test/features/stats/stats_screen_test.dart","flutter_app/test/integration/app_integration_test.dart","flutter_app/test/providers/auth_provider_test.dart","flutter_app/test/services/api_service_test.dart","flutter_app/test/widgets/contact_card_test.dart","gradle.properties","gradle/libs.versions.toml","gradle/wrapper/gradle-wrapper.jar","gradle/wrapper/gradle-wrapper.properties","gradlew","gradlew.bat","ime-core/build.gradle.kts","ime-core/consumer-rules.pro","ime-core/proguard-rules.pro","ime-core/src/androidTest/java/com/haizhan/ime/core/handwriting/HandwritingIntegrationTest.kt","ime-core/src/androidTest/java/com/haizhan/ime/core/handwriting/HandwritingPerformanceTest.kt","ime-core/src/androidTest/java/com/haizhan/ime/core/handwriting/HandwritingViewTest.kt","ime-core/src/main/AndroidManifest.xml","ime-core/src/main/assets/dictionaries/system/core-char.txt","ime-core/src/main/assets/dictionaries/system/core-merged.txt","ime-core/src/main/assets/dictionaries/system/core-phrase.txt","ime-core/src/main/assets/dictionaries/system/core-word2.txt","ime-core/src/main/assets/dictionaries/system/core-word3.txt","ime-core/src/main/assets/dictionaries/system/core-word4.txt","ime-core/src/main/assets/handwriting_labels_casia.txt","ime-core/src/main/assets/paddle_models/ppocr_keys_v1.txt","ime-core/src/main/cpp/CMakeLists.txt","ime-core/src/main/cpp/include/paddle_api.h","ime-core/src/main/cpp/include/paddle_image_preprocess.h","ime-core/src/main/cpp/include/paddle_lite_factory_helper.h","ime-core/src/main/cpp/include/paddle_place.h","ime-core/src/main/cpp/include/paddle_use_kernels.h","ime-core/src/main/cpp/include/paddle_use_ops.h","ime-core/src/main/cpp/include/paddle_use_passes.h","ime-core/src/main/cpp/paddle_lite_jni.cpp","ime-core/src/main/cpp/paddle_ocr_jni.cpp","ime-core/src/main/java/com/haizhan/ime/core/context/ChatContext.kt","ime-core/src/main/java/com/haizhan/ime/core/context/ChatContextProvider.kt","ime-core/src/main/java/com/haizhan/ime/core/context/ContextAnalyzer.kt","ime-core/src/main/java/com/haizhan/ime/core/context/ContextAwareRanker.kt","ime-core/src/main/java/com/haizhan/ime/core/context/WordCategoryClassifier.kt","ime-core/src/main/java/com/haizhan/ime/core/di/ImeCoreModule.kt","ime-core/src/main/java/com/haizhan/ime/core/di/PerformanceModule.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/ImeEngine.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/EnglishKeyHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/HandwritingKeyHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/KeyPressDispatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/KeyPressHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/PinyinKeyHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/SymbolKeyHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/VoiceKeyHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/HaizhanHandwritingApiClient.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/HandwritingKeyboard.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/HandwritingManager.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/HandwritingToolbar.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/HandwritingView.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/IHandwritingRecognizer.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/ModelDownloader.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/PaddleLiteRecognizer.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/RecognitionConfig.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/Stroke.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/StrokeCache.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/StrokePreprocessor.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/StrokeSegmenter.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/TFLiteRecognizer.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/UnifiedRecognitionEngine.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/di/HandwritingModule.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/CandidatesView.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/EnhancedCandidatesView.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/ImeContentLayout.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/ImeLayoutConstants.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/InputModeToolbar.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/KeyboardLayout.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/KeyboardView.kt","ime-core/src/main/java/com/haizhan/ime/core/ocr/IOcrEngine.kt","ime-core/src/main/java/com/haizhan/ime/core/ocr/OcrImageProcessor.kt","ime-core/src/main/java/com/haizhan/ime/core/ocr/OcrModels.kt","ime-core/src/main/java/com/haizhan/ime/core/ocr/PaddleOcrEngine.kt","ime-core/src/main/java/com/haizhan/ime/core/ocr/README.md","ime-core/src/main/java/com/haizhan/ime/core/ocr/di/OcrModule.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/BuiltinDictionary.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/Candidate.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/CloudPinyinService.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/CloudSyncService.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/DictModels.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/DictionaryFileParser.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/DictionaryHotReloader.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/DictionaryImporter.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/DictionaryReloader.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/EnterpriseDictionary.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/FuzzyPinyinConfig.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/HotWordService.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/ImportResult.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/InputPredictor.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/LocalDictionary.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/NgramData.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/NgramModel.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/NineGridMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/PinyinSegmenterImpl.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/PinyinService.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/PinyinServiceImpl.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/PinyinSplitter.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/SmartErrorCorrector.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/SystemDatDictionary.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/UserPreferenceStore.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/cloud/CloudPinyinApiImpl.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/cloud/CloudPinyinModule.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/cloud/ExponentialBackoff.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/converter/ChineseConverter.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/FullPinyinMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/InputMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/InputMatcherManager.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/NineGridMatcherAdapter.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/ShortcutMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/ShuangpinMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/di/MatcherModule.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/MicrosoftScheme.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/NaturalScheme.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/ShuangpinConverter.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/ShuangpinScheme.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/SogouScheme.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/XiaoheScheme.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/stroke/StrokeData.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/stroke/StrokeMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/theme/DesignTokens.kt","ime-core/src/main/java/com/haizhan/ime/core/theme/KeyboardTheme.kt","ime-core/src/main/java/com/haizhan/ime/core/theme/ThemeManager.kt","ime-core/src/main/java/com/haizhan/ime/core/voice/ui/VoicePanel.kt","ime-core/src/main/jniLibs/arm64-v8a/libpaddle_light_api_shared.so","ime-core/src/main/res/drawable/ic_backspace.xml","ime-core/src/main/res/drawable/ic_clear_all.xml","ime-core/src/main/res/drawable/ic_handwriting.xml","ime-core/src/main/res/drawable/ic_keyboard.xml","ime-core/src/test/java/com/haizhan/ime/core/ImeEngineTest.kt","ime-core/src/test/java/com/haizhan/ime/core/benchmark/ImeCorePerformanceTest.kt","ime-core/src/test/java/com/haizhan/ime/core/benchmark/MemoryBenchmarkTest.kt","ime-core/src/test/java/com/haizhan/ime/core/context/ContextAnalyzerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/context/ContextAwareRankerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/context/WordCategoryClassifierTest.kt","ime-core/src/test/java/com/haizhan/ime/core/decoder/UnifiedRankerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/ImeEngineTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/handler/EnglishKeyHandlerExpandedTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/handler/KeyPressDispatcherTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/handler/KeyPressHandlerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/handler/PinyinKeyHandlerExpandedTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/handler/SymbolKeyHandlerExpandedTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/HandwritingManagerAdvancedTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/HandwritingManagerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/PaddleLiteRecognizerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/StrokeCacheTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/StrokePreprocessorTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/TFLiteRecognizerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/keyboard/CandidatesViewTest.kt","ime-core/src/test/java/com/haizhan/ime/core/keyboard/KeyboardLayoutTest.kt","ime-core/src/test/java/com/haizhan/ime/core/keyboard/KeyboardViewTest.kt","ime-core/src/test/java/com/haizhan/ime/core/ocr/OcrImageProcessorTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/CloudPinyinServiceTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/CloudSyncServiceTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/DictionaryFileParserTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/DictionaryImporterTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/DictionaryReloaderTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/EnterpriseDictionaryTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/FuzzyPinyinConfigTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/HotWordServiceTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/InputPredictorTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/LocalDictionaryTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/NgramModelTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/NineGridMatcherTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/PinyinSegmenterTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/PinyinServiceImplTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/PinyinServiceTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/PinyinSplitterTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/SmartErrorCorrectorTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/SystemDatDictionaryTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/UserPreferenceStoreTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/cloud/CloudPinyinApiImplTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/cloud/ExponentialBackoffTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/matcher/FullPinyinMatcherTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/matcher/ShuangpinMatcherTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/shuangpin/ShuangpinSchemeTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/shuangpin/SogouSchemeTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/shuangpin/XiaoheSchemeTest.kt","ime-core/src/test/java/com/haizhan/ime/core/theme/ThemeManagerTest.kt","ios_keyboard/APPSTORE_LISTING.md","ios_keyboard/HaizhanKeyboard/Info.plist","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboard.xcodeproj/project.pbxproj","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboard.xcodeproj/project.xcworkspace/contents.xcworkspacedata","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp.entitlements","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/HaizhanKeyboardApp.entitlements","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/HaizhanKeyboardApp.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Info.plist","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Models/AppSession.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Services/KeyboardStatusService.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Services/ScreenshotResponder.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Views/AccountView.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Views/AppSettingsView.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Views/ContentView.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Views/LoginView.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Views/OnboardingView.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardExtension.entitlements","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardExtension/HaizhanKeyboardExtension.entitlements","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardExtension/Info.plist","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardExtension/KeyboardExtensionStub.swift","ios_keyboard/HaizhanKeyboardApp/Info.plist","ios_keyboard/HaizhanKeyboardApp/Models/AppSession.swift","ios_keyboard/HaizhanKeyboardApp/README.md","ios_keyboard/HaizhanKeyboardApp/Services/KeyboardStatusService.swift","ios_keyboard/HaizhanKeyboardApp/Services/ScreenshotResponder.swift","ios_keyboard/HaizhanKeyboardApp/Views/AccountView.swift","ios_keyboard/HaizhanKeyboardApp/Views/AppSettingsView.swift","ios_keyboard/HaizhanKeyboardApp/Views/ContentView.swift","ios_keyboard/HaizhanKeyboardApp/Views/LoginView.swift","ios_keyboard/HaizhanKeyboardApp/Views/OnboardingView.swift","ios_keyboard/HaizhanKeyboardApp/project.yml","ios_keyboard/HaizhanKeyboardExtension/Info.plist","ios_keyboard/HaizhanKeyboardExtension/KeyboardExtensionStub.swift","ios_keyboard/Package.swift","ios_keyboard/README.md","ios_keyboard/Sources/HaizhanKeyboard/AI/ContactMatcher.swift","ios_keyboard/Sources/HaizhanKeyboard/AI/ReplyService.swift","ios_keyboard/Sources/HaizhanKeyboard/AI/ScreenshotManager.swift","ios_keyboard/Sources/HaizhanKeyboard/Bridge/KMPBridge.swift","ios_keyboard/Sources/HaizhanKeyboard/Engine/KeyboardEngine.swift","ios_keyboard/Sources/HaizhanKeyboard/Engine/PinyinSegmenter.swift","ios_keyboard/Sources/HaizhanKeyboard/KeyboardViewController.swift","ios_keyboard/Sources/HaizhanKeyboard/Network/ApiClient.swift","ios_keyboard/Sources/HaizhanKeyboard/Network/AuthService.swift","ios_keyboard/Sources/HaizhanKeyboard/Storage/AppGroupStore.swift","ios_keyboard/Sources/HaizhanKeyboard/Storage/KeychainStore.swift","ios_keyboard/Sources/HaizhanKeyboard/Theme/ThemeManager.swift","ios_keyboard/Sources/HaizhanKeyboard/Utils/HapticManager.swift","ios_keyboard/Sources/HaizhanKeyboard/ViewModel/KeyboardViewModel.swift","ios_keyboard/Sources/HaizhanKeyboard/Views/AIPanelView.swift","ios_keyboard/Sources/HaizhanKeyboard/Views/KeyboardView.swift","ios_keyboard/Sources/HaizhanKeyboard/Views/NineGridKeyboard.swift","ios_keyboard/Sources/HaizhanKeyboard/Views/SettingsView.swift","ios_keyboard/Tests/HaizhanKeyboardTests/ApiClientTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/AppGroupStoreTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/ContactMatcherTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/HapticManagerTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/KeyboardEngineTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/KeychainStoreTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/PinyinSegmenterTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/ReplyServiceTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/ThemeManagerTests.swift","ios_keyboard/build_kmp_xcframework.sh","openapitools.json","package.json","pnpm-workspace.yaml","scripts/PACKAGE_MANAGER_SUMMARY.md","scripts/check-docs-sync.sh","scripts/download_paddle_ocr_models.sh","scripts/generate-design-tokens.py","scripts/package-manager-migration.md","scripts/pre-commit","server/.dockerignore","server/.env.example","server/.npmrc","server/Makefile","server/README.md","server/ai-service/.dockerignore","server/ai-service/Dockerfile","server/ai-service/jest.config.js","server/ai-service/nest-cli.json","server/ai-service/package.json","server/ai-service/poc-load-test-1770067946237.json","server/ai-service/poc-report-1770067953461.json","server/ai-service/poc-report-1770067953461.md","server/ai-service/poc-report-1771647201192.json","server/ai-service/poc-report-1771647201192.md","server/ai-service/scripts/poc/README.md","server/ai-service/scripts/poc/deploy-models.sh","server/ai-service/scripts/poc/generate-report.ts","server/ai-service/scripts/poc/load-test.ts","server/ai-service/scripts/poc/v1-int8-quality.ts","server/ai-service/scripts/poc/v2-router-accuracy.ts","server/ai-service/scripts/poc/v3-e2e-latency.ts","server/ai-service/scripts/seed-rag.ts","server/ai-service/src/app.module.ts","server/ai-service/src/common/decorators/current-tenant.decorator.ts","server/ai-service/src/common/decorators/public.decorator.ts","server/ai-service/src/common/guards/auth.guard.spec.ts","server/ai-service/src/common/guards/auth.guard.ts","server/ai-service/src/common/redis/index.ts","server/ai-service/src/common/redis/redis.module.ts","server/ai-service/src/common/redis/redis.service.ts","server/ai-service/src/main.ts","server/ai-service/src/modules/ai/ai.controller.ts","server/ai-service/src/modules/ai/ai.module.ts","server/ai-service/src/modules/ai/ai.service.spec.ts","server/ai-service/src/modules/ai/ai.service.ts","server/ai-service/src/modules/ai/dto/generate-reply.dto.ts","server/ai-service/src/modules/ai/legacy-reply.controller.ts","server/ai-service/src/modules/health/health.controller.ts","server/ai-service/src/modules/health/health.module.ts","server/ai-service/src/modules/memory/dto/memory.dto.ts","server/ai-service/src/modules/memory/event.service.spec.ts","server/ai-service/src/modules/memory/event.service.ts","server/ai-service/src/modules/memory/index.ts","server/ai-service/src/modules/memory/memory.controller.ts","server/ai-service/src/modules/memory/memory.module.ts","server/ai-service/src/modules/memory/memory.service.spec.ts","server/ai-service/src/modules/memory/memory.service.ts","server/ai-service/src/modules/memory/profile.service.spec.ts","server/ai-service/src/modules/memory/profile.service.ts","server/ai-service/src/modules/memory/schemas/contact-event.schema.ts","server/ai-service/src/modules/memory/schemas/contact-profile.schema.ts","server/ai-service/src/modules/memory/schemas/conversation-summary.schema.ts","server/ai-service/src/modules/memory/summary.service.spec.ts","server/ai-service/src/modules/memory/summary.service.ts","server/ai-service/src/modules/memory/vector.service.ts","server/ai-service/src/modules/privacy/index.ts","server/ai-service/src/modules/privacy/pii-scrubber.service.ts","server/ai-service/src/modules/privacy/privacy.module.ts","server/ai-service/src/modules/search/agentic/agentic-loop.controller.ts","server/ai-service/src/modules/search/agentic/answer-synthesizer.service.ts","server/ai-service/src/modules/search/agentic/answer-synthesizer.spec.ts","server/ai-service/src/modules/search/agentic/index.ts","server/ai-service/src/modules/search/agentic/query-decomposer.service.ts","server/ai-service/src/modules/search/agentic/query-decomposer.spec.ts","server/ai-service/src/modules/search/agentic/result-evaluator.service.ts","server/ai-service/src/modules/search/agentic/result-evaluator.spec.ts","server/ai-service/src/modules/search/cache/index.ts","server/ai-service/src/modules/search/cache/multi-level-cache.service.ts","server/ai-service/src/modules/search/cache/multi-level-cache.spec.ts","server/ai-service/src/modules/search/config/search.config.ts","server/ai-service/src/modules/search/dto/index.ts","server/ai-service/src/modules/search/dto/search-request.dto.ts","server/ai-service/src/modules/search/dto/search-response.dto.ts","server/ai-service/src/modules/search/experiment/ab-testing.service.ts","server/ai-service/src/modules/search/experiment/experiment.controller.ts","server/ai-service/src/modules/search/experiment/gradual-release.service.ts","server/ai-service/src/modules/search/experiment/index.ts","server/ai-service/src/modules/search/gateway/unified-search-gateway.service.ts","server/ai-service/src/modules/search/gateway/unified-search-gateway.spec.ts","server/ai-service/src/modules/search/index.ts","server/ai-service/src/modules/search/layers/agentic-layer.service.spec.ts","server/ai-service/src/modules/search/layers/agentic-layer.service.ts","server/ai-service/src/modules/search/layers/cache-layer.service.spec.ts","server/ai-service/src/modules/search/layers/cache-layer.service.ts","server/ai-service/src/modules/search/layers/rag-layer.service.spec.ts","server/ai-service/src/modules/search/layers/rag-layer.service.ts","server/ai-service/src/modules/search/monitoring/alert.service.ts","server/ai-service/src/modules/search/monitoring/grafana-dashboard.json","server/ai-service/src/modules/search/monitoring/index.ts","server/ai-service/src/modules/search/monitoring/metrics.service.ts","server/ai-service/src/modules/search/optimization/index.ts","server/ai-service/src/modules/search/optimization/parallel-retriever.service.ts","server/ai-service/src/modules/search/optimization/parallel-retriever.spec.ts","server/ai-service/src/modules/search/router/pure-rule-router.spec.ts","server/ai-service/src/modules/search/router/pure-rule-router.ts","server/ai-service/src/modules/search/router/router.types.ts","server/ai-service/src/modules/search/search.controller.ts","server/ai-service/src/modules/search/search.integration.spec.ts","server/ai-service/src/modules/search/search.module.ts","server/ai-service/src/modules/search/services/elasticsearch.service.ts","server/ai-service/src/modules/search/services/embedding.service.spec.ts","server/ai-service/src/modules/search/services/embedding.service.ts","server/ai-service/src/modules/search/services/index.ts","server/ai-service/src/modules/search/services/llm.service.spec.ts","server/ai-service/src/modules/search/services/llm.service.ts","server/ai-service/src/modules/search/services/milvus.service.ts","server/ai-service/src/modules/search/services/reranker.service.spec.ts","server/ai-service/src/modules/search/services/reranker.service.ts","server/ai-service/src/modules/search/streaming/index.ts","server/ai-service/src/modules/search/streaming/stream-optimizer.service.ts","server/ai-service/src/modules/search/vip/index.ts","server/ai-service/src/modules/search/vip/vip-tier.service.ts","server/ai-service/tsconfig.json","server/api-gateway/.dockerignore","server/api-gateway/Dockerfile","server/api-gateway/logs/.3fa4d5e91883ce1217f62a49f94203b42caa131d-audit.json","server/api-gateway/logs/.92dabeadf9708ae538f84c8892e853b5a8f57f04-audit.json","server/api-gateway/nest-cli.json","server/api-gateway/package.json","server/api-gateway/prisma/README.md","server/api-gateway/prisma/migrations/20260203065715_init/migration.sql","server/api-gateway/prisma/migrations/20260203160000_add_360_view_models/migration.sql","server/api-gateway/prisma/migrations/20260203170000_add_admin_modules/migration.sql","server/api-gateway/prisma/migrations/20260203180000_add_config_and_usage_stats/migration.sql","server/api-gateway/prisma/migrations/20260213000000_add_contact_geo_fields/migration.sql","server/api-gateway/prisma/migrations/20260213100000_expand_prompt_template/migration.sql","server/api-gateway/prisma/migrations/migration_lock.toml","server/api-gateway/prisma/schema.prisma","server/api-gateway/prisma/seed.ts","server/api-gateway/scripts/generate-openapi.ts","server/api-gateway/src/app.module.ts","server/api-gateway/src/common/logger/global-logger.module.ts","server/api-gateway/src/common/logger/global-logger.service.ts","server/api-gateway/src/main.ts","server/api-gateway/src/modules/ai-config/ai-config.controller.ts","server/api-gateway/src/modules/ai-config/ai-config.module.ts","server/api-gateway/src/modules/ai-config/ai-config.service.ts","server/api-gateway/src/modules/ai-config/dto/ai-config.dto.ts","server/api-gateway/src/modules/ai/ai.controller.ts","server/api-gateway/src/modules/ai/ai.module.ts","server/api-gateway/src/modules/ai/ai.service.ts","server/api-gateway/src/modules/audit-logs/audit-logs.controller.ts","server/api-gateway/src/modules/audit-logs/audit-logs.module.ts","server/api-gateway/src/modules/audit-logs/audit-logs.service.ts","server/api-gateway/src/modules/audit-logs/dto/audit-logs.dto.ts","server/api-gateway/src/modules/auth/auth.controller.spec.ts","server/api-gateway/src/modules/auth/auth.controller.ts","server/api-gateway/src/modules/auth/auth.module.ts","server/api-gateway/src/modules/auth/auth.service.spec.ts","server/api-gateway/src/modules/auth/auth.service.ts","server/api-gateway/src/modules/auth/decorators/roles.decorator.ts","server/api-gateway/src/modules/auth/dto/admin-login.dto.ts","server/api-gateway/src/modules/auth/dto/login.dto.ts","server/api-gateway/src/modules/auth/dto/refresh-token.dto.ts","server/api-gateway/src/modules/auth/guards/jwt-auth.guard.ts","server/api-gateway/src/modules/auth/guards/roles.guard.ts","server/api-gateway/src/modules/auth/strategies/jwt.strategy.ts","server/api-gateway/src/modules/contacts/contacts.controller.spec.ts","server/api-gateway/src/modules/contacts/contacts.controller.ts","server/api-gateway/src/modules/contacts/contacts.module.ts","server/api-gateway/src/modules/contacts/contacts.service.spec.ts","server/api-gateway/src/modules/contacts/contacts.service.ts","server/api-gateway/src/modules/contacts/dto/match-contact.dto.ts","server/api-gateway/src/modules/health/health.controller.spec.ts","server/api-gateway/src/modules/health/health.controller.ts","server/api-gateway/src/modules/health/health.module.ts","server/api-gateway/src/modules/knowledge/dto/knowledge-base.dto.ts","server/api-gateway/src/modules/knowledge/dto/search-knowledge.dto.ts","server/api-gateway/src/modules/knowledge/knowledge.controller.spec.ts","server/api-gateway/src/modules/knowledge/knowledge.controller.ts","server/api-gateway/src/modules/knowledge/knowledge.module.ts","server/api-gateway/src/modules/knowledge/knowledge.service.spec.ts","server/api-gateway/src/modules/knowledge/knowledge.service.ts","server/api-gateway/src/modules/mobile-compat/mobile-compat.controller.ts","server/api-gateway/src/modules/mobile-compat/mobile-compat.module.ts","server/api-gateway/src/modules/ocr/ocr.controller.ts","server/api-gateway/src/modules/ocr/ocr.module.ts","server/api-gateway/src/modules/ocr/ocr.service.ts","server/api-gateway/src/modules/pinyin/pinyin.controller.spec.ts","server/api-gateway/src/modules/pinyin/pinyin.controller.ts","server/api-gateway/src/modules/pinyin/pinyin.module.ts","server/api-gateway/src/modules/pinyin/pinyin.service.spec.ts","server/api-gateway/src/modules/pinyin/pinyin.service.ts","server/api-gateway/src/modules/rag/dto/rag.dto.ts","server/api-gateway/src/modules/rag/rag.controller.spec.ts","server/api-gateway/src/modules/rag/rag.controller.ts","server/api-gateway/src/modules/rag/rag.module.ts","server/api-gateway/src/modules/rag/rag.service.runtime.spec.ts","server/api-gateway/src/modules/rag/rag.service.spec.ts","server/api-gateway/src/modules/rag/rag.service.ts","server/api-gateway/src/modules/settings/dto/settings.dto.ts","server/api-gateway/src/modules/settings/settings.controller.spec.ts","server/api-gateway/src/modules/settings/settings.controller.ts","server/api-gateway/src/modules/settings/settings.module.ts","server/api-gateway/src/modules/settings/settings.service.spec.ts","server/api-gateway/src/modules/settings/settings.service.ts","server/api-gateway/src/modules/teams/dto/teams.dto.ts","server/api-gateway/src/modules/teams/teams.controller.spec.ts","server/api-gateway/src/modules/teams/teams.controller.ts","server/api-gateway/src/modules/teams/teams.module.ts","server/api-gateway/src/modules/teams/teams.service.spec.ts","server/api-gateway/src/modules/teams/teams.service.ts","server/api-gateway/src/modules/templates/dto/template.dto.ts","server/api-gateway/src/modules/templates/templates.controller.spec.ts","server/api-gateway/src/modules/templates/templates.controller.ts","server/api-gateway/src/modules/templates/templates.module.ts","server/api-gateway/src/modules/templates/templates.service.spec.ts","server/api-gateway/src/modules/templates/templates.service.ts","server/api-gateway/src/modules/usage/dto/usage.dto.ts","server/api-gateway/src/modules/usage/usage.controller.ts","server/api-gateway/src/modules/usage/usage.module.ts","server/api-gateway/src/modules/usage/usage.service.spec.ts","server/api-gateway/src/modules/usage/usage.service.ts","server/api-gateway/src/modules/users/users.controller.spec.ts","server/api-gateway/src/modules/users/users.controller.ts","server/api-gateway/src/modules/users/users.module.ts","server/api-gateway/src/modules/users/users.service.spec.ts","server/api-gateway/src/modules/users/users.service.ts","server/api-gateway/src/modules/weather/weather.controller.spec.ts","server/api-gateway/src/modules/weather/weather.controller.ts","server/api-gateway/src/modules/weather/weather.module.ts","server/api-gateway/src/modules/weather/weather.service.spec.ts","server/api-gateway/src/modules/weather/weather.service.ts","server/api-gateway/src/shared/prisma/prisma.module.ts","server/api-gateway/src/shared/prisma/prisma.service.ts","server/api-gateway/src/shared/redis/redis.module.ts","server/api-gateway/src/shared/redis/redis.service.ts","server/api-gateway/src/shared/sms/sms.module.ts","server/api-gateway/src/shared/sms/sms.service.spec.ts","server/api-gateway/src/shared/sms/sms.service.ts","server/api-gateway/tsconfig.json","server/docker-compose.override.yml","server/docker-compose.prod.yml","server/docker-compose.yml","server/docker/grafana/provisioning/dashboards/dashboards.yml","server/docker/grafana/provisioning/dashboards/json/api-gateway.json","server/docker/grafana/provisioning/datasources/datasources.yml","server/docker/loki/loki-config.yml","server/docker/mongodb/init.js","server/docker/nginx/conf.d/default.conf","server/docker/nginx/nginx.conf","server/docker/nginx/ssl/.gitkeep","server/docker/nginx/ssl/README.md","server/docker/postgres/init.sql","server/docker/prometheus/alert.rules.yml","server/docker/prometheus/prometheus.yml","server/docker/promtail/promtail-config.yml","server/k8s/vllm/deployment.yaml","server/k8s/vllm/hpa.yaml","server/k8s/vllm/service.yaml","server/model-services/reranker/Dockerfile","server/model-services/reranker/requirements.txt","server/model-services/reranker/reranker_server.py","server/ocr-service/.dockerignore","server/ocr-service/Dockerfile","server/ocr-service/jest.config.js","server/ocr-service/nest-cli.json","server/ocr-service/package.json","server/ocr-service/src/app.module.ts","server/ocr-service/src/main.ts","server/ocr-service/src/modules/health/health.controller.ts","server/ocr-service/src/modules/health/health.module.ts","server/ocr-service/src/modules/ocr/chat-parser.service.spec.ts","server/ocr-service/src/modules/ocr/chat-parser.service.ts","server/ocr-service/src/modules/ocr/dto/chat-screenshot.dto.ts","server/ocr-service/src/modules/ocr/ocr.controller.ts","server/ocr-service/src/modules/ocr/ocr.module.ts","server/ocr-service/src/modules/ocr/ocr.service.spec.ts","server/ocr-service/src/modules/ocr/ocr.service.ts","server/ocr-service/tsconfig.json","server/scripts/backup.sh","server/scripts/check-mobile-api-coverage.js","server/scripts/check-mobile-response-compat.js","server/scripts/deploy.sh","server/scripts/deploy/deploy-infrastructure.sh","server/scripts/deploy/deploy-models.sh","server/scripts/deploy/final-deploy.sh","server/scripts/deploy/stop-models.sh","server/scripts/e2e-smoke.js","server/scripts/health-check.sh","server/scripts/mobile-api-smoke.js","server/scripts/setup-ssl.sh","settings.gradle.kts","shared/README.md","shared/build.gradle.kts","shared/src/androidInstrumentedTest/kotlin/com/haizhan/ime/shared/auth/AndroidTokenStorageTest.kt","shared/src/androidInstrumentedTest/kotlin/com/haizhan/ime/shared/auth/SharedAuthManagerIntegrationTest.kt","shared/src/androidInstrumentedTest/kotlin/com/haizhan/ime/shared/database/DatabaseIntegrationTest.kt","shared/src/androidInstrumentedTest/kotlin/com/haizhan/ime/shared/pinyin/CandidateRankerIntegrationTest.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/BuildConfig.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/Platform.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/auth/AndroidTokenStorage.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/auth/CurrentTime.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/database/DatabaseDriverFactory.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/database/SharedDatabaseKeyManager.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/di/PlatformModule.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/migration/RoomToSqlDelightMigrator.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/platform/Connectivity.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/platform/DeviceInfo.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/platform/DictionaryLoader.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/platform/FileSystem.android.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/Platform.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/analytics/AnalyticsTracker.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/ApiClient.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/AuthApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/ContactApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/DashboardApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/FeedbackApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/KnowledgeApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/MemoryApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/NoteApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/OcrApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/PinyinApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/RagSearchApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/ReplyApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/ScriptApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/SearchApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/SessionApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/SettingsApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/SubscriptionApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/UserApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/WeatherApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/auth/AuthManager.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/auth/AuthModels.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/database/DatabaseDriverFactory.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/database/DatabaseExtensions.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/di/SharedModule.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/matcher/NicknameMatcher.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/ContactModel.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/KnowledgeModel.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/AiDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/ApiResponse.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/AuthDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/ContactDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/DashboardDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/FeedbackDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/KnowledgeDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/MemoryDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/MessageDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/NoteDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/OcrDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/PinyinDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/ProfileDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/RagSearchDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/ReplyDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/ScriptDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/SearchDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/SessionDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/SettingsDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/SubscriptionDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/WeatherDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/Candidate.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/CandidateRanker.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/DictEntry.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/NineGridMatcher.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/PinyinConstants.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/PinyinService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/PinyinSplitter.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/CloudSynergyEngine.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/DoubleArrayTrie.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/DoubleArrayTrieImpl.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/DynamicWeightRanker.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/PinyinDAG.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/ViterbiDecoder.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/platform/Connectivity.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/platform/DeviceInfo.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/platform/DictionaryLoader.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/platform/FileSystem.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/ContactRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/KnowledgeRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/MessageRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/NoteRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/PinyinRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/SearchRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/SettingsRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/UserDictRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/MessageChainMatcher.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/OcrMatchService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/OfflineFallbackService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/ReplyService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/ScriptService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/SessionService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/sync/SyncManager.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/util/FlowExt.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/util/LevenshteinDistance.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/util/LruCache.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/util/StringExt.kt","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Contact.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Knowledge.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Message.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Note.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Search.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Settings.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/UserDict.sq","shared/src/commonMain/sqldelight/migrations/1.sqm","shared/src/commonTest/kotlin/com/haizhan/ime/shared/analytics/AnalyticsTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/api/ApiClientTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/auth/AuthModelsTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/matcher/NicknameMatcherTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/model/ContactModelTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/model/KnowledgeModelTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/network/NetworkClientTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/CandidateRankerTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/CandidateTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/NineGridMatcherTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/PinyinConstantsTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/PinyinSplitterTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/algorithm/CloudSynergyEngineTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/algorithm/DoubleArrayTrieImplTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/algorithm/DynamicWeightRankerTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/algorithm/PinyinDAGTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/algorithm/ViterbiDecoderTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/repository/ContactRepositoryTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/sync/SyncTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/util/LevenshteinDistanceTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/util/PinyinConverterTest.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/Platform.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/auth/CurrentTime.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/auth/IosTokenStorage.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/database/DatabaseDriverFactory.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/di/PlatformModule.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/platform/Connectivity.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/platform/DeviceInfo.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/platform/DictionaryLoader.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/platform/FileSystem.ios.kt","voice/build.gradle.kts","voice/consumer-rules.pro","voice/proguard-rules.pro","voice/src/androidTest/java/com/haizhan/ime/voice/integration/VoiceModuleIntegrationTest.kt","voice/src/androidTest/java/com/haizhan/ime/voice/integration/WakeWordServiceIntegrationTest.kt","voice/src/main/AndroidManifest.xml","voice/src/main/java/com/haizhan/ime/voice/api/AudioPipeline.kt","voice/src/main/java/com/haizhan/ime/voice/api/SpeechRecognitionService.kt","voice/src/main/java/com/haizhan/ime/voice/api/VoiceCoordinator.kt","voice/src/main/java/com/haizhan/ime/voice/api/VoiceErrors.kt","voice/src/main/java/com/haizhan/ime/voice/api/VoiceTypes.kt","voice/src/main/java/com/haizhan/ime/voice/api/WakeWordConfigManager.kt","voice/src/main/java/com/haizhan/ime/voice/api/WakeWordDetectionService.kt","voice/src/main/java/com/haizhan/ime/voice/audio/AudioPipelineImpl.kt","voice/src/main/java/com/haizhan/ime/voice/audio/di/AudioModule.kt","voice/src/main/java/com/haizhan/ime/voice/coordinator/VoiceCoordinatorImpl.kt","voice/src/main/java/com/haizhan/ime/voice/coordinator/di/CoordinatorModule.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/DenoiseAudioConsumer.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/DenoiseManager.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/MusicAwareAEC.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/NoiseEstimator.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/SpectralSubtractor.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/VoiceActivityDetector.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/di/DenoiseModule.kt","voice/src/main/java/com/haizhan/ime/voice/di/VoiceModule.kt","voice/src/main/java/com/haizhan/ime/voice/engine/VoiceInputEngine.kt","voice/src/main/java/com/haizhan/ime/voice/model/MultiModelManager.kt","voice/src/main/java/com/haizhan/ime/voice/model/VoiceModelManager.kt","voice/src/main/java/com/haizhan/ime/voice/monitoring/VoicePerformanceMonitor.kt","voice/src/main/java/com/haizhan/ime/voice/monitoring/di/MonitoringModule.kt","voice/src/main/java/com/haizhan/ime/voice/recognition/AudioDiagnostics.kt","voice/src/main/java/com/haizhan/ime/voice/recognition/SpeechRecognitionServiceImpl.kt","voice/src/main/java/com/haizhan/ime/voice/recognition/VoskGrammarBuilder.kt","voice/src/main/java/com/haizhan/ime/voice/recognition/VoskRecognizer.kt","voice/src/main/java/com/haizhan/ime/voice/recognition/di/SpeechModule.kt","voice/src/main/java/com/haizhan/ime/voice/ui/VoiceUiTypes.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/WakeWordDetectionServiceImpl.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/analytics/WakeWordAnalytics.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/config/WakeWordConfigManagerImpl.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/config/di/ConfigModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/confirmation/WakeWordConfirmation.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/detector/IWakeWordDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/detector/VoskWakeWordDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/di/ConfirmationModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/di/MatcherModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/di/ParserModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/di/RepositoryModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/di/WakeWordModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/filter/FalseWakeFilter.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/matcher/PinyinData.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/matcher/PinyinMatcher.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/matcher/TrieWordMatcher.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/parser/WakeWordCommandParser.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/EnergyPatternMatcher.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/PitchExtractor.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/QuickWakeDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/SingingModeDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/SpectralAnalyzer.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/SyllableDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/VibratoDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/VoiceCharacteristicAnalyzer.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/VoiceProfileAnalyzer.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/di/PredetectModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/repository/WakeWordRepository.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/sensitivity/AdaptiveSensitivity.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/service/WakeWordService.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/util/PinyinUtils.kt","voice/src/test/java/com/haizhan/ime/voice/api/HotwordConfigTest.kt","voice/src/test/java/com/haizhan/ime/voice/audio/AudioPipelineImplTest.kt","voice/src/test/java/com/haizhan/ime/voice/coordinator/VoiceCoordinatorImplTest.kt","voice/src/test/java/com/haizhan/ime/voice/denoise/DenoiseManagerTest.kt","voice/src/test/java/com/haizhan/ime/voice/denoise/MusicAwareAECTest.kt","voice/src/test/java/com/haizhan/ime/voice/denoise/SpectralSubtractorTest.kt","voice/src/test/java/com/haizhan/ime/voice/denoise/VoiceActivityDetectorTest.kt.bak","voice/src/test/java/com/haizhan/ime/voice/model/MultiModelManagerTest.kt","voice/src/test/java/com/haizhan/ime/voice/monitoring/VoicePerformanceMonitorTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/config/WakeWordConfigManagerTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/confirmation/WakeWordConfirmationTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/filter/FalseWakeFilterTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/matcher/PinyinDataTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/matcher/PinyinMatcherTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/matcher/TrieWordMatcherTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/parser/WakeWordCommandParserTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/QuickWakeDetectorTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/SingingModeDetectorTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/SyllableDetectorTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/VibratoDetectorTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/VoiceCharacteristicAnalyzerTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/VoiceProfileAnalyzerTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/repository/WakeWordRepositorySerializationTest.kt"],"removed":[],"modified":[]},"repository":{"id":9,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"haizhan-ime-android","full_name":"luoanwu/haizhan-ime-android","description":"嗨赞AI输入法 Android版","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":29,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/haizhan-ime-android/languages","html_url":"https://gitea.g-hi.com/luoanwu/haizhan-ime-android","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/haizhan-ime-android","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/haizhan-ime-android.git","clone_url":"https://gitea.g-hi.com/luoanwu/haizhan-ime-android.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-27T15:27:17+08:00","updated_at":"2026-02-27T15:27:32+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
13
|
1772177727
|
1772178609
|
0
|
1772177363
|
1772178609
|
NULL
|
|
0
|
Edit
Delete
|
|
1133
|
feat: 嗨赞AI输入法Android版初始提交
|
9
|
5
|
ios-ci.yml
|
3
|
5
|
0
|
refs/heads/main
|
893022bfd17ce1f2e75e75651551cf8ceaacfe45
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"a8f0a86b4c1d4422bfe5c002b8c5307111d317bb","after":"893022bfd17ce1f2e75e75651551cf8ceaacfe45","compare_url":"https://gitea.g-hi.com/luoanwu/haizhan-ime-android/compare/a8f0a86b4c1d4422bfe5c002b8c5307111d317bb...893022bfd17ce1f2e75e75651551cf8ceaacfe45","commits":[{"id":"893022bfd17ce1f2e75e75651551cf8ceaacfe45","message":"feat: 嗨赞AI输入法Android版初始提交\n","url":"https://gitea.g-hi.com/luoanwu/haizhan-ime-android/commit/893022bfd17ce1f2e75e75651551cf8ceaacfe45","author":{"name":"luoanwu","email":"law@g-hi.com","username":"luoanwu"},"committer":{"name":"luoanwu","email":"law@g-hi.com","username":"luoanwu"},"verification":null,"timestamp":"2026-02-27T15:28:58+08:00","added":[".claude/skills/haizhan-ime-development.md",".claude/worktrees/charming-zhukovsky",".editorconfig",".github/workflows/ci.yml",".github/workflows/frontend-backend-ci.yml",".github/workflows/ios-ci.yml",".github/workflows/performance-check.yml",".github/workflows/pr-check.yml",".github/workflows/release.yml",".gitignore",".npmrc","CHANGELOG.md","CLAUDE.md","MIGRATION_COMPLETE_REPORT.md","README.md","admin-web/.env.development","admin-web/.eslintrc.cjs","admin-web/.gitignore","admin-web/.npmrc","admin-web/README.md","admin-web/e2e/all-pages.spec.ts","admin-web/e2e/crud-tests.spec.ts","admin-web/e2e/dashboard.spec.ts","admin-web/e2e/interactive-click.spec.ts","admin-web/e2e/login.spec.ts","admin-web/e2e/templates.spec.ts","admin-web/index.html","admin-web/package.json","admin-web/playwright.config.ts","admin-web/postcss.config.js","admin-web/public/favicon.svg","admin-web/src/App.vue","admin-web/src/api/ai-config.ts","admin-web/src/api/audit.ts","admin-web/src/api/auth.ts","admin-web/src/api/contact.ts","admin-web/src/api/knowledge.ts","admin-web/src/api/rag.ts","admin-web/src/api/settings.ts","admin-web/src/api/team.ts","admin-web/src/api/template.ts","admin-web/src/api/usage.ts","admin-web/src/api/user.ts","admin-web/src/assets/logo.svg","admin-web/src/components/UserCard.vue","admin-web/src/components/index.ts","admin-web/src/composables/usePermission.ts","admin-web/src/composables/useResponsive.ts","admin-web/src/composables/useTable.ts","admin-web/src/directives/index.ts","admin-web/src/directives/permission.ts","admin-web/src/env.d.ts","admin-web/src/layouts/MainLayout.vue","admin-web/src/layouts/components/HeaderBar.vue","admin-web/src/layouts/components/MobileDrawer.vue","admin-web/src/layouts/components/SidebarMenu.vue","admin-web/src/main.ts","admin-web/src/router/index.ts","admin-web/src/stores/app.ts","admin-web/src/stores/user.ts","admin-web/src/styles/index.scss","admin-web/src/styles/variables.scss","admin-web/src/types/ai-config.ts","admin-web/src/types/api.ts","admin-web/src/types/audit.ts","admin-web/src/types/contact.ts","admin-web/src/types/knowledge.ts","admin-web/src/types/permission.ts","admin-web/src/types/rag.ts","admin-web/src/types/settings.ts","admin-web/src/types/team.ts","admin-web/src/types/template.ts","admin-web/src/types/usage.ts","admin-web/src/types/user.ts","admin-web/src/utils/request.ts","admin-web/src/views/ai-config/index.vue","admin-web/src/views/audit/index.vue","admin-web/src/views/contacts/index.vue","admin-web/src/views/contacts/profile.vue","admin-web/src/views/dashboard/index.vue","admin-web/src/views/error/403.vue","admin-web/src/views/error/404.vue","admin-web/src/views/knowledge/index.vue","admin-web/src/views/login/index.vue","admin-web/src/views/profile/index.vue","admin-web/src/views/rag/index.vue","admin-web/src/views/settings/index.vue","admin-web/src/views/teams/index.vue","admin-web/src/views/templates/index.vue","admin-web/src/views/usage/index.vue","admin-web/src/views/users/index.vue","admin-web/tailwind.config.js","admin-web/test-results/.last-run.json","admin-web/tsconfig.app.json","admin-web/tsconfig.json","admin-web/tsconfig.node.json","admin-web/vite.config.d.ts","admin-web/vite.config.js","admin-web/vite.config.ts","ai-panel/build.gradle.kts","ai-panel/consumer-rules.pro","ai-panel/proguard-rules.pro","ai-panel/src/main/AndroidManifest.xml","ai-panel/src/main/java/com/haizhan/ime/panel/AiPanelManager.kt","ai-panel/src/main/java/com/haizhan/ime/panel/AiPanelModels.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/AgenticDecisionEngine.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/AgenticRouter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/AgenticTypes.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/CostController.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/HybridSearchExecutor.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/di/AgenticModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/AvatarMatcher.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/ContactCache.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/ContactContextPreloader.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/ContactIndexes.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/ContactMatcher.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/ContactMatcherData.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/EnhancedContactMatcher.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/MatchedContact.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/NicknameMatcher.kt","ai-panel/src/main/java/com/haizhan/ime/panel/context/InputContextCollector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/context/UnifiedContextManager.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/AiPanelModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/ContactModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/ContextModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/OcrModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/ReplyModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/ScreenshotModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/knowledge/KnowledgeService.kt","ai-panel/src/main/java/com/haizhan/ime/panel/memory/ContactMemoryModels.kt","ai-panel/src/main/java/com/haizhan/ime/panel/memory/ContactMemoryService.kt","ai-panel/src/main/java/com/haizhan/ime/panel/memory/MemoryDtoMapper.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/EnhancedSenderDetector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/MessageParser.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/OcrReliabilityScore.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/OcrService.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/TitleBarParser.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/ChatMessageAdapter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/DingTalkMessageAdapter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/FeishuMessageAdapter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/MessageAdapterFactory.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/WeChatMessageAdapter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/WeWorkMessageAdapter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/BatteryAwareManager.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/ClipboardHelper.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/FrequencyController.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/RagReplyGenerator.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/ReplyGenerator.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/ReplyStyle.kt","ai-panel/src/main/java/com/haizhan/ime/panel/screenshot/RegionDetector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/screenshot/ScreenshotManager.kt","ai-panel/src/main/java/com/haizhan/ime/panel/service/ScreenshotForegroundService.kt","ai-panel/src/main/java/com/haizhan/ime/panel/trigger/AppDetector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/trigger/TriggerDetector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/AIPanelScreen.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/AiPanelTheme.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/Contact360View.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/ContactCard.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/ContactSelector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/EmotionBadge.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/FunctionTabBar.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/IntentBadge.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/KnowledgeCard.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/KnowledgePanel.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/QuickReplyPanel.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/ReplyCard.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/ContactComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/HistoryComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/KnowledgeComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/NoteComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/OcrComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/PanelCommon.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/ReplyComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/TeamComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/AiReplyTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/ContactsTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/HistoryTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/KnowledgeTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/NoteTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/OcrTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/TeamTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/weather/WeatherService.kt","ai-panel/src/main/res/drawable/ic_ai_reply.xml","ai-panel/src/main/res/drawable/ic_capture.xml","ai-panel/src/main/res/drawable/ic_contacts.xml","ai-panel/src/main/res/drawable/ic_knowledge.xml","ai-panel/src/main/res/drawable/ic_ocr.xml","ai-panel/src/main/res/drawable/ic_refresh.xml","ai-panel/src/main/res/drawable/ic_screenshot.xml","ai-panel/src/main/res/drawable/ic_stop.xml","ai-panel/src/test/java/com/haizhan/ime/panel/AiPanelManagerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/agentic/AgenticDecisionEngineTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/agentic/AgenticRouterTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/agentic/AgenticTypesTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/agentic/CostControllerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/agentic/ResultQualityEvaluatorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactCacheTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactContextPreloaderTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactIndexPerformanceTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactIndexesTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactMatcherTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactMemoryServiceTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/MatchedContactTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/NicknameMatcherTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/context/InputContextCollectorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/context/UnifiedContextManagerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/knowledge/KnowledgeServiceTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ocr/EnhancedSenderDetectorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ocr/MessageParserTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ocr/OcrReliabilityScoreTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ocr/OcrServiceTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ocr/TitleBarParserTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/platform/DingTalkAdapterTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/platform/FeishuAdapterTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/platform/WeChatAdapterTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/platform/WeWorkAdapterTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/BatteryAwareManagerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/ClipboardHelperTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/FrequencyControllerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/RagReplyGeneratorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/ReplyGeneratorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/ReplyStyleTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/screenshot/RegionDetectorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/screenshot/ScreenshotManagerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/trigger/AppDetectorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/trigger/TriggerDetectorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ui/AIPanelScreenTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ui/ReplyCardTest.kt","api-clients/android/.openapi-generator-ignore","api-clients/android/.openapi-generator/FILES","api-clients/android/.openapi-generator/VERSION","api-clients/android/README.md","api-clients/android/build.gradle","api-clients/android/docs/AdminLoginDto.md","api-clients/android/docs/AiConfigApi.md","api-clients/android/docs/AuditLogsApi.md","api-clients/android/docs/AuthApi.md","api-clients/android/docs/BatchRemoveContactsDto.md","api-clients/android/docs/ChunkingConfigDto.md","api-clients/android/docs/Contact360ResponseDto.md","api-clients/android/docs/Contact360ViewDto.md","api-clients/android/docs/ContactDetailResponseDto.md","api-clients/android/docs/ContactDto.md","api-clients/android/docs/ContactEventDto.md","api-clients/android/docs/ContactListResponseDto.md","api-clients/android/docs/ContactProfileDto.md","api-clients/android/docs/ContactStatsDto.md","api-clients/android/docs/ContactTagDto.md","api-clients/android/docs/ContactsApi.md","api-clients/android/docs/ConversationSummaryDto.md","api-clients/android/docs/CreateContactDto.md","api-clients/android/docs/CreateContactEventDto.md","api-clients/android/docs/CreateKnowledgeBaseDto.md","api-clients/android/docs/CreateKnowledgeDocumentDto.md","api-clients/android/docs/CreateQwenModelDto.md","api-clients/android/docs/DefaultApi.md","api-clients/android/docs/EmbeddingConfigDto.md","api-clients/android/docs/EmbeddingModelDto.md","api-clients/android/docs/GenerationConfigDto.md","api-clients/android/docs/HealthApi.md","api-clients/android/docs/KnowledgeApi.md","api-clients/android/docs/KnowledgeBaseResponseDto.md","api-clients/android/docs/KnowledgeDocumentListResponseDto.md","api-clients/android/docs/KnowledgeDocumentResponseDto.md","api-clients/android/docs/LoginDto.md","api-clients/android/docs/MatchContactDto.md","api-clients/android/docs/MatchContactResponseDto.md","api-clients/android/docs/MobileCompatApi.md","api-clients/android/docs/PinyinApi.md","api-clients/android/docs/PipelineHealthDto.md","api-clients/android/docs/PipelineMetricsDto.md","api-clients/android/docs/PreviewChunkingDto.md","api-clients/android/docs/QwenModelConfigDto.md","api-clients/android/docs/QwenModelFeaturesDto.md","api-clients/android/docs/RagApi.md","api-clients/android/docs/RagConfigDto.md","api-clients/android/docs/RagMetricsDto.md","api-clients/android/docs/RagPipelineStatusDto.md","api-clients/android/docs/RagQueryDto.md","api-clients/android/docs/RebuildIndexDto.md","api-clients/android/docs/RefreshTokenDto.md","api-clients/android/docs/RetrievalConfigDto.md","api-clients/android/docs/SettingsApi.md","api-clients/android/docs/SyncContactsDto.md","api-clients/android/docs/SyncContactsResponseDto.md","api-clients/android/docs/TeamsApi.md","api-clients/android/docs/ToggleQwenModelDto.md","api-clients/android/docs/UpdateContactDto.md","api-clients/android/docs/UpdateKnowledgeBaseDto.md","api-clients/android/docs/UpdateKnowledgeDocumentDto.md","api-clients/android/docs/UpdateQwenModelDto.md","api-clients/android/docs/UpdateRagConfigDto.md","api-clients/android/docs/UsageApi.md","api-clients/android/docs/WeatherApi.md","api-clients/android/gradle/wrapper/gradle-wrapper.jar","api-clients/android/gradle/wrapper/gradle-wrapper.properties","api-clients/android/gradlew","api-clients/android/gradlew.bat","api-clients/android/settings.gradle","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/AiConfigApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/AuditLogsApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/AuthApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/ContactsApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/DefaultApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/HealthApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/KnowledgeApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/MobileCompatApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/PinyinApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/RagApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/SettingsApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/TeamsApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/UsageApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/WeatherApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/auth/HttpBearerAuth.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/ApiClient.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/BigDecimalAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/BigIntegerAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/ByteArrayAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/CollectionFormats.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/LocalDateAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/LocalDateTimeAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/OffsetDateTimeAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/ResponseExt.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/Serializer.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/URIAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/UUIDAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/AdminLoginDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/BatchRemoveContactsDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ChunkingConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/Contact360ResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/Contact360ViewDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactDetailResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactEventDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactListResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactProfileDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactStatsDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactTagDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ConversationSummaryDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/CreateContactDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/CreateContactEventDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/CreateKnowledgeBaseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/CreateKnowledgeDocumentDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/CreateQwenModelDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/EmbeddingConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/EmbeddingModelDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/GenerationConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/KnowledgeBaseResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/KnowledgeDocumentListResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/KnowledgeDocumentResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/LoginDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/MatchContactDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/MatchContactResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/PipelineHealthDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/PipelineMetricsDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/PreviewChunkingDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/QwenModelConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/QwenModelFeaturesDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RagConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RagMetricsDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RagPipelineStatusDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RagQueryDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RebuildIndexDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RefreshTokenDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RetrievalConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/SyncContactsDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/SyncContactsResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ToggleQwenModelDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/UpdateContactDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/UpdateKnowledgeBaseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/UpdateKnowledgeDocumentDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/UpdateQwenModelDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/UpdateRagConfigDto.kt","api-clients/flutter/.gitignore","api-clients/flutter/.openapi-generator-ignore","api-clients/flutter/.openapi-generator/FILES","api-clients/flutter/.openapi-generator/VERSION","api-clients/flutter/README.md","api-clients/flutter/analysis_options.yaml","api-clients/flutter/doc/AdminLoginDto.md","api-clients/flutter/doc/AiConfigApi.md","api-clients/flutter/doc/AuditLogsApi.md","api-clients/flutter/doc/AuthApi.md","api-clients/flutter/doc/BatchRemoveContactsDto.md","api-clients/flutter/doc/ChunkingConfigDto.md","api-clients/flutter/doc/Contact360ResponseDto.md","api-clients/flutter/doc/Contact360ViewDto.md","api-clients/flutter/doc/ContactDetailResponseDto.md","api-clients/flutter/doc/ContactDto.md","api-clients/flutter/doc/ContactEventDto.md","api-clients/flutter/doc/ContactListResponseDto.md","api-clients/flutter/doc/ContactProfileDto.md","api-clients/flutter/doc/ContactStatsDto.md","api-clients/flutter/doc/ContactTagDto.md","api-clients/flutter/doc/ContactsApi.md","api-clients/flutter/doc/ConversationSummaryDto.md","api-clients/flutter/doc/CreateContactDto.md","api-clients/flutter/doc/CreateContactEventDto.md","api-clients/flutter/doc/CreateKnowledgeBaseDto.md","api-clients/flutter/doc/CreateKnowledgeDocumentDto.md","api-clients/flutter/doc/CreateQwenModelDto.md","api-clients/flutter/doc/DefaultApi.md","api-clients/flutter/doc/EmbeddingConfigDto.md","api-clients/flutter/doc/EmbeddingModelDto.md","api-clients/flutter/doc/GenerationConfigDto.md","api-clients/flutter/doc/HealthApi.md","api-clients/flutter/doc/KnowledgeApi.md","api-clients/flutter/doc/KnowledgeBaseResponseDto.md","api-clients/flutter/doc/KnowledgeDocumentListResponseDto.md","api-clients/flutter/doc/KnowledgeDocumentResponseDto.md","api-clients/flutter/doc/LoginDto.md","api-clients/flutter/doc/MatchContactDto.md","api-clients/flutter/doc/MatchContactResponseDto.md","api-clients/flutter/doc/MobileCompatApi.md","api-clients/flutter/doc/PinyinApi.md","api-clients/flutter/doc/PipelineHealthDto.md","api-clients/flutter/doc/PipelineMetricsDto.md","api-clients/flutter/doc/PreviewChunkingDto.md","api-clients/flutter/doc/QwenModelConfigDto.md","api-clients/flutter/doc/QwenModelFeaturesDto.md","api-clients/flutter/doc/RagApi.md","api-clients/flutter/doc/RagConfigDto.md","api-clients/flutter/doc/RagMetricsDto.md","api-clients/flutter/doc/RagPipelineStatusDto.md","api-clients/flutter/doc/RagQueryDto.md","api-clients/flutter/doc/RebuildIndexDto.md","api-clients/flutter/doc/RefreshTokenDto.md","api-clients/flutter/doc/RetrievalConfigDto.md","api-clients/flutter/doc/SettingsApi.md","api-clients/flutter/doc/SyncContactsDto.md","api-clients/flutter/doc/SyncContactsResponseDto.md","api-clients/flutter/doc/TeamsApi.md","api-clients/flutter/doc/ToggleQwenModelDto.md","api-clients/flutter/doc/UpdateContactDto.md","api-clients/flutter/doc/UpdateKnowledgeBaseDto.md","api-clients/flutter/doc/UpdateKnowledgeDocumentDto.md","api-clients/flutter/doc/UpdateQwenModelDto.md","api-clients/flutter/doc/UpdateRagConfigDto.md","api-clients/flutter/doc/UsageApi.md","api-clients/flutter/doc/WeatherApi.md","api-clients/flutter/lib/haizhan_api.dart","api-clients/flutter/lib/src/api.dart","api-clients/flutter/lib/src/api/ai_config_api.dart","api-clients/flutter/lib/src/api/audit_logs_api.dart","api-clients/flutter/lib/src/api/auth_api.dart","api-clients/flutter/lib/src/api/contacts_api.dart","api-clients/flutter/lib/src/api/default_api.dart","api-clients/flutter/lib/src/api/health_api.dart","api-clients/flutter/lib/src/api/knowledge_api.dart","api-clients/flutter/lib/src/api/mobile_compat_api.dart","api-clients/flutter/lib/src/api/pinyin_api.dart","api-clients/flutter/lib/src/api/rag_api.dart","api-clients/flutter/lib/src/api/settings_api.dart","api-clients/flutter/lib/src/api/teams_api.dart","api-clients/flutter/lib/src/api/usage_api.dart","api-clients/flutter/lib/src/api/weather_api.dart","api-clients/flutter/lib/src/api_util.dart","api-clients/flutter/lib/src/auth/api_key_auth.dart","api-clients/flutter/lib/src/auth/auth.dart","api-clients/flutter/lib/src/auth/basic_auth.dart","api-clients/flutter/lib/src/auth/bearer_auth.dart","api-clients/flutter/lib/src/auth/oauth.dart","api-clients/flutter/lib/src/date_serializer.dart","api-clients/flutter/lib/src/model/admin_login_dto.dart","api-clients/flutter/lib/src/model/batch_remove_contacts_dto.dart","api-clients/flutter/lib/src/model/chunking_config_dto.dart","api-clients/flutter/lib/src/model/contact360_response_dto.dart","api-clients/flutter/lib/src/model/contact360_view_dto.dart","api-clients/flutter/lib/src/model/contact_detail_response_dto.dart","api-clients/flutter/lib/src/model/contact_dto.dart","api-clients/flutter/lib/src/model/contact_event_dto.dart","api-clients/flutter/lib/src/model/contact_list_response_dto.dart","api-clients/flutter/lib/src/model/contact_profile_dto.dart","api-clients/flutter/lib/src/model/contact_stats_dto.dart","api-clients/flutter/lib/src/model/contact_tag_dto.dart","api-clients/flutter/lib/src/model/conversation_summary_dto.dart","api-clients/flutter/lib/src/model/create_contact_dto.dart","api-clients/flutter/lib/src/model/create_contact_event_dto.dart","api-clients/flutter/lib/src/model/create_knowledge_base_dto.dart","api-clients/flutter/lib/src/model/create_knowledge_document_dto.dart","api-clients/flutter/lib/src/model/create_qwen_model_dto.dart","api-clients/flutter/lib/src/model/date.dart","api-clients/flutter/lib/src/model/embedding_config_dto.dart","api-clients/flutter/lib/src/model/embedding_model_dto.dart","api-clients/flutter/lib/src/model/generation_config_dto.dart","api-clients/flutter/lib/src/model/knowledge_base_response_dto.dart","api-clients/flutter/lib/src/model/knowledge_document_list_response_dto.dart","api-clients/flutter/lib/src/model/knowledge_document_response_dto.dart","api-clients/flutter/lib/src/model/login_dto.dart","api-clients/flutter/lib/src/model/match_contact_dto.dart","api-clients/flutter/lib/src/model/match_contact_response_dto.dart","api-clients/flutter/lib/src/model/pipeline_health_dto.dart","api-clients/flutter/lib/src/model/pipeline_metrics_dto.dart","api-clients/flutter/lib/src/model/preview_chunking_dto.dart","api-clients/flutter/lib/src/model/qwen_model_config_dto.dart","api-clients/flutter/lib/src/model/qwen_model_features_dto.dart","api-clients/flutter/lib/src/model/rag_config_dto.dart","api-clients/flutter/lib/src/model/rag_metrics_dto.dart","api-clients/flutter/lib/src/model/rag_pipeline_status_dto.dart","api-clients/flutter/lib/src/model/rag_query_dto.dart","api-clients/flutter/lib/src/model/rebuild_index_dto.dart","api-clients/flutter/lib/src/model/refresh_token_dto.dart","api-clients/flutter/lib/src/model/retrieval_config_dto.dart","api-clients/flutter/lib/src/model/sync_contacts_dto.dart","api-clients/flutter/lib/src/model/sync_contacts_response_dto.dart","api-clients/flutter/lib/src/model/toggle_qwen_model_dto.dart","api-clients/flutter/lib/src/model/update_contact_dto.dart","api-clients/flutter/lib/src/model/update_knowledge_base_dto.dart","api-clients/flutter/lib/src/model/update_knowledge_document_dto.dart","api-clients/flutter/lib/src/model/update_qwen_model_dto.dart","api-clients/flutter/lib/src/model/update_rag_config_dto.dart","api-clients/flutter/lib/src/serializers.dart","api-clients/flutter/pubspec.yaml","api-clients/flutter/test/admin_login_dto_test.dart","api-clients/flutter/test/ai_config_api_test.dart","api-clients/flutter/test/audit_logs_api_test.dart","api-clients/flutter/test/auth_api_test.dart","api-clients/flutter/test/batch_remove_contacts_dto_test.dart","api-clients/flutter/test/chunking_config_dto_test.dart","api-clients/flutter/test/contact360_response_dto_test.dart","api-clients/flutter/test/contact360_view_dto_test.dart","api-clients/flutter/test/contact_detail_response_dto_test.dart","api-clients/flutter/test/contact_dto_test.dart","api-clients/flutter/test/contact_event_dto_test.dart","api-clients/flutter/test/contact_list_response_dto_test.dart","api-clients/flutter/test/contact_profile_dto_test.dart","api-clients/flutter/test/contact_stats_dto_test.dart","api-clients/flutter/test/contact_tag_dto_test.dart","api-clients/flutter/test/contacts_api_test.dart","api-clients/flutter/test/conversation_summary_dto_test.dart","api-clients/flutter/test/create_contact_dto_test.dart","api-clients/flutter/test/create_contact_event_dto_test.dart","api-clients/flutter/test/create_knowledge_base_dto_test.dart","api-clients/flutter/test/create_knowledge_document_dto_test.dart","api-clients/flutter/test/create_qwen_model_dto_test.dart","api-clients/flutter/test/default_api_test.dart","api-clients/flutter/test/embedding_config_dto_test.dart","api-clients/flutter/test/embedding_model_dto_test.dart","api-clients/flutter/test/generation_config_dto_test.dart","api-clients/flutter/test/health_api_test.dart","api-clients/flutter/test/knowledge_api_test.dart","api-clients/flutter/test/knowledge_base_response_dto_test.dart","api-clients/flutter/test/knowledge_document_list_response_dto_test.dart","api-clients/flutter/test/knowledge_document_response_dto_test.dart","api-clients/flutter/test/login_dto_test.dart","api-clients/flutter/test/match_contact_dto_test.dart","api-clients/flutter/test/match_contact_response_dto_test.dart","api-clients/flutter/test/mobile_compat_api_test.dart","api-clients/flutter/test/pinyin_api_test.dart","api-clients/flutter/test/pipeline_health_dto_test.dart","api-clients/flutter/test/pipeline_metrics_dto_test.dart","api-clients/flutter/test/preview_chunking_dto_test.dart","api-clients/flutter/test/qwen_model_config_dto_test.dart","api-clients/flutter/test/qwen_model_features_dto_test.dart","api-clients/flutter/test/rag_api_test.dart","api-clients/flutter/test/rag_config_dto_test.dart","api-clients/flutter/test/rag_metrics_dto_test.dart","api-clients/flutter/test/rag_pipeline_status_dto_test.dart","api-clients/flutter/test/rag_query_dto_test.dart","api-clients/flutter/test/rebuild_index_dto_test.dart","api-clients/flutter/test/refresh_token_dto_test.dart","api-clients/flutter/test/retrieval_config_dto_test.dart","api-clients/flutter/test/settings_api_test.dart","api-clients/flutter/test/sync_contacts_dto_test.dart","api-clients/flutter/test/sync_contacts_response_dto_test.dart","api-clients/flutter/test/teams_api_test.dart","api-clients/flutter/test/toggle_qwen_model_dto_test.dart","api-clients/flutter/test/update_contact_dto_test.dart","api-clients/flutter/test/update_knowledge_base_dto_test.dart","api-clients/flutter/test/update_knowledge_document_dto_test.dart","api-clients/flutter/test/update_qwen_model_dto_test.dart","api-clients/flutter/test/update_rag_config_dto_test.dart","api-clients/flutter/test/usage_api_test.dart","api-clients/flutter/test/weather_api_test.dart","api-clients/ios/.gitignore","api-clients/ios/.openapi-generator-ignore","api-clients/ios/.openapi-generator/FILES","api-clients/ios/.openapi-generator/VERSION","api-clients/ios/.swiftformat","api-clients/ios/Cartfile","api-clients/ios/HaizhanAPI.podspec","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIHelper.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/AiConfigAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/AuditLogsAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/AuthAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/ContactsAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/DefaultAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/HealthAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/KnowledgeAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/MobileCompatAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/PinyinAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/RagAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/SettingsAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/TeamsAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/UsageAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/WeatherAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/CodableHelper.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Configuration.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Extensions.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/JSONDataEncoding.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/JSONEncodingHelper.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/AdminLoginDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/BatchRemoveContactsDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ChunkingConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/Contact360ResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/Contact360ViewDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactDetailResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactEventDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactListResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactProfileDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactStatsDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactTagDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ConversationSummaryDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/CreateContactDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/CreateContactEventDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/CreateKnowledgeBaseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/CreateKnowledgeDocumentDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/CreateQwenModelDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/EmbeddingConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/EmbeddingModelDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/GenerationConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/KnowledgeBaseResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/KnowledgeDocumentListResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/KnowledgeDocumentResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/LoginDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/MatchContactDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/MatchContactResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/PipelineHealthDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/PipelineMetricsDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/PreviewChunkingDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/QwenModelConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/QwenModelFeaturesDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RagConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RagMetricsDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RagPipelineStatusDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RagQueryDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RebuildIndexDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RefreshTokenDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RetrievalConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/SyncContactsDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/SyncContactsResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ToggleQwenModelDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/UpdateContactDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/UpdateKnowledgeBaseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/UpdateKnowledgeDocumentDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/UpdateQwenModelDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/UpdateRagConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/OpenISO8601DateFormatter.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/SynchronizedDictionary.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/URLSessionImplementations.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Validation.swift","api-clients/ios/Package.swift","api-clients/ios/README.md","api-clients/ios/docs/AdminLoginDto.md","api-clients/ios/docs/AiConfigAPI.md","api-clients/ios/docs/AuditLogsAPI.md","api-clients/ios/docs/AuthAPI.md","api-clients/ios/docs/BatchRemoveContactsDto.md","api-clients/ios/docs/ChunkingConfigDto.md","api-clients/ios/docs/Contact360ResponseDto.md","api-clients/ios/docs/Contact360ViewDto.md","api-clients/ios/docs/ContactDetailResponseDto.md","api-clients/ios/docs/ContactDto.md","api-clients/ios/docs/ContactEventDto.md","api-clients/ios/docs/ContactListResponseDto.md","api-clients/ios/docs/ContactProfileDto.md","api-clients/ios/docs/ContactStatsDto.md","api-clients/ios/docs/ContactTagDto.md","api-clients/ios/docs/ContactsAPI.md","api-clients/ios/docs/ConversationSummaryDto.md","api-clients/ios/docs/CreateContactDto.md","api-clients/ios/docs/CreateContactEventDto.md","api-clients/ios/docs/CreateKnowledgeBaseDto.md","api-clients/ios/docs/CreateKnowledgeDocumentDto.md","api-clients/ios/docs/CreateQwenModelDto.md","api-clients/ios/docs/DefaultAPI.md","api-clients/ios/docs/EmbeddingConfigDto.md","api-clients/ios/docs/EmbeddingModelDto.md","api-clients/ios/docs/GenerationConfigDto.md","api-clients/ios/docs/HealthAPI.md","api-clients/ios/docs/KnowledgeAPI.md","api-clients/ios/docs/KnowledgeBaseResponseDto.md","api-clients/ios/docs/KnowledgeDocumentListResponseDto.md","api-clients/ios/docs/KnowledgeDocumentResponseDto.md","api-clients/ios/docs/LoginDto.md","api-clients/ios/docs/MatchContactDto.md","api-clients/ios/docs/MatchContactResponseDto.md","api-clients/ios/docs/MobileCompatAPI.md","api-clients/ios/docs/PinyinAPI.md","api-clients/ios/docs/PipelineHealthDto.md","api-clients/ios/docs/PipelineMetricsDto.md","api-clients/ios/docs/PreviewChunkingDto.md","api-clients/ios/docs/QwenModelConfigDto.md","api-clients/ios/docs/QwenModelFeaturesDto.md","api-clients/ios/docs/RagAPI.md","api-clients/ios/docs/RagConfigDto.md","api-clients/ios/docs/RagMetricsDto.md","api-clients/ios/docs/RagPipelineStatusDto.md","api-clients/ios/docs/RagQueryDto.md","api-clients/ios/docs/RebuildIndexDto.md","api-clients/ios/docs/RefreshTokenDto.md","api-clients/ios/docs/RetrievalConfigDto.md","api-clients/ios/docs/SettingsAPI.md","api-clients/ios/docs/SyncContactsDto.md","api-clients/ios/docs/SyncContactsResponseDto.md","api-clients/ios/docs/TeamsAPI.md","api-clients/ios/docs/ToggleQwenModelDto.md","api-clients/ios/docs/UpdateContactDto.md","api-clients/ios/docs/UpdateKnowledgeBaseDto.md","api-clients/ios/docs/UpdateKnowledgeDocumentDto.md","api-clients/ios/docs/UpdateQwenModelDto.md","api-clients/ios/docs/UpdateRagConfigDto.md","api-clients/ios/docs/UsageAPI.md","api-clients/ios/docs/WeatherAPI.md","api-clients/ios/git_push.sh","api-clients/ios/project.yml","app/build.gradle.kts","app/proguard-rules-release.pro","app/proguard-rules.pro","app/src/androidTest/java/com/haizhan/ime/ComposeUiTest.kt","app/src/androidTest/java/com/haizhan/ime/ExampleInstrumentedTest.kt","app/src/androidTest/java/com/haizhan/ime/e2e/SmokeE2ETest.kt","app/src/androidTest/java/com/haizhan/ime/integration/ImeIntegrationTest.kt","app/src/main/AndroidManifest.xml","app/src/main/assets/dictionaries/stroke-data.txt","app/src/main/assets/handwriting_labels.txt","app/src/main/assets/handwriting_labels_casia.txt","app/src/main/assets/handwriting_labels_clean.txt","app/src/main/assets/handwriting_labels_jp.txt","app/src/main/assets/paddle_models/handwriting_labels.txt","app/src/main/assets/paddle_models/ppocr_keys_v1.txt","app/src/main/assets/temp_clean.txt","app/src/main/assets/temp_labels.txt","app/src/main/java/com/haizhan/ime/HaizhanApplication.kt","app/src/main/java/com/haizhan/ime/about/ui/AboutScreen.kt","app/src/main/java/com/haizhan/ime/chat/model/Message.kt","app/src/main/java/com/haizhan/ime/chat/service/WebSocketService.kt","app/src/main/java/com/haizhan/ime/chat/ui/ChatMessageCard.kt","app/src/main/java/com/haizhan/ime/chat/ui/ChatScreen.kt","app/src/main/java/com/haizhan/ime/chat/ui/GroupChatScreen.kt","app/src/main/java/com/haizhan/ime/feedback/ui/FeedbackScreen.kt","app/src/main/java/com/haizhan/ime/help/ui/HelpCenterScreen.kt","app/src/main/java/com/haizhan/ime/note/model/Note.kt","app/src/main/java/com/haizhan/ime/note/service/NoteService.kt","app/src/main/java/com/haizhan/ime/note/ui/NoteEditorScreen.kt","app/src/main/java/com/haizhan/ime/note/ui/NoteListScreen.kt","app/src/main/java/com/haizhan/ime/profile/model/Profile.kt","app/src/main/java/com/haizhan/ime/profile/ui/ProfileScreen.kt","app/src/main/java/com/haizhan/ime/receiver/BootReceiver.kt","app/src/main/java/com/haizhan/ime/search/model/Search.kt","app/src/main/java/com/haizhan/ime/search/service/SearchService.kt","app/src/main/java/com/haizhan/ime/search/ui/GlobalSearchScreen.kt","app/src/main/java/com/haizhan/ime/security/EncryptionManager.kt","app/src/main/java/com/haizhan/ime/security/NetworkSecurityManager.kt","app/src/main/java/com/haizhan/ime/security/PrivacyComplianceManager.kt","app/src/main/java/com/haizhan/ime/security/SecurityAuditor.kt","app/src/main/java/com/haizhan/ime/service/AiProcessingService.kt","app/src/main/java/com/haizhan/ime/service/ContextCollector.kt","app/src/main/java/com/haizhan/ime/service/DataSyncService.kt","app/src/main/java/com/haizhan/ime/service/HaizhanInputMethodService.kt","app/src/main/java/com/haizhan/ime/service/InputTypeAnalysis.kt","app/src/main/java/com/haizhan/ime/service/KeyboardContentView.kt","app/src/main/java/com/haizhan/ime/service/OcrCaptureService.kt","app/src/main/java/com/haizhan/ime/service/VoiceInputDelegate.kt","app/src/main/java/com/haizhan/ime/session/model/Session.kt","app/src/main/java/com/haizhan/ime/session/service/SessionService.kt","app/src/main/java/com/haizhan/ime/session/ui/MessageCenterScreen.kt","app/src/main/java/com/haizhan/ime/session/ui/SessionCard.kt","app/src/main/java/com/haizhan/ime/session/ui/SessionListScreen.kt","app/src/main/java/com/haizhan/ime/stability/AnrWatchdog.kt","app/src/main/java/com/haizhan/ime/stability/CrashHandler.kt","app/src/main/java/com/haizhan/ime/stability/MemoryLeakDetector.kt","app/src/main/java/com/haizhan/ime/stability/StabilityManager.kt","app/src/main/java/com/haizhan/ime/statistics/model/Statistics.kt","app/src/main/java/com/haizhan/ime/statistics/ui/ChartComponents.kt","app/src/main/java/com/haizhan/ime/statistics/ui/StatisticsScreen.kt","app/src/main/java/com/haizhan/ime/subscription/model/Subscription.kt","app/src/main/java/com/haizhan/ime/subscription/service/SubscriptionService.kt","app/src/main/java/com/haizhan/ime/subscription/ui/SubscriptionScreen.kt","app/src/main/java/com/haizhan/ime/sync/ContactSyncTaskAdapter.kt","app/src/main/java/com/haizhan/ime/sync/KnowledgeSyncTaskAdapter.kt","app/src/main/java/com/haizhan/ime/sync/SyncContracts.kt","app/src/main/java/com/haizhan/ime/sync/SyncCoordinator.kt","app/src/main/java/com/haizhan/ime/sync/SyncScheduler.kt","app/src/main/java/com/haizhan/ime/team/model/Team.kt","app/src/main/java/com/haizhan/ime/team/service/TeamService.kt","app/src/main/java/com/haizhan/ime/team/ui/TeamScreen.kt","app/src/main/java/com/haizhan/ime/template/data/B2BTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/ClosingTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/CoreSalesTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/DailyTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/DefaultTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/FollowUpTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/QuickPhraseDefaults.kt","app/src/main/java/com/haizhan/ime/template/data/SeasonalTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/TemplateDatabase.kt","app/src/main/java/com/haizhan/ime/template/data/TemplateImporter.kt","app/src/main/java/com/haizhan/ime/template/data/TemplateRepository.kt","app/src/main/java/com/haizhan/ime/template/di/TemplateModule.kt","app/src/main/java/com/haizhan/ime/template/model/Template.kt","app/src/main/java/com/haizhan/ime/template/service/TemplateService.kt","app/src/main/java/com/haizhan/ime/template/ui/FolderManagementDialog.kt","app/src/main/java/com/haizhan/ime/template/ui/TemplateListScreen.kt","app/src/main/java/com/haizhan/ime/template/ui/TemplateViewModel.kt","app/src/main/java/com/haizhan/ime/ui/MainActivity.kt","app/src/main/java/com/haizhan/ime/ui/management/DictionaryImportActivity.kt","app/src/main/java/com/haizhan/ime/ui/management/DictionaryImportScreen.kt","app/src/main/java/com/haizhan/ime/ui/management/DictionaryImportViewModel.kt","app/src/main/java/com/haizhan/ime/ui/management/DictionaryScreen.kt","app/src/main/java/com/haizhan/ime/ui/management/ManagementActivity.kt","app/src/main/java/com/haizhan/ime/ui/management/ManagementViewModel.kt","app/src/main/java/com/haizhan/ime/ui/management/PermissionScreen.kt","app/src/main/java/com/haizhan/ime/ui/management/SettingsScreen.kt","app/src/main/java/com/haizhan/ime/ui/permission/ScreenshotPermissionActivity.kt","app/src/main/java/com/haizhan/ime/ui/settings/ImeSettingsActivity.kt","app/src/main/java/com/haizhan/ime/ui/settings/SettingsViewModel.kt","app/src/main/java/com/haizhan/ime/ui/theme/Theme.kt","app/src/main/java/com/haizhan/ime/ui/theme/Type.kt","app/src/main/java/com/haizhan/ime/ux/AccessibilityHelper.kt","app/src/main/java/com/haizhan/ime/ux/AnimationUtils.kt","app/src/main/java/com/haizhan/ime/ux/ErrorHandler.kt","app/src/main/java/com/haizhan/ime/ux/OnboardingScreen.kt","app/src/main/java/com/haizhan/ime/ux/StartupOptimizer.kt","app/src/main/java/com/haizhan/ime/voice/service/VoiceService.kt","app/src/main/java/com/haizhan/ime/voice/ui/VoiceInputScreen.kt","app/src/main/res/drawable/ic_launcher_background.xml","app/src/main/res/drawable/ic_launcher_foreground.xml","app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml","app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml","app/src/main/res/values-night/colors.xml","app/src/main/res/values/colors.xml","app/src/main/res/values/strings.xml","app/src/main/res/values/themes.xml","app/src/main/res/xml/backup_rules.xml","app/src/main/res/xml/data_extraction_rules.xml","app/src/main/res/xml/file_paths.xml","app/src/main/res/xml/method.xml","app/src/main/res/xml/network_security_config.xml","app/src/test/java/com/haizhan/ime/ExampleUnitTest.kt","app/src/test/java/com/haizhan/ime/app/service/NotificationServiceTest.kt","app/src/test/java/com/haizhan/ime/app/service/SearchServiceTest.kt","app/src/test/java/com/haizhan/ime/app/service/SessionServiceTest.kt","app/src/test/java/com/haizhan/ime/app/service/SyncServiceTest.kt","app/src/test/java/com/haizhan/ime/app/service/WebSocketServiceTest.kt","app/src/test/java/com/haizhan/ime/benchmark/PerformanceBenchmarkTest.kt","app/src/test/java/com/haizhan/ime/security/EncryptionManagerTest.kt","app/src/test/java/com/haizhan/ime/security/PrivacyComplianceManagerTest.kt","app/src/test/java/com/haizhan/ime/security/SecurityAuditorTest.kt","app/src/test/java/com/haizhan/ime/service/HaizhanInputMethodServiceTest.kt","app/src/test/java/com/haizhan/ime/services/AiProcessingServiceTest.kt","app/src/test/java/com/haizhan/ime/services/NoteServiceTest.kt","app/src/test/java/com/haizhan/ime/services/OcrCaptureServiceTest.kt","app/src/test/java/com/haizhan/ime/services/SubscriptionServiceTest.kt","app/src/test/java/com/haizhan/ime/services/TeamServiceTest.kt","app/src/test/java/com/haizhan/ime/services/TemplateServiceTest.kt","app/src/test/java/com/haizhan/ime/services/VoiceServiceTest.kt","app/src/test/java/com/haizhan/ime/ui/management/ManagementViewModelTest.kt","app/src/test/java/com/haizhan/ime/ui/settings/SettingsViewModelTest.kt","app/src/test/java/com/haizhan/ime/ux/ErrorHandlerTest.kt","app/src/test/java/com/haizhan/ime/ux/StartupOptimizerTest.kt","app/src/test/java/com/haizhan/ime/viewmodel/DictionaryImportViewModelTest.kt","app/src/test/java/com/haizhan/ime/viewmodel/TemplateViewModelTest.kt","build.gradle.kts","common/build.gradle.kts","common/consumer-rules.pro","common/proguard-rules.pro","common/src/main/AndroidManifest.xml","common/src/main/java/com/haizhan/ime/common/ext/ContextExt.kt","common/src/main/java/com/haizhan/ime/common/ext/FlowExt.kt","common/src/main/java/com/haizhan/ime/common/ext/StringExt.kt","common/src/main/java/com/haizhan/ime/common/performance/ImePerformanceTracker.kt","common/src/main/java/com/haizhan/ime/common/theme/DesignTokens.kt","common/src/main/java/com/haizhan/ime/common/theme/KeyboardTheme.kt","common/src/main/java/com/haizhan/ime/common/util/DeviceUtils.kt","common/src/main/java/com/haizhan/ime/common/util/Logger.kt","common/src/main/java/com/haizhan/ime/common/util/LruCache.kt","common/src/main/java/com/haizhan/ime/common/util/MemoryMonitor.kt","common/src/test/java/com/haizhan/ime/common/StringExtTest.kt","common/src/test/java/com/haizhan/ime/common/ext/ResultTest.kt","common/src/test/java/com/haizhan/ime/common/util/DateUtilsTest.kt","common/src/test/java/com/haizhan/ime/common/util/LoggerTest.kt","common/src/test/java/com/haizhan/ime/common/util/MemoryStatsTest.kt","common/src/test/java/com/haizhan/ime/common/util/PinyinUtilsTest.kt","common/src/test/java/com/haizhan/ime/common/util/TextUtilsTest.kt","config/detekt/detekt.yml","data/build.gradle.kts","data/consumer-rules.pro","data/dictionaries/dictionary.config.json","data/dictionaries/fallback-words.txt","data/dictionaries/sensitive-words.txt","data/dictionaries/system/char-single.txt","data/dictionaries/system/core-char.txt","data/dictionaries/system/core-phrase.txt","data/dictionaries/system/core-word2.txt","data/dictionaries/system/core-word3.txt","data/dictionaries/system/core-word4.txt","data/dictionaries/system/idiom.txt","data/dictionaries/system/name-place.txt","data/dictionaries/system/word-common.txt","data/proguard-rules.pro","data/schemas/com.haizhan.ime.data.local.database.HaizhanDatabase/1.json","data/schemas/com.haizhan.ime.data.local.database.HaizhanDatabase/2.json","data/schemas/com.haizhan.ime.data.local.database.HaizhanDatabase/3.json","data/schemas/com.haizhan.ime.data.local.database.HaizhanDatabase/4.json","data/src/main/AndroidManifest.xml","data/src/main/java/com/haizhan/ime/data/auth/AuthInterceptor.kt","data/src/main/java/com/haizhan/ime/data/auth/AuthManager.kt","data/src/main/java/com/haizhan/ime/data/di/DataModule.kt","data/src/main/java/com/haizhan/ime/data/di/DatabaseModule.kt","data/src/main/java/com/haizhan/ime/data/di/NetworkModule.kt","data/src/main/java/com/haizhan/ime/data/di/RepositoryModule.kt","data/src/main/java/com/haizhan/ime/data/local/dao/ContactDao.kt","data/src/main/java/com/haizhan/ime/data/local/dao/KnowledgeDao.kt","data/src/main/java/com/haizhan/ime/data/local/dao/MessageDao.kt","data/src/main/java/com/haizhan/ime/data/local/dao/NoteDao.kt","data/src/main/java/com/haizhan/ime/data/local/dao/SearchDao.kt","data/src/main/java/com/haizhan/ime/data/local/dao/UserDictDao.kt","data/src/main/java/com/haizhan/ime/data/local/database/Converters.kt","data/src/main/java/com/haizhan/ime/data/local/database/HaizhanDatabase.kt","data/src/main/java/com/haizhan/ime/data/local/database/SecureDatabaseFactory.kt","data/src/main/java/com/haizhan/ime/data/local/entity/ContactEntity.kt","data/src/main/java/com/haizhan/ime/data/local/entity/KnowledgeEntity.kt","data/src/main/java/com/haizhan/ime/data/local/entity/MessageEntity.kt","data/src/main/java/com/haizhan/ime/data/local/entity/NoteEntity.kt","data/src/main/java/com/haizhan/ime/data/local/entity/SearchEntity.kt","data/src/main/java/com/haizhan/ime/data/local/entity/UserDictEntity.kt","data/src/main/java/com/haizhan/ime/data/remote/adapter/FlexibleTimestampAdapter.kt","data/src/main/java/com/haizhan/ime/data/remote/aliyun/AliyunSearchClient.kt","data/src/main/java/com/haizhan/ime/data/remote/aliyun/AliyunSearchConfig.kt","data/src/main/java/com/haizhan/ime/data/remote/aliyun/AliyunSearchConfigProvider.kt","data/src/main/java/com/haizhan/ime/data/remote/api/AuthApi.kt","data/src/main/java/com/haizhan/ime/data/remote/api/ContactApi.kt","data/src/main/java/com/haizhan/ime/data/remote/api/HaizhanApi.kt","data/src/main/java/com/haizhan/ime/data/remote/api/PinyinApi.kt","data/src/main/java/com/haizhan/ime/data/remote/api/RagSearchApi.kt","data/src/main/java/com/haizhan/ime/data/remote/api/ReplyApi.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/AiDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/AuthDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/CommonDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/ContactDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/KnowledgeDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/MemoryDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/MessageDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/NoteDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/ProfileDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/RagSearchDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/SearchDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/TeamDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/WeatherDto.kt","data/src/main/java/com/haizhan/ime/data/repository/ContactRepository.kt","data/src/main/java/com/haizhan/ime/data/repository/KnowledgeRepository.kt","data/src/main/java/com/haizhan/ime/data/repository/MessageRepository.kt","data/src/main/java/com/haizhan/ime/data/repository/RagSearchRepository.kt","data/src/main/java/com/haizhan/ime/data/repository/SettingsRepository.kt","data/src/main/java/com/haizhan/ime/data/repository/mapper/ContactMapper.kt","data/src/main/java/com/haizhan/ime/data/repository/mapper/KnowledgeMapper.kt","data/src/main/java/com/haizhan/ime/data/repository/mapper/MessageMapper.kt","data/src/main/java/com/haizhan/ime/data/repository/model/Contact.kt","data/src/main/java/com/haizhan/ime/data/repository/model/Knowledge.kt","data/src/main/java/com/haizhan/ime/data/repository/model/Message.kt","data/src/test/java/com/haizhan/ime/data/auth/AuthInterceptorTest.kt","data/src/test/java/com/haizhan/ime/data/auth/AuthManagerTest.kt","data/src/test/java/com/haizhan/ime/data/auth/AuthTypesTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/ContactDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/KnowledgeDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/MessageDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/NoteDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/SearchDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/UserDictDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/UserPreferencesDaoTest.kt","data/src/test/java/com/haizhan/ime/data/remote/api/HaizhanApiTest.kt","data/src/test/java/com/haizhan/ime/data/remote/dto/ContactDtoTest.kt","data/src/test/java/com/haizhan/ime/data/repository/ContactRepositoryTest.kt","data/src/test/java/com/haizhan/ime/data/repository/KnowledgeRepositoryTest.kt","data/src/test/java/com/haizhan/ime/data/repository/MessageRepositoryTest.kt","data/src/test/java/com/haizhan/ime/data/repository/SettingsRepositoryTest.kt","data/src/test/java/com/haizhan/ime/data/repository/mapper/ContactMapperTest.kt","data/src/test/java/com/haizhan/ime/data/repository/mapper/KnowledgeMapperTest.kt","data/src/test/java/com/haizhan/ime/data/repository/mapper/MessageMapperTest.kt","designs/exports/CLAUDE_CODE_DESIGN_GUIDE.md","designs/exports/DESIGN_MANIFEST.md","designs/exports/svg/Frame.svg","designs/exports/svg/P2-关于.svg","designs/exports/svg/P2-协议条款.svg","designs/exports/svg/P2-帮助中心.svg","designs/exports/svg/P2-意见反馈.svg","designs/exports/svg/P2-版本更新.svg","designs/exports/svg/__设计系统_-_组件库.svg","designs/exports/svg/功能面板_-_OCR识别.svg","designs/exports/svg/功能面板_-_历史.svg","designs/exports/svg/功能面板_-_团队.svg","designs/exports/svg/功能面板_-_知识库.svg","designs/exports/svg/功能面板_-_笔记.svg","designs/exports/svg/功能面板_-_联系人.svg","designs/exports/svg/嗨赞AI助手_-_AI回复选择.svg","designs/exports/svg/嗨赞AI助手_-_OCR结果确认.svg","designs/exports/svg/嗨赞AI助手_-_个人中心.svg","designs/exports/svg/嗨赞AI助手_-_主应用首页.svg","designs/exports/svg/嗨赞AI助手_-_主键盘界面.svg","designs/exports/svg/嗨赞AI助手_-_主键盘界面__深色_.svg","designs/exports/svg/嗨赞AI助手_-_交互式笔记.svg","designs/exports/svg/嗨赞AI助手_-_会员订阅.svg","designs/exports/svg/嗨赞AI助手_-_会话列表.svg","designs/exports/svg/嗨赞AI助手_-_单聊IM.svg","designs/exports/svg/嗨赞AI助手_-_历史记录页面.svg","designs/exports/svg/嗨赞AI助手_-_引导页1.svg","designs/exports/svg/嗨赞AI助手_-_引导页2.svg","designs/exports/svg/嗨赞AI助手_-_引导页3.svg","designs/exports/svg/嗨赞AI助手_-_忘记密码.svg","designs/exports/svg/嗨赞AI助手_-_我的页面.svg","designs/exports/svg/嗨赞AI助手_-_搜索.svg","designs/exports/svg/嗨赞AI助手_-_数据统计.svg","designs/exports/svg/嗨赞AI助手_-_新建联系人.svg","designs/exports/svg/嗨赞AI助手_-_注册页面.svg","designs/exports/svg/嗨赞AI助手_-_消息中心.svg","designs/exports/svg/嗨赞AI助手_-_登录页面.svg","designs/exports/svg/嗨赞AI助手_-_知识库列表.svg","designs/exports/svg/嗨赞AI助手_-_知识库详情.svg","designs/exports/svg/嗨赞AI助手_-_编辑个人信息.svg","designs/exports/svg/嗨赞AI助手_-_群聊IM.svg","designs/exports/svg/嗨赞AI助手_-_联系人列表.svg","designs/exports/svg/嗨赞AI助手_-_联系人详情.svg","designs/exports/svg/嗨赞AI助手_-_设置.svg","designs/exports/svg/嗨赞AI助手_-_设置页面.svg","designs/exports/svg/嗨赞AI助手_-_话术模板.svg","designs/exports/svg/嗨赞AI助手_-_话术模板详情.svg","designs/exports/svg/微交互规范文档.svg","designs/exports/svg/组件_-_悬浮球状态.svg","designs/exports/svg/组件_-_拼音候选词展开.svg","designs/exports/svg/组件_-_空状态.svg","designs/exports/svg/组件_-_语音输入状态.svg","designs/exports/svg/组件_-_错误状态.svg","designs/mobile-keyboard-design.md","designs/specs/COMPONENT_SPEC.md","designs/specs/KEYBOARD_DESIGN_SPEC.md","designs/specs/README.md","designs/specs/design-tokens.json","designs/templates/android/DesignTokens.kt","designs/templates/android/KeyboardTheme.kt","designs/templates/ios/DesignTokens.swift","designs/templates/ios/KeyboardTheme.swift","designs/嗨赞输入法.pen","docs/ANDROID_DEVELOPMENT.md","docs/API.md","docs/ARCHITECTURE.md","docs/BACKEND_API_REQUIREMENTS.md","docs/BACKEND_DESIGN.md","docs/CI_CD_PIPELINE.md","docs/CODING_STANDARDS.md","docs/COMPLETE_FEATURE_SPEC.md","docs/DATABASE.md","docs/DEPLOYMENT.md","docs/DESIGN_TO_DEV_SPEC.md","docs/DEVELOPMENT_GUIDE.md","docs/DEVELOPMENT_PLAN.md","docs/DOCS_SYNC.md","docs/ERROR_HANDLING.md","docs/FEATURE_ANALYSIS.md","docs/FLUTTER_DEVELOPMENT.md","docs/FRONTEND_DEV_REQUIREMENTS.md","docs/HANDWRITING_MODEL_UPGRADE.md","docs/IOS_DEVELOPMENT.md","docs/KMP_DEVELOPMENT.md","docs/LOGGING_STANDARDS.md","docs/MILESTONES.md","docs/MODULE_ANALYSIS.md","docs/MODULE_LIST.md","docs/PERFORMANCE_OPTIMIZATION.md","docs/PNPM_MIGRATION_NOTICE.md","docs/PRD.md","docs/PRIVACY_POLICY.md","docs/PRODUCT_ARCHITECTURE.md","docs/Phase_11_12_Final_Report.md","docs/RELEASE_CHECKLIST.md","docs/SECURITY_AUDIT.md","docs/SECURITY_GUIDELINES.md","docs/STORE_LISTING.md","docs/SYSTEM_ARCHITECTURE.md","docs/TASKS.md","docs/TECH_STACK.md","docs/TESTING_STRATEGY.md","docs/USER_MANUAL.md","docs/VOICE_API_DOCUMENTATION.md","docs/VOICE_MODULE_MIGRATION.md","docs/openapi.json","docs/skills/anthropic-official/.claude-plugin/marketplace.json","docs/skills/anthropic-official/.gitignore","docs/skills/anthropic-official/README.md","docs/skills/anthropic-official/THIRD_PARTY_NOTICES.md","docs/skills/anthropic-official/skills/algorithmic-art/LICENSE.txt","docs/skills/anthropic-official/skills/algorithmic-art/SKILL.md","docs/skills/anthropic-official/skills/algorithmic-art/templates/generator_template.js","docs/skills/anthropic-official/skills/algorithmic-art/templates/viewer.html","docs/skills/anthropic-official/skills/brand-guidelines/LICENSE.txt","docs/skills/anthropic-official/skills/brand-guidelines/SKILL.md","docs/skills/anthropic-official/skills/canvas-design/LICENSE.txt","docs/skills/anthropic-official/skills/canvas-design/SKILL.md","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/ArsenalSC-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BigShoulders-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BigShoulders-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BigShoulders-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Boldonse-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Boldonse-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/CrimsonPro-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/DMMono-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/DMMono-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/EricaOne-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/EricaOne-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/GeistMono-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/GeistMono-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/GeistMono-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Gloock-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Gloock-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSans-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Italiana-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Italiana-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Jura-Light.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Jura-Medium.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Jura-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Lora-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Lora-BoldItalic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Lora-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Lora-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Lora-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/NationalPark-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/NationalPark-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/NationalPark-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Outfit-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Outfit-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Outfit-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/PixelifySans-Medium.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/PixelifySans-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/PoiretOne-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/PoiretOne-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/RedHatMono-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/RedHatMono-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/RedHatMono-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Silkscreen-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Silkscreen-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/SmoochSans-Medium.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/SmoochSans-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Tektur-Medium.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Tektur-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Tektur-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/WorkSans-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/WorkSans-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/WorkSans-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/WorkSans-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/YoungSerif-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/YoungSerif-Regular.ttf","docs/skills/anthropic-official/skills/doc-coauthoring/SKILL.md","docs/skills/anthropic-official/skills/docx/LICENSE.txt","docs/skills/anthropic-official/skills/docx/SKILL.md","docs/skills/anthropic-official/skills/docx/docx-js.md","docs/skills/anthropic-official/skills/docx/ooxml.md","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/mce/mc.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-2010.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-2012.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-2018.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd","docs/skills/anthropic-official/skills/docx/ooxml/scripts/pack.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/unpack.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validate.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validation/__init__.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validation/base.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validation/docx.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validation/pptx.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validation/redlining.py","docs/skills/anthropic-official/skills/docx/scripts/__init__.py","docs/skills/anthropic-official/skills/docx/scripts/document.py","docs/skills/anthropic-official/skills/docx/scripts/templates/comments.xml","docs/skills/anthropic-official/skills/docx/scripts/templates/commentsExtended.xml","docs/skills/anthropic-official/skills/docx/scripts/templates/commentsExtensible.xml","docs/skills/anthropic-official/skills/docx/scripts/templates/commentsIds.xml","docs/skills/anthropic-official/skills/docx/scripts/templates/people.xml","docs/skills/anthropic-official/skills/docx/scripts/utilities.py","docs/skills/anthropic-official/skills/frontend-design/LICENSE.txt","docs/skills/anthropic-official/skills/frontend-design/SKILL.md","docs/skills/anthropic-official/skills/internal-comms/LICENSE.txt","docs/skills/anthropic-official/skills/internal-comms/SKILL.md","docs/skills/anthropic-official/skills/internal-comms/examples/3p-updates.md","docs/skills/anthropic-official/skills/internal-comms/examples/company-newsletter.md","docs/skills/anthropic-official/skills/internal-comms/examples/faq-answers.md","docs/skills/anthropic-official/skills/internal-comms/examples/general-comms.md","docs/skills/anthropic-official/skills/mcp-builder/LICENSE.txt","docs/skills/anthropic-official/skills/mcp-builder/SKILL.md","docs/skills/anthropic-official/skills/mcp-builder/reference/evaluation.md","docs/skills/anthropic-official/skills/mcp-builder/reference/mcp_best_practices.md","docs/skills/anthropic-official/skills/mcp-builder/reference/node_mcp_server.md","docs/skills/anthropic-official/skills/mcp-builder/reference/python_mcp_server.md","docs/skills/anthropic-official/skills/mcp-builder/scripts/connections.py","docs/skills/anthropic-official/skills/mcp-builder/scripts/evaluation.py","docs/skills/anthropic-official/skills/mcp-builder/scripts/example_evaluation.xml","docs/skills/anthropic-official/skills/mcp-builder/scripts/requirements.txt","docs/skills/anthropic-official/skills/pdf/LICENSE.txt","docs/skills/anthropic-official/skills/pdf/SKILL.md","docs/skills/anthropic-official/skills/pdf/forms.md","docs/skills/anthropic-official/skills/pdf/reference.md","docs/skills/anthropic-official/skills/pdf/scripts/check_bounding_boxes.py","docs/skills/anthropic-official/skills/pdf/scripts/check_bounding_boxes_test.py","docs/skills/anthropic-official/skills/pdf/scripts/check_fillable_fields.py","docs/skills/anthropic-official/skills/pdf/scripts/convert_pdf_to_images.py","docs/skills/anthropic-official/skills/pdf/scripts/create_validation_image.py","docs/skills/anthropic-official/skills/pdf/scripts/extract_form_field_info.py","docs/skills/anthropic-official/skills/pdf/scripts/fill_fillable_fields.py","docs/skills/anthropic-official/skills/pdf/scripts/fill_pdf_form_with_annotations.py","docs/skills/anthropic-official/skills/pptx/LICENSE.txt","docs/skills/anthropic-official/skills/pptx/SKILL.md","docs/skills/anthropic-official/skills/pptx/html2pptx.md","docs/skills/anthropic-official/skills/pptx/ooxml.md","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/mce/mc.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-2010.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-2012.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-2018.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/pack.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/unpack.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validate.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validation/__init__.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validation/base.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validation/docx.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validation/pptx.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validation/redlining.py","docs/skills/anthropic-official/skills/pptx/scripts/html2pptx.js","docs/skills/anthropic-official/skills/pptx/scripts/inventory.py","docs/skills/anthropic-official/skills/pptx/scripts/rearrange.py","docs/skills/anthropic-official/skills/pptx/scripts/replace.py","docs/skills/anthropic-official/skills/pptx/scripts/thumbnail.py","docs/skills/anthropic-official/skills/skill-creator/LICENSE.txt","docs/skills/anthropic-official/skills/skill-creator/SKILL.md","docs/skills/anthropic-official/skills/skill-creator/references/output-patterns.md","docs/skills/anthropic-official/skills/skill-creator/references/workflows.md","docs/skills/anthropic-official/skills/skill-creator/scripts/init_skill.py","docs/skills/anthropic-official/skills/skill-creator/scripts/package_skill.py","docs/skills/anthropic-official/skills/skill-creator/scripts/quick_validate.py","docs/skills/anthropic-official/skills/slack-gif-creator/LICENSE.txt","docs/skills/anthropic-official/skills/slack-gif-creator/SKILL.md","docs/skills/anthropic-official/skills/slack-gif-creator/core/easing.py","docs/skills/anthropic-official/skills/slack-gif-creator/core/frame_composer.py","docs/skills/anthropic-official/skills/slack-gif-creator/core/gif_builder.py","docs/skills/anthropic-official/skills/slack-gif-creator/core/validators.py","docs/skills/anthropic-official/skills/slack-gif-creator/requirements.txt","docs/skills/anthropic-official/skills/theme-factory/LICENSE.txt","docs/skills/anthropic-official/skills/theme-factory/SKILL.md","docs/skills/anthropic-official/skills/theme-factory/theme-showcase.pdf","docs/skills/anthropic-official/skills/theme-factory/themes/arctic-frost.md","docs/skills/anthropic-official/skills/theme-factory/themes/botanical-garden.md","docs/skills/anthropic-official/skills/theme-factory/themes/desert-rose.md","docs/skills/anthropic-official/skills/theme-factory/themes/forest-canopy.md","docs/skills/anthropic-official/skills/theme-factory/themes/golden-hour.md","docs/skills/anthropic-official/skills/theme-factory/themes/midnight-galaxy.md","docs/skills/anthropic-official/skills/theme-factory/themes/modern-minimalist.md","docs/skills/anthropic-official/skills/theme-factory/themes/ocean-depths.md","docs/skills/anthropic-official/skills/theme-factory/themes/sunset-boulevard.md","docs/skills/anthropic-official/skills/theme-factory/themes/tech-innovation.md","docs/skills/anthropic-official/skills/web-artifacts-builder/LICENSE.txt","docs/skills/anthropic-official/skills/web-artifacts-builder/SKILL.md","docs/skills/anthropic-official/skills/web-artifacts-builder/scripts/bundle-artifact.sh","docs/skills/anthropic-official/skills/web-artifacts-builder/scripts/init-artifact.sh","docs/skills/anthropic-official/skills/web-artifacts-builder/scripts/shadcn-components.tar.gz","docs/skills/anthropic-official/skills/webapp-testing/LICENSE.txt","docs/skills/anthropic-official/skills/webapp-testing/SKILL.md","docs/skills/anthropic-official/skills/webapp-testing/examples/console_logging.py","docs/skills/anthropic-official/skills/webapp-testing/examples/element_discovery.py","docs/skills/anthropic-official/skills/webapp-testing/examples/static_html_automation.py","docs/skills/anthropic-official/skills/webapp-testing/scripts/with_server.py","docs/skills/anthropic-official/skills/xlsx/LICENSE.txt","docs/skills/anthropic-official/skills/xlsx/SKILL.md","docs/skills/anthropic-official/skills/xlsx/recalc.py","docs/skills/anthropic-official/spec/agent-skills-spec.md","docs/skills/anthropic-official/template/SKILL.md","docs/skills/awesome-skills/.gitignore","docs/skills/awesome-skills/CONTRIBUTING.md","docs/skills/awesome-skills/README.md","docs/skills/backend-patterns/SKILL.md","docs/skills/clickhouse-io/SKILL.md","docs/skills/coding-standards/SKILL.md","docs/skills/continuous-learning/SKILL.md","docs/skills/continuous-learning/config.json","docs/skills/continuous-learning/evaluate-session.sh","docs/skills/daymade-skills/.claude-plugin/marketplace.json","docs/skills/daymade-skills/.github/ISSUE_TEMPLATE/bug_report.md","docs/skills/daymade-skills/.github/ISSUE_TEMPLATE/feature_request.md","docs/skills/daymade-skills/.github/PULL_REQUEST_TEMPLATE.md","docs/skills/daymade-skills/.gitignore","docs/skills/daymade-skills/AGENTS.md","docs/skills/daymade-skills/CHANGELOG.md","docs/skills/daymade-skills/CLAUDE.md","docs/skills/daymade-skills/CONTRIBUTING.md","docs/skills/daymade-skills/LICENSE","docs/skills/daymade-skills/QUICKSTART.md","docs/skills/daymade-skills/QUICKSTART.zh-CN.md","docs/skills/daymade-skills/README.md","docs/skills/daymade-skills/README.zh-CN.md","docs/skills/daymade-skills/claude-code-history-files-finder/.INTEGRATION_SUMMARY.md","docs/skills/daymade-skills/claude-code-history-files-finder/.security-scan-passed","docs/skills/daymade-skills/claude-code-history-files-finder/SKILL.md","docs/skills/daymade-skills/claude-code-history-files-finder/references/session_file_format.md","docs/skills/daymade-skills/claude-code-history-files-finder/references/workflow_examples.md","docs/skills/daymade-skills/claude-code-history-files-finder/scripts/analyze_sessions.py","docs/skills/daymade-skills/claude-code-history-files-finder/scripts/recover_content.py","docs/skills/daymade-skills/claude-md-progressive-disclosurer/.security-scan-passed","docs/skills/daymade-skills/claude-md-progressive-disclosurer/SKILL.md","docs/skills/daymade-skills/claude-md-progressive-disclosurer/references/progressive_disclosure_principles.md","docs/skills/daymade-skills/cli-demo-generator/SKILL.md","docs/skills/daymade-skills/cli-demo-generator/assets/examples/batch-config.yaml","docs/skills/daymade-skills/cli-demo-generator/assets/templates/basic.tape","docs/skills/daymade-skills/cli-demo-generator/assets/templates/interactive.tape","docs/skills/daymade-skills/cli-demo-generator/references/best_practices.md","docs/skills/daymade-skills/cli-demo-generator/references/vhs_syntax.md","docs/skills/daymade-skills/cli-demo-generator/scripts/auto_generate_demo.py","docs/skills/daymade-skills/cli-demo-generator/scripts/batch_generate.py","docs/skills/daymade-skills/cli-demo-generator/scripts/record_interactive.sh","docs/skills/daymade-skills/cloudflare-troubleshooting/SKILL.md","docs/skills/daymade-skills/cloudflare-troubleshooting/references/api_overview.md","docs/skills/daymade-skills/cloudflare-troubleshooting/references/common_issues.md","docs/skills/daymade-skills/cloudflare-troubleshooting/references/ssl_modes.md","docs/skills/daymade-skills/cloudflare-troubleshooting/scripts/check_cloudflare_config.py","docs/skills/daymade-skills/cloudflare-troubleshooting/scripts/fix_ssl_mode.py","docs/skills/daymade-skills/demos/README.md","docs/skills/daymade-skills/demos/cli-demo-generator/generate-demo.gif","docs/skills/daymade-skills/demos/cli-demo-generator/generate-demo.tape","docs/skills/daymade-skills/demos/generate_all_demos.sh","docs/skills/daymade-skills/demos/github-ops/create-pr.gif","docs/skills/daymade-skills/demos/github-ops/create-pr.tape","docs/skills/daymade-skills/demos/index.html","docs/skills/daymade-skills/demos/llm-icon-finder/find-icons.gif","docs/skills/daymade-skills/demos/llm-icon-finder/find-icons.tape","docs/skills/daymade-skills/demos/markdown-tools/convert-docs.gif","docs/skills/daymade-skills/demos/markdown-tools/convert-docs.tape","docs/skills/daymade-skills/demos/mermaid-tools/extract-diagrams.gif","docs/skills/daymade-skills/demos/mermaid-tools/extract-diagrams.tape","docs/skills/daymade-skills/demos/ppt-creator/create-presentation.gif","docs/skills/daymade-skills/demos/ppt-creator/create-presentation.tape","docs/skills/daymade-skills/demos/repomix-unmixer/extract-repo.gif","docs/skills/daymade-skills/demos/repomix-unmixer/extract-repo.tape","docs/skills/daymade-skills/demos/skill-creator/init-skill.gif","docs/skills/daymade-skills/demos/skill-creator/init-skill.tape","docs/skills/daymade-skills/demos/skill-creator/package-skill.gif","docs/skills/daymade-skills/demos/skill-creator/package-skill.tape","docs/skills/daymade-skills/demos/skill-creator/validate-skill.gif","docs/skills/daymade-skills/demos/skill-creator/validate-skill.tape","docs/skills/daymade-skills/demos/statusline-generator/customize-statusline.gif","docs/skills/daymade-skills/demos/statusline-generator/customize-statusline.tape","docs/skills/daymade-skills/demos/teams-channel-post-writer/write-post.gif","docs/skills/daymade-skills/demos/teams-channel-post-writer/write-post.tape","docs/skills/daymade-skills/demos/ui-designer/extract-design-system.gif","docs/skills/daymade-skills/demos/ui-designer/extract-design-system.tape","docs/skills/daymade-skills/demos/youtube-downloader/download-video.gif","docs/skills/daymade-skills/demos/youtube-downloader/download-video.tape","docs/skills/daymade-skills/docs-cleaner/.security-scan-passed","docs/skills/daymade-skills/docs-cleaner/SKILL.md","docs/skills/daymade-skills/docs-cleaner/references/value_analysis_template.md","docs/skills/daymade-skills/fact-checker/.security-scan-passed","docs/skills/daymade-skills/fact-checker/README.md","docs/skills/daymade-skills/fact-checker/SKILL.md","docs/skills/daymade-skills/github-contributor/.security-scan-passed","docs/skills/daymade-skills/github-contributor/SKILL.md","docs/skills/daymade-skills/github-contributor/references/communication_templates.md","docs/skills/daymade-skills/github-contributor/references/pr_checklist.md","docs/skills/daymade-skills/github-contributor/references/project_evaluation.md","docs/skills/daymade-skills/github-ops/SKILL.md","docs/skills/daymade-skills/github-ops/references/api_reference.md","docs/skills/daymade-skills/github-ops/references/best_practices.md","docs/skills/daymade-skills/github-ops/references/issue_operations.md","docs/skills/daymade-skills/github-ops/references/pr_operations.md","docs/skills/daymade-skills/github-ops/references/workflow_operations.md","docs/skills/daymade-skills/iOS-APP-developer/.security-scan-passed","docs/skills/daymade-skills/iOS-APP-developer/SKILL.md","docs/skills/daymade-skills/iOS-APP-developer/references/camera-avfoundation.md","docs/skills/daymade-skills/iOS-APP-developer/references/swiftui-compatibility.md","docs/skills/daymade-skills/iOS-APP-developer/references/testing-mainactor.md","docs/skills/daymade-skills/iOS-APP-developer/references/xcodegen-full.md","docs/skills/daymade-skills/llm-icon-finder/SKILL.md","docs/skills/daymade-skills/llm-icon-finder/references/developer-info.md","docs/skills/daymade-skills/llm-icon-finder/references/icons-list.md","docs/skills/daymade-skills/macos-cleaner/.security-scan-passed","docs/skills/daymade-skills/macos-cleaner/SKILL.md","docs/skills/daymade-skills/macos-cleaner/references/cleanup_targets.md","docs/skills/daymade-skills/macos-cleaner/references/mole_integration.md","docs/skills/daymade-skills/macos-cleaner/references/safety_rules.md","docs/skills/daymade-skills/macos-cleaner/scripts/analyze_caches.py","docs/skills/daymade-skills/macos-cleaner/scripts/analyze_dev_env.py","docs/skills/daymade-skills/macos-cleaner/scripts/analyze_large_files.py","docs/skills/daymade-skills/macos-cleaner/scripts/cleanup_report.py","docs/skills/daymade-skills/macos-cleaner/scripts/find_app_remnants.py","docs/skills/daymade-skills/macos-cleaner/scripts/safe_delete.py","docs/skills/daymade-skills/markdown-tools/SKILL.md","docs/skills/daymade-skills/markdown-tools/references/conversion-examples.md","docs/skills/daymade-skills/markdown-tools/scripts/convert_path.py","docs/skills/daymade-skills/markdown-tools/scripts/extract_pdf_images.py","docs/skills/daymade-skills/mermaid-tools/SKILL.md","docs/skills/daymade-skills/mermaid-tools/references/setup_and_troubleshooting.md","docs/skills/daymade-skills/mermaid-tools/scripts/extract-and-generate.sh","docs/skills/daymade-skills/mermaid-tools/scripts/extract_diagrams.py","docs/skills/daymade-skills/mermaid-tools/scripts/puppeteer-config.json","docs/skills/daymade-skills/pdf-creator/.security-scan-passed","docs/skills/daymade-skills/pdf-creator/SKILL.md","docs/skills/daymade-skills/pdf-creator/scripts/batch_convert.py","docs/skills/daymade-skills/pdf-creator/scripts/md_to_pdf.py","docs/skills/daymade-skills/ppt-creator/SKILL.md","docs/skills/daymade-skills/ppt-creator/references/CHECKLIST.md","docs/skills/daymade-skills/ppt-creator/references/EXAMPLES.md","docs/skills/daymade-skills/ppt-creator/references/INTAKE.md","docs/skills/daymade-skills/ppt-creator/references/ORCHESTRATION_DATA_CHARTS.md","docs/skills/daymade-skills/ppt-creator/references/ORCHESTRATION_OVERVIEW.md","docs/skills/daymade-skills/ppt-creator/references/ORCHESTRATION_PPTX.md","docs/skills/daymade-skills/ppt-creator/references/RUBRIC.md","docs/skills/daymade-skills/ppt-creator/references/STYLE-GUIDE.md","docs/skills/daymade-skills/ppt-creator/references/TEMPLATES.md","docs/skills/daymade-skills/ppt-creator/references/VIS-GUIDE.md","docs/skills/daymade-skills/ppt-creator/references/WORKFLOW.md","docs/skills/daymade-skills/ppt-creator/scripts/chartkit.py","docs/skills/daymade-skills/prompt-optimizer/.security-scan-passed","docs/skills/daymade-skills/prompt-optimizer/SKILL.md","docs/skills/daymade-skills/prompt-optimizer/references/advanced_techniques.md","docs/skills/daymade-skills/prompt-optimizer/references/domain_theories.md","docs/skills/daymade-skills/prompt-optimizer/references/ears_syntax.md","docs/skills/daymade-skills/prompt-optimizer/references/examples.md","docs/skills/daymade-skills/promptfoo-evaluation/.security-scan-passed","docs/skills/daymade-skills/promptfoo-evaluation/SKILL.md","docs/skills/daymade-skills/promptfoo-evaluation/references/promptfoo_api.md","docs/skills/daymade-skills/qa-expert/.security-scan-passed","docs/skills/daymade-skills/qa-expert/SKILL.md","docs/skills/daymade-skills/qa-expert/assets/templates/TEST-CASE-TEMPLATE.md","docs/skills/daymade-skills/qa-expert/references/day1_onboarding.md","docs/skills/daymade-skills/qa-expert/references/google_testing_standards.md","docs/skills/daymade-skills/qa-expert/references/ground_truth_principle.md","docs/skills/daymade-skills/qa-expert/references/llm_prompts_library.md","docs/skills/daymade-skills/qa-expert/references/master_qa_prompt.md","docs/skills/daymade-skills/qa-expert/scripts/calculate_metrics.py","docs/skills/daymade-skills/qa-expert/scripts/init_qa_project.py","docs/skills/daymade-skills/repomix-safe-mixer/SKILL.md","docs/skills/daymade-skills/repomix-safe-mixer/references/common_secrets.md","docs/skills/daymade-skills/repomix-safe-mixer/scripts/safe_pack.py","docs/skills/daymade-skills/repomix-safe-mixer/scripts/scan_secrets.py","docs/skills/daymade-skills/repomix-unmixer/README.md","docs/skills/daymade-skills/repomix-unmixer/SKILL.md","docs/skills/daymade-skills/repomix-unmixer/references/repomix-format.md","docs/skills/daymade-skills/repomix-unmixer/references/validation-workflow.md","docs/skills/daymade-skills/repomix-unmixer/scripts/unmix_repomix.py","docs/skills/daymade-skills/scripts/install.ps1","docs/skills/daymade-skills/scripts/install.sh","docs/skills/daymade-skills/skill-creator/.gitignore","docs/skills/daymade-skills/skill-creator/LICENSE.txt","docs/skills/daymade-skills/skill-creator/SKILL.md","docs/skills/daymade-skills/skill-creator/scripts/init_skill.py","docs/skills/daymade-skills/skill-creator/scripts/package_skill.py","docs/skills/daymade-skills/skill-creator/scripts/quick_validate.py","docs/skills/daymade-skills/skill-creator/scripts/security_scan.py","docs/skills/daymade-skills/skill-reviewer/.security-scan-passed","docs/skills/daymade-skills/skill-reviewer/SKILL.md","docs/skills/daymade-skills/skill-reviewer/references/evaluation_checklist.md","docs/skills/daymade-skills/skill-reviewer/references/marketplace_template.json","docs/skills/daymade-skills/skill-reviewer/references/pr_template.md","docs/skills/daymade-skills/skills-search/.security-scan-passed","docs/skills/daymade-skills/skills-search/SKILL.md","docs/skills/daymade-skills/statusline-generator/SKILL.md","docs/skills/daymade-skills/statusline-generator/references/ccusage_integration.md","docs/skills/daymade-skills/statusline-generator/references/color_codes.md","docs/skills/daymade-skills/statusline-generator/scripts/generate_statusline.sh","docs/skills/daymade-skills/statusline-generator/scripts/install_statusline.sh","docs/skills/daymade-skills/teams-channel-post-writer/SKILL.md","docs/skills/daymade-skills/teams-channel-post-writer/assets/post-template.md","docs/skills/daymade-skills/teams-channel-post-writer/references/writing-guidelines.md","docs/skills/daymade-skills/transcript-fixer/.gitignore","docs/skills/daymade-skills/transcript-fixer/SKILL.md","docs/skills/daymade-skills/transcript-fixer/references/architecture.md","docs/skills/daymade-skills/transcript-fixer/references/best_practices.md","docs/skills/daymade-skills/transcript-fixer/references/database_schema.md","docs/skills/daymade-skills/transcript-fixer/references/dictionary_guide.md","docs/skills/daymade-skills/transcript-fixer/references/file_formats.md","docs/skills/daymade-skills/transcript-fixer/references/glm_api_setup.md","docs/skills/daymade-skills/transcript-fixer/references/installation_setup.md","docs/skills/daymade-skills/transcript-fixer/references/iteration_workflow.md","docs/skills/daymade-skills/transcript-fixer/references/quick_reference.md","docs/skills/daymade-skills/transcript-fixer/references/script_parameters.md","docs/skills/daymade-skills/transcript-fixer/references/sql_queries.md","docs/skills/daymade-skills/transcript-fixer/references/team_collaboration.md","docs/skills/daymade-skills/transcript-fixer/references/troubleshooting.md","docs/skills/daymade-skills/transcript-fixer/references/workflow_guide.md","docs/skills/daymade-skills/transcript-fixer/requirements.txt","docs/skills/daymade-skills/transcript-fixer/scripts/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/check_type_hints.py","docs/skills/daymade-skills/transcript-fixer/scripts/cli/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/cli/argument_parser.py","docs/skills/daymade-skills/transcript-fixer/scripts/cli/commands.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/ai_processor.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/ai_processor_async.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/change_extractor.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/connection_pool.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/correction_repository.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/correction_service.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/dictionary_processor.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/learning_engine.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/schema.sql","docs/skills/daymade-skills/transcript-fixer/scripts/ensure_deps.py","docs/skills/daymade-skills/transcript-fixer/scripts/examples/bulk_import.py","docs/skills/daymade-skills/transcript-fixer/scripts/fix_transcript_enhanced.py","docs/skills/daymade-skills/transcript-fixer/scripts/fix_transcription.py","docs/skills/daymade-skills/transcript-fixer/scripts/generate_word_diff.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_audit_log_retention.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_connection_pool.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_correction_service.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_domain_validator.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_error_recovery.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_learning_engine.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_path_validator.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/audit_log_retention.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/concurrency_manager.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/config.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/database_migration.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/db_migrations_cli.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/change_extractor.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/html_format.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/inline_format.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/markdown_format.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/text_splitter.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/unified_format.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_generator.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/domain_validator.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/health_check.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/logging_config.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/metrics.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/migrations.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/path_validator.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/rate_limiter.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/retry_logic.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/security.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/validation.py","docs/skills/daymade-skills/twitter-reader/.security-scan-passed","docs/skills/daymade-skills/twitter-reader/SKILL.md","docs/skills/daymade-skills/twitter-reader/scripts/fetch_tweet.py","docs/skills/daymade-skills/twitter-reader/scripts/fetch_tweets.sh","docs/skills/daymade-skills/ui-designer/SKILL.md","docs/skills/daymade-skills/ui-designer/assets/app-overview-generator.md","docs/skills/daymade-skills/ui-designer/assets/design-system.md","docs/skills/daymade-skills/ui-designer/assets/vibe-design-template.md","docs/skills/daymade-skills/video-comparer/.security-scan-passed","docs/skills/daymade-skills/video-comparer/README.md","docs/skills/daymade-skills/video-comparer/SKILL.md","docs/skills/daymade-skills/video-comparer/assets/template.html","docs/skills/daymade-skills/video-comparer/references/configuration.md","docs/skills/daymade-skills/video-comparer/references/ffmpeg_commands.md","docs/skills/daymade-skills/video-comparer/references/video_metrics.md","docs/skills/daymade-skills/video-comparer/scripts/compare.py","docs/skills/daymade-skills/youtube-downloader/.security-scan-passed","docs/skills/daymade-skills/youtube-downloader/SKILL.md","docs/skills/daymade-skills/youtube-downloader/references/po-token-setup.md","docs/skills/daymade-skills/youtube-downloader/scripts/download_video.py","docs/skills/eval-harness/SKILL.md","docs/skills/frontend-patterns/SKILL.md","docs/skills/haizhan-ime-development.md","docs/skills/hizan-official/.claude-plugin/marketplace.json","docs/skills/hizan-official/skills/arch/SKILL.md","docs/skills/hizan-official/skills/game/SKILL.md","docs/skills/hizan-official/skills/quality/SKILL.md","docs/skills/hizan-official/skills/work/SKILL.md","docs/skills/juhi/tool-usage.md","docs/skills/mhattingpete-skills/.claude-plugin/marketplace.json","docs/skills/mhattingpete-skills/.claude/install-gh.sh","docs/skills/mhattingpete-skills/.claude/settings.json","docs/skills/mhattingpete-skills/.gitignore","docs/skills/mhattingpete-skills/CHANGELOG.md","docs/skills/mhattingpete-skills/CLAUDE.md","docs/skills/mhattingpete-skills/CONTRIBUTING.md","docs/skills/mhattingpete-skills/LICENSE","docs/skills/mhattingpete-skills/README.md","docs/skills/mhattingpete-skills/assets/skill-loading.gif","docs/skills/mhattingpete-skills/code-operations-plugin/.claude-plugin/plugin.json","docs/skills/mhattingpete-skills/code-operations-plugin/README.md","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-execution/SKILL.md","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-execution/examples/bulk_refactor.py","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-execution/examples/codebase_audit.py","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-execution/examples/extract_functions.py","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-refactor/SKILL.md","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-transfer/SKILL.md","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-transfer/scripts/line_insert.py","docs/skills/mhattingpete-skills/code-operations-plugin/skills/file-operations/SKILL.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/.claude-plugin/plugin.json","docs/skills/mhattingpete-skills/engineering-workflow-plugin/README.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/agents/ensemble-orchestrator/AGENT.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/agents/plan-implementer.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/commands/pr.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/ensemble-solving/SKILL.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/ensemble-solving/references/diversification-strategies.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/ensemble-solving/references/evaluation-rubrics.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/feature-planning/SKILL.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/feature-planning/references/planning-best-practices.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/git-pushing/SKILL.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/git-pushing/scripts/smart_commit.sh","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/review-implementing/SKILL.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/test-fixing/SKILL.md","docs/skills/mhattingpete-skills/execution-runtime/.env.example","docs/skills/mhattingpete-skills/execution-runtime/README.md","docs/skills/mhattingpete-skills/execution-runtime/api/__init__.py","docs/skills/mhattingpete-skills/execution-runtime/api/code_analysis.py","docs/skills/mhattingpete-skills/execution-runtime/api/code_transform.py","docs/skills/mhattingpete-skills/execution-runtime/api/filesystem.py","docs/skills/mhattingpete-skills/execution-runtime/api/git_operations.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/__init__.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/security/__init__.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/security/import_guard.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/security/pii_detector.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/sessions.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/skills.py","docs/skills/mhattingpete-skills/execution-runtime/mcp-server/mcp_server.py","docs/skills/mhattingpete-skills/execution-runtime/mcp-server/security/pii_detector.py","docs/skills/mhattingpete-skills/execution-runtime/mcp-server/security/sandbox.py","docs/skills/mhattingpete-skills/execution-runtime/pyproject.toml","docs/skills/mhattingpete-skills/execution-runtime/setup.sh","docs/skills/mhattingpete-skills/productivity-skills-plugin/.claude-plugin/plugin.json","docs/skills/mhattingpete-skills/productivity-skills-plugin/README.md","docs/skills/mhattingpete-skills/productivity-skills-plugin/skills/code-auditor/SKILL.md","docs/skills/mhattingpete-skills/productivity-skills-plugin/skills/codebase-documenter/SKILL.md","docs/skills/mhattingpete-skills/productivity-skills-plugin/skills/conversation-analyzer/SKILL.md","docs/skills/mhattingpete-skills/productivity-skills-plugin/skills/conversation-analyzer/scripts/analyze_history.py","docs/skills/mhattingpete-skills/productivity-skills-plugin/skills/project-bootstrapper/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/.claude-plugin/plugin.json","docs/skills/mhattingpete-skills/visual-documentation-plugin/EXAMPLES.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/README.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/architecture-diagram-creator/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/architecture-diagram-creator/assets/templates/architecture_components.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/architecture-diagram-creator/assets/templates/base_template.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/architecture-diagram-creator/references/example_architecture.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/dashboard-creator/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/dashboard-creator/assets/templates/base_template.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/dashboard-creator/assets/templates/dashboard_components.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/dashboard-creator/references/design_patterns.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/dashboard-creator/references/svg_library.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/flowchart-creator/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/flowchart-creator/assets/templates/base_template.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/flowchart-creator/assets/templates/flowchart_components.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/flowchart-creator/references/design_patterns.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/flowchart-creator/references/svg_library.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/technical-doc-creator/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/technical-doc-creator/assets/templates/base_template.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/technical-doc-creator/references/design_patterns.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/technical-doc-creator/references/svg_library.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/timeline-creator/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/timeline-creator/assets/templates/base_template.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/timeline-creator/assets/templates/timeline_components.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/timeline-creator/references/design_patterns.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/timeline-creator/references/svg_library.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/test-outputs/dashboard-test-monitoring.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/test-outputs/flowchart-test-authentication.html","docs/skills/netresearch-marketplace/.claude-plugin/marketplace.json","docs/skills/netresearch-marketplace/.github/workflows/sync-skills.yml","docs/skills/netresearch-marketplace/.gitignore","docs/skills/netresearch-marketplace/.sync-config.json","docs/skills/netresearch-marketplace/README.md","docs/skills/netresearch-marketplace/SYNC-SETUP.md","docs/skills/netresearch-marketplace/VERSIONING.md","docs/skills/netresearch-marketplace/notify-marketplace.yml","docs/skills/netresearch-marketplace/plugins/coach/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/plugins/coach/LICENSE","docs/skills/netresearch-marketplace/plugins/coach/README.md","docs/skills/netresearch-marketplace/plugins/coach/assets/templates/antipattern.md","docs/skills/netresearch-marketplace/plugins/coach/assets/templates/checklist.md","docs/skills/netresearch-marketplace/plugins/coach/assets/templates/rule.md","docs/skills/netresearch-marketplace/plugins/coach/assets/templates/snippet.md","docs/skills/netresearch-marketplace/plugins/coach/commands/approve.md","docs/skills/netresearch-marketplace/plugins/coach/commands/edit.md","docs/skills/netresearch-marketplace/plugins/coach/commands/init.md","docs/skills/netresearch-marketplace/plugins/coach/commands/promote.md","docs/skills/netresearch-marketplace/plugins/coach/commands/reject.md","docs/skills/netresearch-marketplace/plugins/coach/commands/review.md","docs/skills/netresearch-marketplace/plugins/coach/commands/scan.md","docs/skills/netresearch-marketplace/plugins/coach/commands/status.md","docs/skills/netresearch-marketplace/plugins/coach/hooks/hooks.json","docs/skills/netresearch-marketplace/plugins/coach/references/architecture.md","docs/skills/netresearch-marketplace/plugins/coach/references/schema.md","docs/skills/netresearch-marketplace/plugins/coach/references/scope_heuristics.md","docs/skills/netresearch-marketplace/plugins/coach/references/signal_patterns.md","docs/skills/netresearch-marketplace/plugins/coach/scripts/aggregate.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/apply.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/detect_signals.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/fingerprint.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/init_coach.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/ledger.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/propose.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/root_cause_analyzer.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/scope_analyzer.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/skill_analyzer.py","docs/skills/netresearch-marketplace/plugins/coach/skills/coach/SKILL.md","docs/skills/netresearch-marketplace/renovate.json","docs/skills/netresearch-marketplace/skills/agents/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/agents/LICENSE","docs/skills/netresearch-marketplace/skills/agents/README.md","docs/skills/netresearch-marketplace/skills/agents/STATUS.md","docs/skills/netresearch-marketplace/skills/agents/claudedocs/refactoring-summary.md","docs/skills/netresearch-marketplace/skills/agents/composer.json","docs/skills/netresearch-marketplace/skills/agents/docs/ROADMAP.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/SKILL.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/root-thin.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/root-verbose.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/backend-go.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/backend-php.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/cli.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/documentation.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/examples.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/frontend-typescript.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/resources.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/testing.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/analysis.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/directory-coverage.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/coding-agent-cli/AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/coding-agent-cli/scripts-AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/ldap-selfservice/AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/ldap-selfservice/internal-AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/ldap-selfservice/internal-web-AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/simple-ldap-go/AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/simple-ldap-go/examples-AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/t3x-rte-ckeditor-image/AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/t3x-rte-ckeditor-image/Classes-AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/analyze-git-history.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/check-freshness.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/detect-project.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/detect-scopes.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-agent-configs.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-ci-commands.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-commands.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-documentation.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-ide-settings.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-platform-files.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-quality-configs.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/generate-agents.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/lib/summary.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/lib/template.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/validate-structure.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/verify-content.sh","docs/skills/netresearch-marketplace/skills/cli-tools/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/cli-tools/LICENSE","docs/skills/netresearch-marketplace/skills/cli-tools/README.md","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ansible-core.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ast-grep.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/aws.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/bandit.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/bat.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/black.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/claude.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/codex.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/compose.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/composer.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ctags.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/curlie.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/dasel.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/delta.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/direnv.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/dive.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/docker.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/entr.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/eslint.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/fd.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/flake8.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/fx.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/fzf.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/gam.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/gem.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/gh.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/git-absorb.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/git-branchless.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/git-filter-repo.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/git-lfs.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/git.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/gitleaks.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/glab.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/go.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/golangci-lint.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/gosec.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/httpie.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/isort.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/jq.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/just.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/kubectl.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ninja.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/node.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/npm.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/parallel.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/php.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/pip.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/pipx.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/pnpm.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/poetry.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/pre-commit.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/prename.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/prettier.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/python.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/rbenv.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/rename.ul.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/rga.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ripgrep.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ruby-build.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ruby.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ruff.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/rust.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/sd.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/semgrep.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/shellcheck.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/shfmt.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/sponge.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/terraform.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/tfsec.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/trivy.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/uv.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/watchexec.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/xsv.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/yarn.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/yq.json","docs/skills/netresearch-marketplace/skills/cli-tools/composer.json","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/SKILL.md","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/references/binary_to_tool_map.md","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/references/project_type_requirements.md","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/auto_update.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/check_environment.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/detect_project_type.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/install_composer.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/install_tool.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/aws_installer.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/dedicated_script.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/github_clone.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/github_release_binary.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/hashicorp_zip.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/npm_global.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/npm_self_update.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/package_manager.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/uv_tool.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/capability.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/catalog.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/common.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/dependency.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/install_strategy.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/path_check.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/policy.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/reconcile.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/scope_detection.sh","docs/skills/netresearch-marketplace/skills/context7/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/context7/LICENSE","docs/skills/netresearch-marketplace/skills/context7/README.md","docs/skills/netresearch-marketplace/skills/context7/skills/context7/SKILL.md","docs/skills/netresearch-marketplace/skills/context7/skills/context7/scripts/context7.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/enterprise-readiness/LICENSE","docs/skills/netresearch-marketplace/skills/enterprise-readiness/README.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/ARCHITECTURE.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/BADGE_EXCEPTIONS.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/CODE_OF_CONDUCT.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/GOVERNANCE.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/ROADMAP.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/SECURITY_AUDIT.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/workflows/codeql.yml","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/workflows/dco-check.yml","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/workflows/dependency-review.yml","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/workflows/scorecard.yml","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/workflows/slsa-provenance.yml","docs/skills/netresearch-marketplace/skills/enterprise-readiness/composer.json","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/SKILL.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/2fa-enforcement.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/badge-display.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/branch-coverage.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/dco-implementation.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/dynamic-analysis.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/general.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/github.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/go.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/openssf-badge-gold.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/openssf-badge-silver.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/quick-start-guide.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/reproducible-builds.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/security-hardening.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/signed-releases.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/solo-maintainer-guide.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/sonarcloud.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/test-invocation.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/add-spdx-headers.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/analyze-bus-factor.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/check-branch-coverage.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/check-coverage-threshold.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/check-tls-minimum.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/verify-badge-criteria.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/verify-reproducible-build.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/verify-review-requirements.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/verify-signed-tags.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/verify-spdx-headers.sh","docs/skills/netresearch-marketplace/skills/git-workflow/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/git-workflow/LICENSE","docs/skills/netresearch-marketplace/skills/git-workflow/README.md","docs/skills/netresearch-marketplace/skills/git-workflow/composer.json","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/SKILL.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/advanced-git.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/branching-strategies.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/ci-cd-integration.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/commit-conventions.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/github-releases.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/pull-request-workflow.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/scripts/verify-git-workflow.sh","docs/skills/netresearch-marketplace/skills/github-project/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/github-project/LICENSE","docs/skills/netresearch-marketplace/skills/github-project/README.md","docs/skills/netresearch-marketplace/skills/github-project/composer.json","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/SKILL.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/CODEOWNERS.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/CONTRIBUTING.md.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/PULL_REQUEST_TEMPLATE.md.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/SECURITY.md.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/auto-merge-direct.yml.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/auto-merge-queue.yml.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/auto-merge.yml.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/bug_report.md.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/dependabot.yml.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/feature_request.md.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/release-labeler.yml.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/renovate.json.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/references/branch-migration.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/references/dependency-management.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/references/release-labeling.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/references/repository-structure.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/references/sub-issues.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/scripts/verify-github-project.sh","docs/skills/netresearch-marketplace/skills/go-development/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/go-development/LICENSE","docs/skills/netresearch-marketplace/skills/go-development/README.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/SKILL.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/api-design.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/architecture.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/docker.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/fuzz-testing.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/ldap.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/linting.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/makefile.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/mutation-testing.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/resilience.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/testing.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/scripts/verify-go-project.sh","docs/skills/netresearch-marketplace/skills/jira-integration/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/jira-integration/AGENTS.md","docs/skills/netresearch-marketplace/skills/jira-integration/CHANGELOG.md","docs/skills/netresearch-marketplace/skills/jira-integration/CLAUDE.md","docs/skills/netresearch-marketplace/skills/jira-integration/LICENSE","docs/skills/netresearch-marketplace/skills/jira-integration/MIGRATION.md","docs/skills/netresearch-marketplace/skills/jira-integration/PRD.md","docs/skills/netresearch-marketplace/skills/jira-integration/README.md","docs/skills/netresearch-marketplace/skills/jira-integration/SKILL.md","docs/skills/netresearch-marketplace/skills/jira-integration/composer.json","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/AGENTS.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/SKILL.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/references/jql-quick-reference.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/references/troubleshooting.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-attachment.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-issue.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-search.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-setup.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-validate.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-worklog.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/lib/__init__.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/lib/client.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/lib/config.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/lib/output.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/utility/jira-fields.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/utility/jira-link.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/utility/jira-user.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/workflow/jira-board.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/workflow/jira-comment.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/workflow/jira-create.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/workflow/jira-sprint.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/workflow/jira-transition.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/AGENTS.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/SKILL.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/references/jira-syntax-quick-reference.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/scripts/validate-jira-syntax.sh","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/templates/bug-report-template.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/templates/feature-request-template.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/netresearch-branding/LICENSE","docs/skills/netresearch-marketplace/skills/netresearch-branding/README.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/assets/logos/netresearch-symbol-only.svg","docs/skills/netresearch-marketplace/skills/netresearch-branding/composer.json","docs/skills/netresearch-marketplace/skills/netresearch-branding/examples/components.html","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/SKILL.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/references/colors.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/references/typo3-extension-branding.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/references/typography.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/references/web-design.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/templates/landing-page.html","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/templates/styles.css","docs/skills/netresearch-marketplace/skills/php-modernization/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/php-modernization/LICENSE","docs/skills/netresearch-marketplace/skills/php-modernization/README.md","docs/skills/netresearch-marketplace/skills/php-modernization/composer.json","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/SKILL.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/adapter-registry-pattern.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/migration-strategies.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/php8-features.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/phpstan-compliance.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/psr-per-compliance.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/request-dtos.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/static-analysis-tools.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/symfony-patterns.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/type-safety.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/scripts/verify-php-project.sh","docs/skills/netresearch-marketplace/skills/security-audit/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/security-audit/LICENSE","docs/skills/netresearch-marketplace/skills/security-audit/README.md","docs/skills/netresearch-marketplace/skills/security-audit/composer.json","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/SKILL.md","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/references/api-key-encryption.md","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/references/cvss-scoring.md","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/references/owasp-top10.md","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/references/xxe-prevention.md","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/scripts/security-audit.sh","docs/skills/netresearch-marketplace/skills/skill-repo/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/skill-repo/LICENSE","docs/skills/netresearch-marketplace/skills/skill-repo/README.md","docs/skills/netresearch-marketplace/skills/skill-repo/composer.json","docs/skills/netresearch-marketplace/skills/skill-repo/renovate.json","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/SKILL.md","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/references/composer-setup.md","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/references/installation-methods.md","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/references/marketplace-integration.md","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/scripts/validate-skill.sh","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/templates/README.md.template","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/templates/composer.json.template","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/templates/release.yml.template","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/README.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/composer.json","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/references/ckeditor5-architecture.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/references/migration-guide.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/references/plugin-development.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/references/typo3-integration.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/scripts/verify-ckeditor5.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-conformance/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-conformance/README.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/composer.json","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/assets/.github/workflows/publish-to-ter.yml","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/backend-module-v13.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/backend-wizard-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/best-practices.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/coding-guidelines.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/composer-validation.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/crowdin-integration.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/development-environment.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/directory-structure.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/dual-version-compatibility.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/excellence-indicators.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/ext-emconf-validation.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/ext-files-validation.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/extension-architecture.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/hooks-and-events.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/multi-tier-configuration.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/php-architecture.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/report-template.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/runtests-validation.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/ter-publishing.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/testing-standards.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/v13-deprecations.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/version-requirements.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-architecture.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-coding-standards.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-conformance.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-documentation.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-file-structure.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-phpstan-baseline.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-testing.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/generate-report.sh","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/README.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/assets/commit-template.txt","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/claudedocs/refactoring-summary.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/composer.json","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/account-setup.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/commit-message-format.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/commit-msg-hook.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/ddev-setup-workflow.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/forge-api.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/gerrit-review-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/gerrit-workflow.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/modern-typo3-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/troubleshooting.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/create-commit-message.py","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/create-forge-issue.sh","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/query-forge-metadata.sh","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/setup-typo3-coredev.sh","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/validate-commit-message.py","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/verify-prerequisites.sh","docs/skills/netresearch-marketplace/skills/typo3-ddev/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-ddev/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-ddev/README.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/composer.json","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/.envrc","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/Makefile.template","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/README-SERVICES.md.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/apache/apache-site.conf","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/host/docs","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/host/pre-start-git-info","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/host/setup","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/install-all","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/install-v11","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/install-v12","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/install-v13","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/web/configure-extension.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/web/generate-index","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/web/generate-makefile","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/web/install-introduction.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/config.redis.php.example","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/config.yaml","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/docker-compose.git-info.yaml","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/docker-compose.ofelia.yaml.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/docker-compose.services-redis.yaml.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/docker-compose.services.yaml.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/docker-compose.web.yaml","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/homeadditions/.bashrc_additions.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/index.html.netresearch.template","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/index.html.typo3.template","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/web-build/Dockerfile","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/web-build/install-cron.sh.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/web-entrypoint.d/10-cleanup-index.sh","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/0001-valkey-default-with-redis-alternative.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/0002-mariadb-default-with-database-alternatives.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/0003-php-version-management.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/advanced-options.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/documentation-rendering.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/index-page-generation.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/prerequisites-validation.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/quickstart.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/troubleshooting.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/typo3-12-cli-changes.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/windows-fixes.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/windows-optimizations.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/scripts/validate-prerequisites.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-docs/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-docs/README.md","docs/skills/netresearch-marketplace/skills/typo3-docs/composer.json","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/assets/AGENTS.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/architecture-decision-records.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/code-structure-elements.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/coding-guidelines.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/content-directives.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/documentation-coverage-analysis.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/extraction-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/file-structure.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/guides-xml.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/intercept-deployment.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/rendering.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/rst-syntax.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/screenshots.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/text-roles-inline-code.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/typo3-directives.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/typo3-extension-architecture.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/add-agents-md.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/analyze-docs.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-all.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-build-configs.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-composer.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-extension-config.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-php.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-project-files.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-repo-metadata.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/render_docs.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/validate_docs.sh","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/README.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/composer.json","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/assets/.php-cs-fixer.php","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/assets/fractor.php","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/assets/phpstan.neon","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/assets/phpunit.xml","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/assets/rector.php","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/api-changes.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/dual-compatibility.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/pre-upgrade.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/real-world-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/upgrade-v11-to-v12.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/upgrade-v12-to-v13.md","docs/skills/netresearch-marketplace/skills/typo3-testing/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-testing/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-testing/README.md","docs/skills/netresearch-marketplace/skills/typo3-testing/composer.json","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/.php-cs-fixer.dist.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/AGENTS.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/FunctionalTests.xml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/FunctionalTestsBootstrap.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/Makefile","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/UnitTests.xml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/UnitTestsBootstrap.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/bootstrap.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/codecov.yml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/docker/codeception.yml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/docker/docker-compose.yml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/example-tests/ExampleAcceptanceCest.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/example-tests/ExampleFunctionalTest.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/example-tests/ExampleUnitTest.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/fixtures/README.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/fixtures/be_users.csv","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/fixtures/pages.csv","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/fixtures/sys_category.csv","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/fixtures/tt_content.csv","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/github-actions-e2e.yml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/github-actions-tests.yml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/infection.json5","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/phpat.neon","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/phpat.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/phpstan-baseline.neon","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/phpstan.neon","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/rector.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/accessibility-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/architecture-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/ci-cd.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/crypto-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/ddev-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/e2e-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/functional-test-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/functional-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/fuzz-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/integration-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/javascript-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/mutation-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/performance-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/quality-tools.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/sonarcloud.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/test-runners.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/typo3-v14-final-classes.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/unit-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/scripts/generate-test.sh","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/scripts/setup-testing.sh","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/scripts/validate-setup.sh","docs/skills/netresearch-marketplace/update-source-repos.sh","docs/skills/project-guidelines-example/SKILL.md","docs/skills/security-review/SKILL.md","docs/skills/strategic-compact/SKILL.md","docs/skills/strategic-compact/suggest-compact.sh","docs/skills/tdd-workflow/SKILL.md","docs/skills/verification-loop/SKILL.md","docs/话术库导出_20251231103252.xlsx","docs_archive/AI_INPUT_METHOD_BRAINSTORM.md","docs_archive/ANDROID_100_PERCENT_PLAN.md","docs_archive/ANDROID_NATIVE_REPLACEMENT_DETAILED_PLAN.md","docs_archive/ANDROID_NATIVE_REPLACEMENT_PLAN.md","docs_archive/API.md","docs_archive/APPLE_PLATFORM_DEVELOPMENT_PLAN.md","docs_archive/ARCHITECTURE.md","docs_archive/ARCHITECTURE_COMPACT.md","docs_archive/CLAUDE.md","docs_archive/COMPREHENSIVE_IMPROVEMENT_PLAN.md","docs_archive/DEPLOYMENT.md","docs_archive/DESIGN_BASED_DEVELOPMENT_PLAN.md","docs_archive/DEVELOPMENT_ROADMAP.md","docs_archive/DICTIONARY_IMPROVEMENT_PLAN.md","docs_archive/DOCS_INDEX.md","docs_archive/IMPLEMENTATION_PLAN.md","docs_archive/IMPROVEMENT_RECOMMENDATIONS.md","docs_archive/IOS_DEVELOPMENT_PLAN.md","docs_archive/NEXT_STEPS_PLAN.md","docs_archive/PINYIN_DEVELOPMENT_PLAN.md","docs_archive/PRD.md","docs_archive/PROGRESS_TRACKER.md","docs_archive/README.md","docs_archive/REDLINES.md","docs_archive/SMART_RECOGNITION_COMPACT.md","docs_archive/TECHNICAL_ARCHITECTURE.md","docs_archive/UI_DEVELOPMENT_PLAN.md","docs_archive/smart-recognition-design.md","flutter_app/assets/fonts/PingFang-Medium.ttf","flutter_app/assets/fonts/PingFang-Regular.ttf","flutter_app/assets/fonts/PingFang-Semibold.ttf","flutter_app/assets/icons/.gitkeep","flutter_app/assets/images/.gitkeep","flutter_app/lib/core/bridge/bridge_models.dart","flutter_app/lib/core/bridge/bridge_response_parser.dart","flutter_app/lib/core/bridge/haizhan_bridge.dart","flutter_app/lib/core/di/service_locator.dart","flutter_app/lib/core/router/app_router.dart","flutter_app/lib/core/router/routes.dart","flutter_app/lib/core/theme/app_colors.dart","flutter_app/lib/core/theme/app_theme.dart","flutter_app/lib/core/theme/app_typography.dart","flutter_app/lib/features/auth/data/auth_provider.dart","flutter_app/lib/features/auth/data/auth_repository.dart","flutter_app/lib/features/auth/domain/auth_models.dart","flutter_app/lib/features/auth/presentation/login_screen.dart","flutter_app/lib/features/auth/presentation/register_screen.dart","flutter_app/lib/features/chat/data/ai_provider.dart","flutter_app/lib/features/chat/data/ai_repository.dart","flutter_app/lib/features/chat/domain/ai_reply_models.dart","flutter_app/lib/features/chat/presentation/chat_screen.dart","flutter_app/lib/features/chat/presentation/conversation_screen.dart","flutter_app/lib/features/contacts/data/contact_360_provider.dart","flutter_app/lib/features/contacts/data/contacts_provider.dart","flutter_app/lib/features/contacts/data/contacts_repository.dart","flutter_app/lib/features/contacts/domain/contact_models.dart","flutter_app/lib/features/contacts/presentation/contact_detail_screen.dart","flutter_app/lib/features/contacts/presentation/contacts_screen.dart","flutter_app/lib/features/home/presentation/home_screen.dart","flutter_app/lib/features/home/presentation/main_shell.dart","flutter_app/lib/features/knowledge/data/knowledge_provider.dart","flutter_app/lib/features/knowledge/data/knowledge_repository.dart","flutter_app/lib/features/knowledge/domain/knowledge_models.dart","flutter_app/lib/features/knowledge/presentation/knowledge_screen.dart","flutter_app/lib/features/profile/presentation/profile_screen.dart","flutter_app/lib/features/search/data/models/search_metrics.dart","flutter_app/lib/features/search/presentation/widgets/search_metrics_indicator.dart","flutter_app/lib/features/settings/presentation/settings_screen.dart","flutter_app/lib/features/stats/presentation/stats_screen.dart","flutter_app/lib/features/stats/presentation/widgets/contact_stats_tab.dart","flutter_app/lib/features/stats/presentation/widgets/overview_tab.dart","flutter_app/lib/features/stats/presentation/widgets/reply_stats_tab.dart","flutter_app/lib/features/stats/presentation/widgets/stats_shared_widgets.dart","flutter_app/lib/features/support/presentation/about_screen.dart","flutter_app/lib/features/support/presentation/feedback_screen.dart","flutter_app/lib/features/support/presentation/help_screen.dart","flutter_app/lib/features/support/presentation/privacy_screen.dart","flutter_app/lib/features/support/presentation/terms_screen.dart","flutter_app/lib/main.dart","flutter_app/lib/shared/widgets/stat_card.dart","flutter_app/pigeons/haizhan_api.dart","flutter_app/pubspec.lock","flutter_app/pubspec.yaml","flutter_app/test/core/network/api_client_test.dart","flutter_app/test/core/theme/theme_provider_test.dart","flutter_app/test/features/auth/login_screen_test.dart","flutter_app/test/features/chat/chat_screen_test.dart","flutter_app/test/features/contacts/contacts_screen_test.dart","flutter_app/test/features/home/home_screen_test.dart","flutter_app/test/features/knowledge/knowledge_screen_test.dart","flutter_app/test/features/profile/profile_screen_test.dart","flutter_app/test/features/settings/settings_screen_test.dart","flutter_app/test/features/statistics/statistics_screen_test.dart","flutter_app/test/features/stats/stats_screen_test.dart","flutter_app/test/integration/app_integration_test.dart","flutter_app/test/providers/auth_provider_test.dart","flutter_app/test/services/api_service_test.dart","flutter_app/test/widgets/contact_card_test.dart","gradle.properties","gradle/libs.versions.toml","gradle/wrapper/gradle-wrapper.jar","gradle/wrapper/gradle-wrapper.properties","gradlew","gradlew.bat","ime-core/build.gradle.kts","ime-core/consumer-rules.pro","ime-core/proguard-rules.pro","ime-core/src/androidTest/java/com/haizhan/ime/core/handwriting/HandwritingIntegrationTest.kt","ime-core/src/androidTest/java/com/haizhan/ime/core/handwriting/HandwritingPerformanceTest.kt","ime-core/src/androidTest/java/com/haizhan/ime/core/handwriting/HandwritingViewTest.kt","ime-core/src/main/AndroidManifest.xml","ime-core/src/main/assets/dictionaries/system/core-char.txt","ime-core/src/main/assets/dictionaries/system/core-merged.txt","ime-core/src/main/assets/dictionaries/system/core-phrase.txt","ime-core/src/main/assets/dictionaries/system/core-word2.txt","ime-core/src/main/assets/dictionaries/system/core-word3.txt","ime-core/src/main/assets/dictionaries/system/core-word4.txt","ime-core/src/main/assets/handwriting_labels_casia.txt","ime-core/src/main/assets/paddle_models/ppocr_keys_v1.txt","ime-core/src/main/cpp/CMakeLists.txt","ime-core/src/main/cpp/include/paddle_api.h","ime-core/src/main/cpp/include/paddle_image_preprocess.h","ime-core/src/main/cpp/include/paddle_lite_factory_helper.h","ime-core/src/main/cpp/include/paddle_place.h","ime-core/src/main/cpp/include/paddle_use_kernels.h","ime-core/src/main/cpp/include/paddle_use_ops.h","ime-core/src/main/cpp/include/paddle_use_passes.h","ime-core/src/main/cpp/paddle_lite_jni.cpp","ime-core/src/main/cpp/paddle_ocr_jni.cpp","ime-core/src/main/java/com/haizhan/ime/core/context/ChatContext.kt","ime-core/src/main/java/com/haizhan/ime/core/context/ChatContextProvider.kt","ime-core/src/main/java/com/haizhan/ime/core/context/ContextAnalyzer.kt","ime-core/src/main/java/com/haizhan/ime/core/context/ContextAwareRanker.kt","ime-core/src/main/java/com/haizhan/ime/core/context/WordCategoryClassifier.kt","ime-core/src/main/java/com/haizhan/ime/core/di/ImeCoreModule.kt","ime-core/src/main/java/com/haizhan/ime/core/di/PerformanceModule.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/ImeEngine.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/EnglishKeyHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/HandwritingKeyHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/KeyPressDispatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/KeyPressHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/PinyinKeyHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/SymbolKeyHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/VoiceKeyHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/HaizhanHandwritingApiClient.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/HandwritingKeyboard.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/HandwritingManager.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/HandwritingToolbar.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/HandwritingView.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/IHandwritingRecognizer.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/ModelDownloader.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/PaddleLiteRecognizer.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/RecognitionConfig.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/Stroke.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/StrokeCache.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/StrokePreprocessor.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/StrokeSegmenter.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/TFLiteRecognizer.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/UnifiedRecognitionEngine.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/di/HandwritingModule.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/CandidatesView.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/EnhancedCandidatesView.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/ImeContentLayout.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/ImeLayoutConstants.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/InputModeToolbar.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/KeyboardLayout.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/KeyboardView.kt","ime-core/src/main/java/com/haizhan/ime/core/ocr/IOcrEngine.kt","ime-core/src/main/java/com/haizhan/ime/core/ocr/OcrImageProcessor.kt","ime-core/src/main/java/com/haizhan/ime/core/ocr/OcrModels.kt","ime-core/src/main/java/com/haizhan/ime/core/ocr/PaddleOcrEngine.kt","ime-core/src/main/java/com/haizhan/ime/core/ocr/README.md","ime-core/src/main/java/com/haizhan/ime/core/ocr/di/OcrModule.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/BuiltinDictionary.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/Candidate.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/CloudPinyinService.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/CloudSyncService.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/DictModels.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/DictionaryFileParser.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/DictionaryHotReloader.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/DictionaryImporter.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/DictionaryReloader.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/EnterpriseDictionary.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/FuzzyPinyinConfig.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/HotWordService.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/ImportResult.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/InputPredictor.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/LocalDictionary.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/NgramData.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/NgramModel.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/NineGridMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/PinyinSegmenterImpl.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/PinyinService.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/PinyinServiceImpl.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/PinyinSplitter.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/SmartErrorCorrector.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/SystemDatDictionary.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/UserPreferenceStore.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/cloud/CloudPinyinApiImpl.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/cloud/CloudPinyinModule.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/cloud/ExponentialBackoff.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/converter/ChineseConverter.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/FullPinyinMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/InputMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/InputMatcherManager.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/NineGridMatcherAdapter.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/ShortcutMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/ShuangpinMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/di/MatcherModule.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/MicrosoftScheme.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/NaturalScheme.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/ShuangpinConverter.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/ShuangpinScheme.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/SogouScheme.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/XiaoheScheme.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/stroke/StrokeData.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/stroke/StrokeMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/theme/DesignTokens.kt","ime-core/src/main/java/com/haizhan/ime/core/theme/KeyboardTheme.kt","ime-core/src/main/java/com/haizhan/ime/core/theme/ThemeManager.kt","ime-core/src/main/java/com/haizhan/ime/core/voice/ui/VoicePanel.kt","ime-core/src/main/jniLibs/arm64-v8a/libpaddle_light_api_shared.so","ime-core/src/main/res/drawable/ic_backspace.xml","ime-core/src/main/res/drawable/ic_clear_all.xml","ime-core/src/main/res/drawable/ic_handwriting.xml","ime-core/src/main/res/drawable/ic_keyboard.xml","ime-core/src/test/java/com/haizhan/ime/core/ImeEngineTest.kt","ime-core/src/test/java/com/haizhan/ime/core/benchmark/ImeCorePerformanceTest.kt","ime-core/src/test/java/com/haizhan/ime/core/benchmark/MemoryBenchmarkTest.kt","ime-core/src/test/java/com/haizhan/ime/core/context/ContextAnalyzerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/context/ContextAwareRankerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/context/WordCategoryClassifierTest.kt","ime-core/src/test/java/com/haizhan/ime/core/decoder/UnifiedRankerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/ImeEngineTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/handler/EnglishKeyHandlerExpandedTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/handler/KeyPressDispatcherTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/handler/KeyPressHandlerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/handler/PinyinKeyHandlerExpandedTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/handler/SymbolKeyHandlerExpandedTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/HandwritingManagerAdvancedTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/HandwritingManagerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/PaddleLiteRecognizerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/StrokeCacheTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/StrokePreprocessorTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/TFLiteRecognizerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/keyboard/CandidatesViewTest.kt","ime-core/src/test/java/com/haizhan/ime/core/keyboard/KeyboardLayoutTest.kt","ime-core/src/test/java/com/haizhan/ime/core/keyboard/KeyboardViewTest.kt","ime-core/src/test/java/com/haizhan/ime/core/ocr/OcrImageProcessorTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/CloudPinyinServiceTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/CloudSyncServiceTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/DictionaryFileParserTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/DictionaryImporterTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/DictionaryReloaderTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/EnterpriseDictionaryTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/FuzzyPinyinConfigTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/HotWordServiceTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/InputPredictorTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/LocalDictionaryTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/NgramModelTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/NineGridMatcherTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/PinyinSegmenterTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/PinyinServiceImplTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/PinyinServiceTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/PinyinSplitterTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/SmartErrorCorrectorTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/SystemDatDictionaryTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/UserPreferenceStoreTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/cloud/CloudPinyinApiImplTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/cloud/ExponentialBackoffTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/matcher/FullPinyinMatcherTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/matcher/ShuangpinMatcherTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/shuangpin/ShuangpinSchemeTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/shuangpin/SogouSchemeTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/shuangpin/XiaoheSchemeTest.kt","ime-core/src/test/java/com/haizhan/ime/core/theme/ThemeManagerTest.kt","ios_keyboard/APPSTORE_LISTING.md","ios_keyboard/HaizhanKeyboard/Info.plist","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboard.xcodeproj/project.pbxproj","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboard.xcodeproj/project.xcworkspace/contents.xcworkspacedata","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp.entitlements","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/HaizhanKeyboardApp.entitlements","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/HaizhanKeyboardApp.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Info.plist","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Models/AppSession.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Services/KeyboardStatusService.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Services/ScreenshotResponder.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Views/AccountView.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Views/AppSettingsView.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Views/ContentView.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Views/LoginView.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Views/OnboardingView.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardExtension.entitlements","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardExtension/HaizhanKeyboardExtension.entitlements","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardExtension/Info.plist","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardExtension/KeyboardExtensionStub.swift","ios_keyboard/HaizhanKeyboardApp/Info.plist","ios_keyboard/HaizhanKeyboardApp/Models/AppSession.swift","ios_keyboard/HaizhanKeyboardApp/README.md","ios_keyboard/HaizhanKeyboardApp/Services/KeyboardStatusService.swift","ios_keyboard/HaizhanKeyboardApp/Services/ScreenshotResponder.swift","ios_keyboard/HaizhanKeyboardApp/Views/AccountView.swift","ios_keyboard/HaizhanKeyboardApp/Views/AppSettingsView.swift","ios_keyboard/HaizhanKeyboardApp/Views/ContentView.swift","ios_keyboard/HaizhanKeyboardApp/Views/LoginView.swift","ios_keyboard/HaizhanKeyboardApp/Views/OnboardingView.swift","ios_keyboard/HaizhanKeyboardApp/project.yml","ios_keyboard/HaizhanKeyboardExtension/Info.plist","ios_keyboard/HaizhanKeyboardExtension/KeyboardExtensionStub.swift","ios_keyboard/Package.swift","ios_keyboard/README.md","ios_keyboard/Sources/HaizhanKeyboard/AI/ContactMatcher.swift","ios_keyboard/Sources/HaizhanKeyboard/AI/ReplyService.swift","ios_keyboard/Sources/HaizhanKeyboard/AI/ScreenshotManager.swift","ios_keyboard/Sources/HaizhanKeyboard/Bridge/KMPBridge.swift","ios_keyboard/Sources/HaizhanKeyboard/Engine/KeyboardEngine.swift","ios_keyboard/Sources/HaizhanKeyboard/Engine/PinyinSegmenter.swift","ios_keyboard/Sources/HaizhanKeyboard/KeyboardViewController.swift","ios_keyboard/Sources/HaizhanKeyboard/Network/ApiClient.swift","ios_keyboard/Sources/HaizhanKeyboard/Network/AuthService.swift","ios_keyboard/Sources/HaizhanKeyboard/Storage/AppGroupStore.swift","ios_keyboard/Sources/HaizhanKeyboard/Storage/KeychainStore.swift","ios_keyboard/Sources/HaizhanKeyboard/Theme/ThemeManager.swift","ios_keyboard/Sources/HaizhanKeyboard/Utils/HapticManager.swift","ios_keyboard/Sources/HaizhanKeyboard/ViewModel/KeyboardViewModel.swift","ios_keyboard/Sources/HaizhanKeyboard/Views/AIPanelView.swift","ios_keyboard/Sources/HaizhanKeyboard/Views/KeyboardView.swift","ios_keyboard/Sources/HaizhanKeyboard/Views/NineGridKeyboard.swift","ios_keyboard/Sources/HaizhanKeyboard/Views/SettingsView.swift","ios_keyboard/Tests/HaizhanKeyboardTests/ApiClientTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/AppGroupStoreTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/ContactMatcherTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/HapticManagerTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/KeyboardEngineTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/KeychainStoreTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/PinyinSegmenterTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/ReplyServiceTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/ThemeManagerTests.swift","ios_keyboard/build_kmp_xcframework.sh","openapitools.json","package.json","pnpm-workspace.yaml","scripts/PACKAGE_MANAGER_SUMMARY.md","scripts/check-docs-sync.sh","scripts/download_paddle_ocr_models.sh","scripts/generate-design-tokens.py","scripts/package-manager-migration.md","scripts/pre-commit","server/.dockerignore","server/.env.example","server/.npmrc","server/Makefile","server/README.md","server/ai-service/.dockerignore","server/ai-service/Dockerfile","server/ai-service/jest.config.js","server/ai-service/nest-cli.json","server/ai-service/package.json","server/ai-service/poc-load-test-1770067946237.json","server/ai-service/poc-report-1770067953461.json","server/ai-service/poc-report-1770067953461.md","server/ai-service/poc-report-1771647201192.json","server/ai-service/poc-report-1771647201192.md","server/ai-service/scripts/poc/README.md","server/ai-service/scripts/poc/deploy-models.sh","server/ai-service/scripts/poc/generate-report.ts","server/ai-service/scripts/poc/load-test.ts","server/ai-service/scripts/poc/v1-int8-quality.ts","server/ai-service/scripts/poc/v2-router-accuracy.ts","server/ai-service/scripts/poc/v3-e2e-latency.ts","server/ai-service/scripts/seed-rag.ts","server/ai-service/src/app.module.ts","server/ai-service/src/common/decorators/current-tenant.decorator.ts","server/ai-service/src/common/decorators/public.decorator.ts","server/ai-service/src/common/guards/auth.guard.spec.ts","server/ai-service/src/common/guards/auth.guard.ts","server/ai-service/src/common/redis/index.ts","server/ai-service/src/common/redis/redis.module.ts","server/ai-service/src/common/redis/redis.service.ts","server/ai-service/src/main.ts","server/ai-service/src/modules/ai/ai.controller.ts","server/ai-service/src/modules/ai/ai.module.ts","server/ai-service/src/modules/ai/ai.service.spec.ts","server/ai-service/src/modules/ai/ai.service.ts","server/ai-service/src/modules/ai/dto/generate-reply.dto.ts","server/ai-service/src/modules/ai/legacy-reply.controller.ts","server/ai-service/src/modules/health/health.controller.ts","server/ai-service/src/modules/health/health.module.ts","server/ai-service/src/modules/memory/dto/memory.dto.ts","server/ai-service/src/modules/memory/event.service.spec.ts","server/ai-service/src/modules/memory/event.service.ts","server/ai-service/src/modules/memory/index.ts","server/ai-service/src/modules/memory/memory.controller.ts","server/ai-service/src/modules/memory/memory.module.ts","server/ai-service/src/modules/memory/memory.service.spec.ts","server/ai-service/src/modules/memory/memory.service.ts","server/ai-service/src/modules/memory/profile.service.spec.ts","server/ai-service/src/modules/memory/profile.service.ts","server/ai-service/src/modules/memory/schemas/contact-event.schema.ts","server/ai-service/src/modules/memory/schemas/contact-profile.schema.ts","server/ai-service/src/modules/memory/schemas/conversation-summary.schema.ts","server/ai-service/src/modules/memory/summary.service.spec.ts","server/ai-service/src/modules/memory/summary.service.ts","server/ai-service/src/modules/memory/vector.service.ts","server/ai-service/src/modules/privacy/index.ts","server/ai-service/src/modules/privacy/pii-scrubber.service.ts","server/ai-service/src/modules/privacy/privacy.module.ts","server/ai-service/src/modules/search/agentic/agentic-loop.controller.ts","server/ai-service/src/modules/search/agentic/answer-synthesizer.service.ts","server/ai-service/src/modules/search/agentic/answer-synthesizer.spec.ts","server/ai-service/src/modules/search/agentic/index.ts","server/ai-service/src/modules/search/agentic/query-decomposer.service.ts","server/ai-service/src/modules/search/agentic/query-decomposer.spec.ts","server/ai-service/src/modules/search/agentic/result-evaluator.service.ts","server/ai-service/src/modules/search/agentic/result-evaluator.spec.ts","server/ai-service/src/modules/search/cache/index.ts","server/ai-service/src/modules/search/cache/multi-level-cache.service.ts","server/ai-service/src/modules/search/cache/multi-level-cache.spec.ts","server/ai-service/src/modules/search/config/search.config.ts","server/ai-service/src/modules/search/dto/index.ts","server/ai-service/src/modules/search/dto/search-request.dto.ts","server/ai-service/src/modules/search/dto/search-response.dto.ts","server/ai-service/src/modules/search/experiment/ab-testing.service.ts","server/ai-service/src/modules/search/experiment/experiment.controller.ts","server/ai-service/src/modules/search/experiment/gradual-release.service.ts","server/ai-service/src/modules/search/experiment/index.ts","server/ai-service/src/modules/search/gateway/unified-search-gateway.service.ts","server/ai-service/src/modules/search/gateway/unified-search-gateway.spec.ts","server/ai-service/src/modules/search/index.ts","server/ai-service/src/modules/search/layers/agentic-layer.service.spec.ts","server/ai-service/src/modules/search/layers/agentic-layer.service.ts","server/ai-service/src/modules/search/layers/cache-layer.service.spec.ts","server/ai-service/src/modules/search/layers/cache-layer.service.ts","server/ai-service/src/modules/search/layers/rag-layer.service.spec.ts","server/ai-service/src/modules/search/layers/rag-layer.service.ts","server/ai-service/src/modules/search/monitoring/alert.service.ts","server/ai-service/src/modules/search/monitoring/grafana-dashboard.json","server/ai-service/src/modules/search/monitoring/index.ts","server/ai-service/src/modules/search/monitoring/metrics.service.ts","server/ai-service/src/modules/search/optimization/index.ts","server/ai-service/src/modules/search/optimization/parallel-retriever.service.ts","server/ai-service/src/modules/search/optimization/parallel-retriever.spec.ts","server/ai-service/src/modules/search/router/pure-rule-router.spec.ts","server/ai-service/src/modules/search/router/pure-rule-router.ts","server/ai-service/src/modules/search/router/router.types.ts","server/ai-service/src/modules/search/search.controller.ts","server/ai-service/src/modules/search/search.integration.spec.ts","server/ai-service/src/modules/search/search.module.ts","server/ai-service/src/modules/search/services/elasticsearch.service.ts","server/ai-service/src/modules/search/services/embedding.service.spec.ts","server/ai-service/src/modules/search/services/embedding.service.ts","server/ai-service/src/modules/search/services/index.ts","server/ai-service/src/modules/search/services/llm.service.spec.ts","server/ai-service/src/modules/search/services/llm.service.ts","server/ai-service/src/modules/search/services/milvus.service.ts","server/ai-service/src/modules/search/services/reranker.service.spec.ts","server/ai-service/src/modules/search/services/reranker.service.ts","server/ai-service/src/modules/search/streaming/index.ts","server/ai-service/src/modules/search/streaming/stream-optimizer.service.ts","server/ai-service/src/modules/search/vip/index.ts","server/ai-service/src/modules/search/vip/vip-tier.service.ts","server/ai-service/tsconfig.json","server/api-gateway/.dockerignore","server/api-gateway/Dockerfile","server/api-gateway/logs/.3fa4d5e91883ce1217f62a49f94203b42caa131d-audit.json","server/api-gateway/logs/.92dabeadf9708ae538f84c8892e853b5a8f57f04-audit.json","server/api-gateway/nest-cli.json","server/api-gateway/package.json","server/api-gateway/prisma/README.md","server/api-gateway/prisma/migrations/20260203065715_init/migration.sql","server/api-gateway/prisma/migrations/20260203160000_add_360_view_models/migration.sql","server/api-gateway/prisma/migrations/20260203170000_add_admin_modules/migration.sql","server/api-gateway/prisma/migrations/20260203180000_add_config_and_usage_stats/migration.sql","server/api-gateway/prisma/migrations/20260213000000_add_contact_geo_fields/migration.sql","server/api-gateway/prisma/migrations/20260213100000_expand_prompt_template/migration.sql","server/api-gateway/prisma/migrations/migration_lock.toml","server/api-gateway/prisma/schema.prisma","server/api-gateway/prisma/seed.ts","server/api-gateway/scripts/generate-openapi.ts","server/api-gateway/src/app.module.ts","server/api-gateway/src/common/logger/global-logger.module.ts","server/api-gateway/src/common/logger/global-logger.service.ts","server/api-gateway/src/main.ts","server/api-gateway/src/modules/ai-config/ai-config.controller.ts","server/api-gateway/src/modules/ai-config/ai-config.module.ts","server/api-gateway/src/modules/ai-config/ai-config.service.ts","server/api-gateway/src/modules/ai-config/dto/ai-config.dto.ts","server/api-gateway/src/modules/ai/ai.controller.ts","server/api-gateway/src/modules/ai/ai.module.ts","server/api-gateway/src/modules/ai/ai.service.ts","server/api-gateway/src/modules/audit-logs/audit-logs.controller.ts","server/api-gateway/src/modules/audit-logs/audit-logs.module.ts","server/api-gateway/src/modules/audit-logs/audit-logs.service.ts","server/api-gateway/src/modules/audit-logs/dto/audit-logs.dto.ts","server/api-gateway/src/modules/auth/auth.controller.spec.ts","server/api-gateway/src/modules/auth/auth.controller.ts","server/api-gateway/src/modules/auth/auth.module.ts","server/api-gateway/src/modules/auth/auth.service.spec.ts","server/api-gateway/src/modules/auth/auth.service.ts","server/api-gateway/src/modules/auth/decorators/roles.decorator.ts","server/api-gateway/src/modules/auth/dto/admin-login.dto.ts","server/api-gateway/src/modules/auth/dto/login.dto.ts","server/api-gateway/src/modules/auth/dto/refresh-token.dto.ts","server/api-gateway/src/modules/auth/guards/jwt-auth.guard.ts","server/api-gateway/src/modules/auth/guards/roles.guard.ts","server/api-gateway/src/modules/auth/strategies/jwt.strategy.ts","server/api-gateway/src/modules/contacts/contacts.controller.spec.ts","server/api-gateway/src/modules/contacts/contacts.controller.ts","server/api-gateway/src/modules/contacts/contacts.module.ts","server/api-gateway/src/modules/contacts/contacts.service.spec.ts","server/api-gateway/src/modules/contacts/contacts.service.ts","server/api-gateway/src/modules/contacts/dto/match-contact.dto.ts","server/api-gateway/src/modules/health/health.controller.spec.ts","server/api-gateway/src/modules/health/health.controller.ts","server/api-gateway/src/modules/health/health.module.ts","server/api-gateway/src/modules/knowledge/dto/knowledge-base.dto.ts","server/api-gateway/src/modules/knowledge/dto/search-knowledge.dto.ts","server/api-gateway/src/modules/knowledge/knowledge.controller.spec.ts","server/api-gateway/src/modules/knowledge/knowledge.controller.ts","server/api-gateway/src/modules/knowledge/knowledge.module.ts","server/api-gateway/src/modules/knowledge/knowledge.service.spec.ts","server/api-gateway/src/modules/knowledge/knowledge.service.ts","server/api-gateway/src/modules/mobile-compat/mobile-compat.controller.ts","server/api-gateway/src/modules/mobile-compat/mobile-compat.module.ts","server/api-gateway/src/modules/ocr/ocr.controller.ts","server/api-gateway/src/modules/ocr/ocr.module.ts","server/api-gateway/src/modules/ocr/ocr.service.ts","server/api-gateway/src/modules/pinyin/pinyin.controller.spec.ts","server/api-gateway/src/modules/pinyin/pinyin.controller.ts","server/api-gateway/src/modules/pinyin/pinyin.module.ts","server/api-gateway/src/modules/pinyin/pinyin.service.spec.ts","server/api-gateway/src/modules/pinyin/pinyin.service.ts","server/api-gateway/src/modules/rag/dto/rag.dto.ts","server/api-gateway/src/modules/rag/rag.controller.spec.ts","server/api-gateway/src/modules/rag/rag.controller.ts","server/api-gateway/src/modules/rag/rag.module.ts","server/api-gateway/src/modules/rag/rag.service.runtime.spec.ts","server/api-gateway/src/modules/rag/rag.service.spec.ts","server/api-gateway/src/modules/rag/rag.service.ts","server/api-gateway/src/modules/settings/dto/settings.dto.ts","server/api-gateway/src/modules/settings/settings.controller.spec.ts","server/api-gateway/src/modules/settings/settings.controller.ts","server/api-gateway/src/modules/settings/settings.module.ts","server/api-gateway/src/modules/settings/settings.service.spec.ts","server/api-gateway/src/modules/settings/settings.service.ts","server/api-gateway/src/modules/teams/dto/teams.dto.ts","server/api-gateway/src/modules/teams/teams.controller.spec.ts","server/api-gateway/src/modules/teams/teams.controller.ts","server/api-gateway/src/modules/teams/teams.module.ts","server/api-gateway/src/modules/teams/teams.service.spec.ts","server/api-gateway/src/modules/teams/teams.service.ts","server/api-gateway/src/modules/templates/dto/template.dto.ts","server/api-gateway/src/modules/templates/templates.controller.spec.ts","server/api-gateway/src/modules/templates/templates.controller.ts","server/api-gateway/src/modules/templates/templates.module.ts","server/api-gateway/src/modules/templates/templates.service.spec.ts","server/api-gateway/src/modules/templates/templates.service.ts","server/api-gateway/src/modules/usage/dto/usage.dto.ts","server/api-gateway/src/modules/usage/usage.controller.ts","server/api-gateway/src/modules/usage/usage.module.ts","server/api-gateway/src/modules/usage/usage.service.spec.ts","server/api-gateway/src/modules/usage/usage.service.ts","server/api-gateway/src/modules/users/users.controller.spec.ts","server/api-gateway/src/modules/users/users.controller.ts","server/api-gateway/src/modules/users/users.module.ts","server/api-gateway/src/modules/users/users.service.spec.ts","server/api-gateway/src/modules/users/users.service.ts","server/api-gateway/src/modules/weather/weather.controller.spec.ts","server/api-gateway/src/modules/weather/weather.controller.ts","server/api-gateway/src/modules/weather/weather.module.ts","server/api-gateway/src/modules/weather/weather.service.spec.ts","server/api-gateway/src/modules/weather/weather.service.ts","server/api-gateway/src/shared/prisma/prisma.module.ts","server/api-gateway/src/shared/prisma/prisma.service.ts","server/api-gateway/src/shared/redis/redis.module.ts","server/api-gateway/src/shared/redis/redis.service.ts","server/api-gateway/src/shared/sms/sms.module.ts","server/api-gateway/src/shared/sms/sms.service.spec.ts","server/api-gateway/src/shared/sms/sms.service.ts","server/api-gateway/tsconfig.json","server/docker-compose.override.yml","server/docker-compose.prod.yml","server/docker-compose.yml","server/docker/grafana/provisioning/dashboards/dashboards.yml","server/docker/grafana/provisioning/dashboards/json/api-gateway.json","server/docker/grafana/provisioning/datasources/datasources.yml","server/docker/loki/loki-config.yml","server/docker/mongodb/init.js","server/docker/nginx/conf.d/default.conf","server/docker/nginx/nginx.conf","server/docker/nginx/ssl/.gitkeep","server/docker/nginx/ssl/README.md","server/docker/postgres/init.sql","server/docker/prometheus/alert.rules.yml","server/docker/prometheus/prometheus.yml","server/docker/promtail/promtail-config.yml","server/k8s/vllm/deployment.yaml","server/k8s/vllm/hpa.yaml","server/k8s/vllm/service.yaml","server/model-services/reranker/Dockerfile","server/model-services/reranker/requirements.txt","server/model-services/reranker/reranker_server.py","server/ocr-service/.dockerignore","server/ocr-service/Dockerfile","server/ocr-service/jest.config.js","server/ocr-service/nest-cli.json","server/ocr-service/package.json","server/ocr-service/src/app.module.ts","server/ocr-service/src/main.ts","server/ocr-service/src/modules/health/health.controller.ts","server/ocr-service/src/modules/health/health.module.ts","server/ocr-service/src/modules/ocr/chat-parser.service.spec.ts","server/ocr-service/src/modules/ocr/chat-parser.service.ts","server/ocr-service/src/modules/ocr/dto/chat-screenshot.dto.ts","server/ocr-service/src/modules/ocr/ocr.controller.ts","server/ocr-service/src/modules/ocr/ocr.module.ts","server/ocr-service/src/modules/ocr/ocr.service.spec.ts","server/ocr-service/src/modules/ocr/ocr.service.ts","server/ocr-service/tsconfig.json","server/scripts/backup.sh","server/scripts/check-mobile-api-coverage.js","server/scripts/check-mobile-response-compat.js","server/scripts/deploy.sh","server/scripts/deploy/deploy-infrastructure.sh","server/scripts/deploy/deploy-models.sh","server/scripts/deploy/final-deploy.sh","server/scripts/deploy/stop-models.sh","server/scripts/e2e-smoke.js","server/scripts/health-check.sh","server/scripts/mobile-api-smoke.js","server/scripts/setup-ssl.sh","settings.gradle.kts","shared/README.md","shared/build.gradle.kts","shared/src/androidInstrumentedTest/kotlin/com/haizhan/ime/shared/auth/AndroidTokenStorageTest.kt","shared/src/androidInstrumentedTest/kotlin/com/haizhan/ime/shared/auth/SharedAuthManagerIntegrationTest.kt","shared/src/androidInstrumentedTest/kotlin/com/haizhan/ime/shared/database/DatabaseIntegrationTest.kt","shared/src/androidInstrumentedTest/kotlin/com/haizhan/ime/shared/pinyin/CandidateRankerIntegrationTest.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/BuildConfig.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/Platform.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/auth/AndroidTokenStorage.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/auth/CurrentTime.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/database/DatabaseDriverFactory.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/database/SharedDatabaseKeyManager.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/di/PlatformModule.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/migration/RoomToSqlDelightMigrator.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/platform/Connectivity.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/platform/DeviceInfo.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/platform/DictionaryLoader.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/platform/FileSystem.android.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/Platform.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/analytics/AnalyticsTracker.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/ApiClient.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/AuthApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/ContactApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/DashboardApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/FeedbackApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/KnowledgeApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/MemoryApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/NoteApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/OcrApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/PinyinApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/RagSearchApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/ReplyApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/ScriptApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/SearchApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/SessionApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/SettingsApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/SubscriptionApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/UserApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/WeatherApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/auth/AuthManager.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/auth/AuthModels.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/database/DatabaseDriverFactory.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/database/DatabaseExtensions.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/di/SharedModule.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/matcher/NicknameMatcher.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/ContactModel.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/KnowledgeModel.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/AiDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/ApiResponse.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/AuthDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/ContactDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/DashboardDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/FeedbackDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/KnowledgeDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/MemoryDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/MessageDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/NoteDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/OcrDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/PinyinDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/ProfileDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/RagSearchDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/ReplyDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/ScriptDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/SearchDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/SessionDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/SettingsDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/SubscriptionDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/WeatherDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/Candidate.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/CandidateRanker.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/DictEntry.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/NineGridMatcher.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/PinyinConstants.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/PinyinService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/PinyinSplitter.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/CloudSynergyEngine.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/DoubleArrayTrie.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/DoubleArrayTrieImpl.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/DynamicWeightRanker.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/PinyinDAG.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/ViterbiDecoder.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/platform/Connectivity.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/platform/DeviceInfo.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/platform/DictionaryLoader.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/platform/FileSystem.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/ContactRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/KnowledgeRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/MessageRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/NoteRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/PinyinRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/SearchRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/SettingsRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/UserDictRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/MessageChainMatcher.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/OcrMatchService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/OfflineFallbackService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/ReplyService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/ScriptService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/SessionService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/sync/SyncManager.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/util/FlowExt.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/util/LevenshteinDistance.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/util/LruCache.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/util/StringExt.kt","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Contact.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Knowledge.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Message.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Note.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Search.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Settings.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/UserDict.sq","shared/src/commonMain/sqldelight/migrations/1.sqm","shared/src/commonTest/kotlin/com/haizhan/ime/shared/analytics/AnalyticsTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/api/ApiClientTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/auth/AuthModelsTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/matcher/NicknameMatcherTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/model/ContactModelTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/model/KnowledgeModelTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/network/NetworkClientTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/CandidateRankerTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/CandidateTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/NineGridMatcherTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/PinyinConstantsTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/PinyinSplitterTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/algorithm/CloudSynergyEngineTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/algorithm/DoubleArrayTrieImplTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/algorithm/DynamicWeightRankerTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/algorithm/PinyinDAGTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/algorithm/ViterbiDecoderTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/repository/ContactRepositoryTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/sync/SyncTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/util/LevenshteinDistanceTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/util/PinyinConverterTest.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/Platform.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/auth/CurrentTime.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/auth/IosTokenStorage.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/database/DatabaseDriverFactory.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/di/PlatformModule.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/platform/Connectivity.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/platform/DeviceInfo.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/platform/DictionaryLoader.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/platform/FileSystem.ios.kt","voice/build.gradle.kts","voice/consumer-rules.pro","voice/proguard-rules.pro","voice/src/androidTest/java/com/haizhan/ime/voice/integration/VoiceModuleIntegrationTest.kt","voice/src/androidTest/java/com/haizhan/ime/voice/integration/WakeWordServiceIntegrationTest.kt","voice/src/main/AndroidManifest.xml","voice/src/main/java/com/haizhan/ime/voice/api/AudioPipeline.kt","voice/src/main/java/com/haizhan/ime/voice/api/SpeechRecognitionService.kt","voice/src/main/java/com/haizhan/ime/voice/api/VoiceCoordinator.kt","voice/src/main/java/com/haizhan/ime/voice/api/VoiceErrors.kt","voice/src/main/java/com/haizhan/ime/voice/api/VoiceTypes.kt","voice/src/main/java/com/haizhan/ime/voice/api/WakeWordConfigManager.kt","voice/src/main/java/com/haizhan/ime/voice/api/WakeWordDetectionService.kt","voice/src/main/java/com/haizhan/ime/voice/audio/AudioPipelineImpl.kt","voice/src/main/java/com/haizhan/ime/voice/audio/di/AudioModule.kt","voice/src/main/java/com/haizhan/ime/voice/coordinator/VoiceCoordinatorImpl.kt","voice/src/main/java/com/haizhan/ime/voice/coordinator/di/CoordinatorModule.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/DenoiseAudioConsumer.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/DenoiseManager.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/MusicAwareAEC.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/NoiseEstimator.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/SpectralSubtractor.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/VoiceActivityDetector.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/di/DenoiseModule.kt","voice/src/main/java/com/haizhan/ime/voice/di/VoiceModule.kt","voice/src/main/java/com/haizhan/ime/voice/engine/VoiceInputEngine.kt","voice/src/main/java/com/haizhan/ime/voice/model/MultiModelManager.kt","voice/src/main/java/com/haizhan/ime/voice/model/VoiceModelManager.kt","voice/src/main/java/com/haizhan/ime/voice/monitoring/VoicePerformanceMonitor.kt","voice/src/main/java/com/haizhan/ime/voice/monitoring/di/MonitoringModule.kt","voice/src/main/java/com/haizhan/ime/voice/recognition/AudioDiagnostics.kt","voice/src/main/java/com/haizhan/ime/voice/recognition/SpeechRecognitionServiceImpl.kt","voice/src/main/java/com/haizhan/ime/voice/recognition/VoskGrammarBuilder.kt","voice/src/main/java/com/haizhan/ime/voice/recognition/VoskRecognizer.kt","voice/src/main/java/com/haizhan/ime/voice/recognition/di/SpeechModule.kt","voice/src/main/java/com/haizhan/ime/voice/ui/VoiceUiTypes.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/WakeWordDetectionServiceImpl.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/analytics/WakeWordAnalytics.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/config/WakeWordConfigManagerImpl.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/config/di/ConfigModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/confirmation/WakeWordConfirmation.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/detector/IWakeWordDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/detector/VoskWakeWordDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/di/ConfirmationModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/di/MatcherModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/di/ParserModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/di/RepositoryModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/di/WakeWordModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/filter/FalseWakeFilter.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/matcher/PinyinData.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/matcher/PinyinMatcher.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/matcher/TrieWordMatcher.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/parser/WakeWordCommandParser.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/EnergyPatternMatcher.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/PitchExtractor.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/QuickWakeDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/SingingModeDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/SpectralAnalyzer.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/SyllableDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/VibratoDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/VoiceCharacteristicAnalyzer.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/VoiceProfileAnalyzer.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/di/PredetectModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/repository/WakeWordRepository.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/sensitivity/AdaptiveSensitivity.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/service/WakeWordService.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/util/PinyinUtils.kt","voice/src/test/java/com/haizhan/ime/voice/api/HotwordConfigTest.kt","voice/src/test/java/com/haizhan/ime/voice/audio/AudioPipelineImplTest.kt","voice/src/test/java/com/haizhan/ime/voice/coordinator/VoiceCoordinatorImplTest.kt","voice/src/test/java/com/haizhan/ime/voice/denoise/DenoiseManagerTest.kt","voice/src/test/java/com/haizhan/ime/voice/denoise/MusicAwareAECTest.kt","voice/src/test/java/com/haizhan/ime/voice/denoise/SpectralSubtractorTest.kt","voice/src/test/java/com/haizhan/ime/voice/denoise/VoiceActivityDetectorTest.kt.bak","voice/src/test/java/com/haizhan/ime/voice/model/MultiModelManagerTest.kt","voice/src/test/java/com/haizhan/ime/voice/monitoring/VoicePerformanceMonitorTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/config/WakeWordConfigManagerTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/confirmation/WakeWordConfirmationTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/filter/FalseWakeFilterTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/matcher/PinyinDataTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/matcher/PinyinMatcherTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/matcher/TrieWordMatcherTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/parser/WakeWordCommandParserTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/QuickWakeDetectorTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/SingingModeDetectorTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/SyllableDetectorTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/VibratoDetectorTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/VoiceCharacteristicAnalyzerTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/VoiceProfileAnalyzerTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/repository/WakeWordRepositorySerializationTest.kt"],"removed":[],"modified":[]}],"total_commits":0,"head_commit":{"id":"893022bfd17ce1f2e75e75651551cf8ceaacfe45","message":"feat: 嗨赞AI输入法Android版初始提交\n","url":"https://gitea.g-hi.com/luoanwu/haizhan-ime-android/commit/893022bfd17ce1f2e75e75651551cf8ceaacfe45","author":{"name":"luoanwu","email":"law@g-hi.com","username":"luoanwu"},"committer":{"name":"luoanwu","email":"law@g-hi.com","username":"luoanwu"},"verification":null,"timestamp":"2026-02-27T15:28:58+08:00","added":[".claude/skills/haizhan-ime-development.md",".claude/worktrees/charming-zhukovsky",".editorconfig",".github/workflows/ci.yml",".github/workflows/frontend-backend-ci.yml",".github/workflows/ios-ci.yml",".github/workflows/performance-check.yml",".github/workflows/pr-check.yml",".github/workflows/release.yml",".gitignore",".npmrc","CHANGELOG.md","CLAUDE.md","MIGRATION_COMPLETE_REPORT.md","README.md","admin-web/.env.development","admin-web/.eslintrc.cjs","admin-web/.gitignore","admin-web/.npmrc","admin-web/README.md","admin-web/e2e/all-pages.spec.ts","admin-web/e2e/crud-tests.spec.ts","admin-web/e2e/dashboard.spec.ts","admin-web/e2e/interactive-click.spec.ts","admin-web/e2e/login.spec.ts","admin-web/e2e/templates.spec.ts","admin-web/index.html","admin-web/package.json","admin-web/playwright.config.ts","admin-web/postcss.config.js","admin-web/public/favicon.svg","admin-web/src/App.vue","admin-web/src/api/ai-config.ts","admin-web/src/api/audit.ts","admin-web/src/api/auth.ts","admin-web/src/api/contact.ts","admin-web/src/api/knowledge.ts","admin-web/src/api/rag.ts","admin-web/src/api/settings.ts","admin-web/src/api/team.ts","admin-web/src/api/template.ts","admin-web/src/api/usage.ts","admin-web/src/api/user.ts","admin-web/src/assets/logo.svg","admin-web/src/components/UserCard.vue","admin-web/src/components/index.ts","admin-web/src/composables/usePermission.ts","admin-web/src/composables/useResponsive.ts","admin-web/src/composables/useTable.ts","admin-web/src/directives/index.ts","admin-web/src/directives/permission.ts","admin-web/src/env.d.ts","admin-web/src/layouts/MainLayout.vue","admin-web/src/layouts/components/HeaderBar.vue","admin-web/src/layouts/components/MobileDrawer.vue","admin-web/src/layouts/components/SidebarMenu.vue","admin-web/src/main.ts","admin-web/src/router/index.ts","admin-web/src/stores/app.ts","admin-web/src/stores/user.ts","admin-web/src/styles/index.scss","admin-web/src/styles/variables.scss","admin-web/src/types/ai-config.ts","admin-web/src/types/api.ts","admin-web/src/types/audit.ts","admin-web/src/types/contact.ts","admin-web/src/types/knowledge.ts","admin-web/src/types/permission.ts","admin-web/src/types/rag.ts","admin-web/src/types/settings.ts","admin-web/src/types/team.ts","admin-web/src/types/template.ts","admin-web/src/types/usage.ts","admin-web/src/types/user.ts","admin-web/src/utils/request.ts","admin-web/src/views/ai-config/index.vue","admin-web/src/views/audit/index.vue","admin-web/src/views/contacts/index.vue","admin-web/src/views/contacts/profile.vue","admin-web/src/views/dashboard/index.vue","admin-web/src/views/error/403.vue","admin-web/src/views/error/404.vue","admin-web/src/views/knowledge/index.vue","admin-web/src/views/login/index.vue","admin-web/src/views/profile/index.vue","admin-web/src/views/rag/index.vue","admin-web/src/views/settings/index.vue","admin-web/src/views/teams/index.vue","admin-web/src/views/templates/index.vue","admin-web/src/views/usage/index.vue","admin-web/src/views/users/index.vue","admin-web/tailwind.config.js","admin-web/test-results/.last-run.json","admin-web/tsconfig.app.json","admin-web/tsconfig.json","admin-web/tsconfig.node.json","admin-web/vite.config.d.ts","admin-web/vite.config.js","admin-web/vite.config.ts","ai-panel/build.gradle.kts","ai-panel/consumer-rules.pro","ai-panel/proguard-rules.pro","ai-panel/src/main/AndroidManifest.xml","ai-panel/src/main/java/com/haizhan/ime/panel/AiPanelManager.kt","ai-panel/src/main/java/com/haizhan/ime/panel/AiPanelModels.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/AgenticDecisionEngine.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/AgenticRouter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/AgenticTypes.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/CostController.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/HybridSearchExecutor.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/di/AgenticModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/AvatarMatcher.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/ContactCache.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/ContactContextPreloader.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/ContactIndexes.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/ContactMatcher.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/ContactMatcherData.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/EnhancedContactMatcher.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/MatchedContact.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/NicknameMatcher.kt","ai-panel/src/main/java/com/haizhan/ime/panel/context/InputContextCollector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/context/UnifiedContextManager.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/AiPanelModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/ContactModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/ContextModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/OcrModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/ReplyModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/ScreenshotModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/knowledge/KnowledgeService.kt","ai-panel/src/main/java/com/haizhan/ime/panel/memory/ContactMemoryModels.kt","ai-panel/src/main/java/com/haizhan/ime/panel/memory/ContactMemoryService.kt","ai-panel/src/main/java/com/haizhan/ime/panel/memory/MemoryDtoMapper.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/EnhancedSenderDetector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/MessageParser.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/OcrReliabilityScore.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/OcrService.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/TitleBarParser.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/ChatMessageAdapter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/DingTalkMessageAdapter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/FeishuMessageAdapter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/MessageAdapterFactory.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/WeChatMessageAdapter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/WeWorkMessageAdapter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/BatteryAwareManager.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/ClipboardHelper.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/FrequencyController.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/RagReplyGenerator.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/ReplyGenerator.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/ReplyStyle.kt","ai-panel/src/main/java/com/haizhan/ime/panel/screenshot/RegionDetector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/screenshot/ScreenshotManager.kt","ai-panel/src/main/java/com/haizhan/ime/panel/service/ScreenshotForegroundService.kt","ai-panel/src/main/java/com/haizhan/ime/panel/trigger/AppDetector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/trigger/TriggerDetector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/AIPanelScreen.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/AiPanelTheme.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/Contact360View.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/ContactCard.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/ContactSelector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/EmotionBadge.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/FunctionTabBar.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/IntentBadge.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/KnowledgeCard.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/KnowledgePanel.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/QuickReplyPanel.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/ReplyCard.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/ContactComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/HistoryComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/KnowledgeComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/NoteComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/OcrComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/PanelCommon.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/ReplyComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/TeamComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/AiReplyTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/ContactsTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/HistoryTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/KnowledgeTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/NoteTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/OcrTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/TeamTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/weather/WeatherService.kt","ai-panel/src/main/res/drawable/ic_ai_reply.xml","ai-panel/src/main/res/drawable/ic_capture.xml","ai-panel/src/main/res/drawable/ic_contacts.xml","ai-panel/src/main/res/drawable/ic_knowledge.xml","ai-panel/src/main/res/drawable/ic_ocr.xml","ai-panel/src/main/res/drawable/ic_refresh.xml","ai-panel/src/main/res/drawable/ic_screenshot.xml","ai-panel/src/main/res/drawable/ic_stop.xml","ai-panel/src/test/java/com/haizhan/ime/panel/AiPanelManagerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/agentic/AgenticDecisionEngineTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/agentic/AgenticRouterTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/agentic/AgenticTypesTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/agentic/CostControllerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/agentic/ResultQualityEvaluatorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactCacheTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactContextPreloaderTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactIndexPerformanceTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactIndexesTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactMatcherTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactMemoryServiceTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/MatchedContactTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/NicknameMatcherTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/context/InputContextCollectorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/context/UnifiedContextManagerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/knowledge/KnowledgeServiceTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ocr/EnhancedSenderDetectorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ocr/MessageParserTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ocr/OcrReliabilityScoreTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ocr/OcrServiceTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ocr/TitleBarParserTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/platform/DingTalkAdapterTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/platform/FeishuAdapterTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/platform/WeChatAdapterTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/platform/WeWorkAdapterTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/BatteryAwareManagerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/ClipboardHelperTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/FrequencyControllerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/RagReplyGeneratorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/ReplyGeneratorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/ReplyStyleTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/screenshot/RegionDetectorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/screenshot/ScreenshotManagerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/trigger/AppDetectorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/trigger/TriggerDetectorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ui/AIPanelScreenTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ui/ReplyCardTest.kt","api-clients/android/.openapi-generator-ignore","api-clients/android/.openapi-generator/FILES","api-clients/android/.openapi-generator/VERSION","api-clients/android/README.md","api-clients/android/build.gradle","api-clients/android/docs/AdminLoginDto.md","api-clients/android/docs/AiConfigApi.md","api-clients/android/docs/AuditLogsApi.md","api-clients/android/docs/AuthApi.md","api-clients/android/docs/BatchRemoveContactsDto.md","api-clients/android/docs/ChunkingConfigDto.md","api-clients/android/docs/Contact360ResponseDto.md","api-clients/android/docs/Contact360ViewDto.md","api-clients/android/docs/ContactDetailResponseDto.md","api-clients/android/docs/ContactDto.md","api-clients/android/docs/ContactEventDto.md","api-clients/android/docs/ContactListResponseDto.md","api-clients/android/docs/ContactProfileDto.md","api-clients/android/docs/ContactStatsDto.md","api-clients/android/docs/ContactTagDto.md","api-clients/android/docs/ContactsApi.md","api-clients/android/docs/ConversationSummaryDto.md","api-clients/android/docs/CreateContactDto.md","api-clients/android/docs/CreateContactEventDto.md","api-clients/android/docs/CreateKnowledgeBaseDto.md","api-clients/android/docs/CreateKnowledgeDocumentDto.md","api-clients/android/docs/CreateQwenModelDto.md","api-clients/android/docs/DefaultApi.md","api-clients/android/docs/EmbeddingConfigDto.md","api-clients/android/docs/EmbeddingModelDto.md","api-clients/android/docs/GenerationConfigDto.md","api-clients/android/docs/HealthApi.md","api-clients/android/docs/KnowledgeApi.md","api-clients/android/docs/KnowledgeBaseResponseDto.md","api-clients/android/docs/KnowledgeDocumentListResponseDto.md","api-clients/android/docs/KnowledgeDocumentResponseDto.md","api-clients/android/docs/LoginDto.md","api-clients/android/docs/MatchContactDto.md","api-clients/android/docs/MatchContactResponseDto.md","api-clients/android/docs/MobileCompatApi.md","api-clients/android/docs/PinyinApi.md","api-clients/android/docs/PipelineHealthDto.md","api-clients/android/docs/PipelineMetricsDto.md","api-clients/android/docs/PreviewChunkingDto.md","api-clients/android/docs/QwenModelConfigDto.md","api-clients/android/docs/QwenModelFeaturesDto.md","api-clients/android/docs/RagApi.md","api-clients/android/docs/RagConfigDto.md","api-clients/android/docs/RagMetricsDto.md","api-clients/android/docs/RagPipelineStatusDto.md","api-clients/android/docs/RagQueryDto.md","api-clients/android/docs/RebuildIndexDto.md","api-clients/android/docs/RefreshTokenDto.md","api-clients/android/docs/RetrievalConfigDto.md","api-clients/android/docs/SettingsApi.md","api-clients/android/docs/SyncContactsDto.md","api-clients/android/docs/SyncContactsResponseDto.md","api-clients/android/docs/TeamsApi.md","api-clients/android/docs/ToggleQwenModelDto.md","api-clients/android/docs/UpdateContactDto.md","api-clients/android/docs/UpdateKnowledgeBaseDto.md","api-clients/android/docs/UpdateKnowledgeDocumentDto.md","api-clients/android/docs/UpdateQwenModelDto.md","api-clients/android/docs/UpdateRagConfigDto.md","api-clients/android/docs/UsageApi.md","api-clients/android/docs/WeatherApi.md","api-clients/android/gradle/wrapper/gradle-wrapper.jar","api-clients/android/gradle/wrapper/gradle-wrapper.properties","api-clients/android/gradlew","api-clients/android/gradlew.bat","api-clients/android/settings.gradle","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/AiConfigApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/AuditLogsApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/AuthApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/ContactsApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/DefaultApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/HealthApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/KnowledgeApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/MobileCompatApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/PinyinApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/RagApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/SettingsApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/TeamsApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/UsageApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/WeatherApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/auth/HttpBearerAuth.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/ApiClient.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/BigDecimalAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/BigIntegerAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/ByteArrayAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/CollectionFormats.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/LocalDateAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/LocalDateTimeAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/OffsetDateTimeAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/ResponseExt.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/Serializer.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/URIAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/UUIDAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/AdminLoginDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/BatchRemoveContactsDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ChunkingConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/Contact360ResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/Contact360ViewDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactDetailResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactEventDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactListResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactProfileDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactStatsDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactTagDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ConversationSummaryDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/CreateContactDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/CreateContactEventDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/CreateKnowledgeBaseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/CreateKnowledgeDocumentDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/CreateQwenModelDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/EmbeddingConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/EmbeddingModelDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/GenerationConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/KnowledgeBaseResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/KnowledgeDocumentListResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/KnowledgeDocumentResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/LoginDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/MatchContactDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/MatchContactResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/PipelineHealthDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/PipelineMetricsDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/PreviewChunkingDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/QwenModelConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/QwenModelFeaturesDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RagConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RagMetricsDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RagPipelineStatusDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RagQueryDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RebuildIndexDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RefreshTokenDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RetrievalConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/SyncContactsDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/SyncContactsResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ToggleQwenModelDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/UpdateContactDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/UpdateKnowledgeBaseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/UpdateKnowledgeDocumentDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/UpdateQwenModelDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/UpdateRagConfigDto.kt","api-clients/flutter/.gitignore","api-clients/flutter/.openapi-generator-ignore","api-clients/flutter/.openapi-generator/FILES","api-clients/flutter/.openapi-generator/VERSION","api-clients/flutter/README.md","api-clients/flutter/analysis_options.yaml","api-clients/flutter/doc/AdminLoginDto.md","api-clients/flutter/doc/AiConfigApi.md","api-clients/flutter/doc/AuditLogsApi.md","api-clients/flutter/doc/AuthApi.md","api-clients/flutter/doc/BatchRemoveContactsDto.md","api-clients/flutter/doc/ChunkingConfigDto.md","api-clients/flutter/doc/Contact360ResponseDto.md","api-clients/flutter/doc/Contact360ViewDto.md","api-clients/flutter/doc/ContactDetailResponseDto.md","api-clients/flutter/doc/ContactDto.md","api-clients/flutter/doc/ContactEventDto.md","api-clients/flutter/doc/ContactListResponseDto.md","api-clients/flutter/doc/ContactProfileDto.md","api-clients/flutter/doc/ContactStatsDto.md","api-clients/flutter/doc/ContactTagDto.md","api-clients/flutter/doc/ContactsApi.md","api-clients/flutter/doc/ConversationSummaryDto.md","api-clients/flutter/doc/CreateContactDto.md","api-clients/flutter/doc/CreateContactEventDto.md","api-clients/flutter/doc/CreateKnowledgeBaseDto.md","api-clients/flutter/doc/CreateKnowledgeDocumentDto.md","api-clients/flutter/doc/CreateQwenModelDto.md","api-clients/flutter/doc/DefaultApi.md","api-clients/flutter/doc/EmbeddingConfigDto.md","api-clients/flutter/doc/EmbeddingModelDto.md","api-clients/flutter/doc/GenerationConfigDto.md","api-clients/flutter/doc/HealthApi.md","api-clients/flutter/doc/KnowledgeApi.md","api-clients/flutter/doc/KnowledgeBaseResponseDto.md","api-clients/flutter/doc/KnowledgeDocumentListResponseDto.md","api-clients/flutter/doc/KnowledgeDocumentResponseDto.md","api-clients/flutter/doc/LoginDto.md","api-clients/flutter/doc/MatchContactDto.md","api-clients/flutter/doc/MatchContactResponseDto.md","api-clients/flutter/doc/MobileCompatApi.md","api-clients/flutter/doc/PinyinApi.md","api-clients/flutter/doc/PipelineHealthDto.md","api-clients/flutter/doc/PipelineMetricsDto.md","api-clients/flutter/doc/PreviewChunkingDto.md","api-clients/flutter/doc/QwenModelConfigDto.md","api-clients/flutter/doc/QwenModelFeaturesDto.md","api-clients/flutter/doc/RagApi.md","api-clients/flutter/doc/RagConfigDto.md","api-clients/flutter/doc/RagMetricsDto.md","api-clients/flutter/doc/RagPipelineStatusDto.md","api-clients/flutter/doc/RagQueryDto.md","api-clients/flutter/doc/RebuildIndexDto.md","api-clients/flutter/doc/RefreshTokenDto.md","api-clients/flutter/doc/RetrievalConfigDto.md","api-clients/flutter/doc/SettingsApi.md","api-clients/flutter/doc/SyncContactsDto.md","api-clients/flutter/doc/SyncContactsResponseDto.md","api-clients/flutter/doc/TeamsApi.md","api-clients/flutter/doc/ToggleQwenModelDto.md","api-clients/flutter/doc/UpdateContactDto.md","api-clients/flutter/doc/UpdateKnowledgeBaseDto.md","api-clients/flutter/doc/UpdateKnowledgeDocumentDto.md","api-clients/flutter/doc/UpdateQwenModelDto.md","api-clients/flutter/doc/UpdateRagConfigDto.md","api-clients/flutter/doc/UsageApi.md","api-clients/flutter/doc/WeatherApi.md","api-clients/flutter/lib/haizhan_api.dart","api-clients/flutter/lib/src/api.dart","api-clients/flutter/lib/src/api/ai_config_api.dart","api-clients/flutter/lib/src/api/audit_logs_api.dart","api-clients/flutter/lib/src/api/auth_api.dart","api-clients/flutter/lib/src/api/contacts_api.dart","api-clients/flutter/lib/src/api/default_api.dart","api-clients/flutter/lib/src/api/health_api.dart","api-clients/flutter/lib/src/api/knowledge_api.dart","api-clients/flutter/lib/src/api/mobile_compat_api.dart","api-clients/flutter/lib/src/api/pinyin_api.dart","api-clients/flutter/lib/src/api/rag_api.dart","api-clients/flutter/lib/src/api/settings_api.dart","api-clients/flutter/lib/src/api/teams_api.dart","api-clients/flutter/lib/src/api/usage_api.dart","api-clients/flutter/lib/src/api/weather_api.dart","api-clients/flutter/lib/src/api_util.dart","api-clients/flutter/lib/src/auth/api_key_auth.dart","api-clients/flutter/lib/src/auth/auth.dart","api-clients/flutter/lib/src/auth/basic_auth.dart","api-clients/flutter/lib/src/auth/bearer_auth.dart","api-clients/flutter/lib/src/auth/oauth.dart","api-clients/flutter/lib/src/date_serializer.dart","api-clients/flutter/lib/src/model/admin_login_dto.dart","api-clients/flutter/lib/src/model/batch_remove_contacts_dto.dart","api-clients/flutter/lib/src/model/chunking_config_dto.dart","api-clients/flutter/lib/src/model/contact360_response_dto.dart","api-clients/flutter/lib/src/model/contact360_view_dto.dart","api-clients/flutter/lib/src/model/contact_detail_response_dto.dart","api-clients/flutter/lib/src/model/contact_dto.dart","api-clients/flutter/lib/src/model/contact_event_dto.dart","api-clients/flutter/lib/src/model/contact_list_response_dto.dart","api-clients/flutter/lib/src/model/contact_profile_dto.dart","api-clients/flutter/lib/src/model/contact_stats_dto.dart","api-clients/flutter/lib/src/model/contact_tag_dto.dart","api-clients/flutter/lib/src/model/conversation_summary_dto.dart","api-clients/flutter/lib/src/model/create_contact_dto.dart","api-clients/flutter/lib/src/model/create_contact_event_dto.dart","api-clients/flutter/lib/src/model/create_knowledge_base_dto.dart","api-clients/flutter/lib/src/model/create_knowledge_document_dto.dart","api-clients/flutter/lib/src/model/create_qwen_model_dto.dart","api-clients/flutter/lib/src/model/date.dart","api-clients/flutter/lib/src/model/embedding_config_dto.dart","api-clients/flutter/lib/src/model/embedding_model_dto.dart","api-clients/flutter/lib/src/model/generation_config_dto.dart","api-clients/flutter/lib/src/model/knowledge_base_response_dto.dart","api-clients/flutter/lib/src/model/knowledge_document_list_response_dto.dart","api-clients/flutter/lib/src/model/knowledge_document_response_dto.dart","api-clients/flutter/lib/src/model/login_dto.dart","api-clients/flutter/lib/src/model/match_contact_dto.dart","api-clients/flutter/lib/src/model/match_contact_response_dto.dart","api-clients/flutter/lib/src/model/pipeline_health_dto.dart","api-clients/flutter/lib/src/model/pipeline_metrics_dto.dart","api-clients/flutter/lib/src/model/preview_chunking_dto.dart","api-clients/flutter/lib/src/model/qwen_model_config_dto.dart","api-clients/flutter/lib/src/model/qwen_model_features_dto.dart","api-clients/flutter/lib/src/model/rag_config_dto.dart","api-clients/flutter/lib/src/model/rag_metrics_dto.dart","api-clients/flutter/lib/src/model/rag_pipeline_status_dto.dart","api-clients/flutter/lib/src/model/rag_query_dto.dart","api-clients/flutter/lib/src/model/rebuild_index_dto.dart","api-clients/flutter/lib/src/model/refresh_token_dto.dart","api-clients/flutter/lib/src/model/retrieval_config_dto.dart","api-clients/flutter/lib/src/model/sync_contacts_dto.dart","api-clients/flutter/lib/src/model/sync_contacts_response_dto.dart","api-clients/flutter/lib/src/model/toggle_qwen_model_dto.dart","api-clients/flutter/lib/src/model/update_contact_dto.dart","api-clients/flutter/lib/src/model/update_knowledge_base_dto.dart","api-clients/flutter/lib/src/model/update_knowledge_document_dto.dart","api-clients/flutter/lib/src/model/update_qwen_model_dto.dart","api-clients/flutter/lib/src/model/update_rag_config_dto.dart","api-clients/flutter/lib/src/serializers.dart","api-clients/flutter/pubspec.yaml","api-clients/flutter/test/admin_login_dto_test.dart","api-clients/flutter/test/ai_config_api_test.dart","api-clients/flutter/test/audit_logs_api_test.dart","api-clients/flutter/test/auth_api_test.dart","api-clients/flutter/test/batch_remove_contacts_dto_test.dart","api-clients/flutter/test/chunking_config_dto_test.dart","api-clients/flutter/test/contact360_response_dto_test.dart","api-clients/flutter/test/contact360_view_dto_test.dart","api-clients/flutter/test/contact_detail_response_dto_test.dart","api-clients/flutter/test/contact_dto_test.dart","api-clients/flutter/test/contact_event_dto_test.dart","api-clients/flutter/test/contact_list_response_dto_test.dart","api-clients/flutter/test/contact_profile_dto_test.dart","api-clients/flutter/test/contact_stats_dto_test.dart","api-clients/flutter/test/contact_tag_dto_test.dart","api-clients/flutter/test/contacts_api_test.dart","api-clients/flutter/test/conversation_summary_dto_test.dart","api-clients/flutter/test/create_contact_dto_test.dart","api-clients/flutter/test/create_contact_event_dto_test.dart","api-clients/flutter/test/create_knowledge_base_dto_test.dart","api-clients/flutter/test/create_knowledge_document_dto_test.dart","api-clients/flutter/test/create_qwen_model_dto_test.dart","api-clients/flutter/test/default_api_test.dart","api-clients/flutter/test/embedding_config_dto_test.dart","api-clients/flutter/test/embedding_model_dto_test.dart","api-clients/flutter/test/generation_config_dto_test.dart","api-clients/flutter/test/health_api_test.dart","api-clients/flutter/test/knowledge_api_test.dart","api-clients/flutter/test/knowledge_base_response_dto_test.dart","api-clients/flutter/test/knowledge_document_list_response_dto_test.dart","api-clients/flutter/test/knowledge_document_response_dto_test.dart","api-clients/flutter/test/login_dto_test.dart","api-clients/flutter/test/match_contact_dto_test.dart","api-clients/flutter/test/match_contact_response_dto_test.dart","api-clients/flutter/test/mobile_compat_api_test.dart","api-clients/flutter/test/pinyin_api_test.dart","api-clients/flutter/test/pipeline_health_dto_test.dart","api-clients/flutter/test/pipeline_metrics_dto_test.dart","api-clients/flutter/test/preview_chunking_dto_test.dart","api-clients/flutter/test/qwen_model_config_dto_test.dart","api-clients/flutter/test/qwen_model_features_dto_test.dart","api-clients/flutter/test/rag_api_test.dart","api-clients/flutter/test/rag_config_dto_test.dart","api-clients/flutter/test/rag_metrics_dto_test.dart","api-clients/flutter/test/rag_pipeline_status_dto_test.dart","api-clients/flutter/test/rag_query_dto_test.dart","api-clients/flutter/test/rebuild_index_dto_test.dart","api-clients/flutter/test/refresh_token_dto_test.dart","api-clients/flutter/test/retrieval_config_dto_test.dart","api-clients/flutter/test/settings_api_test.dart","api-clients/flutter/test/sync_contacts_dto_test.dart","api-clients/flutter/test/sync_contacts_response_dto_test.dart","api-clients/flutter/test/teams_api_test.dart","api-clients/flutter/test/toggle_qwen_model_dto_test.dart","api-clients/flutter/test/update_contact_dto_test.dart","api-clients/flutter/test/update_knowledge_base_dto_test.dart","api-clients/flutter/test/update_knowledge_document_dto_test.dart","api-clients/flutter/test/update_qwen_model_dto_test.dart","api-clients/flutter/test/update_rag_config_dto_test.dart","api-clients/flutter/test/usage_api_test.dart","api-clients/flutter/test/weather_api_test.dart","api-clients/ios/.gitignore","api-clients/ios/.openapi-generator-ignore","api-clients/ios/.openapi-generator/FILES","api-clients/ios/.openapi-generator/VERSION","api-clients/ios/.swiftformat","api-clients/ios/Cartfile","api-clients/ios/HaizhanAPI.podspec","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIHelper.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/AiConfigAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/AuditLogsAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/AuthAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/ContactsAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/DefaultAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/HealthAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/KnowledgeAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/MobileCompatAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/PinyinAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/RagAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/SettingsAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/TeamsAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/UsageAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/WeatherAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/CodableHelper.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Configuration.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Extensions.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/JSONDataEncoding.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/JSONEncodingHelper.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/AdminLoginDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/BatchRemoveContactsDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ChunkingConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/Contact360ResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/Contact360ViewDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactDetailResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactEventDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactListResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactProfileDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactStatsDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactTagDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ConversationSummaryDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/CreateContactDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/CreateContactEventDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/CreateKnowledgeBaseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/CreateKnowledgeDocumentDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/CreateQwenModelDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/EmbeddingConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/EmbeddingModelDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/GenerationConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/KnowledgeBaseResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/KnowledgeDocumentListResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/KnowledgeDocumentResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/LoginDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/MatchContactDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/MatchContactResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/PipelineHealthDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/PipelineMetricsDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/PreviewChunkingDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/QwenModelConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/QwenModelFeaturesDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RagConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RagMetricsDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RagPipelineStatusDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RagQueryDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RebuildIndexDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RefreshTokenDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RetrievalConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/SyncContactsDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/SyncContactsResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ToggleQwenModelDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/UpdateContactDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/UpdateKnowledgeBaseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/UpdateKnowledgeDocumentDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/UpdateQwenModelDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/UpdateRagConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/OpenISO8601DateFormatter.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/SynchronizedDictionary.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/URLSessionImplementations.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Validation.swift","api-clients/ios/Package.swift","api-clients/ios/README.md","api-clients/ios/docs/AdminLoginDto.md","api-clients/ios/docs/AiConfigAPI.md","api-clients/ios/docs/AuditLogsAPI.md","api-clients/ios/docs/AuthAPI.md","api-clients/ios/docs/BatchRemoveContactsDto.md","api-clients/ios/docs/ChunkingConfigDto.md","api-clients/ios/docs/Contact360ResponseDto.md","api-clients/ios/docs/Contact360ViewDto.md","api-clients/ios/docs/ContactDetailResponseDto.md","api-clients/ios/docs/ContactDto.md","api-clients/ios/docs/ContactEventDto.md","api-clients/ios/docs/ContactListResponseDto.md","api-clients/ios/docs/ContactProfileDto.md","api-clients/ios/docs/ContactStatsDto.md","api-clients/ios/docs/ContactTagDto.md","api-clients/ios/docs/ContactsAPI.md","api-clients/ios/docs/ConversationSummaryDto.md","api-clients/ios/docs/CreateContactDto.md","api-clients/ios/docs/CreateContactEventDto.md","api-clients/ios/docs/CreateKnowledgeBaseDto.md","api-clients/ios/docs/CreateKnowledgeDocumentDto.md","api-clients/ios/docs/CreateQwenModelDto.md","api-clients/ios/docs/DefaultAPI.md","api-clients/ios/docs/EmbeddingConfigDto.md","api-clients/ios/docs/EmbeddingModelDto.md","api-clients/ios/docs/GenerationConfigDto.md","api-clients/ios/docs/HealthAPI.md","api-clients/ios/docs/KnowledgeAPI.md","api-clients/ios/docs/KnowledgeBaseResponseDto.md","api-clients/ios/docs/KnowledgeDocumentListResponseDto.md","api-clients/ios/docs/KnowledgeDocumentResponseDto.md","api-clients/ios/docs/LoginDto.md","api-clients/ios/docs/MatchContactDto.md","api-clients/ios/docs/MatchContactResponseDto.md","api-clients/ios/docs/MobileCompatAPI.md","api-clients/ios/docs/PinyinAPI.md","api-clients/ios/docs/PipelineHealthDto.md","api-clients/ios/docs/PipelineMetricsDto.md","api-clients/ios/docs/PreviewChunkingDto.md","api-clients/ios/docs/QwenModelConfigDto.md","api-clients/ios/docs/QwenModelFeaturesDto.md","api-clients/ios/docs/RagAPI.md","api-clients/ios/docs/RagConfigDto.md","api-clients/ios/docs/RagMetricsDto.md","api-clients/ios/docs/RagPipelineStatusDto.md","api-clients/ios/docs/RagQueryDto.md","api-clients/ios/docs/RebuildIndexDto.md","api-clients/ios/docs/RefreshTokenDto.md","api-clients/ios/docs/RetrievalConfigDto.md","api-clients/ios/docs/SettingsAPI.md","api-clients/ios/docs/SyncContactsDto.md","api-clients/ios/docs/SyncContactsResponseDto.md","api-clients/ios/docs/TeamsAPI.md","api-clients/ios/docs/ToggleQwenModelDto.md","api-clients/ios/docs/UpdateContactDto.md","api-clients/ios/docs/UpdateKnowledgeBaseDto.md","api-clients/ios/docs/UpdateKnowledgeDocumentDto.md","api-clients/ios/docs/UpdateQwenModelDto.md","api-clients/ios/docs/UpdateRagConfigDto.md","api-clients/ios/docs/UsageAPI.md","api-clients/ios/docs/WeatherAPI.md","api-clients/ios/git_push.sh","api-clients/ios/project.yml","app/build.gradle.kts","app/proguard-rules-release.pro","app/proguard-rules.pro","app/src/androidTest/java/com/haizhan/ime/ComposeUiTest.kt","app/src/androidTest/java/com/haizhan/ime/ExampleInstrumentedTest.kt","app/src/androidTest/java/com/haizhan/ime/e2e/SmokeE2ETest.kt","app/src/androidTest/java/com/haizhan/ime/integration/ImeIntegrationTest.kt","app/src/main/AndroidManifest.xml","app/src/main/assets/dictionaries/stroke-data.txt","app/src/main/assets/handwriting_labels.txt","app/src/main/assets/handwriting_labels_casia.txt","app/src/main/assets/handwriting_labels_clean.txt","app/src/main/assets/handwriting_labels_jp.txt","app/src/main/assets/paddle_models/handwriting_labels.txt","app/src/main/assets/paddle_models/ppocr_keys_v1.txt","app/src/main/assets/temp_clean.txt","app/src/main/assets/temp_labels.txt","app/src/main/java/com/haizhan/ime/HaizhanApplication.kt","app/src/main/java/com/haizhan/ime/about/ui/AboutScreen.kt","app/src/main/java/com/haizhan/ime/chat/model/Message.kt","app/src/main/java/com/haizhan/ime/chat/service/WebSocketService.kt","app/src/main/java/com/haizhan/ime/chat/ui/ChatMessageCard.kt","app/src/main/java/com/haizhan/ime/chat/ui/ChatScreen.kt","app/src/main/java/com/haizhan/ime/chat/ui/GroupChatScreen.kt","app/src/main/java/com/haizhan/ime/feedback/ui/FeedbackScreen.kt","app/src/main/java/com/haizhan/ime/help/ui/HelpCenterScreen.kt","app/src/main/java/com/haizhan/ime/note/model/Note.kt","app/src/main/java/com/haizhan/ime/note/service/NoteService.kt","app/src/main/java/com/haizhan/ime/note/ui/NoteEditorScreen.kt","app/src/main/java/com/haizhan/ime/note/ui/NoteListScreen.kt","app/src/main/java/com/haizhan/ime/profile/model/Profile.kt","app/src/main/java/com/haizhan/ime/profile/ui/ProfileScreen.kt","app/src/main/java/com/haizhan/ime/receiver/BootReceiver.kt","app/src/main/java/com/haizhan/ime/search/model/Search.kt","app/src/main/java/com/haizhan/ime/search/service/SearchService.kt","app/src/main/java/com/haizhan/ime/search/ui/GlobalSearchScreen.kt","app/src/main/java/com/haizhan/ime/security/EncryptionManager.kt","app/src/main/java/com/haizhan/ime/security/NetworkSecurityManager.kt","app/src/main/java/com/haizhan/ime/security/PrivacyComplianceManager.kt","app/src/main/java/com/haizhan/ime/security/SecurityAuditor.kt","app/src/main/java/com/haizhan/ime/service/AiProcessingService.kt","app/src/main/java/com/haizhan/ime/service/ContextCollector.kt","app/src/main/java/com/haizhan/ime/service/DataSyncService.kt","app/src/main/java/com/haizhan/ime/service/HaizhanInputMethodService.kt","app/src/main/java/com/haizhan/ime/service/InputTypeAnalysis.kt","app/src/main/java/com/haizhan/ime/service/KeyboardContentView.kt","app/src/main/java/com/haizhan/ime/service/OcrCaptureService.kt","app/src/main/java/com/haizhan/ime/service/VoiceInputDelegate.kt","app/src/main/java/com/haizhan/ime/session/model/Session.kt","app/src/main/java/com/haizhan/ime/session/service/SessionService.kt","app/src/main/java/com/haizhan/ime/session/ui/MessageCenterScreen.kt","app/src/main/java/com/haizhan/ime/session/ui/SessionCard.kt","app/src/main/java/com/haizhan/ime/session/ui/SessionListScreen.kt","app/src/main/java/com/haizhan/ime/stability/AnrWatchdog.kt","app/src/main/java/com/haizhan/ime/stability/CrashHandler.kt","app/src/main/java/com/haizhan/ime/stability/MemoryLeakDetector.kt","app/src/main/java/com/haizhan/ime/stability/StabilityManager.kt","app/src/main/java/com/haizhan/ime/statistics/model/Statistics.kt","app/src/main/java/com/haizhan/ime/statistics/ui/ChartComponents.kt","app/src/main/java/com/haizhan/ime/statistics/ui/StatisticsScreen.kt","app/src/main/java/com/haizhan/ime/subscription/model/Subscription.kt","app/src/main/java/com/haizhan/ime/subscription/service/SubscriptionService.kt","app/src/main/java/com/haizhan/ime/subscription/ui/SubscriptionScreen.kt","app/src/main/java/com/haizhan/ime/sync/ContactSyncTaskAdapter.kt","app/src/main/java/com/haizhan/ime/sync/KnowledgeSyncTaskAdapter.kt","app/src/main/java/com/haizhan/ime/sync/SyncContracts.kt","app/src/main/java/com/haizhan/ime/sync/SyncCoordinator.kt","app/src/main/java/com/haizhan/ime/sync/SyncScheduler.kt","app/src/main/java/com/haizhan/ime/team/model/Team.kt","app/src/main/java/com/haizhan/ime/team/service/TeamService.kt","app/src/main/java/com/haizhan/ime/team/ui/TeamScreen.kt","app/src/main/java/com/haizhan/ime/template/data/B2BTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/ClosingTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/CoreSalesTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/DailyTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/DefaultTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/FollowUpTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/QuickPhraseDefaults.kt","app/src/main/java/com/haizhan/ime/template/data/SeasonalTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/TemplateDatabase.kt","app/src/main/java/com/haizhan/ime/template/data/TemplateImporter.kt","app/src/main/java/com/haizhan/ime/template/data/TemplateRepository.kt","app/src/main/java/com/haizhan/ime/template/di/TemplateModule.kt","app/src/main/java/com/haizhan/ime/template/model/Template.kt","app/src/main/java/com/haizhan/ime/template/service/TemplateService.kt","app/src/main/java/com/haizhan/ime/template/ui/FolderManagementDialog.kt","app/src/main/java/com/haizhan/ime/template/ui/TemplateListScreen.kt","app/src/main/java/com/haizhan/ime/template/ui/TemplateViewModel.kt","app/src/main/java/com/haizhan/ime/ui/MainActivity.kt","app/src/main/java/com/haizhan/ime/ui/management/DictionaryImportActivity.kt","app/src/main/java/com/haizhan/ime/ui/management/DictionaryImportScreen.kt","app/src/main/java/com/haizhan/ime/ui/management/DictionaryImportViewModel.kt","app/src/main/java/com/haizhan/ime/ui/management/DictionaryScreen.kt","app/src/main/java/com/haizhan/ime/ui/management/ManagementActivity.kt","app/src/main/java/com/haizhan/ime/ui/management/ManagementViewModel.kt","app/src/main/java/com/haizhan/ime/ui/management/PermissionScreen.kt","app/src/main/java/com/haizhan/ime/ui/management/SettingsScreen.kt","app/src/main/java/com/haizhan/ime/ui/permission/ScreenshotPermissionActivity.kt","app/src/main/java/com/haizhan/ime/ui/settings/ImeSettingsActivity.kt","app/src/main/java/com/haizhan/ime/ui/settings/SettingsViewModel.kt","app/src/main/java/com/haizhan/ime/ui/theme/Theme.kt","app/src/main/java/com/haizhan/ime/ui/theme/Type.kt","app/src/main/java/com/haizhan/ime/ux/AccessibilityHelper.kt","app/src/main/java/com/haizhan/ime/ux/AnimationUtils.kt","app/src/main/java/com/haizhan/ime/ux/ErrorHandler.kt","app/src/main/java/com/haizhan/ime/ux/OnboardingScreen.kt","app/src/main/java/com/haizhan/ime/ux/StartupOptimizer.kt","app/src/main/java/com/haizhan/ime/voice/service/VoiceService.kt","app/src/main/java/com/haizhan/ime/voice/ui/VoiceInputScreen.kt","app/src/main/res/drawable/ic_launcher_background.xml","app/src/main/res/drawable/ic_launcher_foreground.xml","app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml","app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml","app/src/main/res/values-night/colors.xml","app/src/main/res/values/colors.xml","app/src/main/res/values/strings.xml","app/src/main/res/values/themes.xml","app/src/main/res/xml/backup_rules.xml","app/src/main/res/xml/data_extraction_rules.xml","app/src/main/res/xml/file_paths.xml","app/src/main/res/xml/method.xml","app/src/main/res/xml/network_security_config.xml","app/src/test/java/com/haizhan/ime/ExampleUnitTest.kt","app/src/test/java/com/haizhan/ime/app/service/NotificationServiceTest.kt","app/src/test/java/com/haizhan/ime/app/service/SearchServiceTest.kt","app/src/test/java/com/haizhan/ime/app/service/SessionServiceTest.kt","app/src/test/java/com/haizhan/ime/app/service/SyncServiceTest.kt","app/src/test/java/com/haizhan/ime/app/service/WebSocketServiceTest.kt","app/src/test/java/com/haizhan/ime/benchmark/PerformanceBenchmarkTest.kt","app/src/test/java/com/haizhan/ime/security/EncryptionManagerTest.kt","app/src/test/java/com/haizhan/ime/security/PrivacyComplianceManagerTest.kt","app/src/test/java/com/haizhan/ime/security/SecurityAuditorTest.kt","app/src/test/java/com/haizhan/ime/service/HaizhanInputMethodServiceTest.kt","app/src/test/java/com/haizhan/ime/services/AiProcessingServiceTest.kt","app/src/test/java/com/haizhan/ime/services/NoteServiceTest.kt","app/src/test/java/com/haizhan/ime/services/OcrCaptureServiceTest.kt","app/src/test/java/com/haizhan/ime/services/SubscriptionServiceTest.kt","app/src/test/java/com/haizhan/ime/services/TeamServiceTest.kt","app/src/test/java/com/haizhan/ime/services/TemplateServiceTest.kt","app/src/test/java/com/haizhan/ime/services/VoiceServiceTest.kt","app/src/test/java/com/haizhan/ime/ui/management/ManagementViewModelTest.kt","app/src/test/java/com/haizhan/ime/ui/settings/SettingsViewModelTest.kt","app/src/test/java/com/haizhan/ime/ux/ErrorHandlerTest.kt","app/src/test/java/com/haizhan/ime/ux/StartupOptimizerTest.kt","app/src/test/java/com/haizhan/ime/viewmodel/DictionaryImportViewModelTest.kt","app/src/test/java/com/haizhan/ime/viewmodel/TemplateViewModelTest.kt","build.gradle.kts","common/build.gradle.kts","common/consumer-rules.pro","common/proguard-rules.pro","common/src/main/AndroidManifest.xml","common/src/main/java/com/haizhan/ime/common/ext/ContextExt.kt","common/src/main/java/com/haizhan/ime/common/ext/FlowExt.kt","common/src/main/java/com/haizhan/ime/common/ext/StringExt.kt","common/src/main/java/com/haizhan/ime/common/performance/ImePerformanceTracker.kt","common/src/main/java/com/haizhan/ime/common/theme/DesignTokens.kt","common/src/main/java/com/haizhan/ime/common/theme/KeyboardTheme.kt","common/src/main/java/com/haizhan/ime/common/util/DeviceUtils.kt","common/src/main/java/com/haizhan/ime/common/util/Logger.kt","common/src/main/java/com/haizhan/ime/common/util/LruCache.kt","common/src/main/java/com/haizhan/ime/common/util/MemoryMonitor.kt","common/src/test/java/com/haizhan/ime/common/StringExtTest.kt","common/src/test/java/com/haizhan/ime/common/ext/ResultTest.kt","common/src/test/java/com/haizhan/ime/common/util/DateUtilsTest.kt","common/src/test/java/com/haizhan/ime/common/util/LoggerTest.kt","common/src/test/java/com/haizhan/ime/common/util/MemoryStatsTest.kt","common/src/test/java/com/haizhan/ime/common/util/PinyinUtilsTest.kt","common/src/test/java/com/haizhan/ime/common/util/TextUtilsTest.kt","config/detekt/detekt.yml","data/build.gradle.kts","data/consumer-rules.pro","data/dictionaries/dictionary.config.json","data/dictionaries/fallback-words.txt","data/dictionaries/sensitive-words.txt","data/dictionaries/system/char-single.txt","data/dictionaries/system/core-char.txt","data/dictionaries/system/core-phrase.txt","data/dictionaries/system/core-word2.txt","data/dictionaries/system/core-word3.txt","data/dictionaries/system/core-word4.txt","data/dictionaries/system/idiom.txt","data/dictionaries/system/name-place.txt","data/dictionaries/system/word-common.txt","data/proguard-rules.pro","data/schemas/com.haizhan.ime.data.local.database.HaizhanDatabase/1.json","data/schemas/com.haizhan.ime.data.local.database.HaizhanDatabase/2.json","data/schemas/com.haizhan.ime.data.local.database.HaizhanDatabase/3.json","data/schemas/com.haizhan.ime.data.local.database.HaizhanDatabase/4.json","data/src/main/AndroidManifest.xml","data/src/main/java/com/haizhan/ime/data/auth/AuthInterceptor.kt","data/src/main/java/com/haizhan/ime/data/auth/AuthManager.kt","data/src/main/java/com/haizhan/ime/data/di/DataModule.kt","data/src/main/java/com/haizhan/ime/data/di/DatabaseModule.kt","data/src/main/java/com/haizhan/ime/data/di/NetworkModule.kt","data/src/main/java/com/haizhan/ime/data/di/RepositoryModule.kt","data/src/main/java/com/haizhan/ime/data/local/dao/ContactDao.kt","data/src/main/java/com/haizhan/ime/data/local/dao/KnowledgeDao.kt","data/src/main/java/com/haizhan/ime/data/local/dao/MessageDao.kt","data/src/main/java/com/haizhan/ime/data/local/dao/NoteDao.kt","data/src/main/java/com/haizhan/ime/data/local/dao/SearchDao.kt","data/src/main/java/com/haizhan/ime/data/local/dao/UserDictDao.kt","data/src/main/java/com/haizhan/ime/data/local/database/Converters.kt","data/src/main/java/com/haizhan/ime/data/local/database/HaizhanDatabase.kt","data/src/main/java/com/haizhan/ime/data/local/database/SecureDatabaseFactory.kt","data/src/main/java/com/haizhan/ime/data/local/entity/ContactEntity.kt","data/src/main/java/com/haizhan/ime/data/local/entity/KnowledgeEntity.kt","data/src/main/java/com/haizhan/ime/data/local/entity/MessageEntity.kt","data/src/main/java/com/haizhan/ime/data/local/entity/NoteEntity.kt","data/src/main/java/com/haizhan/ime/data/local/entity/SearchEntity.kt","data/src/main/java/com/haizhan/ime/data/local/entity/UserDictEntity.kt","data/src/main/java/com/haizhan/ime/data/remote/adapter/FlexibleTimestampAdapter.kt","data/src/main/java/com/haizhan/ime/data/remote/aliyun/AliyunSearchClient.kt","data/src/main/java/com/haizhan/ime/data/remote/aliyun/AliyunSearchConfig.kt","data/src/main/java/com/haizhan/ime/data/remote/aliyun/AliyunSearchConfigProvider.kt","data/src/main/java/com/haizhan/ime/data/remote/api/AuthApi.kt","data/src/main/java/com/haizhan/ime/data/remote/api/ContactApi.kt","data/src/main/java/com/haizhan/ime/data/remote/api/HaizhanApi.kt","data/src/main/java/com/haizhan/ime/data/remote/api/PinyinApi.kt","data/src/main/java/com/haizhan/ime/data/remote/api/RagSearchApi.kt","data/src/main/java/com/haizhan/ime/data/remote/api/ReplyApi.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/AiDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/AuthDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/CommonDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/ContactDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/KnowledgeDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/MemoryDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/MessageDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/NoteDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/ProfileDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/RagSearchDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/SearchDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/TeamDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/WeatherDto.kt","data/src/main/java/com/haizhan/ime/data/repository/ContactRepository.kt","data/src/main/java/com/haizhan/ime/data/repository/KnowledgeRepository.kt","data/src/main/java/com/haizhan/ime/data/repository/MessageRepository.kt","data/src/main/java/com/haizhan/ime/data/repository/RagSearchRepository.kt","data/src/main/java/com/haizhan/ime/data/repository/SettingsRepository.kt","data/src/main/java/com/haizhan/ime/data/repository/mapper/ContactMapper.kt","data/src/main/java/com/haizhan/ime/data/repository/mapper/KnowledgeMapper.kt","data/src/main/java/com/haizhan/ime/data/repository/mapper/MessageMapper.kt","data/src/main/java/com/haizhan/ime/data/repository/model/Contact.kt","data/src/main/java/com/haizhan/ime/data/repository/model/Knowledge.kt","data/src/main/java/com/haizhan/ime/data/repository/model/Message.kt","data/src/test/java/com/haizhan/ime/data/auth/AuthInterceptorTest.kt","data/src/test/java/com/haizhan/ime/data/auth/AuthManagerTest.kt","data/src/test/java/com/haizhan/ime/data/auth/AuthTypesTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/ContactDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/KnowledgeDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/MessageDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/NoteDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/SearchDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/UserDictDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/UserPreferencesDaoTest.kt","data/src/test/java/com/haizhan/ime/data/remote/api/HaizhanApiTest.kt","data/src/test/java/com/haizhan/ime/data/remote/dto/ContactDtoTest.kt","data/src/test/java/com/haizhan/ime/data/repository/ContactRepositoryTest.kt","data/src/test/java/com/haizhan/ime/data/repository/KnowledgeRepositoryTest.kt","data/src/test/java/com/haizhan/ime/data/repository/MessageRepositoryTest.kt","data/src/test/java/com/haizhan/ime/data/repository/SettingsRepositoryTest.kt","data/src/test/java/com/haizhan/ime/data/repository/mapper/ContactMapperTest.kt","data/src/test/java/com/haizhan/ime/data/repository/mapper/KnowledgeMapperTest.kt","data/src/test/java/com/haizhan/ime/data/repository/mapper/MessageMapperTest.kt","designs/exports/CLAUDE_CODE_DESIGN_GUIDE.md","designs/exports/DESIGN_MANIFEST.md","designs/exports/svg/Frame.svg","designs/exports/svg/P2-关于.svg","designs/exports/svg/P2-协议条款.svg","designs/exports/svg/P2-帮助中心.svg","designs/exports/svg/P2-意见反馈.svg","designs/exports/svg/P2-版本更新.svg","designs/exports/svg/__设计系统_-_组件库.svg","designs/exports/svg/功能面板_-_OCR识别.svg","designs/exports/svg/功能面板_-_历史.svg","designs/exports/svg/功能面板_-_团队.svg","designs/exports/svg/功能面板_-_知识库.svg","designs/exports/svg/功能面板_-_笔记.svg","designs/exports/svg/功能面板_-_联系人.svg","designs/exports/svg/嗨赞AI助手_-_AI回复选择.svg","designs/exports/svg/嗨赞AI助手_-_OCR结果确认.svg","designs/exports/svg/嗨赞AI助手_-_个人中心.svg","designs/exports/svg/嗨赞AI助手_-_主应用首页.svg","designs/exports/svg/嗨赞AI助手_-_主键盘界面.svg","designs/exports/svg/嗨赞AI助手_-_主键盘界面__深色_.svg","designs/exports/svg/嗨赞AI助手_-_交互式笔记.svg","designs/exports/svg/嗨赞AI助手_-_会员订阅.svg","designs/exports/svg/嗨赞AI助手_-_会话列表.svg","designs/exports/svg/嗨赞AI助手_-_单聊IM.svg","designs/exports/svg/嗨赞AI助手_-_历史记录页面.svg","designs/exports/svg/嗨赞AI助手_-_引导页1.svg","designs/exports/svg/嗨赞AI助手_-_引导页2.svg","designs/exports/svg/嗨赞AI助手_-_引导页3.svg","designs/exports/svg/嗨赞AI助手_-_忘记密码.svg","designs/exports/svg/嗨赞AI助手_-_我的页面.svg","designs/exports/svg/嗨赞AI助手_-_搜索.svg","designs/exports/svg/嗨赞AI助手_-_数据统计.svg","designs/exports/svg/嗨赞AI助手_-_新建联系人.svg","designs/exports/svg/嗨赞AI助手_-_注册页面.svg","designs/exports/svg/嗨赞AI助手_-_消息中心.svg","designs/exports/svg/嗨赞AI助手_-_登录页面.svg","designs/exports/svg/嗨赞AI助手_-_知识库列表.svg","designs/exports/svg/嗨赞AI助手_-_知识库详情.svg","designs/exports/svg/嗨赞AI助手_-_编辑个人信息.svg","designs/exports/svg/嗨赞AI助手_-_群聊IM.svg","designs/exports/svg/嗨赞AI助手_-_联系人列表.svg","designs/exports/svg/嗨赞AI助手_-_联系人详情.svg","designs/exports/svg/嗨赞AI助手_-_设置.svg","designs/exports/svg/嗨赞AI助手_-_设置页面.svg","designs/exports/svg/嗨赞AI助手_-_话术模板.svg","designs/exports/svg/嗨赞AI助手_-_话术模板详情.svg","designs/exports/svg/微交互规范文档.svg","designs/exports/svg/组件_-_悬浮球状态.svg","designs/exports/svg/组件_-_拼音候选词展开.svg","designs/exports/svg/组件_-_空状态.svg","designs/exports/svg/组件_-_语音输入状态.svg","designs/exports/svg/组件_-_错误状态.svg","designs/mobile-keyboard-design.md","designs/specs/COMPONENT_SPEC.md","designs/specs/KEYBOARD_DESIGN_SPEC.md","designs/specs/README.md","designs/specs/design-tokens.json","designs/templates/android/DesignTokens.kt","designs/templates/android/KeyboardTheme.kt","designs/templates/ios/DesignTokens.swift","designs/templates/ios/KeyboardTheme.swift","designs/嗨赞输入法.pen","docs/ANDROID_DEVELOPMENT.md","docs/API.md","docs/ARCHITECTURE.md","docs/BACKEND_API_REQUIREMENTS.md","docs/BACKEND_DESIGN.md","docs/CI_CD_PIPELINE.md","docs/CODING_STANDARDS.md","docs/COMPLETE_FEATURE_SPEC.md","docs/DATABASE.md","docs/DEPLOYMENT.md","docs/DESIGN_TO_DEV_SPEC.md","docs/DEVELOPMENT_GUIDE.md","docs/DEVELOPMENT_PLAN.md","docs/DOCS_SYNC.md","docs/ERROR_HANDLING.md","docs/FEATURE_ANALYSIS.md","docs/FLUTTER_DEVELOPMENT.md","docs/FRONTEND_DEV_REQUIREMENTS.md","docs/HANDWRITING_MODEL_UPGRADE.md","docs/IOS_DEVELOPMENT.md","docs/KMP_DEVELOPMENT.md","docs/LOGGING_STANDARDS.md","docs/MILESTONES.md","docs/MODULE_ANALYSIS.md","docs/MODULE_LIST.md","docs/PERFORMANCE_OPTIMIZATION.md","docs/PNPM_MIGRATION_NOTICE.md","docs/PRD.md","docs/PRIVACY_POLICY.md","docs/PRODUCT_ARCHITECTURE.md","docs/Phase_11_12_Final_Report.md","docs/RELEASE_CHECKLIST.md","docs/SECURITY_AUDIT.md","docs/SECURITY_GUIDELINES.md","docs/STORE_LISTING.md","docs/SYSTEM_ARCHITECTURE.md","docs/TASKS.md","docs/TECH_STACK.md","docs/TESTING_STRATEGY.md","docs/USER_MANUAL.md","docs/VOICE_API_DOCUMENTATION.md","docs/VOICE_MODULE_MIGRATION.md","docs/openapi.json","docs/skills/anthropic-official/.claude-plugin/marketplace.json","docs/skills/anthropic-official/.gitignore","docs/skills/anthropic-official/README.md","docs/skills/anthropic-official/THIRD_PARTY_NOTICES.md","docs/skills/anthropic-official/skills/algorithmic-art/LICENSE.txt","docs/skills/anthropic-official/skills/algorithmic-art/SKILL.md","docs/skills/anthropic-official/skills/algorithmic-art/templates/generator_template.js","docs/skills/anthropic-official/skills/algorithmic-art/templates/viewer.html","docs/skills/anthropic-official/skills/brand-guidelines/LICENSE.txt","docs/skills/anthropic-official/skills/brand-guidelines/SKILL.md","docs/skills/anthropic-official/skills/canvas-design/LICENSE.txt","docs/skills/anthropic-official/skills/canvas-design/SKILL.md","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/ArsenalSC-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BigShoulders-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BigShoulders-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BigShoulders-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Boldonse-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Boldonse-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/CrimsonPro-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/DMMono-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/DMMono-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/EricaOne-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/EricaOne-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/GeistMono-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/GeistMono-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/GeistMono-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Gloock-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Gloock-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSans-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Italiana-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Italiana-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Jura-Light.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Jura-Medium.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Jura-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Lora-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Lora-BoldItalic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Lora-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Lora-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Lora-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/NationalPark-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/NationalPark-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/NationalPark-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Outfit-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Outfit-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Outfit-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/PixelifySans-Medium.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/PixelifySans-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/PoiretOne-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/PoiretOne-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/RedHatMono-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/RedHatMono-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/RedHatMono-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Silkscreen-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Silkscreen-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/SmoochSans-Medium.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/SmoochSans-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Tektur-Medium.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Tektur-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Tektur-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/WorkSans-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/WorkSans-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/WorkSans-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/WorkSans-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/YoungSerif-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/YoungSerif-Regular.ttf","docs/skills/anthropic-official/skills/doc-coauthoring/SKILL.md","docs/skills/anthropic-official/skills/docx/LICENSE.txt","docs/skills/anthropic-official/skills/docx/SKILL.md","docs/skills/anthropic-official/skills/docx/docx-js.md","docs/skills/anthropic-official/skills/docx/ooxml.md","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/mce/mc.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-2010.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-2012.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-2018.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd","docs/skills/anthropic-official/skills/docx/ooxml/scripts/pack.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/unpack.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validate.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validation/__init__.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validation/base.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validation/docx.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validation/pptx.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validation/redlining.py","docs/skills/anthropic-official/skills/docx/scripts/__init__.py","docs/skills/anthropic-official/skills/docx/scripts/document.py","docs/skills/anthropic-official/skills/docx/scripts/templates/comments.xml","docs/skills/anthropic-official/skills/docx/scripts/templates/commentsExtended.xml","docs/skills/anthropic-official/skills/docx/scripts/templates/commentsExtensible.xml","docs/skills/anthropic-official/skills/docx/scripts/templates/commentsIds.xml","docs/skills/anthropic-official/skills/docx/scripts/templates/people.xml","docs/skills/anthropic-official/skills/docx/scripts/utilities.py","docs/skills/anthropic-official/skills/frontend-design/LICENSE.txt","docs/skills/anthropic-official/skills/frontend-design/SKILL.md","docs/skills/anthropic-official/skills/internal-comms/LICENSE.txt","docs/skills/anthropic-official/skills/internal-comms/SKILL.md","docs/skills/anthropic-official/skills/internal-comms/examples/3p-updates.md","docs/skills/anthropic-official/skills/internal-comms/examples/company-newsletter.md","docs/skills/anthropic-official/skills/internal-comms/examples/faq-answers.md","docs/skills/anthropic-official/skills/internal-comms/examples/general-comms.md","docs/skills/anthropic-official/skills/mcp-builder/LICENSE.txt","docs/skills/anthropic-official/skills/mcp-builder/SKILL.md","docs/skills/anthropic-official/skills/mcp-builder/reference/evaluation.md","docs/skills/anthropic-official/skills/mcp-builder/reference/mcp_best_practices.md","docs/skills/anthropic-official/skills/mcp-builder/reference/node_mcp_server.md","docs/skills/anthropic-official/skills/mcp-builder/reference/python_mcp_server.md","docs/skills/anthropic-official/skills/mcp-builder/scripts/connections.py","docs/skills/anthropic-official/skills/mcp-builder/scripts/evaluation.py","docs/skills/anthropic-official/skills/mcp-builder/scripts/example_evaluation.xml","docs/skills/anthropic-official/skills/mcp-builder/scripts/requirements.txt","docs/skills/anthropic-official/skills/pdf/LICENSE.txt","docs/skills/anthropic-official/skills/pdf/SKILL.md","docs/skills/anthropic-official/skills/pdf/forms.md","docs/skills/anthropic-official/skills/pdf/reference.md","docs/skills/anthropic-official/skills/pdf/scripts/check_bounding_boxes.py","docs/skills/anthropic-official/skills/pdf/scripts/check_bounding_boxes_test.py","docs/skills/anthropic-official/skills/pdf/scripts/check_fillable_fields.py","docs/skills/anthropic-official/skills/pdf/scripts/convert_pdf_to_images.py","docs/skills/anthropic-official/skills/pdf/scripts/create_validation_image.py","docs/skills/anthropic-official/skills/pdf/scripts/extract_form_field_info.py","docs/skills/anthropic-official/skills/pdf/scripts/fill_fillable_fields.py","docs/skills/anthropic-official/skills/pdf/scripts/fill_pdf_form_with_annotations.py","docs/skills/anthropic-official/skills/pptx/LICENSE.txt","docs/skills/anthropic-official/skills/pptx/SKILL.md","docs/skills/anthropic-official/skills/pptx/html2pptx.md","docs/skills/anthropic-official/skills/pptx/ooxml.md","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/mce/mc.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-2010.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-2012.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-2018.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/pack.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/unpack.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validate.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validation/__init__.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validation/base.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validation/docx.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validation/pptx.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validation/redlining.py","docs/skills/anthropic-official/skills/pptx/scripts/html2pptx.js","docs/skills/anthropic-official/skills/pptx/scripts/inventory.py","docs/skills/anthropic-official/skills/pptx/scripts/rearrange.py","docs/skills/anthropic-official/skills/pptx/scripts/replace.py","docs/skills/anthropic-official/skills/pptx/scripts/thumbnail.py","docs/skills/anthropic-official/skills/skill-creator/LICENSE.txt","docs/skills/anthropic-official/skills/skill-creator/SKILL.md","docs/skills/anthropic-official/skills/skill-creator/references/output-patterns.md","docs/skills/anthropic-official/skills/skill-creator/references/workflows.md","docs/skills/anthropic-official/skills/skill-creator/scripts/init_skill.py","docs/skills/anthropic-official/skills/skill-creator/scripts/package_skill.py","docs/skills/anthropic-official/skills/skill-creator/scripts/quick_validate.py","docs/skills/anthropic-official/skills/slack-gif-creator/LICENSE.txt","docs/skills/anthropic-official/skills/slack-gif-creator/SKILL.md","docs/skills/anthropic-official/skills/slack-gif-creator/core/easing.py","docs/skills/anthropic-official/skills/slack-gif-creator/core/frame_composer.py","docs/skills/anthropic-official/skills/slack-gif-creator/core/gif_builder.py","docs/skills/anthropic-official/skills/slack-gif-creator/core/validators.py","docs/skills/anthropic-official/skills/slack-gif-creator/requirements.txt","docs/skills/anthropic-official/skills/theme-factory/LICENSE.txt","docs/skills/anthropic-official/skills/theme-factory/SKILL.md","docs/skills/anthropic-official/skills/theme-factory/theme-showcase.pdf","docs/skills/anthropic-official/skills/theme-factory/themes/arctic-frost.md","docs/skills/anthropic-official/skills/theme-factory/themes/botanical-garden.md","docs/skills/anthropic-official/skills/theme-factory/themes/desert-rose.md","docs/skills/anthropic-official/skills/theme-factory/themes/forest-canopy.md","docs/skills/anthropic-official/skills/theme-factory/themes/golden-hour.md","docs/skills/anthropic-official/skills/theme-factory/themes/midnight-galaxy.md","docs/skills/anthropic-official/skills/theme-factory/themes/modern-minimalist.md","docs/skills/anthropic-official/skills/theme-factory/themes/ocean-depths.md","docs/skills/anthropic-official/skills/theme-factory/themes/sunset-boulevard.md","docs/skills/anthropic-official/skills/theme-factory/themes/tech-innovation.md","docs/skills/anthropic-official/skills/web-artifacts-builder/LICENSE.txt","docs/skills/anthropic-official/skills/web-artifacts-builder/SKILL.md","docs/skills/anthropic-official/skills/web-artifacts-builder/scripts/bundle-artifact.sh","docs/skills/anthropic-official/skills/web-artifacts-builder/scripts/init-artifact.sh","docs/skills/anthropic-official/skills/web-artifacts-builder/scripts/shadcn-components.tar.gz","docs/skills/anthropic-official/skills/webapp-testing/LICENSE.txt","docs/skills/anthropic-official/skills/webapp-testing/SKILL.md","docs/skills/anthropic-official/skills/webapp-testing/examples/console_logging.py","docs/skills/anthropic-official/skills/webapp-testing/examples/element_discovery.py","docs/skills/anthropic-official/skills/webapp-testing/examples/static_html_automation.py","docs/skills/anthropic-official/skills/webapp-testing/scripts/with_server.py","docs/skills/anthropic-official/skills/xlsx/LICENSE.txt","docs/skills/anthropic-official/skills/xlsx/SKILL.md","docs/skills/anthropic-official/skills/xlsx/recalc.py","docs/skills/anthropic-official/spec/agent-skills-spec.md","docs/skills/anthropic-official/template/SKILL.md","docs/skills/awesome-skills/.gitignore","docs/skills/awesome-skills/CONTRIBUTING.md","docs/skills/awesome-skills/README.md","docs/skills/backend-patterns/SKILL.md","docs/skills/clickhouse-io/SKILL.md","docs/skills/coding-standards/SKILL.md","docs/skills/continuous-learning/SKILL.md","docs/skills/continuous-learning/config.json","docs/skills/continuous-learning/evaluate-session.sh","docs/skills/daymade-skills/.claude-plugin/marketplace.json","docs/skills/daymade-skills/.github/ISSUE_TEMPLATE/bug_report.md","docs/skills/daymade-skills/.github/ISSUE_TEMPLATE/feature_request.md","docs/skills/daymade-skills/.github/PULL_REQUEST_TEMPLATE.md","docs/skills/daymade-skills/.gitignore","docs/skills/daymade-skills/AGENTS.md","docs/skills/daymade-skills/CHANGELOG.md","docs/skills/daymade-skills/CLAUDE.md","docs/skills/daymade-skills/CONTRIBUTING.md","docs/skills/daymade-skills/LICENSE","docs/skills/daymade-skills/QUICKSTART.md","docs/skills/daymade-skills/QUICKSTART.zh-CN.md","docs/skills/daymade-skills/README.md","docs/skills/daymade-skills/README.zh-CN.md","docs/skills/daymade-skills/claude-code-history-files-finder/.INTEGRATION_SUMMARY.md","docs/skills/daymade-skills/claude-code-history-files-finder/.security-scan-passed","docs/skills/daymade-skills/claude-code-history-files-finder/SKILL.md","docs/skills/daymade-skills/claude-code-history-files-finder/references/session_file_format.md","docs/skills/daymade-skills/claude-code-history-files-finder/references/workflow_examples.md","docs/skills/daymade-skills/claude-code-history-files-finder/scripts/analyze_sessions.py","docs/skills/daymade-skills/claude-code-history-files-finder/scripts/recover_content.py","docs/skills/daymade-skills/claude-md-progressive-disclosurer/.security-scan-passed","docs/skills/daymade-skills/claude-md-progressive-disclosurer/SKILL.md","docs/skills/daymade-skills/claude-md-progressive-disclosurer/references/progressive_disclosure_principles.md","docs/skills/daymade-skills/cli-demo-generator/SKILL.md","docs/skills/daymade-skills/cli-demo-generator/assets/examples/batch-config.yaml","docs/skills/daymade-skills/cli-demo-generator/assets/templates/basic.tape","docs/skills/daymade-skills/cli-demo-generator/assets/templates/interactive.tape","docs/skills/daymade-skills/cli-demo-generator/references/best_practices.md","docs/skills/daymade-skills/cli-demo-generator/references/vhs_syntax.md","docs/skills/daymade-skills/cli-demo-generator/scripts/auto_generate_demo.py","docs/skills/daymade-skills/cli-demo-generator/scripts/batch_generate.py","docs/skills/daymade-skills/cli-demo-generator/scripts/record_interactive.sh","docs/skills/daymade-skills/cloudflare-troubleshooting/SKILL.md","docs/skills/daymade-skills/cloudflare-troubleshooting/references/api_overview.md","docs/skills/daymade-skills/cloudflare-troubleshooting/references/common_issues.md","docs/skills/daymade-skills/cloudflare-troubleshooting/references/ssl_modes.md","docs/skills/daymade-skills/cloudflare-troubleshooting/scripts/check_cloudflare_config.py","docs/skills/daymade-skills/cloudflare-troubleshooting/scripts/fix_ssl_mode.py","docs/skills/daymade-skills/demos/README.md","docs/skills/daymade-skills/demos/cli-demo-generator/generate-demo.gif","docs/skills/daymade-skills/demos/cli-demo-generator/generate-demo.tape","docs/skills/daymade-skills/demos/generate_all_demos.sh","docs/skills/daymade-skills/demos/github-ops/create-pr.gif","docs/skills/daymade-skills/demos/github-ops/create-pr.tape","docs/skills/daymade-skills/demos/index.html","docs/skills/daymade-skills/demos/llm-icon-finder/find-icons.gif","docs/skills/daymade-skills/demos/llm-icon-finder/find-icons.tape","docs/skills/daymade-skills/demos/markdown-tools/convert-docs.gif","docs/skills/daymade-skills/demos/markdown-tools/convert-docs.tape","docs/skills/daymade-skills/demos/mermaid-tools/extract-diagrams.gif","docs/skills/daymade-skills/demos/mermaid-tools/extract-diagrams.tape","docs/skills/daymade-skills/demos/ppt-creator/create-presentation.gif","docs/skills/daymade-skills/demos/ppt-creator/create-presentation.tape","docs/skills/daymade-skills/demos/repomix-unmixer/extract-repo.gif","docs/skills/daymade-skills/demos/repomix-unmixer/extract-repo.tape","docs/skills/daymade-skills/demos/skill-creator/init-skill.gif","docs/skills/daymade-skills/demos/skill-creator/init-skill.tape","docs/skills/daymade-skills/demos/skill-creator/package-skill.gif","docs/skills/daymade-skills/demos/skill-creator/package-skill.tape","docs/skills/daymade-skills/demos/skill-creator/validate-skill.gif","docs/skills/daymade-skills/demos/skill-creator/validate-skill.tape","docs/skills/daymade-skills/demos/statusline-generator/customize-statusline.gif","docs/skills/daymade-skills/demos/statusline-generator/customize-statusline.tape","docs/skills/daymade-skills/demos/teams-channel-post-writer/write-post.gif","docs/skills/daymade-skills/demos/teams-channel-post-writer/write-post.tape","docs/skills/daymade-skills/demos/ui-designer/extract-design-system.gif","docs/skills/daymade-skills/demos/ui-designer/extract-design-system.tape","docs/skills/daymade-skills/demos/youtube-downloader/download-video.gif","docs/skills/daymade-skills/demos/youtube-downloader/download-video.tape","docs/skills/daymade-skills/docs-cleaner/.security-scan-passed","docs/skills/daymade-skills/docs-cleaner/SKILL.md","docs/skills/daymade-skills/docs-cleaner/references/value_analysis_template.md","docs/skills/daymade-skills/fact-checker/.security-scan-passed","docs/skills/daymade-skills/fact-checker/README.md","docs/skills/daymade-skills/fact-checker/SKILL.md","docs/skills/daymade-skills/github-contributor/.security-scan-passed","docs/skills/daymade-skills/github-contributor/SKILL.md","docs/skills/daymade-skills/github-contributor/references/communication_templates.md","docs/skills/daymade-skills/github-contributor/references/pr_checklist.md","docs/skills/daymade-skills/github-contributor/references/project_evaluation.md","docs/skills/daymade-skills/github-ops/SKILL.md","docs/skills/daymade-skills/github-ops/references/api_reference.md","docs/skills/daymade-skills/github-ops/references/best_practices.md","docs/skills/daymade-skills/github-ops/references/issue_operations.md","docs/skills/daymade-skills/github-ops/references/pr_operations.md","docs/skills/daymade-skills/github-ops/references/workflow_operations.md","docs/skills/daymade-skills/iOS-APP-developer/.security-scan-passed","docs/skills/daymade-skills/iOS-APP-developer/SKILL.md","docs/skills/daymade-skills/iOS-APP-developer/references/camera-avfoundation.md","docs/skills/daymade-skills/iOS-APP-developer/references/swiftui-compatibility.md","docs/skills/daymade-skills/iOS-APP-developer/references/testing-mainactor.md","docs/skills/daymade-skills/iOS-APP-developer/references/xcodegen-full.md","docs/skills/daymade-skills/llm-icon-finder/SKILL.md","docs/skills/daymade-skills/llm-icon-finder/references/developer-info.md","docs/skills/daymade-skills/llm-icon-finder/references/icons-list.md","docs/skills/daymade-skills/macos-cleaner/.security-scan-passed","docs/skills/daymade-skills/macos-cleaner/SKILL.md","docs/skills/daymade-skills/macos-cleaner/references/cleanup_targets.md","docs/skills/daymade-skills/macos-cleaner/references/mole_integration.md","docs/skills/daymade-skills/macos-cleaner/references/safety_rules.md","docs/skills/daymade-skills/macos-cleaner/scripts/analyze_caches.py","docs/skills/daymade-skills/macos-cleaner/scripts/analyze_dev_env.py","docs/skills/daymade-skills/macos-cleaner/scripts/analyze_large_files.py","docs/skills/daymade-skills/macos-cleaner/scripts/cleanup_report.py","docs/skills/daymade-skills/macos-cleaner/scripts/find_app_remnants.py","docs/skills/daymade-skills/macos-cleaner/scripts/safe_delete.py","docs/skills/daymade-skills/markdown-tools/SKILL.md","docs/skills/daymade-skills/markdown-tools/references/conversion-examples.md","docs/skills/daymade-skills/markdown-tools/scripts/convert_path.py","docs/skills/daymade-skills/markdown-tools/scripts/extract_pdf_images.py","docs/skills/daymade-skills/mermaid-tools/SKILL.md","docs/skills/daymade-skills/mermaid-tools/references/setup_and_troubleshooting.md","docs/skills/daymade-skills/mermaid-tools/scripts/extract-and-generate.sh","docs/skills/daymade-skills/mermaid-tools/scripts/extract_diagrams.py","docs/skills/daymade-skills/mermaid-tools/scripts/puppeteer-config.json","docs/skills/daymade-skills/pdf-creator/.security-scan-passed","docs/skills/daymade-skills/pdf-creator/SKILL.md","docs/skills/daymade-skills/pdf-creator/scripts/batch_convert.py","docs/skills/daymade-skills/pdf-creator/scripts/md_to_pdf.py","docs/skills/daymade-skills/ppt-creator/SKILL.md","docs/skills/daymade-skills/ppt-creator/references/CHECKLIST.md","docs/skills/daymade-skills/ppt-creator/references/EXAMPLES.md","docs/skills/daymade-skills/ppt-creator/references/INTAKE.md","docs/skills/daymade-skills/ppt-creator/references/ORCHESTRATION_DATA_CHARTS.md","docs/skills/daymade-skills/ppt-creator/references/ORCHESTRATION_OVERVIEW.md","docs/skills/daymade-skills/ppt-creator/references/ORCHESTRATION_PPTX.md","docs/skills/daymade-skills/ppt-creator/references/RUBRIC.md","docs/skills/daymade-skills/ppt-creator/references/STYLE-GUIDE.md","docs/skills/daymade-skills/ppt-creator/references/TEMPLATES.md","docs/skills/daymade-skills/ppt-creator/references/VIS-GUIDE.md","docs/skills/daymade-skills/ppt-creator/references/WORKFLOW.md","docs/skills/daymade-skills/ppt-creator/scripts/chartkit.py","docs/skills/daymade-skills/prompt-optimizer/.security-scan-passed","docs/skills/daymade-skills/prompt-optimizer/SKILL.md","docs/skills/daymade-skills/prompt-optimizer/references/advanced_techniques.md","docs/skills/daymade-skills/prompt-optimizer/references/domain_theories.md","docs/skills/daymade-skills/prompt-optimizer/references/ears_syntax.md","docs/skills/daymade-skills/prompt-optimizer/references/examples.md","docs/skills/daymade-skills/promptfoo-evaluation/.security-scan-passed","docs/skills/daymade-skills/promptfoo-evaluation/SKILL.md","docs/skills/daymade-skills/promptfoo-evaluation/references/promptfoo_api.md","docs/skills/daymade-skills/qa-expert/.security-scan-passed","docs/skills/daymade-skills/qa-expert/SKILL.md","docs/skills/daymade-skills/qa-expert/assets/templates/TEST-CASE-TEMPLATE.md","docs/skills/daymade-skills/qa-expert/references/day1_onboarding.md","docs/skills/daymade-skills/qa-expert/references/google_testing_standards.md","docs/skills/daymade-skills/qa-expert/references/ground_truth_principle.md","docs/skills/daymade-skills/qa-expert/references/llm_prompts_library.md","docs/skills/daymade-skills/qa-expert/references/master_qa_prompt.md","docs/skills/daymade-skills/qa-expert/scripts/calculate_metrics.py","docs/skills/daymade-skills/qa-expert/scripts/init_qa_project.py","docs/skills/daymade-skills/repomix-safe-mixer/SKILL.md","docs/skills/daymade-skills/repomix-safe-mixer/references/common_secrets.md","docs/skills/daymade-skills/repomix-safe-mixer/scripts/safe_pack.py","docs/skills/daymade-skills/repomix-safe-mixer/scripts/scan_secrets.py","docs/skills/daymade-skills/repomix-unmixer/README.md","docs/skills/daymade-skills/repomix-unmixer/SKILL.md","docs/skills/daymade-skills/repomix-unmixer/references/repomix-format.md","docs/skills/daymade-skills/repomix-unmixer/references/validation-workflow.md","docs/skills/daymade-skills/repomix-unmixer/scripts/unmix_repomix.py","docs/skills/daymade-skills/scripts/install.ps1","docs/skills/daymade-skills/scripts/install.sh","docs/skills/daymade-skills/skill-creator/.gitignore","docs/skills/daymade-skills/skill-creator/LICENSE.txt","docs/skills/daymade-skills/skill-creator/SKILL.md","docs/skills/daymade-skills/skill-creator/scripts/init_skill.py","docs/skills/daymade-skills/skill-creator/scripts/package_skill.py","docs/skills/daymade-skills/skill-creator/scripts/quick_validate.py","docs/skills/daymade-skills/skill-creator/scripts/security_scan.py","docs/skills/daymade-skills/skill-reviewer/.security-scan-passed","docs/skills/daymade-skills/skill-reviewer/SKILL.md","docs/skills/daymade-skills/skill-reviewer/references/evaluation_checklist.md","docs/skills/daymade-skills/skill-reviewer/references/marketplace_template.json","docs/skills/daymade-skills/skill-reviewer/references/pr_template.md","docs/skills/daymade-skills/skills-search/.security-scan-passed","docs/skills/daymade-skills/skills-search/SKILL.md","docs/skills/daymade-skills/statusline-generator/SKILL.md","docs/skills/daymade-skills/statusline-generator/references/ccusage_integration.md","docs/skills/daymade-skills/statusline-generator/references/color_codes.md","docs/skills/daymade-skills/statusline-generator/scripts/generate_statusline.sh","docs/skills/daymade-skills/statusline-generator/scripts/install_statusline.sh","docs/skills/daymade-skills/teams-channel-post-writer/SKILL.md","docs/skills/daymade-skills/teams-channel-post-writer/assets/post-template.md","docs/skills/daymade-skills/teams-channel-post-writer/references/writing-guidelines.md","docs/skills/daymade-skills/transcript-fixer/.gitignore","docs/skills/daymade-skills/transcript-fixer/SKILL.md","docs/skills/daymade-skills/transcript-fixer/references/architecture.md","docs/skills/daymade-skills/transcript-fixer/references/best_practices.md","docs/skills/daymade-skills/transcript-fixer/references/database_schema.md","docs/skills/daymade-skills/transcript-fixer/references/dictionary_guide.md","docs/skills/daymade-skills/transcript-fixer/references/file_formats.md","docs/skills/daymade-skills/transcript-fixer/references/glm_api_setup.md","docs/skills/daymade-skills/transcript-fixer/references/installation_setup.md","docs/skills/daymade-skills/transcript-fixer/references/iteration_workflow.md","docs/skills/daymade-skills/transcript-fixer/references/quick_reference.md","docs/skills/daymade-skills/transcript-fixer/references/script_parameters.md","docs/skills/daymade-skills/transcript-fixer/references/sql_queries.md","docs/skills/daymade-skills/transcript-fixer/references/team_collaboration.md","docs/skills/daymade-skills/transcript-fixer/references/troubleshooting.md","docs/skills/daymade-skills/transcript-fixer/references/workflow_guide.md","docs/skills/daymade-skills/transcript-fixer/requirements.txt","docs/skills/daymade-skills/transcript-fixer/scripts/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/check_type_hints.py","docs/skills/daymade-skills/transcript-fixer/scripts/cli/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/cli/argument_parser.py","docs/skills/daymade-skills/transcript-fixer/scripts/cli/commands.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/ai_processor.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/ai_processor_async.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/change_extractor.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/connection_pool.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/correction_repository.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/correction_service.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/dictionary_processor.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/learning_engine.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/schema.sql","docs/skills/daymade-skills/transcript-fixer/scripts/ensure_deps.py","docs/skills/daymade-skills/transcript-fixer/scripts/examples/bulk_import.py","docs/skills/daymade-skills/transcript-fixer/scripts/fix_transcript_enhanced.py","docs/skills/daymade-skills/transcript-fixer/scripts/fix_transcription.py","docs/skills/daymade-skills/transcript-fixer/scripts/generate_word_diff.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_audit_log_retention.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_connection_pool.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_correction_service.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_domain_validator.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_error_recovery.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_learning_engine.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_path_validator.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/audit_log_retention.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/concurrency_manager.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/config.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/database_migration.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/db_migrations_cli.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/change_extractor.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/html_format.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/inline_format.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/markdown_format.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/text_splitter.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/unified_format.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_generator.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/domain_validator.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/health_check.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/logging_config.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/metrics.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/migrations.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/path_validator.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/rate_limiter.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/retry_logic.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/security.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/validation.py","docs/skills/daymade-skills/twitter-reader/.security-scan-passed","docs/skills/daymade-skills/twitter-reader/SKILL.md","docs/skills/daymade-skills/twitter-reader/scripts/fetch_tweet.py","docs/skills/daymade-skills/twitter-reader/scripts/fetch_tweets.sh","docs/skills/daymade-skills/ui-designer/SKILL.md","docs/skills/daymade-skills/ui-designer/assets/app-overview-generator.md","docs/skills/daymade-skills/ui-designer/assets/design-system.md","docs/skills/daymade-skills/ui-designer/assets/vibe-design-template.md","docs/skills/daymade-skills/video-comparer/.security-scan-passed","docs/skills/daymade-skills/video-comparer/README.md","docs/skills/daymade-skills/video-comparer/SKILL.md","docs/skills/daymade-skills/video-comparer/assets/template.html","docs/skills/daymade-skills/video-comparer/references/configuration.md","docs/skills/daymade-skills/video-comparer/references/ffmpeg_commands.md","docs/skills/daymade-skills/video-comparer/references/video_metrics.md","docs/skills/daymade-skills/video-comparer/scripts/compare.py","docs/skills/daymade-skills/youtube-downloader/.security-scan-passed","docs/skills/daymade-skills/youtube-downloader/SKILL.md","docs/skills/daymade-skills/youtube-downloader/references/po-token-setup.md","docs/skills/daymade-skills/youtube-downloader/scripts/download_video.py","docs/skills/eval-harness/SKILL.md","docs/skills/frontend-patterns/SKILL.md","docs/skills/haizhan-ime-development.md","docs/skills/hizan-official/.claude-plugin/marketplace.json","docs/skills/hizan-official/skills/arch/SKILL.md","docs/skills/hizan-official/skills/game/SKILL.md","docs/skills/hizan-official/skills/quality/SKILL.md","docs/skills/hizan-official/skills/work/SKILL.md","docs/skills/juhi/tool-usage.md","docs/skills/mhattingpete-skills/.claude-plugin/marketplace.json","docs/skills/mhattingpete-skills/.claude/install-gh.sh","docs/skills/mhattingpete-skills/.claude/settings.json","docs/skills/mhattingpete-skills/.gitignore","docs/skills/mhattingpete-skills/CHANGELOG.md","docs/skills/mhattingpete-skills/CLAUDE.md","docs/skills/mhattingpete-skills/CONTRIBUTING.md","docs/skills/mhattingpete-skills/LICENSE","docs/skills/mhattingpete-skills/README.md","docs/skills/mhattingpete-skills/assets/skill-loading.gif","docs/skills/mhattingpete-skills/code-operations-plugin/.claude-plugin/plugin.json","docs/skills/mhattingpete-skills/code-operations-plugin/README.md","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-execution/SKILL.md","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-execution/examples/bulk_refactor.py","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-execution/examples/codebase_audit.py","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-execution/examples/extract_functions.py","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-refactor/SKILL.md","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-transfer/SKILL.md","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-transfer/scripts/line_insert.py","docs/skills/mhattingpete-skills/code-operations-plugin/skills/file-operations/SKILL.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/.claude-plugin/plugin.json","docs/skills/mhattingpete-skills/engineering-workflow-plugin/README.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/agents/ensemble-orchestrator/AGENT.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/agents/plan-implementer.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/commands/pr.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/ensemble-solving/SKILL.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/ensemble-solving/references/diversification-strategies.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/ensemble-solving/references/evaluation-rubrics.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/feature-planning/SKILL.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/feature-planning/references/planning-best-practices.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/git-pushing/SKILL.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/git-pushing/scripts/smart_commit.sh","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/review-implementing/SKILL.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/test-fixing/SKILL.md","docs/skills/mhattingpete-skills/execution-runtime/.env.example","docs/skills/mhattingpete-skills/execution-runtime/README.md","docs/skills/mhattingpete-skills/execution-runtime/api/__init__.py","docs/skills/mhattingpete-skills/execution-runtime/api/code_analysis.py","docs/skills/mhattingpete-skills/execution-runtime/api/code_transform.py","docs/skills/mhattingpete-skills/execution-runtime/api/filesystem.py","docs/skills/mhattingpete-skills/execution-runtime/api/git_operations.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/__init__.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/security/__init__.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/security/import_guard.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/security/pii_detector.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/sessions.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/skills.py","docs/skills/mhattingpete-skills/execution-runtime/mcp-server/mcp_server.py","docs/skills/mhattingpete-skills/execution-runtime/mcp-server/security/pii_detector.py","docs/skills/mhattingpete-skills/execution-runtime/mcp-server/security/sandbox.py","docs/skills/mhattingpete-skills/execution-runtime/pyproject.toml","docs/skills/mhattingpete-skills/execution-runtime/setup.sh","docs/skills/mhattingpete-skills/productivity-skills-plugin/.claude-plugin/plugin.json","docs/skills/mhattingpete-skills/productivity-skills-plugin/README.md","docs/skills/mhattingpete-skills/productivity-skills-plugin/skills/code-auditor/SKILL.md","docs/skills/mhattingpete-skills/productivity-skills-plugin/skills/codebase-documenter/SKILL.md","docs/skills/mhattingpete-skills/productivity-skills-plugin/skills/conversation-analyzer/SKILL.md","docs/skills/mhattingpete-skills/productivity-skills-plugin/skills/conversation-analyzer/scripts/analyze_history.py","docs/skills/mhattingpete-skills/productivity-skills-plugin/skills/project-bootstrapper/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/.claude-plugin/plugin.json","docs/skills/mhattingpete-skills/visual-documentation-plugin/EXAMPLES.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/README.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/architecture-diagram-creator/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/architecture-diagram-creator/assets/templates/architecture_components.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/architecture-diagram-creator/assets/templates/base_template.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/architecture-diagram-creator/references/example_architecture.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/dashboard-creator/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/dashboard-creator/assets/templates/base_template.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/dashboard-creator/assets/templates/dashboard_components.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/dashboard-creator/references/design_patterns.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/dashboard-creator/references/svg_library.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/flowchart-creator/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/flowchart-creator/assets/templates/base_template.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/flowchart-creator/assets/templates/flowchart_components.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/flowchart-creator/references/design_patterns.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/flowchart-creator/references/svg_library.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/technical-doc-creator/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/technical-doc-creator/assets/templates/base_template.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/technical-doc-creator/references/design_patterns.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/technical-doc-creator/references/svg_library.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/timeline-creator/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/timeline-creator/assets/templates/base_template.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/timeline-creator/assets/templates/timeline_components.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/timeline-creator/references/design_patterns.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/timeline-creator/references/svg_library.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/test-outputs/dashboard-test-monitoring.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/test-outputs/flowchart-test-authentication.html","docs/skills/netresearch-marketplace/.claude-plugin/marketplace.json","docs/skills/netresearch-marketplace/.github/workflows/sync-skills.yml","docs/skills/netresearch-marketplace/.gitignore","docs/skills/netresearch-marketplace/.sync-config.json","docs/skills/netresearch-marketplace/README.md","docs/skills/netresearch-marketplace/SYNC-SETUP.md","docs/skills/netresearch-marketplace/VERSIONING.md","docs/skills/netresearch-marketplace/notify-marketplace.yml","docs/skills/netresearch-marketplace/plugins/coach/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/plugins/coach/LICENSE","docs/skills/netresearch-marketplace/plugins/coach/README.md","docs/skills/netresearch-marketplace/plugins/coach/assets/templates/antipattern.md","docs/skills/netresearch-marketplace/plugins/coach/assets/templates/checklist.md","docs/skills/netresearch-marketplace/plugins/coach/assets/templates/rule.md","docs/skills/netresearch-marketplace/plugins/coach/assets/templates/snippet.md","docs/skills/netresearch-marketplace/plugins/coach/commands/approve.md","docs/skills/netresearch-marketplace/plugins/coach/commands/edit.md","docs/skills/netresearch-marketplace/plugins/coach/commands/init.md","docs/skills/netresearch-marketplace/plugins/coach/commands/promote.md","docs/skills/netresearch-marketplace/plugins/coach/commands/reject.md","docs/skills/netresearch-marketplace/plugins/coach/commands/review.md","docs/skills/netresearch-marketplace/plugins/coach/commands/scan.md","docs/skills/netresearch-marketplace/plugins/coach/commands/status.md","docs/skills/netresearch-marketplace/plugins/coach/hooks/hooks.json","docs/skills/netresearch-marketplace/plugins/coach/references/architecture.md","docs/skills/netresearch-marketplace/plugins/coach/references/schema.md","docs/skills/netresearch-marketplace/plugins/coach/references/scope_heuristics.md","docs/skills/netresearch-marketplace/plugins/coach/references/signal_patterns.md","docs/skills/netresearch-marketplace/plugins/coach/scripts/aggregate.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/apply.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/detect_signals.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/fingerprint.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/init_coach.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/ledger.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/propose.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/root_cause_analyzer.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/scope_analyzer.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/skill_analyzer.py","docs/skills/netresearch-marketplace/plugins/coach/skills/coach/SKILL.md","docs/skills/netresearch-marketplace/renovate.json","docs/skills/netresearch-marketplace/skills/agents/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/agents/LICENSE","docs/skills/netresearch-marketplace/skills/agents/README.md","docs/skills/netresearch-marketplace/skills/agents/STATUS.md","docs/skills/netresearch-marketplace/skills/agents/claudedocs/refactoring-summary.md","docs/skills/netresearch-marketplace/skills/agents/composer.json","docs/skills/netresearch-marketplace/skills/agents/docs/ROADMAP.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/SKILL.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/root-thin.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/root-verbose.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/backend-go.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/backend-php.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/cli.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/documentation.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/examples.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/frontend-typescript.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/resources.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/testing.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/analysis.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/directory-coverage.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/coding-agent-cli/AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/coding-agent-cli/scripts-AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/ldap-selfservice/AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/ldap-selfservice/internal-AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/ldap-selfservice/internal-web-AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/simple-ldap-go/AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/simple-ldap-go/examples-AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/t3x-rte-ckeditor-image/AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/t3x-rte-ckeditor-image/Classes-AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/analyze-git-history.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/check-freshness.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/detect-project.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/detect-scopes.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-agent-configs.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-ci-commands.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-commands.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-documentation.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-ide-settings.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-platform-files.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-quality-configs.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/generate-agents.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/lib/summary.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/lib/template.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/validate-structure.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/verify-content.sh","docs/skills/netresearch-marketplace/skills/cli-tools/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/cli-tools/LICENSE","docs/skills/netresearch-marketplace/skills/cli-tools/README.md","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ansible-core.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ast-grep.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/aws.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/bandit.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/bat.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/black.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/claude.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/codex.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/compose.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/composer.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ctags.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/curlie.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/dasel.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/delta.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/direnv.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/dive.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/docker.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/entr.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/eslint.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/fd.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/flake8.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/fx.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/fzf.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/gam.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/gem.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/gh.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/git-absorb.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/git-branchless.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/git-filter-repo.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/git-lfs.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/git.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/gitleaks.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/glab.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/go.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/golangci-lint.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/gosec.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/httpie.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/isort.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/jq.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/just.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/kubectl.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ninja.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/node.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/npm.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/parallel.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/php.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/pip.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/pipx.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/pnpm.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/poetry.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/pre-commit.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/prename.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/prettier.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/python.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/rbenv.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/rename.ul.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/rga.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ripgrep.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ruby-build.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ruby.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ruff.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/rust.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/sd.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/semgrep.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/shellcheck.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/shfmt.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/sponge.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/terraform.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/tfsec.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/trivy.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/uv.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/watchexec.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/xsv.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/yarn.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/yq.json","docs/skills/netresearch-marketplace/skills/cli-tools/composer.json","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/SKILL.md","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/references/binary_to_tool_map.md","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/references/project_type_requirements.md","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/auto_update.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/check_environment.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/detect_project_type.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/install_composer.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/install_tool.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/aws_installer.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/dedicated_script.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/github_clone.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/github_release_binary.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/hashicorp_zip.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/npm_global.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/npm_self_update.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/package_manager.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/uv_tool.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/capability.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/catalog.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/common.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/dependency.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/install_strategy.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/path_check.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/policy.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/reconcile.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/scope_detection.sh","docs/skills/netresearch-marketplace/skills/context7/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/context7/LICENSE","docs/skills/netresearch-marketplace/skills/context7/README.md","docs/skills/netresearch-marketplace/skills/context7/skills/context7/SKILL.md","docs/skills/netresearch-marketplace/skills/context7/skills/context7/scripts/context7.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/enterprise-readiness/LICENSE","docs/skills/netresearch-marketplace/skills/enterprise-readiness/README.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/ARCHITECTURE.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/BADGE_EXCEPTIONS.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/CODE_OF_CONDUCT.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/GOVERNANCE.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/ROADMAP.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/SECURITY_AUDIT.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/workflows/codeql.yml","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/workflows/dco-check.yml","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/workflows/dependency-review.yml","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/workflows/scorecard.yml","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/workflows/slsa-provenance.yml","docs/skills/netresearch-marketplace/skills/enterprise-readiness/composer.json","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/SKILL.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/2fa-enforcement.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/badge-display.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/branch-coverage.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/dco-implementation.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/dynamic-analysis.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/general.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/github.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/go.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/openssf-badge-gold.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/openssf-badge-silver.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/quick-start-guide.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/reproducible-builds.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/security-hardening.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/signed-releases.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/solo-maintainer-guide.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/sonarcloud.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/test-invocation.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/add-spdx-headers.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/analyze-bus-factor.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/check-branch-coverage.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/check-coverage-threshold.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/check-tls-minimum.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/verify-badge-criteria.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/verify-reproducible-build.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/verify-review-requirements.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/verify-signed-tags.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/verify-spdx-headers.sh","docs/skills/netresearch-marketplace/skills/git-workflow/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/git-workflow/LICENSE","docs/skills/netresearch-marketplace/skills/git-workflow/README.md","docs/skills/netresearch-marketplace/skills/git-workflow/composer.json","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/SKILL.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/advanced-git.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/branching-strategies.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/ci-cd-integration.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/commit-conventions.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/github-releases.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/pull-request-workflow.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/scripts/verify-git-workflow.sh","docs/skills/netresearch-marketplace/skills/github-project/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/github-project/LICENSE","docs/skills/netresearch-marketplace/skills/github-project/README.md","docs/skills/netresearch-marketplace/skills/github-project/composer.json","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/SKILL.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/CODEOWNERS.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/CONTRIBUTING.md.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/PULL_REQUEST_TEMPLATE.md.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/SECURITY.md.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/auto-merge-direct.yml.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/auto-merge-queue.yml.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/auto-merge.yml.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/bug_report.md.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/dependabot.yml.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/feature_request.md.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/release-labeler.yml.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/renovate.json.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/references/branch-migration.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/references/dependency-management.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/references/release-labeling.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/references/repository-structure.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/references/sub-issues.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/scripts/verify-github-project.sh","docs/skills/netresearch-marketplace/skills/go-development/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/go-development/LICENSE","docs/skills/netresearch-marketplace/skills/go-development/README.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/SKILL.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/api-design.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/architecture.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/docker.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/fuzz-testing.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/ldap.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/linting.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/makefile.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/mutation-testing.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/resilience.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/testing.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/scripts/verify-go-project.sh","docs/skills/netresearch-marketplace/skills/jira-integration/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/jira-integration/AGENTS.md","docs/skills/netresearch-marketplace/skills/jira-integration/CHANGELOG.md","docs/skills/netresearch-marketplace/skills/jira-integration/CLAUDE.md","docs/skills/netresearch-marketplace/skills/jira-integration/LICENSE","docs/skills/netresearch-marketplace/skills/jira-integration/MIGRATION.md","docs/skills/netresearch-marketplace/skills/jira-integration/PRD.md","docs/skills/netresearch-marketplace/skills/jira-integration/README.md","docs/skills/netresearch-marketplace/skills/jira-integration/SKILL.md","docs/skills/netresearch-marketplace/skills/jira-integration/composer.json","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/AGENTS.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/SKILL.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/references/jql-quick-reference.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/references/troubleshooting.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-attachment.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-issue.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-search.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-setup.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-validate.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-worklog.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/lib/__init__.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/lib/client.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/lib/config.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/lib/output.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/utility/jira-fields.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/utility/jira-link.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/utility/jira-user.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/workflow/jira-board.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/workflow/jira-comment.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/workflow/jira-create.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/workflow/jira-sprint.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/workflow/jira-transition.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/AGENTS.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/SKILL.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/references/jira-syntax-quick-reference.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/scripts/validate-jira-syntax.sh","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/templates/bug-report-template.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/templates/feature-request-template.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/netresearch-branding/LICENSE","docs/skills/netresearch-marketplace/skills/netresearch-branding/README.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/assets/logos/netresearch-symbol-only.svg","docs/skills/netresearch-marketplace/skills/netresearch-branding/composer.json","docs/skills/netresearch-marketplace/skills/netresearch-branding/examples/components.html","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/SKILL.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/references/colors.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/references/typo3-extension-branding.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/references/typography.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/references/web-design.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/templates/landing-page.html","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/templates/styles.css","docs/skills/netresearch-marketplace/skills/php-modernization/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/php-modernization/LICENSE","docs/skills/netresearch-marketplace/skills/php-modernization/README.md","docs/skills/netresearch-marketplace/skills/php-modernization/composer.json","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/SKILL.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/adapter-registry-pattern.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/migration-strategies.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/php8-features.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/phpstan-compliance.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/psr-per-compliance.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/request-dtos.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/static-analysis-tools.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/symfony-patterns.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/type-safety.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/scripts/verify-php-project.sh","docs/skills/netresearch-marketplace/skills/security-audit/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/security-audit/LICENSE","docs/skills/netresearch-marketplace/skills/security-audit/README.md","docs/skills/netresearch-marketplace/skills/security-audit/composer.json","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/SKILL.md","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/references/api-key-encryption.md","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/references/cvss-scoring.md","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/references/owasp-top10.md","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/references/xxe-prevention.md","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/scripts/security-audit.sh","docs/skills/netresearch-marketplace/skills/skill-repo/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/skill-repo/LICENSE","docs/skills/netresearch-marketplace/skills/skill-repo/README.md","docs/skills/netresearch-marketplace/skills/skill-repo/composer.json","docs/skills/netresearch-marketplace/skills/skill-repo/renovate.json","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/SKILL.md","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/references/composer-setup.md","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/references/installation-methods.md","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/references/marketplace-integration.md","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/scripts/validate-skill.sh","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/templates/README.md.template","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/templates/composer.json.template","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/templates/release.yml.template","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/README.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/composer.json","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/references/ckeditor5-architecture.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/references/migration-guide.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/references/plugin-development.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/references/typo3-integration.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/scripts/verify-ckeditor5.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-conformance/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-conformance/README.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/composer.json","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/assets/.github/workflows/publish-to-ter.yml","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/backend-module-v13.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/backend-wizard-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/best-practices.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/coding-guidelines.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/composer-validation.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/crowdin-integration.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/development-environment.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/directory-structure.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/dual-version-compatibility.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/excellence-indicators.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/ext-emconf-validation.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/ext-files-validation.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/extension-architecture.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/hooks-and-events.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/multi-tier-configuration.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/php-architecture.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/report-template.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/runtests-validation.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/ter-publishing.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/testing-standards.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/v13-deprecations.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/version-requirements.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-architecture.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-coding-standards.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-conformance.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-documentation.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-file-structure.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-phpstan-baseline.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-testing.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/generate-report.sh","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/README.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/assets/commit-template.txt","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/claudedocs/refactoring-summary.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/composer.json","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/account-setup.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/commit-message-format.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/commit-msg-hook.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/ddev-setup-workflow.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/forge-api.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/gerrit-review-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/gerrit-workflow.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/modern-typo3-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/troubleshooting.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/create-commit-message.py","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/create-forge-issue.sh","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/query-forge-metadata.sh","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/setup-typo3-coredev.sh","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/validate-commit-message.py","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/verify-prerequisites.sh","docs/skills/netresearch-marketplace/skills/typo3-ddev/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-ddev/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-ddev/README.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/composer.json","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/.envrc","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/Makefile.template","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/README-SERVICES.md.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/apache/apache-site.conf","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/host/docs","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/host/pre-start-git-info","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/host/setup","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/install-all","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/install-v11","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/install-v12","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/install-v13","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/web/configure-extension.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/web/generate-index","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/web/generate-makefile","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/web/install-introduction.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/config.redis.php.example","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/config.yaml","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/docker-compose.git-info.yaml","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/docker-compose.ofelia.yaml.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/docker-compose.services-redis.yaml.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/docker-compose.services.yaml.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/docker-compose.web.yaml","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/homeadditions/.bashrc_additions.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/index.html.netresearch.template","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/index.html.typo3.template","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/web-build/Dockerfile","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/web-build/install-cron.sh.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/web-entrypoint.d/10-cleanup-index.sh","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/0001-valkey-default-with-redis-alternative.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/0002-mariadb-default-with-database-alternatives.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/0003-php-version-management.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/advanced-options.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/documentation-rendering.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/index-page-generation.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/prerequisites-validation.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/quickstart.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/troubleshooting.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/typo3-12-cli-changes.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/windows-fixes.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/windows-optimizations.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/scripts/validate-prerequisites.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-docs/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-docs/README.md","docs/skills/netresearch-marketplace/skills/typo3-docs/composer.json","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/assets/AGENTS.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/architecture-decision-records.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/code-structure-elements.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/coding-guidelines.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/content-directives.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/documentation-coverage-analysis.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/extraction-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/file-structure.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/guides-xml.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/intercept-deployment.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/rendering.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/rst-syntax.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/screenshots.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/text-roles-inline-code.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/typo3-directives.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/typo3-extension-architecture.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/add-agents-md.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/analyze-docs.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-all.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-build-configs.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-composer.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-extension-config.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-php.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-project-files.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-repo-metadata.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/render_docs.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/validate_docs.sh","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/README.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/composer.json","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/assets/.php-cs-fixer.php","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/assets/fractor.php","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/assets/phpstan.neon","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/assets/phpunit.xml","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/assets/rector.php","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/api-changes.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/dual-compatibility.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/pre-upgrade.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/real-world-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/upgrade-v11-to-v12.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/upgrade-v12-to-v13.md","docs/skills/netresearch-marketplace/skills/typo3-testing/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-testing/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-testing/README.md","docs/skills/netresearch-marketplace/skills/typo3-testing/composer.json","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/.php-cs-fixer.dist.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/AGENTS.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/FunctionalTests.xml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/FunctionalTestsBootstrap.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/Makefile","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/UnitTests.xml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/UnitTestsBootstrap.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/bootstrap.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/codecov.yml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/docker/codeception.yml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/docker/docker-compose.yml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/example-tests/ExampleAcceptanceCest.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/example-tests/ExampleFunctionalTest.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/example-tests/ExampleUnitTest.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/fixtures/README.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/fixtures/be_users.csv","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/fixtures/pages.csv","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/fixtures/sys_category.csv","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/fixtures/tt_content.csv","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/github-actions-e2e.yml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/github-actions-tests.yml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/infection.json5","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/phpat.neon","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/phpat.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/phpstan-baseline.neon","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/phpstan.neon","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/rector.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/accessibility-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/architecture-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/ci-cd.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/crypto-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/ddev-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/e2e-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/functional-test-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/functional-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/fuzz-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/integration-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/javascript-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/mutation-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/performance-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/quality-tools.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/sonarcloud.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/test-runners.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/typo3-v14-final-classes.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/unit-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/scripts/generate-test.sh","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/scripts/setup-testing.sh","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/scripts/validate-setup.sh","docs/skills/netresearch-marketplace/update-source-repos.sh","docs/skills/project-guidelines-example/SKILL.md","docs/skills/security-review/SKILL.md","docs/skills/strategic-compact/SKILL.md","docs/skills/strategic-compact/suggest-compact.sh","docs/skills/tdd-workflow/SKILL.md","docs/skills/verification-loop/SKILL.md","docs/话术库导出_20251231103252.xlsx","docs_archive/AI_INPUT_METHOD_BRAINSTORM.md","docs_archive/ANDROID_100_PERCENT_PLAN.md","docs_archive/ANDROID_NATIVE_REPLACEMENT_DETAILED_PLAN.md","docs_archive/ANDROID_NATIVE_REPLACEMENT_PLAN.md","docs_archive/API.md","docs_archive/APPLE_PLATFORM_DEVELOPMENT_PLAN.md","docs_archive/ARCHITECTURE.md","docs_archive/ARCHITECTURE_COMPACT.md","docs_archive/CLAUDE.md","docs_archive/COMPREHENSIVE_IMPROVEMENT_PLAN.md","docs_archive/DEPLOYMENT.md","docs_archive/DESIGN_BASED_DEVELOPMENT_PLAN.md","docs_archive/DEVELOPMENT_ROADMAP.md","docs_archive/DICTIONARY_IMPROVEMENT_PLAN.md","docs_archive/DOCS_INDEX.md","docs_archive/IMPLEMENTATION_PLAN.md","docs_archive/IMPROVEMENT_RECOMMENDATIONS.md","docs_archive/IOS_DEVELOPMENT_PLAN.md","docs_archive/NEXT_STEPS_PLAN.md","docs_archive/PINYIN_DEVELOPMENT_PLAN.md","docs_archive/PRD.md","docs_archive/PROGRESS_TRACKER.md","docs_archive/README.md","docs_archive/REDLINES.md","docs_archive/SMART_RECOGNITION_COMPACT.md","docs_archive/TECHNICAL_ARCHITECTURE.md","docs_archive/UI_DEVELOPMENT_PLAN.md","docs_archive/smart-recognition-design.md","flutter_app/assets/fonts/PingFang-Medium.ttf","flutter_app/assets/fonts/PingFang-Regular.ttf","flutter_app/assets/fonts/PingFang-Semibold.ttf","flutter_app/assets/icons/.gitkeep","flutter_app/assets/images/.gitkeep","flutter_app/lib/core/bridge/bridge_models.dart","flutter_app/lib/core/bridge/bridge_response_parser.dart","flutter_app/lib/core/bridge/haizhan_bridge.dart","flutter_app/lib/core/di/service_locator.dart","flutter_app/lib/core/router/app_router.dart","flutter_app/lib/core/router/routes.dart","flutter_app/lib/core/theme/app_colors.dart","flutter_app/lib/core/theme/app_theme.dart","flutter_app/lib/core/theme/app_typography.dart","flutter_app/lib/features/auth/data/auth_provider.dart","flutter_app/lib/features/auth/data/auth_repository.dart","flutter_app/lib/features/auth/domain/auth_models.dart","flutter_app/lib/features/auth/presentation/login_screen.dart","flutter_app/lib/features/auth/presentation/register_screen.dart","flutter_app/lib/features/chat/data/ai_provider.dart","flutter_app/lib/features/chat/data/ai_repository.dart","flutter_app/lib/features/chat/domain/ai_reply_models.dart","flutter_app/lib/features/chat/presentation/chat_screen.dart","flutter_app/lib/features/chat/presentation/conversation_screen.dart","flutter_app/lib/features/contacts/data/contact_360_provider.dart","flutter_app/lib/features/contacts/data/contacts_provider.dart","flutter_app/lib/features/contacts/data/contacts_repository.dart","flutter_app/lib/features/contacts/domain/contact_models.dart","flutter_app/lib/features/contacts/presentation/contact_detail_screen.dart","flutter_app/lib/features/contacts/presentation/contacts_screen.dart","flutter_app/lib/features/home/presentation/home_screen.dart","flutter_app/lib/features/home/presentation/main_shell.dart","flutter_app/lib/features/knowledge/data/knowledge_provider.dart","flutter_app/lib/features/knowledge/data/knowledge_repository.dart","flutter_app/lib/features/knowledge/domain/knowledge_models.dart","flutter_app/lib/features/knowledge/presentation/knowledge_screen.dart","flutter_app/lib/features/profile/presentation/profile_screen.dart","flutter_app/lib/features/search/data/models/search_metrics.dart","flutter_app/lib/features/search/presentation/widgets/search_metrics_indicator.dart","flutter_app/lib/features/settings/presentation/settings_screen.dart","flutter_app/lib/features/stats/presentation/stats_screen.dart","flutter_app/lib/features/stats/presentation/widgets/contact_stats_tab.dart","flutter_app/lib/features/stats/presentation/widgets/overview_tab.dart","flutter_app/lib/features/stats/presentation/widgets/reply_stats_tab.dart","flutter_app/lib/features/stats/presentation/widgets/stats_shared_widgets.dart","flutter_app/lib/features/support/presentation/about_screen.dart","flutter_app/lib/features/support/presentation/feedback_screen.dart","flutter_app/lib/features/support/presentation/help_screen.dart","flutter_app/lib/features/support/presentation/privacy_screen.dart","flutter_app/lib/features/support/presentation/terms_screen.dart","flutter_app/lib/main.dart","flutter_app/lib/shared/widgets/stat_card.dart","flutter_app/pigeons/haizhan_api.dart","flutter_app/pubspec.lock","flutter_app/pubspec.yaml","flutter_app/test/core/network/api_client_test.dart","flutter_app/test/core/theme/theme_provider_test.dart","flutter_app/test/features/auth/login_screen_test.dart","flutter_app/test/features/chat/chat_screen_test.dart","flutter_app/test/features/contacts/contacts_screen_test.dart","flutter_app/test/features/home/home_screen_test.dart","flutter_app/test/features/knowledge/knowledge_screen_test.dart","flutter_app/test/features/profile/profile_screen_test.dart","flutter_app/test/features/settings/settings_screen_test.dart","flutter_app/test/features/statistics/statistics_screen_test.dart","flutter_app/test/features/stats/stats_screen_test.dart","flutter_app/test/integration/app_integration_test.dart","flutter_app/test/providers/auth_provider_test.dart","flutter_app/test/services/api_service_test.dart","flutter_app/test/widgets/contact_card_test.dart","gradle.properties","gradle/libs.versions.toml","gradle/wrapper/gradle-wrapper.jar","gradle/wrapper/gradle-wrapper.properties","gradlew","gradlew.bat","ime-core/build.gradle.kts","ime-core/consumer-rules.pro","ime-core/proguard-rules.pro","ime-core/src/androidTest/java/com/haizhan/ime/core/handwriting/HandwritingIntegrationTest.kt","ime-core/src/androidTest/java/com/haizhan/ime/core/handwriting/HandwritingPerformanceTest.kt","ime-core/src/androidTest/java/com/haizhan/ime/core/handwriting/HandwritingViewTest.kt","ime-core/src/main/AndroidManifest.xml","ime-core/src/main/assets/dictionaries/system/core-char.txt","ime-core/src/main/assets/dictionaries/system/core-merged.txt","ime-core/src/main/assets/dictionaries/system/core-phrase.txt","ime-core/src/main/assets/dictionaries/system/core-word2.txt","ime-core/src/main/assets/dictionaries/system/core-word3.txt","ime-core/src/main/assets/dictionaries/system/core-word4.txt","ime-core/src/main/assets/handwriting_labels_casia.txt","ime-core/src/main/assets/paddle_models/ppocr_keys_v1.txt","ime-core/src/main/cpp/CMakeLists.txt","ime-core/src/main/cpp/include/paddle_api.h","ime-core/src/main/cpp/include/paddle_image_preprocess.h","ime-core/src/main/cpp/include/paddle_lite_factory_helper.h","ime-core/src/main/cpp/include/paddle_place.h","ime-core/src/main/cpp/include/paddle_use_kernels.h","ime-core/src/main/cpp/include/paddle_use_ops.h","ime-core/src/main/cpp/include/paddle_use_passes.h","ime-core/src/main/cpp/paddle_lite_jni.cpp","ime-core/src/main/cpp/paddle_ocr_jni.cpp","ime-core/src/main/java/com/haizhan/ime/core/context/ChatContext.kt","ime-core/src/main/java/com/haizhan/ime/core/context/ChatContextProvider.kt","ime-core/src/main/java/com/haizhan/ime/core/context/ContextAnalyzer.kt","ime-core/src/main/java/com/haizhan/ime/core/context/ContextAwareRanker.kt","ime-core/src/main/java/com/haizhan/ime/core/context/WordCategoryClassifier.kt","ime-core/src/main/java/com/haizhan/ime/core/di/ImeCoreModule.kt","ime-core/src/main/java/com/haizhan/ime/core/di/PerformanceModule.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/ImeEngine.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/EnglishKeyHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/HandwritingKeyHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/KeyPressDispatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/KeyPressHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/PinyinKeyHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/SymbolKeyHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/VoiceKeyHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/HaizhanHandwritingApiClient.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/HandwritingKeyboard.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/HandwritingManager.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/HandwritingToolbar.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/HandwritingView.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/IHandwritingRecognizer.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/ModelDownloader.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/PaddleLiteRecognizer.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/RecognitionConfig.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/Stroke.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/StrokeCache.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/StrokePreprocessor.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/StrokeSegmenter.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/TFLiteRecognizer.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/UnifiedRecognitionEngine.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/di/HandwritingModule.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/CandidatesView.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/EnhancedCandidatesView.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/ImeContentLayout.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/ImeLayoutConstants.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/InputModeToolbar.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/KeyboardLayout.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/KeyboardView.kt","ime-core/src/main/java/com/haizhan/ime/core/ocr/IOcrEngine.kt","ime-core/src/main/java/com/haizhan/ime/core/ocr/OcrImageProcessor.kt","ime-core/src/main/java/com/haizhan/ime/core/ocr/OcrModels.kt","ime-core/src/main/java/com/haizhan/ime/core/ocr/PaddleOcrEngine.kt","ime-core/src/main/java/com/haizhan/ime/core/ocr/README.md","ime-core/src/main/java/com/haizhan/ime/core/ocr/di/OcrModule.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/BuiltinDictionary.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/Candidate.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/CloudPinyinService.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/CloudSyncService.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/DictModels.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/DictionaryFileParser.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/DictionaryHotReloader.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/DictionaryImporter.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/DictionaryReloader.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/EnterpriseDictionary.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/FuzzyPinyinConfig.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/HotWordService.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/ImportResult.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/InputPredictor.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/LocalDictionary.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/NgramData.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/NgramModel.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/NineGridMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/PinyinSegmenterImpl.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/PinyinService.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/PinyinServiceImpl.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/PinyinSplitter.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/SmartErrorCorrector.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/SystemDatDictionary.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/UserPreferenceStore.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/cloud/CloudPinyinApiImpl.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/cloud/CloudPinyinModule.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/cloud/ExponentialBackoff.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/converter/ChineseConverter.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/FullPinyinMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/InputMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/InputMatcherManager.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/NineGridMatcherAdapter.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/ShortcutMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/ShuangpinMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/di/MatcherModule.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/MicrosoftScheme.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/NaturalScheme.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/ShuangpinConverter.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/ShuangpinScheme.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/SogouScheme.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/XiaoheScheme.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/stroke/StrokeData.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/stroke/StrokeMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/theme/DesignTokens.kt","ime-core/src/main/java/com/haizhan/ime/core/theme/KeyboardTheme.kt","ime-core/src/main/java/com/haizhan/ime/core/theme/ThemeManager.kt","ime-core/src/main/java/com/haizhan/ime/core/voice/ui/VoicePanel.kt","ime-core/src/main/jniLibs/arm64-v8a/libpaddle_light_api_shared.so","ime-core/src/main/res/drawable/ic_backspace.xml","ime-core/src/main/res/drawable/ic_clear_all.xml","ime-core/src/main/res/drawable/ic_handwriting.xml","ime-core/src/main/res/drawable/ic_keyboard.xml","ime-core/src/test/java/com/haizhan/ime/core/ImeEngineTest.kt","ime-core/src/test/java/com/haizhan/ime/core/benchmark/ImeCorePerformanceTest.kt","ime-core/src/test/java/com/haizhan/ime/core/benchmark/MemoryBenchmarkTest.kt","ime-core/src/test/java/com/haizhan/ime/core/context/ContextAnalyzerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/context/ContextAwareRankerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/context/WordCategoryClassifierTest.kt","ime-core/src/test/java/com/haizhan/ime/core/decoder/UnifiedRankerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/ImeEngineTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/handler/EnglishKeyHandlerExpandedTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/handler/KeyPressDispatcherTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/handler/KeyPressHandlerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/handler/PinyinKeyHandlerExpandedTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/handler/SymbolKeyHandlerExpandedTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/HandwritingManagerAdvancedTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/HandwritingManagerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/PaddleLiteRecognizerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/StrokeCacheTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/StrokePreprocessorTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/TFLiteRecognizerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/keyboard/CandidatesViewTest.kt","ime-core/src/test/java/com/haizhan/ime/core/keyboard/KeyboardLayoutTest.kt","ime-core/src/test/java/com/haizhan/ime/core/keyboard/KeyboardViewTest.kt","ime-core/src/test/java/com/haizhan/ime/core/ocr/OcrImageProcessorTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/CloudPinyinServiceTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/CloudSyncServiceTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/DictionaryFileParserTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/DictionaryImporterTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/DictionaryReloaderTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/EnterpriseDictionaryTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/FuzzyPinyinConfigTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/HotWordServiceTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/InputPredictorTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/LocalDictionaryTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/NgramModelTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/NineGridMatcherTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/PinyinSegmenterTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/PinyinServiceImplTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/PinyinServiceTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/PinyinSplitterTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/SmartErrorCorrectorTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/SystemDatDictionaryTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/UserPreferenceStoreTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/cloud/CloudPinyinApiImplTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/cloud/ExponentialBackoffTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/matcher/FullPinyinMatcherTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/matcher/ShuangpinMatcherTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/shuangpin/ShuangpinSchemeTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/shuangpin/SogouSchemeTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/shuangpin/XiaoheSchemeTest.kt","ime-core/src/test/java/com/haizhan/ime/core/theme/ThemeManagerTest.kt","ios_keyboard/APPSTORE_LISTING.md","ios_keyboard/HaizhanKeyboard/Info.plist","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboard.xcodeproj/project.pbxproj","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboard.xcodeproj/project.xcworkspace/contents.xcworkspacedata","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp.entitlements","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/HaizhanKeyboardApp.entitlements","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/HaizhanKeyboardApp.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Info.plist","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Models/AppSession.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Services/KeyboardStatusService.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Services/ScreenshotResponder.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Views/AccountView.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Views/AppSettingsView.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Views/ContentView.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Views/LoginView.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Views/OnboardingView.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardExtension.entitlements","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardExtension/HaizhanKeyboardExtension.entitlements","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardExtension/Info.plist","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardExtension/KeyboardExtensionStub.swift","ios_keyboard/HaizhanKeyboardApp/Info.plist","ios_keyboard/HaizhanKeyboardApp/Models/AppSession.swift","ios_keyboard/HaizhanKeyboardApp/README.md","ios_keyboard/HaizhanKeyboardApp/Services/KeyboardStatusService.swift","ios_keyboard/HaizhanKeyboardApp/Services/ScreenshotResponder.swift","ios_keyboard/HaizhanKeyboardApp/Views/AccountView.swift","ios_keyboard/HaizhanKeyboardApp/Views/AppSettingsView.swift","ios_keyboard/HaizhanKeyboardApp/Views/ContentView.swift","ios_keyboard/HaizhanKeyboardApp/Views/LoginView.swift","ios_keyboard/HaizhanKeyboardApp/Views/OnboardingView.swift","ios_keyboard/HaizhanKeyboardApp/project.yml","ios_keyboard/HaizhanKeyboardExtension/Info.plist","ios_keyboard/HaizhanKeyboardExtension/KeyboardExtensionStub.swift","ios_keyboard/Package.swift","ios_keyboard/README.md","ios_keyboard/Sources/HaizhanKeyboard/AI/ContactMatcher.swift","ios_keyboard/Sources/HaizhanKeyboard/AI/ReplyService.swift","ios_keyboard/Sources/HaizhanKeyboard/AI/ScreenshotManager.swift","ios_keyboard/Sources/HaizhanKeyboard/Bridge/KMPBridge.swift","ios_keyboard/Sources/HaizhanKeyboard/Engine/KeyboardEngine.swift","ios_keyboard/Sources/HaizhanKeyboard/Engine/PinyinSegmenter.swift","ios_keyboard/Sources/HaizhanKeyboard/KeyboardViewController.swift","ios_keyboard/Sources/HaizhanKeyboard/Network/ApiClient.swift","ios_keyboard/Sources/HaizhanKeyboard/Network/AuthService.swift","ios_keyboard/Sources/HaizhanKeyboard/Storage/AppGroupStore.swift","ios_keyboard/Sources/HaizhanKeyboard/Storage/KeychainStore.swift","ios_keyboard/Sources/HaizhanKeyboard/Theme/ThemeManager.swift","ios_keyboard/Sources/HaizhanKeyboard/Utils/HapticManager.swift","ios_keyboard/Sources/HaizhanKeyboard/ViewModel/KeyboardViewModel.swift","ios_keyboard/Sources/HaizhanKeyboard/Views/AIPanelView.swift","ios_keyboard/Sources/HaizhanKeyboard/Views/KeyboardView.swift","ios_keyboard/Sources/HaizhanKeyboard/Views/NineGridKeyboard.swift","ios_keyboard/Sources/HaizhanKeyboard/Views/SettingsView.swift","ios_keyboard/Tests/HaizhanKeyboardTests/ApiClientTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/AppGroupStoreTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/ContactMatcherTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/HapticManagerTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/KeyboardEngineTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/KeychainStoreTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/PinyinSegmenterTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/ReplyServiceTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/ThemeManagerTests.swift","ios_keyboard/build_kmp_xcframework.sh","openapitools.json","package.json","pnpm-workspace.yaml","scripts/PACKAGE_MANAGER_SUMMARY.md","scripts/check-docs-sync.sh","scripts/download_paddle_ocr_models.sh","scripts/generate-design-tokens.py","scripts/package-manager-migration.md","scripts/pre-commit","server/.dockerignore","server/.env.example","server/.npmrc","server/Makefile","server/README.md","server/ai-service/.dockerignore","server/ai-service/Dockerfile","server/ai-service/jest.config.js","server/ai-service/nest-cli.json","server/ai-service/package.json","server/ai-service/poc-load-test-1770067946237.json","server/ai-service/poc-report-1770067953461.json","server/ai-service/poc-report-1770067953461.md","server/ai-service/poc-report-1771647201192.json","server/ai-service/poc-report-1771647201192.md","server/ai-service/scripts/poc/README.md","server/ai-service/scripts/poc/deploy-models.sh","server/ai-service/scripts/poc/generate-report.ts","server/ai-service/scripts/poc/load-test.ts","server/ai-service/scripts/poc/v1-int8-quality.ts","server/ai-service/scripts/poc/v2-router-accuracy.ts","server/ai-service/scripts/poc/v3-e2e-latency.ts","server/ai-service/scripts/seed-rag.ts","server/ai-service/src/app.module.ts","server/ai-service/src/common/decorators/current-tenant.decorator.ts","server/ai-service/src/common/decorators/public.decorator.ts","server/ai-service/src/common/guards/auth.guard.spec.ts","server/ai-service/src/common/guards/auth.guard.ts","server/ai-service/src/common/redis/index.ts","server/ai-service/src/common/redis/redis.module.ts","server/ai-service/src/common/redis/redis.service.ts","server/ai-service/src/main.ts","server/ai-service/src/modules/ai/ai.controller.ts","server/ai-service/src/modules/ai/ai.module.ts","server/ai-service/src/modules/ai/ai.service.spec.ts","server/ai-service/src/modules/ai/ai.service.ts","server/ai-service/src/modules/ai/dto/generate-reply.dto.ts","server/ai-service/src/modules/ai/legacy-reply.controller.ts","server/ai-service/src/modules/health/health.controller.ts","server/ai-service/src/modules/health/health.module.ts","server/ai-service/src/modules/memory/dto/memory.dto.ts","server/ai-service/src/modules/memory/event.service.spec.ts","server/ai-service/src/modules/memory/event.service.ts","server/ai-service/src/modules/memory/index.ts","server/ai-service/src/modules/memory/memory.controller.ts","server/ai-service/src/modules/memory/memory.module.ts","server/ai-service/src/modules/memory/memory.service.spec.ts","server/ai-service/src/modules/memory/memory.service.ts","server/ai-service/src/modules/memory/profile.service.spec.ts","server/ai-service/src/modules/memory/profile.service.ts","server/ai-service/src/modules/memory/schemas/contact-event.schema.ts","server/ai-service/src/modules/memory/schemas/contact-profile.schema.ts","server/ai-service/src/modules/memory/schemas/conversation-summary.schema.ts","server/ai-service/src/modules/memory/summary.service.spec.ts","server/ai-service/src/modules/memory/summary.service.ts","server/ai-service/src/modules/memory/vector.service.ts","server/ai-service/src/modules/privacy/index.ts","server/ai-service/src/modules/privacy/pii-scrubber.service.ts","server/ai-service/src/modules/privacy/privacy.module.ts","server/ai-service/src/modules/search/agentic/agentic-loop.controller.ts","server/ai-service/src/modules/search/agentic/answer-synthesizer.service.ts","server/ai-service/src/modules/search/agentic/answer-synthesizer.spec.ts","server/ai-service/src/modules/search/agentic/index.ts","server/ai-service/src/modules/search/agentic/query-decomposer.service.ts","server/ai-service/src/modules/search/agentic/query-decomposer.spec.ts","server/ai-service/src/modules/search/agentic/result-evaluator.service.ts","server/ai-service/src/modules/search/agentic/result-evaluator.spec.ts","server/ai-service/src/modules/search/cache/index.ts","server/ai-service/src/modules/search/cache/multi-level-cache.service.ts","server/ai-service/src/modules/search/cache/multi-level-cache.spec.ts","server/ai-service/src/modules/search/config/search.config.ts","server/ai-service/src/modules/search/dto/index.ts","server/ai-service/src/modules/search/dto/search-request.dto.ts","server/ai-service/src/modules/search/dto/search-response.dto.ts","server/ai-service/src/modules/search/experiment/ab-testing.service.ts","server/ai-service/src/modules/search/experiment/experiment.controller.ts","server/ai-service/src/modules/search/experiment/gradual-release.service.ts","server/ai-service/src/modules/search/experiment/index.ts","server/ai-service/src/modules/search/gateway/unified-search-gateway.service.ts","server/ai-service/src/modules/search/gateway/unified-search-gateway.spec.ts","server/ai-service/src/modules/search/index.ts","server/ai-service/src/modules/search/layers/agentic-layer.service.spec.ts","server/ai-service/src/modules/search/layers/agentic-layer.service.ts","server/ai-service/src/modules/search/layers/cache-layer.service.spec.ts","server/ai-service/src/modules/search/layers/cache-layer.service.ts","server/ai-service/src/modules/search/layers/rag-layer.service.spec.ts","server/ai-service/src/modules/search/layers/rag-layer.service.ts","server/ai-service/src/modules/search/monitoring/alert.service.ts","server/ai-service/src/modules/search/monitoring/grafana-dashboard.json","server/ai-service/src/modules/search/monitoring/index.ts","server/ai-service/src/modules/search/monitoring/metrics.service.ts","server/ai-service/src/modules/search/optimization/index.ts","server/ai-service/src/modules/search/optimization/parallel-retriever.service.ts","server/ai-service/src/modules/search/optimization/parallel-retriever.spec.ts","server/ai-service/src/modules/search/router/pure-rule-router.spec.ts","server/ai-service/src/modules/search/router/pure-rule-router.ts","server/ai-service/src/modules/search/router/router.types.ts","server/ai-service/src/modules/search/search.controller.ts","server/ai-service/src/modules/search/search.integration.spec.ts","server/ai-service/src/modules/search/search.module.ts","server/ai-service/src/modules/search/services/elasticsearch.service.ts","server/ai-service/src/modules/search/services/embedding.service.spec.ts","server/ai-service/src/modules/search/services/embedding.service.ts","server/ai-service/src/modules/search/services/index.ts","server/ai-service/src/modules/search/services/llm.service.spec.ts","server/ai-service/src/modules/search/services/llm.service.ts","server/ai-service/src/modules/search/services/milvus.service.ts","server/ai-service/src/modules/search/services/reranker.service.spec.ts","server/ai-service/src/modules/search/services/reranker.service.ts","server/ai-service/src/modules/search/streaming/index.ts","server/ai-service/src/modules/search/streaming/stream-optimizer.service.ts","server/ai-service/src/modules/search/vip/index.ts","server/ai-service/src/modules/search/vip/vip-tier.service.ts","server/ai-service/tsconfig.json","server/api-gateway/.dockerignore","server/api-gateway/Dockerfile","server/api-gateway/logs/.3fa4d5e91883ce1217f62a49f94203b42caa131d-audit.json","server/api-gateway/logs/.92dabeadf9708ae538f84c8892e853b5a8f57f04-audit.json","server/api-gateway/nest-cli.json","server/api-gateway/package.json","server/api-gateway/prisma/README.md","server/api-gateway/prisma/migrations/20260203065715_init/migration.sql","server/api-gateway/prisma/migrations/20260203160000_add_360_view_models/migration.sql","server/api-gateway/prisma/migrations/20260203170000_add_admin_modules/migration.sql","server/api-gateway/prisma/migrations/20260203180000_add_config_and_usage_stats/migration.sql","server/api-gateway/prisma/migrations/20260213000000_add_contact_geo_fields/migration.sql","server/api-gateway/prisma/migrations/20260213100000_expand_prompt_template/migration.sql","server/api-gateway/prisma/migrations/migration_lock.toml","server/api-gateway/prisma/schema.prisma","server/api-gateway/prisma/seed.ts","server/api-gateway/scripts/generate-openapi.ts","server/api-gateway/src/app.module.ts","server/api-gateway/src/common/logger/global-logger.module.ts","server/api-gateway/src/common/logger/global-logger.service.ts","server/api-gateway/src/main.ts","server/api-gateway/src/modules/ai-config/ai-config.controller.ts","server/api-gateway/src/modules/ai-config/ai-config.module.ts","server/api-gateway/src/modules/ai-config/ai-config.service.ts","server/api-gateway/src/modules/ai-config/dto/ai-config.dto.ts","server/api-gateway/src/modules/ai/ai.controller.ts","server/api-gateway/src/modules/ai/ai.module.ts","server/api-gateway/src/modules/ai/ai.service.ts","server/api-gateway/src/modules/audit-logs/audit-logs.controller.ts","server/api-gateway/src/modules/audit-logs/audit-logs.module.ts","server/api-gateway/src/modules/audit-logs/audit-logs.service.ts","server/api-gateway/src/modules/audit-logs/dto/audit-logs.dto.ts","server/api-gateway/src/modules/auth/auth.controller.spec.ts","server/api-gateway/src/modules/auth/auth.controller.ts","server/api-gateway/src/modules/auth/auth.module.ts","server/api-gateway/src/modules/auth/auth.service.spec.ts","server/api-gateway/src/modules/auth/auth.service.ts","server/api-gateway/src/modules/auth/decorators/roles.decorator.ts","server/api-gateway/src/modules/auth/dto/admin-login.dto.ts","server/api-gateway/src/modules/auth/dto/login.dto.ts","server/api-gateway/src/modules/auth/dto/refresh-token.dto.ts","server/api-gateway/src/modules/auth/guards/jwt-auth.guard.ts","server/api-gateway/src/modules/auth/guards/roles.guard.ts","server/api-gateway/src/modules/auth/strategies/jwt.strategy.ts","server/api-gateway/src/modules/contacts/contacts.controller.spec.ts","server/api-gateway/src/modules/contacts/contacts.controller.ts","server/api-gateway/src/modules/contacts/contacts.module.ts","server/api-gateway/src/modules/contacts/contacts.service.spec.ts","server/api-gateway/src/modules/contacts/contacts.service.ts","server/api-gateway/src/modules/contacts/dto/match-contact.dto.ts","server/api-gateway/src/modules/health/health.controller.spec.ts","server/api-gateway/src/modules/health/health.controller.ts","server/api-gateway/src/modules/health/health.module.ts","server/api-gateway/src/modules/knowledge/dto/knowledge-base.dto.ts","server/api-gateway/src/modules/knowledge/dto/search-knowledge.dto.ts","server/api-gateway/src/modules/knowledge/knowledge.controller.spec.ts","server/api-gateway/src/modules/knowledge/knowledge.controller.ts","server/api-gateway/src/modules/knowledge/knowledge.module.ts","server/api-gateway/src/modules/knowledge/knowledge.service.spec.ts","server/api-gateway/src/modules/knowledge/knowledge.service.ts","server/api-gateway/src/modules/mobile-compat/mobile-compat.controller.ts","server/api-gateway/src/modules/mobile-compat/mobile-compat.module.ts","server/api-gateway/src/modules/ocr/ocr.controller.ts","server/api-gateway/src/modules/ocr/ocr.module.ts","server/api-gateway/src/modules/ocr/ocr.service.ts","server/api-gateway/src/modules/pinyin/pinyin.controller.spec.ts","server/api-gateway/src/modules/pinyin/pinyin.controller.ts","server/api-gateway/src/modules/pinyin/pinyin.module.ts","server/api-gateway/src/modules/pinyin/pinyin.service.spec.ts","server/api-gateway/src/modules/pinyin/pinyin.service.ts","server/api-gateway/src/modules/rag/dto/rag.dto.ts","server/api-gateway/src/modules/rag/rag.controller.spec.ts","server/api-gateway/src/modules/rag/rag.controller.ts","server/api-gateway/src/modules/rag/rag.module.ts","server/api-gateway/src/modules/rag/rag.service.runtime.spec.ts","server/api-gateway/src/modules/rag/rag.service.spec.ts","server/api-gateway/src/modules/rag/rag.service.ts","server/api-gateway/src/modules/settings/dto/settings.dto.ts","server/api-gateway/src/modules/settings/settings.controller.spec.ts","server/api-gateway/src/modules/settings/settings.controller.ts","server/api-gateway/src/modules/settings/settings.module.ts","server/api-gateway/src/modules/settings/settings.service.spec.ts","server/api-gateway/src/modules/settings/settings.service.ts","server/api-gateway/src/modules/teams/dto/teams.dto.ts","server/api-gateway/src/modules/teams/teams.controller.spec.ts","server/api-gateway/src/modules/teams/teams.controller.ts","server/api-gateway/src/modules/teams/teams.module.ts","server/api-gateway/src/modules/teams/teams.service.spec.ts","server/api-gateway/src/modules/teams/teams.service.ts","server/api-gateway/src/modules/templates/dto/template.dto.ts","server/api-gateway/src/modules/templates/templates.controller.spec.ts","server/api-gateway/src/modules/templates/templates.controller.ts","server/api-gateway/src/modules/templates/templates.module.ts","server/api-gateway/src/modules/templates/templates.service.spec.ts","server/api-gateway/src/modules/templates/templates.service.ts","server/api-gateway/src/modules/usage/dto/usage.dto.ts","server/api-gateway/src/modules/usage/usage.controller.ts","server/api-gateway/src/modules/usage/usage.module.ts","server/api-gateway/src/modules/usage/usage.service.spec.ts","server/api-gateway/src/modules/usage/usage.service.ts","server/api-gateway/src/modules/users/users.controller.spec.ts","server/api-gateway/src/modules/users/users.controller.ts","server/api-gateway/src/modules/users/users.module.ts","server/api-gateway/src/modules/users/users.service.spec.ts","server/api-gateway/src/modules/users/users.service.ts","server/api-gateway/src/modules/weather/weather.controller.spec.ts","server/api-gateway/src/modules/weather/weather.controller.ts","server/api-gateway/src/modules/weather/weather.module.ts","server/api-gateway/src/modules/weather/weather.service.spec.ts","server/api-gateway/src/modules/weather/weather.service.ts","server/api-gateway/src/shared/prisma/prisma.module.ts","server/api-gateway/src/shared/prisma/prisma.service.ts","server/api-gateway/src/shared/redis/redis.module.ts","server/api-gateway/src/shared/redis/redis.service.ts","server/api-gateway/src/shared/sms/sms.module.ts","server/api-gateway/src/shared/sms/sms.service.spec.ts","server/api-gateway/src/shared/sms/sms.service.ts","server/api-gateway/tsconfig.json","server/docker-compose.override.yml","server/docker-compose.prod.yml","server/docker-compose.yml","server/docker/grafana/provisioning/dashboards/dashboards.yml","server/docker/grafana/provisioning/dashboards/json/api-gateway.json","server/docker/grafana/provisioning/datasources/datasources.yml","server/docker/loki/loki-config.yml","server/docker/mongodb/init.js","server/docker/nginx/conf.d/default.conf","server/docker/nginx/nginx.conf","server/docker/nginx/ssl/.gitkeep","server/docker/nginx/ssl/README.md","server/docker/postgres/init.sql","server/docker/prometheus/alert.rules.yml","server/docker/prometheus/prometheus.yml","server/docker/promtail/promtail-config.yml","server/k8s/vllm/deployment.yaml","server/k8s/vllm/hpa.yaml","server/k8s/vllm/service.yaml","server/model-services/reranker/Dockerfile","server/model-services/reranker/requirements.txt","server/model-services/reranker/reranker_server.py","server/ocr-service/.dockerignore","server/ocr-service/Dockerfile","server/ocr-service/jest.config.js","server/ocr-service/nest-cli.json","server/ocr-service/package.json","server/ocr-service/src/app.module.ts","server/ocr-service/src/main.ts","server/ocr-service/src/modules/health/health.controller.ts","server/ocr-service/src/modules/health/health.module.ts","server/ocr-service/src/modules/ocr/chat-parser.service.spec.ts","server/ocr-service/src/modules/ocr/chat-parser.service.ts","server/ocr-service/src/modules/ocr/dto/chat-screenshot.dto.ts","server/ocr-service/src/modules/ocr/ocr.controller.ts","server/ocr-service/src/modules/ocr/ocr.module.ts","server/ocr-service/src/modules/ocr/ocr.service.spec.ts","server/ocr-service/src/modules/ocr/ocr.service.ts","server/ocr-service/tsconfig.json","server/scripts/backup.sh","server/scripts/check-mobile-api-coverage.js","server/scripts/check-mobile-response-compat.js","server/scripts/deploy.sh","server/scripts/deploy/deploy-infrastructure.sh","server/scripts/deploy/deploy-models.sh","server/scripts/deploy/final-deploy.sh","server/scripts/deploy/stop-models.sh","server/scripts/e2e-smoke.js","server/scripts/health-check.sh","server/scripts/mobile-api-smoke.js","server/scripts/setup-ssl.sh","settings.gradle.kts","shared/README.md","shared/build.gradle.kts","shared/src/androidInstrumentedTest/kotlin/com/haizhan/ime/shared/auth/AndroidTokenStorageTest.kt","shared/src/androidInstrumentedTest/kotlin/com/haizhan/ime/shared/auth/SharedAuthManagerIntegrationTest.kt","shared/src/androidInstrumentedTest/kotlin/com/haizhan/ime/shared/database/DatabaseIntegrationTest.kt","shared/src/androidInstrumentedTest/kotlin/com/haizhan/ime/shared/pinyin/CandidateRankerIntegrationTest.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/BuildConfig.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/Platform.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/auth/AndroidTokenStorage.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/auth/CurrentTime.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/database/DatabaseDriverFactory.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/database/SharedDatabaseKeyManager.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/di/PlatformModule.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/migration/RoomToSqlDelightMigrator.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/platform/Connectivity.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/platform/DeviceInfo.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/platform/DictionaryLoader.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/platform/FileSystem.android.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/Platform.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/analytics/AnalyticsTracker.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/ApiClient.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/AuthApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/ContactApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/DashboardApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/FeedbackApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/KnowledgeApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/MemoryApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/NoteApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/OcrApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/PinyinApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/RagSearchApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/ReplyApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/ScriptApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/SearchApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/SessionApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/SettingsApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/SubscriptionApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/UserApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/WeatherApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/auth/AuthManager.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/auth/AuthModels.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/database/DatabaseDriverFactory.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/database/DatabaseExtensions.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/di/SharedModule.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/matcher/NicknameMatcher.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/ContactModel.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/KnowledgeModel.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/AiDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/ApiResponse.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/AuthDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/ContactDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/DashboardDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/FeedbackDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/KnowledgeDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/MemoryDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/MessageDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/NoteDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/OcrDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/PinyinDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/ProfileDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/RagSearchDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/ReplyDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/ScriptDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/SearchDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/SessionDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/SettingsDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/SubscriptionDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/WeatherDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/Candidate.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/CandidateRanker.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/DictEntry.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/NineGridMatcher.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/PinyinConstants.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/PinyinService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/PinyinSplitter.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/CloudSynergyEngine.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/DoubleArrayTrie.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/DoubleArrayTrieImpl.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/DynamicWeightRanker.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/PinyinDAG.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/ViterbiDecoder.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/platform/Connectivity.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/platform/DeviceInfo.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/platform/DictionaryLoader.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/platform/FileSystem.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/ContactRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/KnowledgeRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/MessageRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/NoteRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/PinyinRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/SearchRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/SettingsRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/UserDictRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/MessageChainMatcher.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/OcrMatchService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/OfflineFallbackService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/ReplyService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/ScriptService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/SessionService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/sync/SyncManager.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/util/FlowExt.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/util/LevenshteinDistance.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/util/LruCache.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/util/StringExt.kt","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Contact.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Knowledge.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Message.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Note.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Search.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Settings.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/UserDict.sq","shared/src/commonMain/sqldelight/migrations/1.sqm","shared/src/commonTest/kotlin/com/haizhan/ime/shared/analytics/AnalyticsTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/api/ApiClientTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/auth/AuthModelsTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/matcher/NicknameMatcherTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/model/ContactModelTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/model/KnowledgeModelTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/network/NetworkClientTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/CandidateRankerTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/CandidateTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/NineGridMatcherTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/PinyinConstantsTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/PinyinSplitterTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/algorithm/CloudSynergyEngineTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/algorithm/DoubleArrayTrieImplTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/algorithm/DynamicWeightRankerTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/algorithm/PinyinDAGTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/algorithm/ViterbiDecoderTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/repository/ContactRepositoryTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/sync/SyncTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/util/LevenshteinDistanceTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/util/PinyinConverterTest.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/Platform.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/auth/CurrentTime.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/auth/IosTokenStorage.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/database/DatabaseDriverFactory.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/di/PlatformModule.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/platform/Connectivity.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/platform/DeviceInfo.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/platform/DictionaryLoader.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/platform/FileSystem.ios.kt","voice/build.gradle.kts","voice/consumer-rules.pro","voice/proguard-rules.pro","voice/src/androidTest/java/com/haizhan/ime/voice/integration/VoiceModuleIntegrationTest.kt","voice/src/androidTest/java/com/haizhan/ime/voice/integration/WakeWordServiceIntegrationTest.kt","voice/src/main/AndroidManifest.xml","voice/src/main/java/com/haizhan/ime/voice/api/AudioPipeline.kt","voice/src/main/java/com/haizhan/ime/voice/api/SpeechRecognitionService.kt","voice/src/main/java/com/haizhan/ime/voice/api/VoiceCoordinator.kt","voice/src/main/java/com/haizhan/ime/voice/api/VoiceErrors.kt","voice/src/main/java/com/haizhan/ime/voice/api/VoiceTypes.kt","voice/src/main/java/com/haizhan/ime/voice/api/WakeWordConfigManager.kt","voice/src/main/java/com/haizhan/ime/voice/api/WakeWordDetectionService.kt","voice/src/main/java/com/haizhan/ime/voice/audio/AudioPipelineImpl.kt","voice/src/main/java/com/haizhan/ime/voice/audio/di/AudioModule.kt","voice/src/main/java/com/haizhan/ime/voice/coordinator/VoiceCoordinatorImpl.kt","voice/src/main/java/com/haizhan/ime/voice/coordinator/di/CoordinatorModule.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/DenoiseAudioConsumer.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/DenoiseManager.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/MusicAwareAEC.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/NoiseEstimator.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/SpectralSubtractor.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/VoiceActivityDetector.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/di/DenoiseModule.kt","voice/src/main/java/com/haizhan/ime/voice/di/VoiceModule.kt","voice/src/main/java/com/haizhan/ime/voice/engine/VoiceInputEngine.kt","voice/src/main/java/com/haizhan/ime/voice/model/MultiModelManager.kt","voice/src/main/java/com/haizhan/ime/voice/model/VoiceModelManager.kt","voice/src/main/java/com/haizhan/ime/voice/monitoring/VoicePerformanceMonitor.kt","voice/src/main/java/com/haizhan/ime/voice/monitoring/di/MonitoringModule.kt","voice/src/main/java/com/haizhan/ime/voice/recognition/AudioDiagnostics.kt","voice/src/main/java/com/haizhan/ime/voice/recognition/SpeechRecognitionServiceImpl.kt","voice/src/main/java/com/haizhan/ime/voice/recognition/VoskGrammarBuilder.kt","voice/src/main/java/com/haizhan/ime/voice/recognition/VoskRecognizer.kt","voice/src/main/java/com/haizhan/ime/voice/recognition/di/SpeechModule.kt","voice/src/main/java/com/haizhan/ime/voice/ui/VoiceUiTypes.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/WakeWordDetectionServiceImpl.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/analytics/WakeWordAnalytics.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/config/WakeWordConfigManagerImpl.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/config/di/ConfigModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/confirmation/WakeWordConfirmation.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/detector/IWakeWordDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/detector/VoskWakeWordDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/di/ConfirmationModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/di/MatcherModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/di/ParserModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/di/RepositoryModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/di/WakeWordModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/filter/FalseWakeFilter.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/matcher/PinyinData.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/matcher/PinyinMatcher.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/matcher/TrieWordMatcher.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/parser/WakeWordCommandParser.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/EnergyPatternMatcher.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/PitchExtractor.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/QuickWakeDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/SingingModeDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/SpectralAnalyzer.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/SyllableDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/VibratoDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/VoiceCharacteristicAnalyzer.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/VoiceProfileAnalyzer.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/di/PredetectModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/repository/WakeWordRepository.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/sensitivity/AdaptiveSensitivity.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/service/WakeWordService.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/util/PinyinUtils.kt","voice/src/test/java/com/haizhan/ime/voice/api/HotwordConfigTest.kt","voice/src/test/java/com/haizhan/ime/voice/audio/AudioPipelineImplTest.kt","voice/src/test/java/com/haizhan/ime/voice/coordinator/VoiceCoordinatorImplTest.kt","voice/src/test/java/com/haizhan/ime/voice/denoise/DenoiseManagerTest.kt","voice/src/test/java/com/haizhan/ime/voice/denoise/MusicAwareAECTest.kt","voice/src/test/java/com/haizhan/ime/voice/denoise/SpectralSubtractorTest.kt","voice/src/test/java/com/haizhan/ime/voice/denoise/VoiceActivityDetectorTest.kt.bak","voice/src/test/java/com/haizhan/ime/voice/model/MultiModelManagerTest.kt","voice/src/test/java/com/haizhan/ime/voice/monitoring/VoicePerformanceMonitorTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/config/WakeWordConfigManagerTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/confirmation/WakeWordConfirmationTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/filter/FalseWakeFilterTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/matcher/PinyinDataTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/matcher/PinyinMatcherTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/matcher/TrieWordMatcherTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/parser/WakeWordCommandParserTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/QuickWakeDetectorTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/SingingModeDetectorTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/SyllableDetectorTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/VibratoDetectorTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/VoiceCharacteristicAnalyzerTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/VoiceProfileAnalyzerTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/repository/WakeWordRepositorySerializationTest.kt"],"removed":[],"modified":[]},"repository":{"id":9,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"haizhan-ime-android","full_name":"luoanwu/haizhan-ime-android","description":"嗨赞AI输入法 Android版","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":29,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/haizhan-ime-android/languages","html_url":"https://gitea.g-hi.com/luoanwu/haizhan-ime-android","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/haizhan-ime-android","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/haizhan-ime-android.git","clone_url":"https://gitea.g-hi.com/luoanwu/haizhan-ime-android.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-27T15:27:17+08:00","updated_at":"2026-02-27T15:27:32+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
4
|
1772178609
|
1772178609
|
0
|
1772177363
|
1772178609
|
NULL
|
|
0
|
Edit
Delete
|
|
1134
|
feat: 嗨赞AI输入法Android版初始提交
|
9
|
5
|
performance-check.yml
|
4
|
5
|
0
|
refs/heads/main
|
893022bfd17ce1f2e75e75651551cf8ceaacfe45
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"a8f0a86b4c1d4422bfe5c002b8c5307111d317bb","after":"893022bfd17ce1f2e75e75651551cf8ceaacfe45","compare_url":"https://gitea.g-hi.com/luoanwu/haizhan-ime-android/compare/a8f0a86b4c1d4422bfe5c002b8c5307111d317bb...893022bfd17ce1f2e75e75651551cf8ceaacfe45","commits":[{"id":"893022bfd17ce1f2e75e75651551cf8ceaacfe45","message":"feat: 嗨赞AI输入法Android版初始提交\n","url":"https://gitea.g-hi.com/luoanwu/haizhan-ime-android/commit/893022bfd17ce1f2e75e75651551cf8ceaacfe45","author":{"name":"luoanwu","email":"law@g-hi.com","username":"luoanwu"},"committer":{"name":"luoanwu","email":"law@g-hi.com","username":"luoanwu"},"verification":null,"timestamp":"2026-02-27T15:28:58+08:00","added":[".claude/skills/haizhan-ime-development.md",".claude/worktrees/charming-zhukovsky",".editorconfig",".github/workflows/ci.yml",".github/workflows/frontend-backend-ci.yml",".github/workflows/ios-ci.yml",".github/workflows/performance-check.yml",".github/workflows/pr-check.yml",".github/workflows/release.yml",".gitignore",".npmrc","CHANGELOG.md","CLAUDE.md","MIGRATION_COMPLETE_REPORT.md","README.md","admin-web/.env.development","admin-web/.eslintrc.cjs","admin-web/.gitignore","admin-web/.npmrc","admin-web/README.md","admin-web/e2e/all-pages.spec.ts","admin-web/e2e/crud-tests.spec.ts","admin-web/e2e/dashboard.spec.ts","admin-web/e2e/interactive-click.spec.ts","admin-web/e2e/login.spec.ts","admin-web/e2e/templates.spec.ts","admin-web/index.html","admin-web/package.json","admin-web/playwright.config.ts","admin-web/postcss.config.js","admin-web/public/favicon.svg","admin-web/src/App.vue","admin-web/src/api/ai-config.ts","admin-web/src/api/audit.ts","admin-web/src/api/auth.ts","admin-web/src/api/contact.ts","admin-web/src/api/knowledge.ts","admin-web/src/api/rag.ts","admin-web/src/api/settings.ts","admin-web/src/api/team.ts","admin-web/src/api/template.ts","admin-web/src/api/usage.ts","admin-web/src/api/user.ts","admin-web/src/assets/logo.svg","admin-web/src/components/UserCard.vue","admin-web/src/components/index.ts","admin-web/src/composables/usePermission.ts","admin-web/src/composables/useResponsive.ts","admin-web/src/composables/useTable.ts","admin-web/src/directives/index.ts","admin-web/src/directives/permission.ts","admin-web/src/env.d.ts","admin-web/src/layouts/MainLayout.vue","admin-web/src/layouts/components/HeaderBar.vue","admin-web/src/layouts/components/MobileDrawer.vue","admin-web/src/layouts/components/SidebarMenu.vue","admin-web/src/main.ts","admin-web/src/router/index.ts","admin-web/src/stores/app.ts","admin-web/src/stores/user.ts","admin-web/src/styles/index.scss","admin-web/src/styles/variables.scss","admin-web/src/types/ai-config.ts","admin-web/src/types/api.ts","admin-web/src/types/audit.ts","admin-web/src/types/contact.ts","admin-web/src/types/knowledge.ts","admin-web/src/types/permission.ts","admin-web/src/types/rag.ts","admin-web/src/types/settings.ts","admin-web/src/types/team.ts","admin-web/src/types/template.ts","admin-web/src/types/usage.ts","admin-web/src/types/user.ts","admin-web/src/utils/request.ts","admin-web/src/views/ai-config/index.vue","admin-web/src/views/audit/index.vue","admin-web/src/views/contacts/index.vue","admin-web/src/views/contacts/profile.vue","admin-web/src/views/dashboard/index.vue","admin-web/src/views/error/403.vue","admin-web/src/views/error/404.vue","admin-web/src/views/knowledge/index.vue","admin-web/src/views/login/index.vue","admin-web/src/views/profile/index.vue","admin-web/src/views/rag/index.vue","admin-web/src/views/settings/index.vue","admin-web/src/views/teams/index.vue","admin-web/src/views/templates/index.vue","admin-web/src/views/usage/index.vue","admin-web/src/views/users/index.vue","admin-web/tailwind.config.js","admin-web/test-results/.last-run.json","admin-web/tsconfig.app.json","admin-web/tsconfig.json","admin-web/tsconfig.node.json","admin-web/vite.config.d.ts","admin-web/vite.config.js","admin-web/vite.config.ts","ai-panel/build.gradle.kts","ai-panel/consumer-rules.pro","ai-panel/proguard-rules.pro","ai-panel/src/main/AndroidManifest.xml","ai-panel/src/main/java/com/haizhan/ime/panel/AiPanelManager.kt","ai-panel/src/main/java/com/haizhan/ime/panel/AiPanelModels.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/AgenticDecisionEngine.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/AgenticRouter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/AgenticTypes.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/CostController.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/HybridSearchExecutor.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/di/AgenticModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/AvatarMatcher.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/ContactCache.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/ContactContextPreloader.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/ContactIndexes.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/ContactMatcher.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/ContactMatcherData.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/EnhancedContactMatcher.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/MatchedContact.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/NicknameMatcher.kt","ai-panel/src/main/java/com/haizhan/ime/panel/context/InputContextCollector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/context/UnifiedContextManager.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/AiPanelModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/ContactModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/ContextModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/OcrModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/ReplyModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/ScreenshotModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/knowledge/KnowledgeService.kt","ai-panel/src/main/java/com/haizhan/ime/panel/memory/ContactMemoryModels.kt","ai-panel/src/main/java/com/haizhan/ime/panel/memory/ContactMemoryService.kt","ai-panel/src/main/java/com/haizhan/ime/panel/memory/MemoryDtoMapper.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/EnhancedSenderDetector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/MessageParser.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/OcrReliabilityScore.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/OcrService.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/TitleBarParser.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/ChatMessageAdapter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/DingTalkMessageAdapter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/FeishuMessageAdapter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/MessageAdapterFactory.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/WeChatMessageAdapter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/WeWorkMessageAdapter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/BatteryAwareManager.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/ClipboardHelper.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/FrequencyController.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/RagReplyGenerator.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/ReplyGenerator.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/ReplyStyle.kt","ai-panel/src/main/java/com/haizhan/ime/panel/screenshot/RegionDetector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/screenshot/ScreenshotManager.kt","ai-panel/src/main/java/com/haizhan/ime/panel/service/ScreenshotForegroundService.kt","ai-panel/src/main/java/com/haizhan/ime/panel/trigger/AppDetector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/trigger/TriggerDetector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/AIPanelScreen.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/AiPanelTheme.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/Contact360View.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/ContactCard.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/ContactSelector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/EmotionBadge.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/FunctionTabBar.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/IntentBadge.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/KnowledgeCard.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/KnowledgePanel.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/QuickReplyPanel.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/ReplyCard.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/ContactComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/HistoryComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/KnowledgeComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/NoteComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/OcrComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/PanelCommon.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/ReplyComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/TeamComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/AiReplyTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/ContactsTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/HistoryTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/KnowledgeTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/NoteTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/OcrTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/TeamTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/weather/WeatherService.kt","ai-panel/src/main/res/drawable/ic_ai_reply.xml","ai-panel/src/main/res/drawable/ic_capture.xml","ai-panel/src/main/res/drawable/ic_contacts.xml","ai-panel/src/main/res/drawable/ic_knowledge.xml","ai-panel/src/main/res/drawable/ic_ocr.xml","ai-panel/src/main/res/drawable/ic_refresh.xml","ai-panel/src/main/res/drawable/ic_screenshot.xml","ai-panel/src/main/res/drawable/ic_stop.xml","ai-panel/src/test/java/com/haizhan/ime/panel/AiPanelManagerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/agentic/AgenticDecisionEngineTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/agentic/AgenticRouterTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/agentic/AgenticTypesTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/agentic/CostControllerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/agentic/ResultQualityEvaluatorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactCacheTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactContextPreloaderTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactIndexPerformanceTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactIndexesTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactMatcherTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactMemoryServiceTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/MatchedContactTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/NicknameMatcherTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/context/InputContextCollectorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/context/UnifiedContextManagerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/knowledge/KnowledgeServiceTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ocr/EnhancedSenderDetectorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ocr/MessageParserTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ocr/OcrReliabilityScoreTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ocr/OcrServiceTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ocr/TitleBarParserTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/platform/DingTalkAdapterTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/platform/FeishuAdapterTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/platform/WeChatAdapterTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/platform/WeWorkAdapterTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/BatteryAwareManagerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/ClipboardHelperTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/FrequencyControllerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/RagReplyGeneratorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/ReplyGeneratorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/ReplyStyleTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/screenshot/RegionDetectorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/screenshot/ScreenshotManagerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/trigger/AppDetectorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/trigger/TriggerDetectorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ui/AIPanelScreenTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ui/ReplyCardTest.kt","api-clients/android/.openapi-generator-ignore","api-clients/android/.openapi-generator/FILES","api-clients/android/.openapi-generator/VERSION","api-clients/android/README.md","api-clients/android/build.gradle","api-clients/android/docs/AdminLoginDto.md","api-clients/android/docs/AiConfigApi.md","api-clients/android/docs/AuditLogsApi.md","api-clients/android/docs/AuthApi.md","api-clients/android/docs/BatchRemoveContactsDto.md","api-clients/android/docs/ChunkingConfigDto.md","api-clients/android/docs/Contact360ResponseDto.md","api-clients/android/docs/Contact360ViewDto.md","api-clients/android/docs/ContactDetailResponseDto.md","api-clients/android/docs/ContactDto.md","api-clients/android/docs/ContactEventDto.md","api-clients/android/docs/ContactListResponseDto.md","api-clients/android/docs/ContactProfileDto.md","api-clients/android/docs/ContactStatsDto.md","api-clients/android/docs/ContactTagDto.md","api-clients/android/docs/ContactsApi.md","api-clients/android/docs/ConversationSummaryDto.md","api-clients/android/docs/CreateContactDto.md","api-clients/android/docs/CreateContactEventDto.md","api-clients/android/docs/CreateKnowledgeBaseDto.md","api-clients/android/docs/CreateKnowledgeDocumentDto.md","api-clients/android/docs/CreateQwenModelDto.md","api-clients/android/docs/DefaultApi.md","api-clients/android/docs/EmbeddingConfigDto.md","api-clients/android/docs/EmbeddingModelDto.md","api-clients/android/docs/GenerationConfigDto.md","api-clients/android/docs/HealthApi.md","api-clients/android/docs/KnowledgeApi.md","api-clients/android/docs/KnowledgeBaseResponseDto.md","api-clients/android/docs/KnowledgeDocumentListResponseDto.md","api-clients/android/docs/KnowledgeDocumentResponseDto.md","api-clients/android/docs/LoginDto.md","api-clients/android/docs/MatchContactDto.md","api-clients/android/docs/MatchContactResponseDto.md","api-clients/android/docs/MobileCompatApi.md","api-clients/android/docs/PinyinApi.md","api-clients/android/docs/PipelineHealthDto.md","api-clients/android/docs/PipelineMetricsDto.md","api-clients/android/docs/PreviewChunkingDto.md","api-clients/android/docs/QwenModelConfigDto.md","api-clients/android/docs/QwenModelFeaturesDto.md","api-clients/android/docs/RagApi.md","api-clients/android/docs/RagConfigDto.md","api-clients/android/docs/RagMetricsDto.md","api-clients/android/docs/RagPipelineStatusDto.md","api-clients/android/docs/RagQueryDto.md","api-clients/android/docs/RebuildIndexDto.md","api-clients/android/docs/RefreshTokenDto.md","api-clients/android/docs/RetrievalConfigDto.md","api-clients/android/docs/SettingsApi.md","api-clients/android/docs/SyncContactsDto.md","api-clients/android/docs/SyncContactsResponseDto.md","api-clients/android/docs/TeamsApi.md","api-clients/android/docs/ToggleQwenModelDto.md","api-clients/android/docs/UpdateContactDto.md","api-clients/android/docs/UpdateKnowledgeBaseDto.md","api-clients/android/docs/UpdateKnowledgeDocumentDto.md","api-clients/android/docs/UpdateQwenModelDto.md","api-clients/android/docs/UpdateRagConfigDto.md","api-clients/android/docs/UsageApi.md","api-clients/android/docs/WeatherApi.md","api-clients/android/gradle/wrapper/gradle-wrapper.jar","api-clients/android/gradle/wrapper/gradle-wrapper.properties","api-clients/android/gradlew","api-clients/android/gradlew.bat","api-clients/android/settings.gradle","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/AiConfigApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/AuditLogsApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/AuthApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/ContactsApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/DefaultApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/HealthApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/KnowledgeApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/MobileCompatApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/PinyinApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/RagApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/SettingsApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/TeamsApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/UsageApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/WeatherApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/auth/HttpBearerAuth.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/ApiClient.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/BigDecimalAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/BigIntegerAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/ByteArrayAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/CollectionFormats.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/LocalDateAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/LocalDateTimeAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/OffsetDateTimeAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/ResponseExt.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/Serializer.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/URIAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/UUIDAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/AdminLoginDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/BatchRemoveContactsDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ChunkingConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/Contact360ResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/Contact360ViewDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactDetailResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactEventDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactListResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactProfileDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactStatsDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactTagDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ConversationSummaryDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/CreateContactDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/CreateContactEventDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/CreateKnowledgeBaseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/CreateKnowledgeDocumentDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/CreateQwenModelDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/EmbeddingConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/EmbeddingModelDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/GenerationConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/KnowledgeBaseResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/KnowledgeDocumentListResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/KnowledgeDocumentResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/LoginDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/MatchContactDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/MatchContactResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/PipelineHealthDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/PipelineMetricsDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/PreviewChunkingDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/QwenModelConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/QwenModelFeaturesDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RagConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RagMetricsDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RagPipelineStatusDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RagQueryDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RebuildIndexDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RefreshTokenDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RetrievalConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/SyncContactsDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/SyncContactsResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ToggleQwenModelDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/UpdateContactDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/UpdateKnowledgeBaseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/UpdateKnowledgeDocumentDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/UpdateQwenModelDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/UpdateRagConfigDto.kt","api-clients/flutter/.gitignore","api-clients/flutter/.openapi-generator-ignore","api-clients/flutter/.openapi-generator/FILES","api-clients/flutter/.openapi-generator/VERSION","api-clients/flutter/README.md","api-clients/flutter/analysis_options.yaml","api-clients/flutter/doc/AdminLoginDto.md","api-clients/flutter/doc/AiConfigApi.md","api-clients/flutter/doc/AuditLogsApi.md","api-clients/flutter/doc/AuthApi.md","api-clients/flutter/doc/BatchRemoveContactsDto.md","api-clients/flutter/doc/ChunkingConfigDto.md","api-clients/flutter/doc/Contact360ResponseDto.md","api-clients/flutter/doc/Contact360ViewDto.md","api-clients/flutter/doc/ContactDetailResponseDto.md","api-clients/flutter/doc/ContactDto.md","api-clients/flutter/doc/ContactEventDto.md","api-clients/flutter/doc/ContactListResponseDto.md","api-clients/flutter/doc/ContactProfileDto.md","api-clients/flutter/doc/ContactStatsDto.md","api-clients/flutter/doc/ContactTagDto.md","api-clients/flutter/doc/ContactsApi.md","api-clients/flutter/doc/ConversationSummaryDto.md","api-clients/flutter/doc/CreateContactDto.md","api-clients/flutter/doc/CreateContactEventDto.md","api-clients/flutter/doc/CreateKnowledgeBaseDto.md","api-clients/flutter/doc/CreateKnowledgeDocumentDto.md","api-clients/flutter/doc/CreateQwenModelDto.md","api-clients/flutter/doc/DefaultApi.md","api-clients/flutter/doc/EmbeddingConfigDto.md","api-clients/flutter/doc/EmbeddingModelDto.md","api-clients/flutter/doc/GenerationConfigDto.md","api-clients/flutter/doc/HealthApi.md","api-clients/flutter/doc/KnowledgeApi.md","api-clients/flutter/doc/KnowledgeBaseResponseDto.md","api-clients/flutter/doc/KnowledgeDocumentListResponseDto.md","api-clients/flutter/doc/KnowledgeDocumentResponseDto.md","api-clients/flutter/doc/LoginDto.md","api-clients/flutter/doc/MatchContactDto.md","api-clients/flutter/doc/MatchContactResponseDto.md","api-clients/flutter/doc/MobileCompatApi.md","api-clients/flutter/doc/PinyinApi.md","api-clients/flutter/doc/PipelineHealthDto.md","api-clients/flutter/doc/PipelineMetricsDto.md","api-clients/flutter/doc/PreviewChunkingDto.md","api-clients/flutter/doc/QwenModelConfigDto.md","api-clients/flutter/doc/QwenModelFeaturesDto.md","api-clients/flutter/doc/RagApi.md","api-clients/flutter/doc/RagConfigDto.md","api-clients/flutter/doc/RagMetricsDto.md","api-clients/flutter/doc/RagPipelineStatusDto.md","api-clients/flutter/doc/RagQueryDto.md","api-clients/flutter/doc/RebuildIndexDto.md","api-clients/flutter/doc/RefreshTokenDto.md","api-clients/flutter/doc/RetrievalConfigDto.md","api-clients/flutter/doc/SettingsApi.md","api-clients/flutter/doc/SyncContactsDto.md","api-clients/flutter/doc/SyncContactsResponseDto.md","api-clients/flutter/doc/TeamsApi.md","api-clients/flutter/doc/ToggleQwenModelDto.md","api-clients/flutter/doc/UpdateContactDto.md","api-clients/flutter/doc/UpdateKnowledgeBaseDto.md","api-clients/flutter/doc/UpdateKnowledgeDocumentDto.md","api-clients/flutter/doc/UpdateQwenModelDto.md","api-clients/flutter/doc/UpdateRagConfigDto.md","api-clients/flutter/doc/UsageApi.md","api-clients/flutter/doc/WeatherApi.md","api-clients/flutter/lib/haizhan_api.dart","api-clients/flutter/lib/src/api.dart","api-clients/flutter/lib/src/api/ai_config_api.dart","api-clients/flutter/lib/src/api/audit_logs_api.dart","api-clients/flutter/lib/src/api/auth_api.dart","api-clients/flutter/lib/src/api/contacts_api.dart","api-clients/flutter/lib/src/api/default_api.dart","api-clients/flutter/lib/src/api/health_api.dart","api-clients/flutter/lib/src/api/knowledge_api.dart","api-clients/flutter/lib/src/api/mobile_compat_api.dart","api-clients/flutter/lib/src/api/pinyin_api.dart","api-clients/flutter/lib/src/api/rag_api.dart","api-clients/flutter/lib/src/api/settings_api.dart","api-clients/flutter/lib/src/api/teams_api.dart","api-clients/flutter/lib/src/api/usage_api.dart","api-clients/flutter/lib/src/api/weather_api.dart","api-clients/flutter/lib/src/api_util.dart","api-clients/flutter/lib/src/auth/api_key_auth.dart","api-clients/flutter/lib/src/auth/auth.dart","api-clients/flutter/lib/src/auth/basic_auth.dart","api-clients/flutter/lib/src/auth/bearer_auth.dart","api-clients/flutter/lib/src/auth/oauth.dart","api-clients/flutter/lib/src/date_serializer.dart","api-clients/flutter/lib/src/model/admin_login_dto.dart","api-clients/flutter/lib/src/model/batch_remove_contacts_dto.dart","api-clients/flutter/lib/src/model/chunking_config_dto.dart","api-clients/flutter/lib/src/model/contact360_response_dto.dart","api-clients/flutter/lib/src/model/contact360_view_dto.dart","api-clients/flutter/lib/src/model/contact_detail_response_dto.dart","api-clients/flutter/lib/src/model/contact_dto.dart","api-clients/flutter/lib/src/model/contact_event_dto.dart","api-clients/flutter/lib/src/model/contact_list_response_dto.dart","api-clients/flutter/lib/src/model/contact_profile_dto.dart","api-clients/flutter/lib/src/model/contact_stats_dto.dart","api-clients/flutter/lib/src/model/contact_tag_dto.dart","api-clients/flutter/lib/src/model/conversation_summary_dto.dart","api-clients/flutter/lib/src/model/create_contact_dto.dart","api-clients/flutter/lib/src/model/create_contact_event_dto.dart","api-clients/flutter/lib/src/model/create_knowledge_base_dto.dart","api-clients/flutter/lib/src/model/create_knowledge_document_dto.dart","api-clients/flutter/lib/src/model/create_qwen_model_dto.dart","api-clients/flutter/lib/src/model/date.dart","api-clients/flutter/lib/src/model/embedding_config_dto.dart","api-clients/flutter/lib/src/model/embedding_model_dto.dart","api-clients/flutter/lib/src/model/generation_config_dto.dart","api-clients/flutter/lib/src/model/knowledge_base_response_dto.dart","api-clients/flutter/lib/src/model/knowledge_document_list_response_dto.dart","api-clients/flutter/lib/src/model/knowledge_document_response_dto.dart","api-clients/flutter/lib/src/model/login_dto.dart","api-clients/flutter/lib/src/model/match_contact_dto.dart","api-clients/flutter/lib/src/model/match_contact_response_dto.dart","api-clients/flutter/lib/src/model/pipeline_health_dto.dart","api-clients/flutter/lib/src/model/pipeline_metrics_dto.dart","api-clients/flutter/lib/src/model/preview_chunking_dto.dart","api-clients/flutter/lib/src/model/qwen_model_config_dto.dart","api-clients/flutter/lib/src/model/qwen_model_features_dto.dart","api-clients/flutter/lib/src/model/rag_config_dto.dart","api-clients/flutter/lib/src/model/rag_metrics_dto.dart","api-clients/flutter/lib/src/model/rag_pipeline_status_dto.dart","api-clients/flutter/lib/src/model/rag_query_dto.dart","api-clients/flutter/lib/src/model/rebuild_index_dto.dart","api-clients/flutter/lib/src/model/refresh_token_dto.dart","api-clients/flutter/lib/src/model/retrieval_config_dto.dart","api-clients/flutter/lib/src/model/sync_contacts_dto.dart","api-clients/flutter/lib/src/model/sync_contacts_response_dto.dart","api-clients/flutter/lib/src/model/toggle_qwen_model_dto.dart","api-clients/flutter/lib/src/model/update_contact_dto.dart","api-clients/flutter/lib/src/model/update_knowledge_base_dto.dart","api-clients/flutter/lib/src/model/update_knowledge_document_dto.dart","api-clients/flutter/lib/src/model/update_qwen_model_dto.dart","api-clients/flutter/lib/src/model/update_rag_config_dto.dart","api-clients/flutter/lib/src/serializers.dart","api-clients/flutter/pubspec.yaml","api-clients/flutter/test/admin_login_dto_test.dart","api-clients/flutter/test/ai_config_api_test.dart","api-clients/flutter/test/audit_logs_api_test.dart","api-clients/flutter/test/auth_api_test.dart","api-clients/flutter/test/batch_remove_contacts_dto_test.dart","api-clients/flutter/test/chunking_config_dto_test.dart","api-clients/flutter/test/contact360_response_dto_test.dart","api-clients/flutter/test/contact360_view_dto_test.dart","api-clients/flutter/test/contact_detail_response_dto_test.dart","api-clients/flutter/test/contact_dto_test.dart","api-clients/flutter/test/contact_event_dto_test.dart","api-clients/flutter/test/contact_list_response_dto_test.dart","api-clients/flutter/test/contact_profile_dto_test.dart","api-clients/flutter/test/contact_stats_dto_test.dart","api-clients/flutter/test/contact_tag_dto_test.dart","api-clients/flutter/test/contacts_api_test.dart","api-clients/flutter/test/conversation_summary_dto_test.dart","api-clients/flutter/test/create_contact_dto_test.dart","api-clients/flutter/test/create_contact_event_dto_test.dart","api-clients/flutter/test/create_knowledge_base_dto_test.dart","api-clients/flutter/test/create_knowledge_document_dto_test.dart","api-clients/flutter/test/create_qwen_model_dto_test.dart","api-clients/flutter/test/default_api_test.dart","api-clients/flutter/test/embedding_config_dto_test.dart","api-clients/flutter/test/embedding_model_dto_test.dart","api-clients/flutter/test/generation_config_dto_test.dart","api-clients/flutter/test/health_api_test.dart","api-clients/flutter/test/knowledge_api_test.dart","api-clients/flutter/test/knowledge_base_response_dto_test.dart","api-clients/flutter/test/knowledge_document_list_response_dto_test.dart","api-clients/flutter/test/knowledge_document_response_dto_test.dart","api-clients/flutter/test/login_dto_test.dart","api-clients/flutter/test/match_contact_dto_test.dart","api-clients/flutter/test/match_contact_response_dto_test.dart","api-clients/flutter/test/mobile_compat_api_test.dart","api-clients/flutter/test/pinyin_api_test.dart","api-clients/flutter/test/pipeline_health_dto_test.dart","api-clients/flutter/test/pipeline_metrics_dto_test.dart","api-clients/flutter/test/preview_chunking_dto_test.dart","api-clients/flutter/test/qwen_model_config_dto_test.dart","api-clients/flutter/test/qwen_model_features_dto_test.dart","api-clients/flutter/test/rag_api_test.dart","api-clients/flutter/test/rag_config_dto_test.dart","api-clients/flutter/test/rag_metrics_dto_test.dart","api-clients/flutter/test/rag_pipeline_status_dto_test.dart","api-clients/flutter/test/rag_query_dto_test.dart","api-clients/flutter/test/rebuild_index_dto_test.dart","api-clients/flutter/test/refresh_token_dto_test.dart","api-clients/flutter/test/retrieval_config_dto_test.dart","api-clients/flutter/test/settings_api_test.dart","api-clients/flutter/test/sync_contacts_dto_test.dart","api-clients/flutter/test/sync_contacts_response_dto_test.dart","api-clients/flutter/test/teams_api_test.dart","api-clients/flutter/test/toggle_qwen_model_dto_test.dart","api-clients/flutter/test/update_contact_dto_test.dart","api-clients/flutter/test/update_knowledge_base_dto_test.dart","api-clients/flutter/test/update_knowledge_document_dto_test.dart","api-clients/flutter/test/update_qwen_model_dto_test.dart","api-clients/flutter/test/update_rag_config_dto_test.dart","api-clients/flutter/test/usage_api_test.dart","api-clients/flutter/test/weather_api_test.dart","api-clients/ios/.gitignore","api-clients/ios/.openapi-generator-ignore","api-clients/ios/.openapi-generator/FILES","api-clients/ios/.openapi-generator/VERSION","api-clients/ios/.swiftformat","api-clients/ios/Cartfile","api-clients/ios/HaizhanAPI.podspec","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIHelper.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/AiConfigAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/AuditLogsAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/AuthAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/ContactsAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/DefaultAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/HealthAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/KnowledgeAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/MobileCompatAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/PinyinAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/RagAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/SettingsAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/TeamsAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/UsageAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/WeatherAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/CodableHelper.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Configuration.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Extensions.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/JSONDataEncoding.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/JSONEncodingHelper.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/AdminLoginDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/BatchRemoveContactsDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ChunkingConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/Contact360ResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/Contact360ViewDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactDetailResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactEventDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactListResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactProfileDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactStatsDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactTagDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ConversationSummaryDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/CreateContactDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/CreateContactEventDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/CreateKnowledgeBaseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/CreateKnowledgeDocumentDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/CreateQwenModelDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/EmbeddingConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/EmbeddingModelDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/GenerationConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/KnowledgeBaseResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/KnowledgeDocumentListResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/KnowledgeDocumentResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/LoginDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/MatchContactDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/MatchContactResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/PipelineHealthDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/PipelineMetricsDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/PreviewChunkingDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/QwenModelConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/QwenModelFeaturesDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RagConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RagMetricsDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RagPipelineStatusDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RagQueryDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RebuildIndexDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RefreshTokenDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RetrievalConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/SyncContactsDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/SyncContactsResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ToggleQwenModelDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/UpdateContactDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/UpdateKnowledgeBaseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/UpdateKnowledgeDocumentDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/UpdateQwenModelDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/UpdateRagConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/OpenISO8601DateFormatter.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/SynchronizedDictionary.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/URLSessionImplementations.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Validation.swift","api-clients/ios/Package.swift","api-clients/ios/README.md","api-clients/ios/docs/AdminLoginDto.md","api-clients/ios/docs/AiConfigAPI.md","api-clients/ios/docs/AuditLogsAPI.md","api-clients/ios/docs/AuthAPI.md","api-clients/ios/docs/BatchRemoveContactsDto.md","api-clients/ios/docs/ChunkingConfigDto.md","api-clients/ios/docs/Contact360ResponseDto.md","api-clients/ios/docs/Contact360ViewDto.md","api-clients/ios/docs/ContactDetailResponseDto.md","api-clients/ios/docs/ContactDto.md","api-clients/ios/docs/ContactEventDto.md","api-clients/ios/docs/ContactListResponseDto.md","api-clients/ios/docs/ContactProfileDto.md","api-clients/ios/docs/ContactStatsDto.md","api-clients/ios/docs/ContactTagDto.md","api-clients/ios/docs/ContactsAPI.md","api-clients/ios/docs/ConversationSummaryDto.md","api-clients/ios/docs/CreateContactDto.md","api-clients/ios/docs/CreateContactEventDto.md","api-clients/ios/docs/CreateKnowledgeBaseDto.md","api-clients/ios/docs/CreateKnowledgeDocumentDto.md","api-clients/ios/docs/CreateQwenModelDto.md","api-clients/ios/docs/DefaultAPI.md","api-clients/ios/docs/EmbeddingConfigDto.md","api-clients/ios/docs/EmbeddingModelDto.md","api-clients/ios/docs/GenerationConfigDto.md","api-clients/ios/docs/HealthAPI.md","api-clients/ios/docs/KnowledgeAPI.md","api-clients/ios/docs/KnowledgeBaseResponseDto.md","api-clients/ios/docs/KnowledgeDocumentListResponseDto.md","api-clients/ios/docs/KnowledgeDocumentResponseDto.md","api-clients/ios/docs/LoginDto.md","api-clients/ios/docs/MatchContactDto.md","api-clients/ios/docs/MatchContactResponseDto.md","api-clients/ios/docs/MobileCompatAPI.md","api-clients/ios/docs/PinyinAPI.md","api-clients/ios/docs/PipelineHealthDto.md","api-clients/ios/docs/PipelineMetricsDto.md","api-clients/ios/docs/PreviewChunkingDto.md","api-clients/ios/docs/QwenModelConfigDto.md","api-clients/ios/docs/QwenModelFeaturesDto.md","api-clients/ios/docs/RagAPI.md","api-clients/ios/docs/RagConfigDto.md","api-clients/ios/docs/RagMetricsDto.md","api-clients/ios/docs/RagPipelineStatusDto.md","api-clients/ios/docs/RagQueryDto.md","api-clients/ios/docs/RebuildIndexDto.md","api-clients/ios/docs/RefreshTokenDto.md","api-clients/ios/docs/RetrievalConfigDto.md","api-clients/ios/docs/SettingsAPI.md","api-clients/ios/docs/SyncContactsDto.md","api-clients/ios/docs/SyncContactsResponseDto.md","api-clients/ios/docs/TeamsAPI.md","api-clients/ios/docs/ToggleQwenModelDto.md","api-clients/ios/docs/UpdateContactDto.md","api-clients/ios/docs/UpdateKnowledgeBaseDto.md","api-clients/ios/docs/UpdateKnowledgeDocumentDto.md","api-clients/ios/docs/UpdateQwenModelDto.md","api-clients/ios/docs/UpdateRagConfigDto.md","api-clients/ios/docs/UsageAPI.md","api-clients/ios/docs/WeatherAPI.md","api-clients/ios/git_push.sh","api-clients/ios/project.yml","app/build.gradle.kts","app/proguard-rules-release.pro","app/proguard-rules.pro","app/src/androidTest/java/com/haizhan/ime/ComposeUiTest.kt","app/src/androidTest/java/com/haizhan/ime/ExampleInstrumentedTest.kt","app/src/androidTest/java/com/haizhan/ime/e2e/SmokeE2ETest.kt","app/src/androidTest/java/com/haizhan/ime/integration/ImeIntegrationTest.kt","app/src/main/AndroidManifest.xml","app/src/main/assets/dictionaries/stroke-data.txt","app/src/main/assets/handwriting_labels.txt","app/src/main/assets/handwriting_labels_casia.txt","app/src/main/assets/handwriting_labels_clean.txt","app/src/main/assets/handwriting_labels_jp.txt","app/src/main/assets/paddle_models/handwriting_labels.txt","app/src/main/assets/paddle_models/ppocr_keys_v1.txt","app/src/main/assets/temp_clean.txt","app/src/main/assets/temp_labels.txt","app/src/main/java/com/haizhan/ime/HaizhanApplication.kt","app/src/main/java/com/haizhan/ime/about/ui/AboutScreen.kt","app/src/main/java/com/haizhan/ime/chat/model/Message.kt","app/src/main/java/com/haizhan/ime/chat/service/WebSocketService.kt","app/src/main/java/com/haizhan/ime/chat/ui/ChatMessageCard.kt","app/src/main/java/com/haizhan/ime/chat/ui/ChatScreen.kt","app/src/main/java/com/haizhan/ime/chat/ui/GroupChatScreen.kt","app/src/main/java/com/haizhan/ime/feedback/ui/FeedbackScreen.kt","app/src/main/java/com/haizhan/ime/help/ui/HelpCenterScreen.kt","app/src/main/java/com/haizhan/ime/note/model/Note.kt","app/src/main/java/com/haizhan/ime/note/service/NoteService.kt","app/src/main/java/com/haizhan/ime/note/ui/NoteEditorScreen.kt","app/src/main/java/com/haizhan/ime/note/ui/NoteListScreen.kt","app/src/main/java/com/haizhan/ime/profile/model/Profile.kt","app/src/main/java/com/haizhan/ime/profile/ui/ProfileScreen.kt","app/src/main/java/com/haizhan/ime/receiver/BootReceiver.kt","app/src/main/java/com/haizhan/ime/search/model/Search.kt","app/src/main/java/com/haizhan/ime/search/service/SearchService.kt","app/src/main/java/com/haizhan/ime/search/ui/GlobalSearchScreen.kt","app/src/main/java/com/haizhan/ime/security/EncryptionManager.kt","app/src/main/java/com/haizhan/ime/security/NetworkSecurityManager.kt","app/src/main/java/com/haizhan/ime/security/PrivacyComplianceManager.kt","app/src/main/java/com/haizhan/ime/security/SecurityAuditor.kt","app/src/main/java/com/haizhan/ime/service/AiProcessingService.kt","app/src/main/java/com/haizhan/ime/service/ContextCollector.kt","app/src/main/java/com/haizhan/ime/service/DataSyncService.kt","app/src/main/java/com/haizhan/ime/service/HaizhanInputMethodService.kt","app/src/main/java/com/haizhan/ime/service/InputTypeAnalysis.kt","app/src/main/java/com/haizhan/ime/service/KeyboardContentView.kt","app/src/main/java/com/haizhan/ime/service/OcrCaptureService.kt","app/src/main/java/com/haizhan/ime/service/VoiceInputDelegate.kt","app/src/main/java/com/haizhan/ime/session/model/Session.kt","app/src/main/java/com/haizhan/ime/session/service/SessionService.kt","app/src/main/java/com/haizhan/ime/session/ui/MessageCenterScreen.kt","app/src/main/java/com/haizhan/ime/session/ui/SessionCard.kt","app/src/main/java/com/haizhan/ime/session/ui/SessionListScreen.kt","app/src/main/java/com/haizhan/ime/stability/AnrWatchdog.kt","app/src/main/java/com/haizhan/ime/stability/CrashHandler.kt","app/src/main/java/com/haizhan/ime/stability/MemoryLeakDetector.kt","app/src/main/java/com/haizhan/ime/stability/StabilityManager.kt","app/src/main/java/com/haizhan/ime/statistics/model/Statistics.kt","app/src/main/java/com/haizhan/ime/statistics/ui/ChartComponents.kt","app/src/main/java/com/haizhan/ime/statistics/ui/StatisticsScreen.kt","app/src/main/java/com/haizhan/ime/subscription/model/Subscription.kt","app/src/main/java/com/haizhan/ime/subscription/service/SubscriptionService.kt","app/src/main/java/com/haizhan/ime/subscription/ui/SubscriptionScreen.kt","app/src/main/java/com/haizhan/ime/sync/ContactSyncTaskAdapter.kt","app/src/main/java/com/haizhan/ime/sync/KnowledgeSyncTaskAdapter.kt","app/src/main/java/com/haizhan/ime/sync/SyncContracts.kt","app/src/main/java/com/haizhan/ime/sync/SyncCoordinator.kt","app/src/main/java/com/haizhan/ime/sync/SyncScheduler.kt","app/src/main/java/com/haizhan/ime/team/model/Team.kt","app/src/main/java/com/haizhan/ime/team/service/TeamService.kt","app/src/main/java/com/haizhan/ime/team/ui/TeamScreen.kt","app/src/main/java/com/haizhan/ime/template/data/B2BTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/ClosingTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/CoreSalesTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/DailyTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/DefaultTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/FollowUpTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/QuickPhraseDefaults.kt","app/src/main/java/com/haizhan/ime/template/data/SeasonalTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/TemplateDatabase.kt","app/src/main/java/com/haizhan/ime/template/data/TemplateImporter.kt","app/src/main/java/com/haizhan/ime/template/data/TemplateRepository.kt","app/src/main/java/com/haizhan/ime/template/di/TemplateModule.kt","app/src/main/java/com/haizhan/ime/template/model/Template.kt","app/src/main/java/com/haizhan/ime/template/service/TemplateService.kt","app/src/main/java/com/haizhan/ime/template/ui/FolderManagementDialog.kt","app/src/main/java/com/haizhan/ime/template/ui/TemplateListScreen.kt","app/src/main/java/com/haizhan/ime/template/ui/TemplateViewModel.kt","app/src/main/java/com/haizhan/ime/ui/MainActivity.kt","app/src/main/java/com/haizhan/ime/ui/management/DictionaryImportActivity.kt","app/src/main/java/com/haizhan/ime/ui/management/DictionaryImportScreen.kt","app/src/main/java/com/haizhan/ime/ui/management/DictionaryImportViewModel.kt","app/src/main/java/com/haizhan/ime/ui/management/DictionaryScreen.kt","app/src/main/java/com/haizhan/ime/ui/management/ManagementActivity.kt","app/src/main/java/com/haizhan/ime/ui/management/ManagementViewModel.kt","app/src/main/java/com/haizhan/ime/ui/management/PermissionScreen.kt","app/src/main/java/com/haizhan/ime/ui/management/SettingsScreen.kt","app/src/main/java/com/haizhan/ime/ui/permission/ScreenshotPermissionActivity.kt","app/src/main/java/com/haizhan/ime/ui/settings/ImeSettingsActivity.kt","app/src/main/java/com/haizhan/ime/ui/settings/SettingsViewModel.kt","app/src/main/java/com/haizhan/ime/ui/theme/Theme.kt","app/src/main/java/com/haizhan/ime/ui/theme/Type.kt","app/src/main/java/com/haizhan/ime/ux/AccessibilityHelper.kt","app/src/main/java/com/haizhan/ime/ux/AnimationUtils.kt","app/src/main/java/com/haizhan/ime/ux/ErrorHandler.kt","app/src/main/java/com/haizhan/ime/ux/OnboardingScreen.kt","app/src/main/java/com/haizhan/ime/ux/StartupOptimizer.kt","app/src/main/java/com/haizhan/ime/voice/service/VoiceService.kt","app/src/main/java/com/haizhan/ime/voice/ui/VoiceInputScreen.kt","app/src/main/res/drawable/ic_launcher_background.xml","app/src/main/res/drawable/ic_launcher_foreground.xml","app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml","app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml","app/src/main/res/values-night/colors.xml","app/src/main/res/values/colors.xml","app/src/main/res/values/strings.xml","app/src/main/res/values/themes.xml","app/src/main/res/xml/backup_rules.xml","app/src/main/res/xml/data_extraction_rules.xml","app/src/main/res/xml/file_paths.xml","app/src/main/res/xml/method.xml","app/src/main/res/xml/network_security_config.xml","app/src/test/java/com/haizhan/ime/ExampleUnitTest.kt","app/src/test/java/com/haizhan/ime/app/service/NotificationServiceTest.kt","app/src/test/java/com/haizhan/ime/app/service/SearchServiceTest.kt","app/src/test/java/com/haizhan/ime/app/service/SessionServiceTest.kt","app/src/test/java/com/haizhan/ime/app/service/SyncServiceTest.kt","app/src/test/java/com/haizhan/ime/app/service/WebSocketServiceTest.kt","app/src/test/java/com/haizhan/ime/benchmark/PerformanceBenchmarkTest.kt","app/src/test/java/com/haizhan/ime/security/EncryptionManagerTest.kt","app/src/test/java/com/haizhan/ime/security/PrivacyComplianceManagerTest.kt","app/src/test/java/com/haizhan/ime/security/SecurityAuditorTest.kt","app/src/test/java/com/haizhan/ime/service/HaizhanInputMethodServiceTest.kt","app/src/test/java/com/haizhan/ime/services/AiProcessingServiceTest.kt","app/src/test/java/com/haizhan/ime/services/NoteServiceTest.kt","app/src/test/java/com/haizhan/ime/services/OcrCaptureServiceTest.kt","app/src/test/java/com/haizhan/ime/services/SubscriptionServiceTest.kt","app/src/test/java/com/haizhan/ime/services/TeamServiceTest.kt","app/src/test/java/com/haizhan/ime/services/TemplateServiceTest.kt","app/src/test/java/com/haizhan/ime/services/VoiceServiceTest.kt","app/src/test/java/com/haizhan/ime/ui/management/ManagementViewModelTest.kt","app/src/test/java/com/haizhan/ime/ui/settings/SettingsViewModelTest.kt","app/src/test/java/com/haizhan/ime/ux/ErrorHandlerTest.kt","app/src/test/java/com/haizhan/ime/ux/StartupOptimizerTest.kt","app/src/test/java/com/haizhan/ime/viewmodel/DictionaryImportViewModelTest.kt","app/src/test/java/com/haizhan/ime/viewmodel/TemplateViewModelTest.kt","build.gradle.kts","common/build.gradle.kts","common/consumer-rules.pro","common/proguard-rules.pro","common/src/main/AndroidManifest.xml","common/src/main/java/com/haizhan/ime/common/ext/ContextExt.kt","common/src/main/java/com/haizhan/ime/common/ext/FlowExt.kt","common/src/main/java/com/haizhan/ime/common/ext/StringExt.kt","common/src/main/java/com/haizhan/ime/common/performance/ImePerformanceTracker.kt","common/src/main/java/com/haizhan/ime/common/theme/DesignTokens.kt","common/src/main/java/com/haizhan/ime/common/theme/KeyboardTheme.kt","common/src/main/java/com/haizhan/ime/common/util/DeviceUtils.kt","common/src/main/java/com/haizhan/ime/common/util/Logger.kt","common/src/main/java/com/haizhan/ime/common/util/LruCache.kt","common/src/main/java/com/haizhan/ime/common/util/MemoryMonitor.kt","common/src/test/java/com/haizhan/ime/common/StringExtTest.kt","common/src/test/java/com/haizhan/ime/common/ext/ResultTest.kt","common/src/test/java/com/haizhan/ime/common/util/DateUtilsTest.kt","common/src/test/java/com/haizhan/ime/common/util/LoggerTest.kt","common/src/test/java/com/haizhan/ime/common/util/MemoryStatsTest.kt","common/src/test/java/com/haizhan/ime/common/util/PinyinUtilsTest.kt","common/src/test/java/com/haizhan/ime/common/util/TextUtilsTest.kt","config/detekt/detekt.yml","data/build.gradle.kts","data/consumer-rules.pro","data/dictionaries/dictionary.config.json","data/dictionaries/fallback-words.txt","data/dictionaries/sensitive-words.txt","data/dictionaries/system/char-single.txt","data/dictionaries/system/core-char.txt","data/dictionaries/system/core-phrase.txt","data/dictionaries/system/core-word2.txt","data/dictionaries/system/core-word3.txt","data/dictionaries/system/core-word4.txt","data/dictionaries/system/idiom.txt","data/dictionaries/system/name-place.txt","data/dictionaries/system/word-common.txt","data/proguard-rules.pro","data/schemas/com.haizhan.ime.data.local.database.HaizhanDatabase/1.json","data/schemas/com.haizhan.ime.data.local.database.HaizhanDatabase/2.json","data/schemas/com.haizhan.ime.data.local.database.HaizhanDatabase/3.json","data/schemas/com.haizhan.ime.data.local.database.HaizhanDatabase/4.json","data/src/main/AndroidManifest.xml","data/src/main/java/com/haizhan/ime/data/auth/AuthInterceptor.kt","data/src/main/java/com/haizhan/ime/data/auth/AuthManager.kt","data/src/main/java/com/haizhan/ime/data/di/DataModule.kt","data/src/main/java/com/haizhan/ime/data/di/DatabaseModule.kt","data/src/main/java/com/haizhan/ime/data/di/NetworkModule.kt","data/src/main/java/com/haizhan/ime/data/di/RepositoryModule.kt","data/src/main/java/com/haizhan/ime/data/local/dao/ContactDao.kt","data/src/main/java/com/haizhan/ime/data/local/dao/KnowledgeDao.kt","data/src/main/java/com/haizhan/ime/data/local/dao/MessageDao.kt","data/src/main/java/com/haizhan/ime/data/local/dao/NoteDao.kt","data/src/main/java/com/haizhan/ime/data/local/dao/SearchDao.kt","data/src/main/java/com/haizhan/ime/data/local/dao/UserDictDao.kt","data/src/main/java/com/haizhan/ime/data/local/database/Converters.kt","data/src/main/java/com/haizhan/ime/data/local/database/HaizhanDatabase.kt","data/src/main/java/com/haizhan/ime/data/local/database/SecureDatabaseFactory.kt","data/src/main/java/com/haizhan/ime/data/local/entity/ContactEntity.kt","data/src/main/java/com/haizhan/ime/data/local/entity/KnowledgeEntity.kt","data/src/main/java/com/haizhan/ime/data/local/entity/MessageEntity.kt","data/src/main/java/com/haizhan/ime/data/local/entity/NoteEntity.kt","data/src/main/java/com/haizhan/ime/data/local/entity/SearchEntity.kt","data/src/main/java/com/haizhan/ime/data/local/entity/UserDictEntity.kt","data/src/main/java/com/haizhan/ime/data/remote/adapter/FlexibleTimestampAdapter.kt","data/src/main/java/com/haizhan/ime/data/remote/aliyun/AliyunSearchClient.kt","data/src/main/java/com/haizhan/ime/data/remote/aliyun/AliyunSearchConfig.kt","data/src/main/java/com/haizhan/ime/data/remote/aliyun/AliyunSearchConfigProvider.kt","data/src/main/java/com/haizhan/ime/data/remote/api/AuthApi.kt","data/src/main/java/com/haizhan/ime/data/remote/api/ContactApi.kt","data/src/main/java/com/haizhan/ime/data/remote/api/HaizhanApi.kt","data/src/main/java/com/haizhan/ime/data/remote/api/PinyinApi.kt","data/src/main/java/com/haizhan/ime/data/remote/api/RagSearchApi.kt","data/src/main/java/com/haizhan/ime/data/remote/api/ReplyApi.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/AiDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/AuthDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/CommonDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/ContactDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/KnowledgeDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/MemoryDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/MessageDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/NoteDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/ProfileDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/RagSearchDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/SearchDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/TeamDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/WeatherDto.kt","data/src/main/java/com/haizhan/ime/data/repository/ContactRepository.kt","data/src/main/java/com/haizhan/ime/data/repository/KnowledgeRepository.kt","data/src/main/java/com/haizhan/ime/data/repository/MessageRepository.kt","data/src/main/java/com/haizhan/ime/data/repository/RagSearchRepository.kt","data/src/main/java/com/haizhan/ime/data/repository/SettingsRepository.kt","data/src/main/java/com/haizhan/ime/data/repository/mapper/ContactMapper.kt","data/src/main/java/com/haizhan/ime/data/repository/mapper/KnowledgeMapper.kt","data/src/main/java/com/haizhan/ime/data/repository/mapper/MessageMapper.kt","data/src/main/java/com/haizhan/ime/data/repository/model/Contact.kt","data/src/main/java/com/haizhan/ime/data/repository/model/Knowledge.kt","data/src/main/java/com/haizhan/ime/data/repository/model/Message.kt","data/src/test/java/com/haizhan/ime/data/auth/AuthInterceptorTest.kt","data/src/test/java/com/haizhan/ime/data/auth/AuthManagerTest.kt","data/src/test/java/com/haizhan/ime/data/auth/AuthTypesTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/ContactDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/KnowledgeDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/MessageDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/NoteDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/SearchDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/UserDictDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/UserPreferencesDaoTest.kt","data/src/test/java/com/haizhan/ime/data/remote/api/HaizhanApiTest.kt","data/src/test/java/com/haizhan/ime/data/remote/dto/ContactDtoTest.kt","data/src/test/java/com/haizhan/ime/data/repository/ContactRepositoryTest.kt","data/src/test/java/com/haizhan/ime/data/repository/KnowledgeRepositoryTest.kt","data/src/test/java/com/haizhan/ime/data/repository/MessageRepositoryTest.kt","data/src/test/java/com/haizhan/ime/data/repository/SettingsRepositoryTest.kt","data/src/test/java/com/haizhan/ime/data/repository/mapper/ContactMapperTest.kt","data/src/test/java/com/haizhan/ime/data/repository/mapper/KnowledgeMapperTest.kt","data/src/test/java/com/haizhan/ime/data/repository/mapper/MessageMapperTest.kt","designs/exports/CLAUDE_CODE_DESIGN_GUIDE.md","designs/exports/DESIGN_MANIFEST.md","designs/exports/svg/Frame.svg","designs/exports/svg/P2-关于.svg","designs/exports/svg/P2-协议条款.svg","designs/exports/svg/P2-帮助中心.svg","designs/exports/svg/P2-意见反馈.svg","designs/exports/svg/P2-版本更新.svg","designs/exports/svg/__设计系统_-_组件库.svg","designs/exports/svg/功能面板_-_OCR识别.svg","designs/exports/svg/功能面板_-_历史.svg","designs/exports/svg/功能面板_-_团队.svg","designs/exports/svg/功能面板_-_知识库.svg","designs/exports/svg/功能面板_-_笔记.svg","designs/exports/svg/功能面板_-_联系人.svg","designs/exports/svg/嗨赞AI助手_-_AI回复选择.svg","designs/exports/svg/嗨赞AI助手_-_OCR结果确认.svg","designs/exports/svg/嗨赞AI助手_-_个人中心.svg","designs/exports/svg/嗨赞AI助手_-_主应用首页.svg","designs/exports/svg/嗨赞AI助手_-_主键盘界面.svg","designs/exports/svg/嗨赞AI助手_-_主键盘界面__深色_.svg","designs/exports/svg/嗨赞AI助手_-_交互式笔记.svg","designs/exports/svg/嗨赞AI助手_-_会员订阅.svg","designs/exports/svg/嗨赞AI助手_-_会话列表.svg","designs/exports/svg/嗨赞AI助手_-_单聊IM.svg","designs/exports/svg/嗨赞AI助手_-_历史记录页面.svg","designs/exports/svg/嗨赞AI助手_-_引导页1.svg","designs/exports/svg/嗨赞AI助手_-_引导页2.svg","designs/exports/svg/嗨赞AI助手_-_引导页3.svg","designs/exports/svg/嗨赞AI助手_-_忘记密码.svg","designs/exports/svg/嗨赞AI助手_-_我的页面.svg","designs/exports/svg/嗨赞AI助手_-_搜索.svg","designs/exports/svg/嗨赞AI助手_-_数据统计.svg","designs/exports/svg/嗨赞AI助手_-_新建联系人.svg","designs/exports/svg/嗨赞AI助手_-_注册页面.svg","designs/exports/svg/嗨赞AI助手_-_消息中心.svg","designs/exports/svg/嗨赞AI助手_-_登录页面.svg","designs/exports/svg/嗨赞AI助手_-_知识库列表.svg","designs/exports/svg/嗨赞AI助手_-_知识库详情.svg","designs/exports/svg/嗨赞AI助手_-_编辑个人信息.svg","designs/exports/svg/嗨赞AI助手_-_群聊IM.svg","designs/exports/svg/嗨赞AI助手_-_联系人列表.svg","designs/exports/svg/嗨赞AI助手_-_联系人详情.svg","designs/exports/svg/嗨赞AI助手_-_设置.svg","designs/exports/svg/嗨赞AI助手_-_设置页面.svg","designs/exports/svg/嗨赞AI助手_-_话术模板.svg","designs/exports/svg/嗨赞AI助手_-_话术模板详情.svg","designs/exports/svg/微交互规范文档.svg","designs/exports/svg/组件_-_悬浮球状态.svg","designs/exports/svg/组件_-_拼音候选词展开.svg","designs/exports/svg/组件_-_空状态.svg","designs/exports/svg/组件_-_语音输入状态.svg","designs/exports/svg/组件_-_错误状态.svg","designs/mobile-keyboard-design.md","designs/specs/COMPONENT_SPEC.md","designs/specs/KEYBOARD_DESIGN_SPEC.md","designs/specs/README.md","designs/specs/design-tokens.json","designs/templates/android/DesignTokens.kt","designs/templates/android/KeyboardTheme.kt","designs/templates/ios/DesignTokens.swift","designs/templates/ios/KeyboardTheme.swift","designs/嗨赞输入法.pen","docs/ANDROID_DEVELOPMENT.md","docs/API.md","docs/ARCHITECTURE.md","docs/BACKEND_API_REQUIREMENTS.md","docs/BACKEND_DESIGN.md","docs/CI_CD_PIPELINE.md","docs/CODING_STANDARDS.md","docs/COMPLETE_FEATURE_SPEC.md","docs/DATABASE.md","docs/DEPLOYMENT.md","docs/DESIGN_TO_DEV_SPEC.md","docs/DEVELOPMENT_GUIDE.md","docs/DEVELOPMENT_PLAN.md","docs/DOCS_SYNC.md","docs/ERROR_HANDLING.md","docs/FEATURE_ANALYSIS.md","docs/FLUTTER_DEVELOPMENT.md","docs/FRONTEND_DEV_REQUIREMENTS.md","docs/HANDWRITING_MODEL_UPGRADE.md","docs/IOS_DEVELOPMENT.md","docs/KMP_DEVELOPMENT.md","docs/LOGGING_STANDARDS.md","docs/MILESTONES.md","docs/MODULE_ANALYSIS.md","docs/MODULE_LIST.md","docs/PERFORMANCE_OPTIMIZATION.md","docs/PNPM_MIGRATION_NOTICE.md","docs/PRD.md","docs/PRIVACY_POLICY.md","docs/PRODUCT_ARCHITECTURE.md","docs/Phase_11_12_Final_Report.md","docs/RELEASE_CHECKLIST.md","docs/SECURITY_AUDIT.md","docs/SECURITY_GUIDELINES.md","docs/STORE_LISTING.md","docs/SYSTEM_ARCHITECTURE.md","docs/TASKS.md","docs/TECH_STACK.md","docs/TESTING_STRATEGY.md","docs/USER_MANUAL.md","docs/VOICE_API_DOCUMENTATION.md","docs/VOICE_MODULE_MIGRATION.md","docs/openapi.json","docs/skills/anthropic-official/.claude-plugin/marketplace.json","docs/skills/anthropic-official/.gitignore","docs/skills/anthropic-official/README.md","docs/skills/anthropic-official/THIRD_PARTY_NOTICES.md","docs/skills/anthropic-official/skills/algorithmic-art/LICENSE.txt","docs/skills/anthropic-official/skills/algorithmic-art/SKILL.md","docs/skills/anthropic-official/skills/algorithmic-art/templates/generator_template.js","docs/skills/anthropic-official/skills/algorithmic-art/templates/viewer.html","docs/skills/anthropic-official/skills/brand-guidelines/LICENSE.txt","docs/skills/anthropic-official/skills/brand-guidelines/SKILL.md","docs/skills/anthropic-official/skills/canvas-design/LICENSE.txt","docs/skills/anthropic-official/skills/canvas-design/SKILL.md","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/ArsenalSC-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BigShoulders-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BigShoulders-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BigShoulders-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Boldonse-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Boldonse-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/CrimsonPro-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/DMMono-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/DMMono-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/EricaOne-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/EricaOne-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/GeistMono-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/GeistMono-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/GeistMono-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Gloock-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Gloock-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSans-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Italiana-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Italiana-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Jura-Light.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Jura-Medium.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Jura-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Lora-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Lora-BoldItalic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Lora-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Lora-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Lora-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/NationalPark-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/NationalPark-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/NationalPark-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Outfit-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Outfit-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Outfit-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/PixelifySans-Medium.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/PixelifySans-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/PoiretOne-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/PoiretOne-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/RedHatMono-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/RedHatMono-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/RedHatMono-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Silkscreen-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Silkscreen-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/SmoochSans-Medium.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/SmoochSans-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Tektur-Medium.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Tektur-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Tektur-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/WorkSans-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/WorkSans-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/WorkSans-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/WorkSans-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/YoungSerif-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/YoungSerif-Regular.ttf","docs/skills/anthropic-official/skills/doc-coauthoring/SKILL.md","docs/skills/anthropic-official/skills/docx/LICENSE.txt","docs/skills/anthropic-official/skills/docx/SKILL.md","docs/skills/anthropic-official/skills/docx/docx-js.md","docs/skills/anthropic-official/skills/docx/ooxml.md","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/mce/mc.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-2010.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-2012.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-2018.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd","docs/skills/anthropic-official/skills/docx/ooxml/scripts/pack.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/unpack.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validate.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validation/__init__.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validation/base.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validation/docx.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validation/pptx.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validation/redlining.py","docs/skills/anthropic-official/skills/docx/scripts/__init__.py","docs/skills/anthropic-official/skills/docx/scripts/document.py","docs/skills/anthropic-official/skills/docx/scripts/templates/comments.xml","docs/skills/anthropic-official/skills/docx/scripts/templates/commentsExtended.xml","docs/skills/anthropic-official/skills/docx/scripts/templates/commentsExtensible.xml","docs/skills/anthropic-official/skills/docx/scripts/templates/commentsIds.xml","docs/skills/anthropic-official/skills/docx/scripts/templates/people.xml","docs/skills/anthropic-official/skills/docx/scripts/utilities.py","docs/skills/anthropic-official/skills/frontend-design/LICENSE.txt","docs/skills/anthropic-official/skills/frontend-design/SKILL.md","docs/skills/anthropic-official/skills/internal-comms/LICENSE.txt","docs/skills/anthropic-official/skills/internal-comms/SKILL.md","docs/skills/anthropic-official/skills/internal-comms/examples/3p-updates.md","docs/skills/anthropic-official/skills/internal-comms/examples/company-newsletter.md","docs/skills/anthropic-official/skills/internal-comms/examples/faq-answers.md","docs/skills/anthropic-official/skills/internal-comms/examples/general-comms.md","docs/skills/anthropic-official/skills/mcp-builder/LICENSE.txt","docs/skills/anthropic-official/skills/mcp-builder/SKILL.md","docs/skills/anthropic-official/skills/mcp-builder/reference/evaluation.md","docs/skills/anthropic-official/skills/mcp-builder/reference/mcp_best_practices.md","docs/skills/anthropic-official/skills/mcp-builder/reference/node_mcp_server.md","docs/skills/anthropic-official/skills/mcp-builder/reference/python_mcp_server.md","docs/skills/anthropic-official/skills/mcp-builder/scripts/connections.py","docs/skills/anthropic-official/skills/mcp-builder/scripts/evaluation.py","docs/skills/anthropic-official/skills/mcp-builder/scripts/example_evaluation.xml","docs/skills/anthropic-official/skills/mcp-builder/scripts/requirements.txt","docs/skills/anthropic-official/skills/pdf/LICENSE.txt","docs/skills/anthropic-official/skills/pdf/SKILL.md","docs/skills/anthropic-official/skills/pdf/forms.md","docs/skills/anthropic-official/skills/pdf/reference.md","docs/skills/anthropic-official/skills/pdf/scripts/check_bounding_boxes.py","docs/skills/anthropic-official/skills/pdf/scripts/check_bounding_boxes_test.py","docs/skills/anthropic-official/skills/pdf/scripts/check_fillable_fields.py","docs/skills/anthropic-official/skills/pdf/scripts/convert_pdf_to_images.py","docs/skills/anthropic-official/skills/pdf/scripts/create_validation_image.py","docs/skills/anthropic-official/skills/pdf/scripts/extract_form_field_info.py","docs/skills/anthropic-official/skills/pdf/scripts/fill_fillable_fields.py","docs/skills/anthropic-official/skills/pdf/scripts/fill_pdf_form_with_annotations.py","docs/skills/anthropic-official/skills/pptx/LICENSE.txt","docs/skills/anthropic-official/skills/pptx/SKILL.md","docs/skills/anthropic-official/skills/pptx/html2pptx.md","docs/skills/anthropic-official/skills/pptx/ooxml.md","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/mce/mc.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-2010.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-2012.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-2018.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/pack.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/unpack.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validate.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validation/__init__.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validation/base.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validation/docx.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validation/pptx.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validation/redlining.py","docs/skills/anthropic-official/skills/pptx/scripts/html2pptx.js","docs/skills/anthropic-official/skills/pptx/scripts/inventory.py","docs/skills/anthropic-official/skills/pptx/scripts/rearrange.py","docs/skills/anthropic-official/skills/pptx/scripts/replace.py","docs/skills/anthropic-official/skills/pptx/scripts/thumbnail.py","docs/skills/anthropic-official/skills/skill-creator/LICENSE.txt","docs/skills/anthropic-official/skills/skill-creator/SKILL.md","docs/skills/anthropic-official/skills/skill-creator/references/output-patterns.md","docs/skills/anthropic-official/skills/skill-creator/references/workflows.md","docs/skills/anthropic-official/skills/skill-creator/scripts/init_skill.py","docs/skills/anthropic-official/skills/skill-creator/scripts/package_skill.py","docs/skills/anthropic-official/skills/skill-creator/scripts/quick_validate.py","docs/skills/anthropic-official/skills/slack-gif-creator/LICENSE.txt","docs/skills/anthropic-official/skills/slack-gif-creator/SKILL.md","docs/skills/anthropic-official/skills/slack-gif-creator/core/easing.py","docs/skills/anthropic-official/skills/slack-gif-creator/core/frame_composer.py","docs/skills/anthropic-official/skills/slack-gif-creator/core/gif_builder.py","docs/skills/anthropic-official/skills/slack-gif-creator/core/validators.py","docs/skills/anthropic-official/skills/slack-gif-creator/requirements.txt","docs/skills/anthropic-official/skills/theme-factory/LICENSE.txt","docs/skills/anthropic-official/skills/theme-factory/SKILL.md","docs/skills/anthropic-official/skills/theme-factory/theme-showcase.pdf","docs/skills/anthropic-official/skills/theme-factory/themes/arctic-frost.md","docs/skills/anthropic-official/skills/theme-factory/themes/botanical-garden.md","docs/skills/anthropic-official/skills/theme-factory/themes/desert-rose.md","docs/skills/anthropic-official/skills/theme-factory/themes/forest-canopy.md","docs/skills/anthropic-official/skills/theme-factory/themes/golden-hour.md","docs/skills/anthropic-official/skills/theme-factory/themes/midnight-galaxy.md","docs/skills/anthropic-official/skills/theme-factory/themes/modern-minimalist.md","docs/skills/anthropic-official/skills/theme-factory/themes/ocean-depths.md","docs/skills/anthropic-official/skills/theme-factory/themes/sunset-boulevard.md","docs/skills/anthropic-official/skills/theme-factory/themes/tech-innovation.md","docs/skills/anthropic-official/skills/web-artifacts-builder/LICENSE.txt","docs/skills/anthropic-official/skills/web-artifacts-builder/SKILL.md","docs/skills/anthropic-official/skills/web-artifacts-builder/scripts/bundle-artifact.sh","docs/skills/anthropic-official/skills/web-artifacts-builder/scripts/init-artifact.sh","docs/skills/anthropic-official/skills/web-artifacts-builder/scripts/shadcn-components.tar.gz","docs/skills/anthropic-official/skills/webapp-testing/LICENSE.txt","docs/skills/anthropic-official/skills/webapp-testing/SKILL.md","docs/skills/anthropic-official/skills/webapp-testing/examples/console_logging.py","docs/skills/anthropic-official/skills/webapp-testing/examples/element_discovery.py","docs/skills/anthropic-official/skills/webapp-testing/examples/static_html_automation.py","docs/skills/anthropic-official/skills/webapp-testing/scripts/with_server.py","docs/skills/anthropic-official/skills/xlsx/LICENSE.txt","docs/skills/anthropic-official/skills/xlsx/SKILL.md","docs/skills/anthropic-official/skills/xlsx/recalc.py","docs/skills/anthropic-official/spec/agent-skills-spec.md","docs/skills/anthropic-official/template/SKILL.md","docs/skills/awesome-skills/.gitignore","docs/skills/awesome-skills/CONTRIBUTING.md","docs/skills/awesome-skills/README.md","docs/skills/backend-patterns/SKILL.md","docs/skills/clickhouse-io/SKILL.md","docs/skills/coding-standards/SKILL.md","docs/skills/continuous-learning/SKILL.md","docs/skills/continuous-learning/config.json","docs/skills/continuous-learning/evaluate-session.sh","docs/skills/daymade-skills/.claude-plugin/marketplace.json","docs/skills/daymade-skills/.github/ISSUE_TEMPLATE/bug_report.md","docs/skills/daymade-skills/.github/ISSUE_TEMPLATE/feature_request.md","docs/skills/daymade-skills/.github/PULL_REQUEST_TEMPLATE.md","docs/skills/daymade-skills/.gitignore","docs/skills/daymade-skills/AGENTS.md","docs/skills/daymade-skills/CHANGELOG.md","docs/skills/daymade-skills/CLAUDE.md","docs/skills/daymade-skills/CONTRIBUTING.md","docs/skills/daymade-skills/LICENSE","docs/skills/daymade-skills/QUICKSTART.md","docs/skills/daymade-skills/QUICKSTART.zh-CN.md","docs/skills/daymade-skills/README.md","docs/skills/daymade-skills/README.zh-CN.md","docs/skills/daymade-skills/claude-code-history-files-finder/.INTEGRATION_SUMMARY.md","docs/skills/daymade-skills/claude-code-history-files-finder/.security-scan-passed","docs/skills/daymade-skills/claude-code-history-files-finder/SKILL.md","docs/skills/daymade-skills/claude-code-history-files-finder/references/session_file_format.md","docs/skills/daymade-skills/claude-code-history-files-finder/references/workflow_examples.md","docs/skills/daymade-skills/claude-code-history-files-finder/scripts/analyze_sessions.py","docs/skills/daymade-skills/claude-code-history-files-finder/scripts/recover_content.py","docs/skills/daymade-skills/claude-md-progressive-disclosurer/.security-scan-passed","docs/skills/daymade-skills/claude-md-progressive-disclosurer/SKILL.md","docs/skills/daymade-skills/claude-md-progressive-disclosurer/references/progressive_disclosure_principles.md","docs/skills/daymade-skills/cli-demo-generator/SKILL.md","docs/skills/daymade-skills/cli-demo-generator/assets/examples/batch-config.yaml","docs/skills/daymade-skills/cli-demo-generator/assets/templates/basic.tape","docs/skills/daymade-skills/cli-demo-generator/assets/templates/interactive.tape","docs/skills/daymade-skills/cli-demo-generator/references/best_practices.md","docs/skills/daymade-skills/cli-demo-generator/references/vhs_syntax.md","docs/skills/daymade-skills/cli-demo-generator/scripts/auto_generate_demo.py","docs/skills/daymade-skills/cli-demo-generator/scripts/batch_generate.py","docs/skills/daymade-skills/cli-demo-generator/scripts/record_interactive.sh","docs/skills/daymade-skills/cloudflare-troubleshooting/SKILL.md","docs/skills/daymade-skills/cloudflare-troubleshooting/references/api_overview.md","docs/skills/daymade-skills/cloudflare-troubleshooting/references/common_issues.md","docs/skills/daymade-skills/cloudflare-troubleshooting/references/ssl_modes.md","docs/skills/daymade-skills/cloudflare-troubleshooting/scripts/check_cloudflare_config.py","docs/skills/daymade-skills/cloudflare-troubleshooting/scripts/fix_ssl_mode.py","docs/skills/daymade-skills/demos/README.md","docs/skills/daymade-skills/demos/cli-demo-generator/generate-demo.gif","docs/skills/daymade-skills/demos/cli-demo-generator/generate-demo.tape","docs/skills/daymade-skills/demos/generate_all_demos.sh","docs/skills/daymade-skills/demos/github-ops/create-pr.gif","docs/skills/daymade-skills/demos/github-ops/create-pr.tape","docs/skills/daymade-skills/demos/index.html","docs/skills/daymade-skills/demos/llm-icon-finder/find-icons.gif","docs/skills/daymade-skills/demos/llm-icon-finder/find-icons.tape","docs/skills/daymade-skills/demos/markdown-tools/convert-docs.gif","docs/skills/daymade-skills/demos/markdown-tools/convert-docs.tape","docs/skills/daymade-skills/demos/mermaid-tools/extract-diagrams.gif","docs/skills/daymade-skills/demos/mermaid-tools/extract-diagrams.tape","docs/skills/daymade-skills/demos/ppt-creator/create-presentation.gif","docs/skills/daymade-skills/demos/ppt-creator/create-presentation.tape","docs/skills/daymade-skills/demos/repomix-unmixer/extract-repo.gif","docs/skills/daymade-skills/demos/repomix-unmixer/extract-repo.tape","docs/skills/daymade-skills/demos/skill-creator/init-skill.gif","docs/skills/daymade-skills/demos/skill-creator/init-skill.tape","docs/skills/daymade-skills/demos/skill-creator/package-skill.gif","docs/skills/daymade-skills/demos/skill-creator/package-skill.tape","docs/skills/daymade-skills/demos/skill-creator/validate-skill.gif","docs/skills/daymade-skills/demos/skill-creator/validate-skill.tape","docs/skills/daymade-skills/demos/statusline-generator/customize-statusline.gif","docs/skills/daymade-skills/demos/statusline-generator/customize-statusline.tape","docs/skills/daymade-skills/demos/teams-channel-post-writer/write-post.gif","docs/skills/daymade-skills/demos/teams-channel-post-writer/write-post.tape","docs/skills/daymade-skills/demos/ui-designer/extract-design-system.gif","docs/skills/daymade-skills/demos/ui-designer/extract-design-system.tape","docs/skills/daymade-skills/demos/youtube-downloader/download-video.gif","docs/skills/daymade-skills/demos/youtube-downloader/download-video.tape","docs/skills/daymade-skills/docs-cleaner/.security-scan-passed","docs/skills/daymade-skills/docs-cleaner/SKILL.md","docs/skills/daymade-skills/docs-cleaner/references/value_analysis_template.md","docs/skills/daymade-skills/fact-checker/.security-scan-passed","docs/skills/daymade-skills/fact-checker/README.md","docs/skills/daymade-skills/fact-checker/SKILL.md","docs/skills/daymade-skills/github-contributor/.security-scan-passed","docs/skills/daymade-skills/github-contributor/SKILL.md","docs/skills/daymade-skills/github-contributor/references/communication_templates.md","docs/skills/daymade-skills/github-contributor/references/pr_checklist.md","docs/skills/daymade-skills/github-contributor/references/project_evaluation.md","docs/skills/daymade-skills/github-ops/SKILL.md","docs/skills/daymade-skills/github-ops/references/api_reference.md","docs/skills/daymade-skills/github-ops/references/best_practices.md","docs/skills/daymade-skills/github-ops/references/issue_operations.md","docs/skills/daymade-skills/github-ops/references/pr_operations.md","docs/skills/daymade-skills/github-ops/references/workflow_operations.md","docs/skills/daymade-skills/iOS-APP-developer/.security-scan-passed","docs/skills/daymade-skills/iOS-APP-developer/SKILL.md","docs/skills/daymade-skills/iOS-APP-developer/references/camera-avfoundation.md","docs/skills/daymade-skills/iOS-APP-developer/references/swiftui-compatibility.md","docs/skills/daymade-skills/iOS-APP-developer/references/testing-mainactor.md","docs/skills/daymade-skills/iOS-APP-developer/references/xcodegen-full.md","docs/skills/daymade-skills/llm-icon-finder/SKILL.md","docs/skills/daymade-skills/llm-icon-finder/references/developer-info.md","docs/skills/daymade-skills/llm-icon-finder/references/icons-list.md","docs/skills/daymade-skills/macos-cleaner/.security-scan-passed","docs/skills/daymade-skills/macos-cleaner/SKILL.md","docs/skills/daymade-skills/macos-cleaner/references/cleanup_targets.md","docs/skills/daymade-skills/macos-cleaner/references/mole_integration.md","docs/skills/daymade-skills/macos-cleaner/references/safety_rules.md","docs/skills/daymade-skills/macos-cleaner/scripts/analyze_caches.py","docs/skills/daymade-skills/macos-cleaner/scripts/analyze_dev_env.py","docs/skills/daymade-skills/macos-cleaner/scripts/analyze_large_files.py","docs/skills/daymade-skills/macos-cleaner/scripts/cleanup_report.py","docs/skills/daymade-skills/macos-cleaner/scripts/find_app_remnants.py","docs/skills/daymade-skills/macos-cleaner/scripts/safe_delete.py","docs/skills/daymade-skills/markdown-tools/SKILL.md","docs/skills/daymade-skills/markdown-tools/references/conversion-examples.md","docs/skills/daymade-skills/markdown-tools/scripts/convert_path.py","docs/skills/daymade-skills/markdown-tools/scripts/extract_pdf_images.py","docs/skills/daymade-skills/mermaid-tools/SKILL.md","docs/skills/daymade-skills/mermaid-tools/references/setup_and_troubleshooting.md","docs/skills/daymade-skills/mermaid-tools/scripts/extract-and-generate.sh","docs/skills/daymade-skills/mermaid-tools/scripts/extract_diagrams.py","docs/skills/daymade-skills/mermaid-tools/scripts/puppeteer-config.json","docs/skills/daymade-skills/pdf-creator/.security-scan-passed","docs/skills/daymade-skills/pdf-creator/SKILL.md","docs/skills/daymade-skills/pdf-creator/scripts/batch_convert.py","docs/skills/daymade-skills/pdf-creator/scripts/md_to_pdf.py","docs/skills/daymade-skills/ppt-creator/SKILL.md","docs/skills/daymade-skills/ppt-creator/references/CHECKLIST.md","docs/skills/daymade-skills/ppt-creator/references/EXAMPLES.md","docs/skills/daymade-skills/ppt-creator/references/INTAKE.md","docs/skills/daymade-skills/ppt-creator/references/ORCHESTRATION_DATA_CHARTS.md","docs/skills/daymade-skills/ppt-creator/references/ORCHESTRATION_OVERVIEW.md","docs/skills/daymade-skills/ppt-creator/references/ORCHESTRATION_PPTX.md","docs/skills/daymade-skills/ppt-creator/references/RUBRIC.md","docs/skills/daymade-skills/ppt-creator/references/STYLE-GUIDE.md","docs/skills/daymade-skills/ppt-creator/references/TEMPLATES.md","docs/skills/daymade-skills/ppt-creator/references/VIS-GUIDE.md","docs/skills/daymade-skills/ppt-creator/references/WORKFLOW.md","docs/skills/daymade-skills/ppt-creator/scripts/chartkit.py","docs/skills/daymade-skills/prompt-optimizer/.security-scan-passed","docs/skills/daymade-skills/prompt-optimizer/SKILL.md","docs/skills/daymade-skills/prompt-optimizer/references/advanced_techniques.md","docs/skills/daymade-skills/prompt-optimizer/references/domain_theories.md","docs/skills/daymade-skills/prompt-optimizer/references/ears_syntax.md","docs/skills/daymade-skills/prompt-optimizer/references/examples.md","docs/skills/daymade-skills/promptfoo-evaluation/.security-scan-passed","docs/skills/daymade-skills/promptfoo-evaluation/SKILL.md","docs/skills/daymade-skills/promptfoo-evaluation/references/promptfoo_api.md","docs/skills/daymade-skills/qa-expert/.security-scan-passed","docs/skills/daymade-skills/qa-expert/SKILL.md","docs/skills/daymade-skills/qa-expert/assets/templates/TEST-CASE-TEMPLATE.md","docs/skills/daymade-skills/qa-expert/references/day1_onboarding.md","docs/skills/daymade-skills/qa-expert/references/google_testing_standards.md","docs/skills/daymade-skills/qa-expert/references/ground_truth_principle.md","docs/skills/daymade-skills/qa-expert/references/llm_prompts_library.md","docs/skills/daymade-skills/qa-expert/references/master_qa_prompt.md","docs/skills/daymade-skills/qa-expert/scripts/calculate_metrics.py","docs/skills/daymade-skills/qa-expert/scripts/init_qa_project.py","docs/skills/daymade-skills/repomix-safe-mixer/SKILL.md","docs/skills/daymade-skills/repomix-safe-mixer/references/common_secrets.md","docs/skills/daymade-skills/repomix-safe-mixer/scripts/safe_pack.py","docs/skills/daymade-skills/repomix-safe-mixer/scripts/scan_secrets.py","docs/skills/daymade-skills/repomix-unmixer/README.md","docs/skills/daymade-skills/repomix-unmixer/SKILL.md","docs/skills/daymade-skills/repomix-unmixer/references/repomix-format.md","docs/skills/daymade-skills/repomix-unmixer/references/validation-workflow.md","docs/skills/daymade-skills/repomix-unmixer/scripts/unmix_repomix.py","docs/skills/daymade-skills/scripts/install.ps1","docs/skills/daymade-skills/scripts/install.sh","docs/skills/daymade-skills/skill-creator/.gitignore","docs/skills/daymade-skills/skill-creator/LICENSE.txt","docs/skills/daymade-skills/skill-creator/SKILL.md","docs/skills/daymade-skills/skill-creator/scripts/init_skill.py","docs/skills/daymade-skills/skill-creator/scripts/package_skill.py","docs/skills/daymade-skills/skill-creator/scripts/quick_validate.py","docs/skills/daymade-skills/skill-creator/scripts/security_scan.py","docs/skills/daymade-skills/skill-reviewer/.security-scan-passed","docs/skills/daymade-skills/skill-reviewer/SKILL.md","docs/skills/daymade-skills/skill-reviewer/references/evaluation_checklist.md","docs/skills/daymade-skills/skill-reviewer/references/marketplace_template.json","docs/skills/daymade-skills/skill-reviewer/references/pr_template.md","docs/skills/daymade-skills/skills-search/.security-scan-passed","docs/skills/daymade-skills/skills-search/SKILL.md","docs/skills/daymade-skills/statusline-generator/SKILL.md","docs/skills/daymade-skills/statusline-generator/references/ccusage_integration.md","docs/skills/daymade-skills/statusline-generator/references/color_codes.md","docs/skills/daymade-skills/statusline-generator/scripts/generate_statusline.sh","docs/skills/daymade-skills/statusline-generator/scripts/install_statusline.sh","docs/skills/daymade-skills/teams-channel-post-writer/SKILL.md","docs/skills/daymade-skills/teams-channel-post-writer/assets/post-template.md","docs/skills/daymade-skills/teams-channel-post-writer/references/writing-guidelines.md","docs/skills/daymade-skills/transcript-fixer/.gitignore","docs/skills/daymade-skills/transcript-fixer/SKILL.md","docs/skills/daymade-skills/transcript-fixer/references/architecture.md","docs/skills/daymade-skills/transcript-fixer/references/best_practices.md","docs/skills/daymade-skills/transcript-fixer/references/database_schema.md","docs/skills/daymade-skills/transcript-fixer/references/dictionary_guide.md","docs/skills/daymade-skills/transcript-fixer/references/file_formats.md","docs/skills/daymade-skills/transcript-fixer/references/glm_api_setup.md","docs/skills/daymade-skills/transcript-fixer/references/installation_setup.md","docs/skills/daymade-skills/transcript-fixer/references/iteration_workflow.md","docs/skills/daymade-skills/transcript-fixer/references/quick_reference.md","docs/skills/daymade-skills/transcript-fixer/references/script_parameters.md","docs/skills/daymade-skills/transcript-fixer/references/sql_queries.md","docs/skills/daymade-skills/transcript-fixer/references/team_collaboration.md","docs/skills/daymade-skills/transcript-fixer/references/troubleshooting.md","docs/skills/daymade-skills/transcript-fixer/references/workflow_guide.md","docs/skills/daymade-skills/transcript-fixer/requirements.txt","docs/skills/daymade-skills/transcript-fixer/scripts/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/check_type_hints.py","docs/skills/daymade-skills/transcript-fixer/scripts/cli/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/cli/argument_parser.py","docs/skills/daymade-skills/transcript-fixer/scripts/cli/commands.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/ai_processor.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/ai_processor_async.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/change_extractor.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/connection_pool.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/correction_repository.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/correction_service.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/dictionary_processor.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/learning_engine.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/schema.sql","docs/skills/daymade-skills/transcript-fixer/scripts/ensure_deps.py","docs/skills/daymade-skills/transcript-fixer/scripts/examples/bulk_import.py","docs/skills/daymade-skills/transcript-fixer/scripts/fix_transcript_enhanced.py","docs/skills/daymade-skills/transcript-fixer/scripts/fix_transcription.py","docs/skills/daymade-skills/transcript-fixer/scripts/generate_word_diff.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_audit_log_retention.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_connection_pool.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_correction_service.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_domain_validator.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_error_recovery.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_learning_engine.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_path_validator.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/audit_log_retention.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/concurrency_manager.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/config.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/database_migration.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/db_migrations_cli.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/change_extractor.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/html_format.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/inline_format.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/markdown_format.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/text_splitter.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/unified_format.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_generator.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/domain_validator.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/health_check.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/logging_config.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/metrics.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/migrations.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/path_validator.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/rate_limiter.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/retry_logic.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/security.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/validation.py","docs/skills/daymade-skills/twitter-reader/.security-scan-passed","docs/skills/daymade-skills/twitter-reader/SKILL.md","docs/skills/daymade-skills/twitter-reader/scripts/fetch_tweet.py","docs/skills/daymade-skills/twitter-reader/scripts/fetch_tweets.sh","docs/skills/daymade-skills/ui-designer/SKILL.md","docs/skills/daymade-skills/ui-designer/assets/app-overview-generator.md","docs/skills/daymade-skills/ui-designer/assets/design-system.md","docs/skills/daymade-skills/ui-designer/assets/vibe-design-template.md","docs/skills/daymade-skills/video-comparer/.security-scan-passed","docs/skills/daymade-skills/video-comparer/README.md","docs/skills/daymade-skills/video-comparer/SKILL.md","docs/skills/daymade-skills/video-comparer/assets/template.html","docs/skills/daymade-skills/video-comparer/references/configuration.md","docs/skills/daymade-skills/video-comparer/references/ffmpeg_commands.md","docs/skills/daymade-skills/video-comparer/references/video_metrics.md","docs/skills/daymade-skills/video-comparer/scripts/compare.py","docs/skills/daymade-skills/youtube-downloader/.security-scan-passed","docs/skills/daymade-skills/youtube-downloader/SKILL.md","docs/skills/daymade-skills/youtube-downloader/references/po-token-setup.md","docs/skills/daymade-skills/youtube-downloader/scripts/download_video.py","docs/skills/eval-harness/SKILL.md","docs/skills/frontend-patterns/SKILL.md","docs/skills/haizhan-ime-development.md","docs/skills/hizan-official/.claude-plugin/marketplace.json","docs/skills/hizan-official/skills/arch/SKILL.md","docs/skills/hizan-official/skills/game/SKILL.md","docs/skills/hizan-official/skills/quality/SKILL.md","docs/skills/hizan-official/skills/work/SKILL.md","docs/skills/juhi/tool-usage.md","docs/skills/mhattingpete-skills/.claude-plugin/marketplace.json","docs/skills/mhattingpete-skills/.claude/install-gh.sh","docs/skills/mhattingpete-skills/.claude/settings.json","docs/skills/mhattingpete-skills/.gitignore","docs/skills/mhattingpete-skills/CHANGELOG.md","docs/skills/mhattingpete-skills/CLAUDE.md","docs/skills/mhattingpete-skills/CONTRIBUTING.md","docs/skills/mhattingpete-skills/LICENSE","docs/skills/mhattingpete-skills/README.md","docs/skills/mhattingpete-skills/assets/skill-loading.gif","docs/skills/mhattingpete-skills/code-operations-plugin/.claude-plugin/plugin.json","docs/skills/mhattingpete-skills/code-operations-plugin/README.md","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-execution/SKILL.md","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-execution/examples/bulk_refactor.py","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-execution/examples/codebase_audit.py","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-execution/examples/extract_functions.py","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-refactor/SKILL.md","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-transfer/SKILL.md","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-transfer/scripts/line_insert.py","docs/skills/mhattingpete-skills/code-operations-plugin/skills/file-operations/SKILL.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/.claude-plugin/plugin.json","docs/skills/mhattingpete-skills/engineering-workflow-plugin/README.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/agents/ensemble-orchestrator/AGENT.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/agents/plan-implementer.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/commands/pr.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/ensemble-solving/SKILL.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/ensemble-solving/references/diversification-strategies.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/ensemble-solving/references/evaluation-rubrics.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/feature-planning/SKILL.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/feature-planning/references/planning-best-practices.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/git-pushing/SKILL.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/git-pushing/scripts/smart_commit.sh","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/review-implementing/SKILL.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/test-fixing/SKILL.md","docs/skills/mhattingpete-skills/execution-runtime/.env.example","docs/skills/mhattingpete-skills/execution-runtime/README.md","docs/skills/mhattingpete-skills/execution-runtime/api/__init__.py","docs/skills/mhattingpete-skills/execution-runtime/api/code_analysis.py","docs/skills/mhattingpete-skills/execution-runtime/api/code_transform.py","docs/skills/mhattingpete-skills/execution-runtime/api/filesystem.py","docs/skills/mhattingpete-skills/execution-runtime/api/git_operations.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/__init__.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/security/__init__.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/security/import_guard.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/security/pii_detector.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/sessions.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/skills.py","docs/skills/mhattingpete-skills/execution-runtime/mcp-server/mcp_server.py","docs/skills/mhattingpete-skills/execution-runtime/mcp-server/security/pii_detector.py","docs/skills/mhattingpete-skills/execution-runtime/mcp-server/security/sandbox.py","docs/skills/mhattingpete-skills/execution-runtime/pyproject.toml","docs/skills/mhattingpete-skills/execution-runtime/setup.sh","docs/skills/mhattingpete-skills/productivity-skills-plugin/.claude-plugin/plugin.json","docs/skills/mhattingpete-skills/productivity-skills-plugin/README.md","docs/skills/mhattingpete-skills/productivity-skills-plugin/skills/code-auditor/SKILL.md","docs/skills/mhattingpete-skills/productivity-skills-plugin/skills/codebase-documenter/SKILL.md","docs/skills/mhattingpete-skills/productivity-skills-plugin/skills/conversation-analyzer/SKILL.md","docs/skills/mhattingpete-skills/productivity-skills-plugin/skills/conversation-analyzer/scripts/analyze_history.py","docs/skills/mhattingpete-skills/productivity-skills-plugin/skills/project-bootstrapper/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/.claude-plugin/plugin.json","docs/skills/mhattingpete-skills/visual-documentation-plugin/EXAMPLES.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/README.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/architecture-diagram-creator/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/architecture-diagram-creator/assets/templates/architecture_components.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/architecture-diagram-creator/assets/templates/base_template.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/architecture-diagram-creator/references/example_architecture.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/dashboard-creator/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/dashboard-creator/assets/templates/base_template.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/dashboard-creator/assets/templates/dashboard_components.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/dashboard-creator/references/design_patterns.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/dashboard-creator/references/svg_library.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/flowchart-creator/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/flowchart-creator/assets/templates/base_template.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/flowchart-creator/assets/templates/flowchart_components.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/flowchart-creator/references/design_patterns.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/flowchart-creator/references/svg_library.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/technical-doc-creator/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/technical-doc-creator/assets/templates/base_template.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/technical-doc-creator/references/design_patterns.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/technical-doc-creator/references/svg_library.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/timeline-creator/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/timeline-creator/assets/templates/base_template.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/timeline-creator/assets/templates/timeline_components.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/timeline-creator/references/design_patterns.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/timeline-creator/references/svg_library.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/test-outputs/dashboard-test-monitoring.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/test-outputs/flowchart-test-authentication.html","docs/skills/netresearch-marketplace/.claude-plugin/marketplace.json","docs/skills/netresearch-marketplace/.github/workflows/sync-skills.yml","docs/skills/netresearch-marketplace/.gitignore","docs/skills/netresearch-marketplace/.sync-config.json","docs/skills/netresearch-marketplace/README.md","docs/skills/netresearch-marketplace/SYNC-SETUP.md","docs/skills/netresearch-marketplace/VERSIONING.md","docs/skills/netresearch-marketplace/notify-marketplace.yml","docs/skills/netresearch-marketplace/plugins/coach/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/plugins/coach/LICENSE","docs/skills/netresearch-marketplace/plugins/coach/README.md","docs/skills/netresearch-marketplace/plugins/coach/assets/templates/antipattern.md","docs/skills/netresearch-marketplace/plugins/coach/assets/templates/checklist.md","docs/skills/netresearch-marketplace/plugins/coach/assets/templates/rule.md","docs/skills/netresearch-marketplace/plugins/coach/assets/templates/snippet.md","docs/skills/netresearch-marketplace/plugins/coach/commands/approve.md","docs/skills/netresearch-marketplace/plugins/coach/commands/edit.md","docs/skills/netresearch-marketplace/plugins/coach/commands/init.md","docs/skills/netresearch-marketplace/plugins/coach/commands/promote.md","docs/skills/netresearch-marketplace/plugins/coach/commands/reject.md","docs/skills/netresearch-marketplace/plugins/coach/commands/review.md","docs/skills/netresearch-marketplace/plugins/coach/commands/scan.md","docs/skills/netresearch-marketplace/plugins/coach/commands/status.md","docs/skills/netresearch-marketplace/plugins/coach/hooks/hooks.json","docs/skills/netresearch-marketplace/plugins/coach/references/architecture.md","docs/skills/netresearch-marketplace/plugins/coach/references/schema.md","docs/skills/netresearch-marketplace/plugins/coach/references/scope_heuristics.md","docs/skills/netresearch-marketplace/plugins/coach/references/signal_patterns.md","docs/skills/netresearch-marketplace/plugins/coach/scripts/aggregate.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/apply.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/detect_signals.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/fingerprint.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/init_coach.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/ledger.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/propose.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/root_cause_analyzer.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/scope_analyzer.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/skill_analyzer.py","docs/skills/netresearch-marketplace/plugins/coach/skills/coach/SKILL.md","docs/skills/netresearch-marketplace/renovate.json","docs/skills/netresearch-marketplace/skills/agents/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/agents/LICENSE","docs/skills/netresearch-marketplace/skills/agents/README.md","docs/skills/netresearch-marketplace/skills/agents/STATUS.md","docs/skills/netresearch-marketplace/skills/agents/claudedocs/refactoring-summary.md","docs/skills/netresearch-marketplace/skills/agents/composer.json","docs/skills/netresearch-marketplace/skills/agents/docs/ROADMAP.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/SKILL.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/root-thin.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/root-verbose.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/backend-go.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/backend-php.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/cli.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/documentation.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/examples.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/frontend-typescript.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/resources.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/testing.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/analysis.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/directory-coverage.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/coding-agent-cli/AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/coding-agent-cli/scripts-AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/ldap-selfservice/AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/ldap-selfservice/internal-AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/ldap-selfservice/internal-web-AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/simple-ldap-go/AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/simple-ldap-go/examples-AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/t3x-rte-ckeditor-image/AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/t3x-rte-ckeditor-image/Classes-AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/analyze-git-history.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/check-freshness.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/detect-project.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/detect-scopes.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-agent-configs.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-ci-commands.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-commands.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-documentation.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-ide-settings.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-platform-files.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-quality-configs.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/generate-agents.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/lib/summary.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/lib/template.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/validate-structure.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/verify-content.sh","docs/skills/netresearch-marketplace/skills/cli-tools/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/cli-tools/LICENSE","docs/skills/netresearch-marketplace/skills/cli-tools/README.md","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ansible-core.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ast-grep.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/aws.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/bandit.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/bat.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/black.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/claude.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/codex.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/compose.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/composer.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ctags.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/curlie.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/dasel.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/delta.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/direnv.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/dive.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/docker.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/entr.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/eslint.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/fd.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/flake8.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/fx.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/fzf.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/gam.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/gem.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/gh.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/git-absorb.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/git-branchless.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/git-filter-repo.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/git-lfs.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/git.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/gitleaks.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/glab.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/go.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/golangci-lint.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/gosec.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/httpie.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/isort.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/jq.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/just.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/kubectl.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ninja.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/node.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/npm.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/parallel.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/php.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/pip.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/pipx.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/pnpm.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/poetry.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/pre-commit.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/prename.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/prettier.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/python.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/rbenv.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/rename.ul.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/rga.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ripgrep.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ruby-build.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ruby.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ruff.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/rust.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/sd.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/semgrep.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/shellcheck.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/shfmt.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/sponge.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/terraform.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/tfsec.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/trivy.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/uv.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/watchexec.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/xsv.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/yarn.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/yq.json","docs/skills/netresearch-marketplace/skills/cli-tools/composer.json","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/SKILL.md","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/references/binary_to_tool_map.md","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/references/project_type_requirements.md","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/auto_update.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/check_environment.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/detect_project_type.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/install_composer.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/install_tool.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/aws_installer.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/dedicated_script.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/github_clone.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/github_release_binary.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/hashicorp_zip.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/npm_global.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/npm_self_update.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/package_manager.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/uv_tool.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/capability.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/catalog.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/common.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/dependency.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/install_strategy.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/path_check.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/policy.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/reconcile.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/scope_detection.sh","docs/skills/netresearch-marketplace/skills/context7/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/context7/LICENSE","docs/skills/netresearch-marketplace/skills/context7/README.md","docs/skills/netresearch-marketplace/skills/context7/skills/context7/SKILL.md","docs/skills/netresearch-marketplace/skills/context7/skills/context7/scripts/context7.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/enterprise-readiness/LICENSE","docs/skills/netresearch-marketplace/skills/enterprise-readiness/README.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/ARCHITECTURE.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/BADGE_EXCEPTIONS.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/CODE_OF_CONDUCT.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/GOVERNANCE.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/ROADMAP.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/SECURITY_AUDIT.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/workflows/codeql.yml","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/workflows/dco-check.yml","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/workflows/dependency-review.yml","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/workflows/scorecard.yml","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/workflows/slsa-provenance.yml","docs/skills/netresearch-marketplace/skills/enterprise-readiness/composer.json","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/SKILL.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/2fa-enforcement.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/badge-display.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/branch-coverage.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/dco-implementation.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/dynamic-analysis.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/general.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/github.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/go.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/openssf-badge-gold.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/openssf-badge-silver.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/quick-start-guide.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/reproducible-builds.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/security-hardening.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/signed-releases.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/solo-maintainer-guide.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/sonarcloud.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/test-invocation.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/add-spdx-headers.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/analyze-bus-factor.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/check-branch-coverage.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/check-coverage-threshold.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/check-tls-minimum.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/verify-badge-criteria.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/verify-reproducible-build.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/verify-review-requirements.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/verify-signed-tags.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/verify-spdx-headers.sh","docs/skills/netresearch-marketplace/skills/git-workflow/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/git-workflow/LICENSE","docs/skills/netresearch-marketplace/skills/git-workflow/README.md","docs/skills/netresearch-marketplace/skills/git-workflow/composer.json","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/SKILL.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/advanced-git.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/branching-strategies.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/ci-cd-integration.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/commit-conventions.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/github-releases.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/pull-request-workflow.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/scripts/verify-git-workflow.sh","docs/skills/netresearch-marketplace/skills/github-project/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/github-project/LICENSE","docs/skills/netresearch-marketplace/skills/github-project/README.md","docs/skills/netresearch-marketplace/skills/github-project/composer.json","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/SKILL.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/CODEOWNERS.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/CONTRIBUTING.md.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/PULL_REQUEST_TEMPLATE.md.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/SECURITY.md.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/auto-merge-direct.yml.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/auto-merge-queue.yml.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/auto-merge.yml.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/bug_report.md.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/dependabot.yml.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/feature_request.md.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/release-labeler.yml.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/renovate.json.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/references/branch-migration.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/references/dependency-management.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/references/release-labeling.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/references/repository-structure.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/references/sub-issues.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/scripts/verify-github-project.sh","docs/skills/netresearch-marketplace/skills/go-development/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/go-development/LICENSE","docs/skills/netresearch-marketplace/skills/go-development/README.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/SKILL.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/api-design.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/architecture.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/docker.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/fuzz-testing.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/ldap.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/linting.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/makefile.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/mutation-testing.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/resilience.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/testing.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/scripts/verify-go-project.sh","docs/skills/netresearch-marketplace/skills/jira-integration/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/jira-integration/AGENTS.md","docs/skills/netresearch-marketplace/skills/jira-integration/CHANGELOG.md","docs/skills/netresearch-marketplace/skills/jira-integration/CLAUDE.md","docs/skills/netresearch-marketplace/skills/jira-integration/LICENSE","docs/skills/netresearch-marketplace/skills/jira-integration/MIGRATION.md","docs/skills/netresearch-marketplace/skills/jira-integration/PRD.md","docs/skills/netresearch-marketplace/skills/jira-integration/README.md","docs/skills/netresearch-marketplace/skills/jira-integration/SKILL.md","docs/skills/netresearch-marketplace/skills/jira-integration/composer.json","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/AGENTS.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/SKILL.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/references/jql-quick-reference.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/references/troubleshooting.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-attachment.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-issue.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-search.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-setup.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-validate.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-worklog.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/lib/__init__.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/lib/client.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/lib/config.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/lib/output.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/utility/jira-fields.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/utility/jira-link.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/utility/jira-user.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/workflow/jira-board.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/workflow/jira-comment.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/workflow/jira-create.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/workflow/jira-sprint.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/workflow/jira-transition.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/AGENTS.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/SKILL.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/references/jira-syntax-quick-reference.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/scripts/validate-jira-syntax.sh","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/templates/bug-report-template.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/templates/feature-request-template.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/netresearch-branding/LICENSE","docs/skills/netresearch-marketplace/skills/netresearch-branding/README.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/assets/logos/netresearch-symbol-only.svg","docs/skills/netresearch-marketplace/skills/netresearch-branding/composer.json","docs/skills/netresearch-marketplace/skills/netresearch-branding/examples/components.html","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/SKILL.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/references/colors.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/references/typo3-extension-branding.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/references/typography.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/references/web-design.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/templates/landing-page.html","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/templates/styles.css","docs/skills/netresearch-marketplace/skills/php-modernization/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/php-modernization/LICENSE","docs/skills/netresearch-marketplace/skills/php-modernization/README.md","docs/skills/netresearch-marketplace/skills/php-modernization/composer.json","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/SKILL.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/adapter-registry-pattern.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/migration-strategies.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/php8-features.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/phpstan-compliance.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/psr-per-compliance.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/request-dtos.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/static-analysis-tools.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/symfony-patterns.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/type-safety.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/scripts/verify-php-project.sh","docs/skills/netresearch-marketplace/skills/security-audit/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/security-audit/LICENSE","docs/skills/netresearch-marketplace/skills/security-audit/README.md","docs/skills/netresearch-marketplace/skills/security-audit/composer.json","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/SKILL.md","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/references/api-key-encryption.md","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/references/cvss-scoring.md","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/references/owasp-top10.md","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/references/xxe-prevention.md","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/scripts/security-audit.sh","docs/skills/netresearch-marketplace/skills/skill-repo/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/skill-repo/LICENSE","docs/skills/netresearch-marketplace/skills/skill-repo/README.md","docs/skills/netresearch-marketplace/skills/skill-repo/composer.json","docs/skills/netresearch-marketplace/skills/skill-repo/renovate.json","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/SKILL.md","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/references/composer-setup.md","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/references/installation-methods.md","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/references/marketplace-integration.md","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/scripts/validate-skill.sh","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/templates/README.md.template","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/templates/composer.json.template","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/templates/release.yml.template","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/README.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/composer.json","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/references/ckeditor5-architecture.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/references/migration-guide.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/references/plugin-development.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/references/typo3-integration.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/scripts/verify-ckeditor5.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-conformance/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-conformance/README.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/composer.json","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/assets/.github/workflows/publish-to-ter.yml","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/backend-module-v13.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/backend-wizard-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/best-practices.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/coding-guidelines.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/composer-validation.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/crowdin-integration.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/development-environment.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/directory-structure.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/dual-version-compatibility.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/excellence-indicators.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/ext-emconf-validation.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/ext-files-validation.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/extension-architecture.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/hooks-and-events.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/multi-tier-configuration.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/php-architecture.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/report-template.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/runtests-validation.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/ter-publishing.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/testing-standards.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/v13-deprecations.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/version-requirements.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-architecture.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-coding-standards.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-conformance.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-documentation.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-file-structure.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-phpstan-baseline.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-testing.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/generate-report.sh","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/README.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/assets/commit-template.txt","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/claudedocs/refactoring-summary.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/composer.json","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/account-setup.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/commit-message-format.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/commit-msg-hook.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/ddev-setup-workflow.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/forge-api.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/gerrit-review-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/gerrit-workflow.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/modern-typo3-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/troubleshooting.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/create-commit-message.py","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/create-forge-issue.sh","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/query-forge-metadata.sh","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/setup-typo3-coredev.sh","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/validate-commit-message.py","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/verify-prerequisites.sh","docs/skills/netresearch-marketplace/skills/typo3-ddev/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-ddev/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-ddev/README.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/composer.json","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/.envrc","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/Makefile.template","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/README-SERVICES.md.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/apache/apache-site.conf","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/host/docs","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/host/pre-start-git-info","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/host/setup","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/install-all","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/install-v11","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/install-v12","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/install-v13","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/web/configure-extension.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/web/generate-index","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/web/generate-makefile","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/web/install-introduction.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/config.redis.php.example","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/config.yaml","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/docker-compose.git-info.yaml","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/docker-compose.ofelia.yaml.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/docker-compose.services-redis.yaml.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/docker-compose.services.yaml.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/docker-compose.web.yaml","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/homeadditions/.bashrc_additions.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/index.html.netresearch.template","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/index.html.typo3.template","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/web-build/Dockerfile","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/web-build/install-cron.sh.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/web-entrypoint.d/10-cleanup-index.sh","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/0001-valkey-default-with-redis-alternative.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/0002-mariadb-default-with-database-alternatives.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/0003-php-version-management.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/advanced-options.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/documentation-rendering.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/index-page-generation.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/prerequisites-validation.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/quickstart.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/troubleshooting.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/typo3-12-cli-changes.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/windows-fixes.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/windows-optimizations.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/scripts/validate-prerequisites.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-docs/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-docs/README.md","docs/skills/netresearch-marketplace/skills/typo3-docs/composer.json","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/assets/AGENTS.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/architecture-decision-records.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/code-structure-elements.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/coding-guidelines.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/content-directives.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/documentation-coverage-analysis.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/extraction-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/file-structure.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/guides-xml.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/intercept-deployment.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/rendering.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/rst-syntax.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/screenshots.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/text-roles-inline-code.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/typo3-directives.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/typo3-extension-architecture.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/add-agents-md.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/analyze-docs.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-all.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-build-configs.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-composer.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-extension-config.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-php.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-project-files.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-repo-metadata.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/render_docs.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/validate_docs.sh","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/README.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/composer.json","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/assets/.php-cs-fixer.php","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/assets/fractor.php","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/assets/phpstan.neon","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/assets/phpunit.xml","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/assets/rector.php","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/api-changes.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/dual-compatibility.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/pre-upgrade.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/real-world-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/upgrade-v11-to-v12.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/upgrade-v12-to-v13.md","docs/skills/netresearch-marketplace/skills/typo3-testing/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-testing/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-testing/README.md","docs/skills/netresearch-marketplace/skills/typo3-testing/composer.json","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/.php-cs-fixer.dist.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/AGENTS.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/FunctionalTests.xml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/FunctionalTestsBootstrap.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/Makefile","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/UnitTests.xml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/UnitTestsBootstrap.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/bootstrap.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/codecov.yml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/docker/codeception.yml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/docker/docker-compose.yml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/example-tests/ExampleAcceptanceCest.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/example-tests/ExampleFunctionalTest.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/example-tests/ExampleUnitTest.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/fixtures/README.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/fixtures/be_users.csv","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/fixtures/pages.csv","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/fixtures/sys_category.csv","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/fixtures/tt_content.csv","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/github-actions-e2e.yml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/github-actions-tests.yml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/infection.json5","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/phpat.neon","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/phpat.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/phpstan-baseline.neon","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/phpstan.neon","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/rector.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/accessibility-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/architecture-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/ci-cd.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/crypto-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/ddev-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/e2e-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/functional-test-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/functional-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/fuzz-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/integration-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/javascript-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/mutation-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/performance-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/quality-tools.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/sonarcloud.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/test-runners.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/typo3-v14-final-classes.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/unit-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/scripts/generate-test.sh","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/scripts/setup-testing.sh","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/scripts/validate-setup.sh","docs/skills/netresearch-marketplace/update-source-repos.sh","docs/skills/project-guidelines-example/SKILL.md","docs/skills/security-review/SKILL.md","docs/skills/strategic-compact/SKILL.md","docs/skills/strategic-compact/suggest-compact.sh","docs/skills/tdd-workflow/SKILL.md","docs/skills/verification-loop/SKILL.md","docs/话术库导出_20251231103252.xlsx","docs_archive/AI_INPUT_METHOD_BRAINSTORM.md","docs_archive/ANDROID_100_PERCENT_PLAN.md","docs_archive/ANDROID_NATIVE_REPLACEMENT_DETAILED_PLAN.md","docs_archive/ANDROID_NATIVE_REPLACEMENT_PLAN.md","docs_archive/API.md","docs_archive/APPLE_PLATFORM_DEVELOPMENT_PLAN.md","docs_archive/ARCHITECTURE.md","docs_archive/ARCHITECTURE_COMPACT.md","docs_archive/CLAUDE.md","docs_archive/COMPREHENSIVE_IMPROVEMENT_PLAN.md","docs_archive/DEPLOYMENT.md","docs_archive/DESIGN_BASED_DEVELOPMENT_PLAN.md","docs_archive/DEVELOPMENT_ROADMAP.md","docs_archive/DICTIONARY_IMPROVEMENT_PLAN.md","docs_archive/DOCS_INDEX.md","docs_archive/IMPLEMENTATION_PLAN.md","docs_archive/IMPROVEMENT_RECOMMENDATIONS.md","docs_archive/IOS_DEVELOPMENT_PLAN.md","docs_archive/NEXT_STEPS_PLAN.md","docs_archive/PINYIN_DEVELOPMENT_PLAN.md","docs_archive/PRD.md","docs_archive/PROGRESS_TRACKER.md","docs_archive/README.md","docs_archive/REDLINES.md","docs_archive/SMART_RECOGNITION_COMPACT.md","docs_archive/TECHNICAL_ARCHITECTURE.md","docs_archive/UI_DEVELOPMENT_PLAN.md","docs_archive/smart-recognition-design.md","flutter_app/assets/fonts/PingFang-Medium.ttf","flutter_app/assets/fonts/PingFang-Regular.ttf","flutter_app/assets/fonts/PingFang-Semibold.ttf","flutter_app/assets/icons/.gitkeep","flutter_app/assets/images/.gitkeep","flutter_app/lib/core/bridge/bridge_models.dart","flutter_app/lib/core/bridge/bridge_response_parser.dart","flutter_app/lib/core/bridge/haizhan_bridge.dart","flutter_app/lib/core/di/service_locator.dart","flutter_app/lib/core/router/app_router.dart","flutter_app/lib/core/router/routes.dart","flutter_app/lib/core/theme/app_colors.dart","flutter_app/lib/core/theme/app_theme.dart","flutter_app/lib/core/theme/app_typography.dart","flutter_app/lib/features/auth/data/auth_provider.dart","flutter_app/lib/features/auth/data/auth_repository.dart","flutter_app/lib/features/auth/domain/auth_models.dart","flutter_app/lib/features/auth/presentation/login_screen.dart","flutter_app/lib/features/auth/presentation/register_screen.dart","flutter_app/lib/features/chat/data/ai_provider.dart","flutter_app/lib/features/chat/data/ai_repository.dart","flutter_app/lib/features/chat/domain/ai_reply_models.dart","flutter_app/lib/features/chat/presentation/chat_screen.dart","flutter_app/lib/features/chat/presentation/conversation_screen.dart","flutter_app/lib/features/contacts/data/contact_360_provider.dart","flutter_app/lib/features/contacts/data/contacts_provider.dart","flutter_app/lib/features/contacts/data/contacts_repository.dart","flutter_app/lib/features/contacts/domain/contact_models.dart","flutter_app/lib/features/contacts/presentation/contact_detail_screen.dart","flutter_app/lib/features/contacts/presentation/contacts_screen.dart","flutter_app/lib/features/home/presentation/home_screen.dart","flutter_app/lib/features/home/presentation/main_shell.dart","flutter_app/lib/features/knowledge/data/knowledge_provider.dart","flutter_app/lib/features/knowledge/data/knowledge_repository.dart","flutter_app/lib/features/knowledge/domain/knowledge_models.dart","flutter_app/lib/features/knowledge/presentation/knowledge_screen.dart","flutter_app/lib/features/profile/presentation/profile_screen.dart","flutter_app/lib/features/search/data/models/search_metrics.dart","flutter_app/lib/features/search/presentation/widgets/search_metrics_indicator.dart","flutter_app/lib/features/settings/presentation/settings_screen.dart","flutter_app/lib/features/stats/presentation/stats_screen.dart","flutter_app/lib/features/stats/presentation/widgets/contact_stats_tab.dart","flutter_app/lib/features/stats/presentation/widgets/overview_tab.dart","flutter_app/lib/features/stats/presentation/widgets/reply_stats_tab.dart","flutter_app/lib/features/stats/presentation/widgets/stats_shared_widgets.dart","flutter_app/lib/features/support/presentation/about_screen.dart","flutter_app/lib/features/support/presentation/feedback_screen.dart","flutter_app/lib/features/support/presentation/help_screen.dart","flutter_app/lib/features/support/presentation/privacy_screen.dart","flutter_app/lib/features/support/presentation/terms_screen.dart","flutter_app/lib/main.dart","flutter_app/lib/shared/widgets/stat_card.dart","flutter_app/pigeons/haizhan_api.dart","flutter_app/pubspec.lock","flutter_app/pubspec.yaml","flutter_app/test/core/network/api_client_test.dart","flutter_app/test/core/theme/theme_provider_test.dart","flutter_app/test/features/auth/login_screen_test.dart","flutter_app/test/features/chat/chat_screen_test.dart","flutter_app/test/features/contacts/contacts_screen_test.dart","flutter_app/test/features/home/home_screen_test.dart","flutter_app/test/features/knowledge/knowledge_screen_test.dart","flutter_app/test/features/profile/profile_screen_test.dart","flutter_app/test/features/settings/settings_screen_test.dart","flutter_app/test/features/statistics/statistics_screen_test.dart","flutter_app/test/features/stats/stats_screen_test.dart","flutter_app/test/integration/app_integration_test.dart","flutter_app/test/providers/auth_provider_test.dart","flutter_app/test/services/api_service_test.dart","flutter_app/test/widgets/contact_card_test.dart","gradle.properties","gradle/libs.versions.toml","gradle/wrapper/gradle-wrapper.jar","gradle/wrapper/gradle-wrapper.properties","gradlew","gradlew.bat","ime-core/build.gradle.kts","ime-core/consumer-rules.pro","ime-core/proguard-rules.pro","ime-core/src/androidTest/java/com/haizhan/ime/core/handwriting/HandwritingIntegrationTest.kt","ime-core/src/androidTest/java/com/haizhan/ime/core/handwriting/HandwritingPerformanceTest.kt","ime-core/src/androidTest/java/com/haizhan/ime/core/handwriting/HandwritingViewTest.kt","ime-core/src/main/AndroidManifest.xml","ime-core/src/main/assets/dictionaries/system/core-char.txt","ime-core/src/main/assets/dictionaries/system/core-merged.txt","ime-core/src/main/assets/dictionaries/system/core-phrase.txt","ime-core/src/main/assets/dictionaries/system/core-word2.txt","ime-core/src/main/assets/dictionaries/system/core-word3.txt","ime-core/src/main/assets/dictionaries/system/core-word4.txt","ime-core/src/main/assets/handwriting_labels_casia.txt","ime-core/src/main/assets/paddle_models/ppocr_keys_v1.txt","ime-core/src/main/cpp/CMakeLists.txt","ime-core/src/main/cpp/include/paddle_api.h","ime-core/src/main/cpp/include/paddle_image_preprocess.h","ime-core/src/main/cpp/include/paddle_lite_factory_helper.h","ime-core/src/main/cpp/include/paddle_place.h","ime-core/src/main/cpp/include/paddle_use_kernels.h","ime-core/src/main/cpp/include/paddle_use_ops.h","ime-core/src/main/cpp/include/paddle_use_passes.h","ime-core/src/main/cpp/paddle_lite_jni.cpp","ime-core/src/main/cpp/paddle_ocr_jni.cpp","ime-core/src/main/java/com/haizhan/ime/core/context/ChatContext.kt","ime-core/src/main/java/com/haizhan/ime/core/context/ChatContextProvider.kt","ime-core/src/main/java/com/haizhan/ime/core/context/ContextAnalyzer.kt","ime-core/src/main/java/com/haizhan/ime/core/context/ContextAwareRanker.kt","ime-core/src/main/java/com/haizhan/ime/core/context/WordCategoryClassifier.kt","ime-core/src/main/java/com/haizhan/ime/core/di/ImeCoreModule.kt","ime-core/src/main/java/com/haizhan/ime/core/di/PerformanceModule.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/ImeEngine.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/EnglishKeyHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/HandwritingKeyHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/KeyPressDispatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/KeyPressHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/PinyinKeyHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/SymbolKeyHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/VoiceKeyHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/HaizhanHandwritingApiClient.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/HandwritingKeyboard.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/HandwritingManager.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/HandwritingToolbar.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/HandwritingView.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/IHandwritingRecognizer.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/ModelDownloader.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/PaddleLiteRecognizer.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/RecognitionConfig.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/Stroke.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/StrokeCache.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/StrokePreprocessor.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/StrokeSegmenter.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/TFLiteRecognizer.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/UnifiedRecognitionEngine.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/di/HandwritingModule.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/CandidatesView.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/EnhancedCandidatesView.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/ImeContentLayout.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/ImeLayoutConstants.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/InputModeToolbar.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/KeyboardLayout.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/KeyboardView.kt","ime-core/src/main/java/com/haizhan/ime/core/ocr/IOcrEngine.kt","ime-core/src/main/java/com/haizhan/ime/core/ocr/OcrImageProcessor.kt","ime-core/src/main/java/com/haizhan/ime/core/ocr/OcrModels.kt","ime-core/src/main/java/com/haizhan/ime/core/ocr/PaddleOcrEngine.kt","ime-core/src/main/java/com/haizhan/ime/core/ocr/README.md","ime-core/src/main/java/com/haizhan/ime/core/ocr/di/OcrModule.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/BuiltinDictionary.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/Candidate.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/CloudPinyinService.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/CloudSyncService.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/DictModels.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/DictionaryFileParser.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/DictionaryHotReloader.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/DictionaryImporter.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/DictionaryReloader.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/EnterpriseDictionary.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/FuzzyPinyinConfig.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/HotWordService.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/ImportResult.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/InputPredictor.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/LocalDictionary.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/NgramData.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/NgramModel.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/NineGridMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/PinyinSegmenterImpl.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/PinyinService.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/PinyinServiceImpl.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/PinyinSplitter.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/SmartErrorCorrector.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/SystemDatDictionary.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/UserPreferenceStore.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/cloud/CloudPinyinApiImpl.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/cloud/CloudPinyinModule.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/cloud/ExponentialBackoff.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/converter/ChineseConverter.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/FullPinyinMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/InputMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/InputMatcherManager.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/NineGridMatcherAdapter.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/ShortcutMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/ShuangpinMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/di/MatcherModule.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/MicrosoftScheme.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/NaturalScheme.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/ShuangpinConverter.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/ShuangpinScheme.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/SogouScheme.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/XiaoheScheme.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/stroke/StrokeData.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/stroke/StrokeMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/theme/DesignTokens.kt","ime-core/src/main/java/com/haizhan/ime/core/theme/KeyboardTheme.kt","ime-core/src/main/java/com/haizhan/ime/core/theme/ThemeManager.kt","ime-core/src/main/java/com/haizhan/ime/core/voice/ui/VoicePanel.kt","ime-core/src/main/jniLibs/arm64-v8a/libpaddle_light_api_shared.so","ime-core/src/main/res/drawable/ic_backspace.xml","ime-core/src/main/res/drawable/ic_clear_all.xml","ime-core/src/main/res/drawable/ic_handwriting.xml","ime-core/src/main/res/drawable/ic_keyboard.xml","ime-core/src/test/java/com/haizhan/ime/core/ImeEngineTest.kt","ime-core/src/test/java/com/haizhan/ime/core/benchmark/ImeCorePerformanceTest.kt","ime-core/src/test/java/com/haizhan/ime/core/benchmark/MemoryBenchmarkTest.kt","ime-core/src/test/java/com/haizhan/ime/core/context/ContextAnalyzerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/context/ContextAwareRankerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/context/WordCategoryClassifierTest.kt","ime-core/src/test/java/com/haizhan/ime/core/decoder/UnifiedRankerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/ImeEngineTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/handler/EnglishKeyHandlerExpandedTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/handler/KeyPressDispatcherTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/handler/KeyPressHandlerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/handler/PinyinKeyHandlerExpandedTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/handler/SymbolKeyHandlerExpandedTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/HandwritingManagerAdvancedTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/HandwritingManagerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/PaddleLiteRecognizerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/StrokeCacheTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/StrokePreprocessorTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/TFLiteRecognizerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/keyboard/CandidatesViewTest.kt","ime-core/src/test/java/com/haizhan/ime/core/keyboard/KeyboardLayoutTest.kt","ime-core/src/test/java/com/haizhan/ime/core/keyboard/KeyboardViewTest.kt","ime-core/src/test/java/com/haizhan/ime/core/ocr/OcrImageProcessorTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/CloudPinyinServiceTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/CloudSyncServiceTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/DictionaryFileParserTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/DictionaryImporterTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/DictionaryReloaderTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/EnterpriseDictionaryTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/FuzzyPinyinConfigTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/HotWordServiceTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/InputPredictorTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/LocalDictionaryTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/NgramModelTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/NineGridMatcherTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/PinyinSegmenterTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/PinyinServiceImplTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/PinyinServiceTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/PinyinSplitterTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/SmartErrorCorrectorTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/SystemDatDictionaryTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/UserPreferenceStoreTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/cloud/CloudPinyinApiImplTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/cloud/ExponentialBackoffTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/matcher/FullPinyinMatcherTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/matcher/ShuangpinMatcherTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/shuangpin/ShuangpinSchemeTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/shuangpin/SogouSchemeTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/shuangpin/XiaoheSchemeTest.kt","ime-core/src/test/java/com/haizhan/ime/core/theme/ThemeManagerTest.kt","ios_keyboard/APPSTORE_LISTING.md","ios_keyboard/HaizhanKeyboard/Info.plist","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboard.xcodeproj/project.pbxproj","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboard.xcodeproj/project.xcworkspace/contents.xcworkspacedata","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp.entitlements","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/HaizhanKeyboardApp.entitlements","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/HaizhanKeyboardApp.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Info.plist","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Models/AppSession.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Services/KeyboardStatusService.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Services/ScreenshotResponder.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Views/AccountView.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Views/AppSettingsView.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Views/ContentView.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Views/LoginView.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Views/OnboardingView.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardExtension.entitlements","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardExtension/HaizhanKeyboardExtension.entitlements","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardExtension/Info.plist","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardExtension/KeyboardExtensionStub.swift","ios_keyboard/HaizhanKeyboardApp/Info.plist","ios_keyboard/HaizhanKeyboardApp/Models/AppSession.swift","ios_keyboard/HaizhanKeyboardApp/README.md","ios_keyboard/HaizhanKeyboardApp/Services/KeyboardStatusService.swift","ios_keyboard/HaizhanKeyboardApp/Services/ScreenshotResponder.swift","ios_keyboard/HaizhanKeyboardApp/Views/AccountView.swift","ios_keyboard/HaizhanKeyboardApp/Views/AppSettingsView.swift","ios_keyboard/HaizhanKeyboardApp/Views/ContentView.swift","ios_keyboard/HaizhanKeyboardApp/Views/LoginView.swift","ios_keyboard/HaizhanKeyboardApp/Views/OnboardingView.swift","ios_keyboard/HaizhanKeyboardApp/project.yml","ios_keyboard/HaizhanKeyboardExtension/Info.plist","ios_keyboard/HaizhanKeyboardExtension/KeyboardExtensionStub.swift","ios_keyboard/Package.swift","ios_keyboard/README.md","ios_keyboard/Sources/HaizhanKeyboard/AI/ContactMatcher.swift","ios_keyboard/Sources/HaizhanKeyboard/AI/ReplyService.swift","ios_keyboard/Sources/HaizhanKeyboard/AI/ScreenshotManager.swift","ios_keyboard/Sources/HaizhanKeyboard/Bridge/KMPBridge.swift","ios_keyboard/Sources/HaizhanKeyboard/Engine/KeyboardEngine.swift","ios_keyboard/Sources/HaizhanKeyboard/Engine/PinyinSegmenter.swift","ios_keyboard/Sources/HaizhanKeyboard/KeyboardViewController.swift","ios_keyboard/Sources/HaizhanKeyboard/Network/ApiClient.swift","ios_keyboard/Sources/HaizhanKeyboard/Network/AuthService.swift","ios_keyboard/Sources/HaizhanKeyboard/Storage/AppGroupStore.swift","ios_keyboard/Sources/HaizhanKeyboard/Storage/KeychainStore.swift","ios_keyboard/Sources/HaizhanKeyboard/Theme/ThemeManager.swift","ios_keyboard/Sources/HaizhanKeyboard/Utils/HapticManager.swift","ios_keyboard/Sources/HaizhanKeyboard/ViewModel/KeyboardViewModel.swift","ios_keyboard/Sources/HaizhanKeyboard/Views/AIPanelView.swift","ios_keyboard/Sources/HaizhanKeyboard/Views/KeyboardView.swift","ios_keyboard/Sources/HaizhanKeyboard/Views/NineGridKeyboard.swift","ios_keyboard/Sources/HaizhanKeyboard/Views/SettingsView.swift","ios_keyboard/Tests/HaizhanKeyboardTests/ApiClientTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/AppGroupStoreTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/ContactMatcherTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/HapticManagerTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/KeyboardEngineTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/KeychainStoreTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/PinyinSegmenterTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/ReplyServiceTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/ThemeManagerTests.swift","ios_keyboard/build_kmp_xcframework.sh","openapitools.json","package.json","pnpm-workspace.yaml","scripts/PACKAGE_MANAGER_SUMMARY.md","scripts/check-docs-sync.sh","scripts/download_paddle_ocr_models.sh","scripts/generate-design-tokens.py","scripts/package-manager-migration.md","scripts/pre-commit","server/.dockerignore","server/.env.example","server/.npmrc","server/Makefile","server/README.md","server/ai-service/.dockerignore","server/ai-service/Dockerfile","server/ai-service/jest.config.js","server/ai-service/nest-cli.json","server/ai-service/package.json","server/ai-service/poc-load-test-1770067946237.json","server/ai-service/poc-report-1770067953461.json","server/ai-service/poc-report-1770067953461.md","server/ai-service/poc-report-1771647201192.json","server/ai-service/poc-report-1771647201192.md","server/ai-service/scripts/poc/README.md","server/ai-service/scripts/poc/deploy-models.sh","server/ai-service/scripts/poc/generate-report.ts","server/ai-service/scripts/poc/load-test.ts","server/ai-service/scripts/poc/v1-int8-quality.ts","server/ai-service/scripts/poc/v2-router-accuracy.ts","server/ai-service/scripts/poc/v3-e2e-latency.ts","server/ai-service/scripts/seed-rag.ts","server/ai-service/src/app.module.ts","server/ai-service/src/common/decorators/current-tenant.decorator.ts","server/ai-service/src/common/decorators/public.decorator.ts","server/ai-service/src/common/guards/auth.guard.spec.ts","server/ai-service/src/common/guards/auth.guard.ts","server/ai-service/src/common/redis/index.ts","server/ai-service/src/common/redis/redis.module.ts","server/ai-service/src/common/redis/redis.service.ts","server/ai-service/src/main.ts","server/ai-service/src/modules/ai/ai.controller.ts","server/ai-service/src/modules/ai/ai.module.ts","server/ai-service/src/modules/ai/ai.service.spec.ts","server/ai-service/src/modules/ai/ai.service.ts","server/ai-service/src/modules/ai/dto/generate-reply.dto.ts","server/ai-service/src/modules/ai/legacy-reply.controller.ts","server/ai-service/src/modules/health/health.controller.ts","server/ai-service/src/modules/health/health.module.ts","server/ai-service/src/modules/memory/dto/memory.dto.ts","server/ai-service/src/modules/memory/event.service.spec.ts","server/ai-service/src/modules/memory/event.service.ts","server/ai-service/src/modules/memory/index.ts","server/ai-service/src/modules/memory/memory.controller.ts","server/ai-service/src/modules/memory/memory.module.ts","server/ai-service/src/modules/memory/memory.service.spec.ts","server/ai-service/src/modules/memory/memory.service.ts","server/ai-service/src/modules/memory/profile.service.spec.ts","server/ai-service/src/modules/memory/profile.service.ts","server/ai-service/src/modules/memory/schemas/contact-event.schema.ts","server/ai-service/src/modules/memory/schemas/contact-profile.schema.ts","server/ai-service/src/modules/memory/schemas/conversation-summary.schema.ts","server/ai-service/src/modules/memory/summary.service.spec.ts","server/ai-service/src/modules/memory/summary.service.ts","server/ai-service/src/modules/memory/vector.service.ts","server/ai-service/src/modules/privacy/index.ts","server/ai-service/src/modules/privacy/pii-scrubber.service.ts","server/ai-service/src/modules/privacy/privacy.module.ts","server/ai-service/src/modules/search/agentic/agentic-loop.controller.ts","server/ai-service/src/modules/search/agentic/answer-synthesizer.service.ts","server/ai-service/src/modules/search/agentic/answer-synthesizer.spec.ts","server/ai-service/src/modules/search/agentic/index.ts","server/ai-service/src/modules/search/agentic/query-decomposer.service.ts","server/ai-service/src/modules/search/agentic/query-decomposer.spec.ts","server/ai-service/src/modules/search/agentic/result-evaluator.service.ts","server/ai-service/src/modules/search/agentic/result-evaluator.spec.ts","server/ai-service/src/modules/search/cache/index.ts","server/ai-service/src/modules/search/cache/multi-level-cache.service.ts","server/ai-service/src/modules/search/cache/multi-level-cache.spec.ts","server/ai-service/src/modules/search/config/search.config.ts","server/ai-service/src/modules/search/dto/index.ts","server/ai-service/src/modules/search/dto/search-request.dto.ts","server/ai-service/src/modules/search/dto/search-response.dto.ts","server/ai-service/src/modules/search/experiment/ab-testing.service.ts","server/ai-service/src/modules/search/experiment/experiment.controller.ts","server/ai-service/src/modules/search/experiment/gradual-release.service.ts","server/ai-service/src/modules/search/experiment/index.ts","server/ai-service/src/modules/search/gateway/unified-search-gateway.service.ts","server/ai-service/src/modules/search/gateway/unified-search-gateway.spec.ts","server/ai-service/src/modules/search/index.ts","server/ai-service/src/modules/search/layers/agentic-layer.service.spec.ts","server/ai-service/src/modules/search/layers/agentic-layer.service.ts","server/ai-service/src/modules/search/layers/cache-layer.service.spec.ts","server/ai-service/src/modules/search/layers/cache-layer.service.ts","server/ai-service/src/modules/search/layers/rag-layer.service.spec.ts","server/ai-service/src/modules/search/layers/rag-layer.service.ts","server/ai-service/src/modules/search/monitoring/alert.service.ts","server/ai-service/src/modules/search/monitoring/grafana-dashboard.json","server/ai-service/src/modules/search/monitoring/index.ts","server/ai-service/src/modules/search/monitoring/metrics.service.ts","server/ai-service/src/modules/search/optimization/index.ts","server/ai-service/src/modules/search/optimization/parallel-retriever.service.ts","server/ai-service/src/modules/search/optimization/parallel-retriever.spec.ts","server/ai-service/src/modules/search/router/pure-rule-router.spec.ts","server/ai-service/src/modules/search/router/pure-rule-router.ts","server/ai-service/src/modules/search/router/router.types.ts","server/ai-service/src/modules/search/search.controller.ts","server/ai-service/src/modules/search/search.integration.spec.ts","server/ai-service/src/modules/search/search.module.ts","server/ai-service/src/modules/search/services/elasticsearch.service.ts","server/ai-service/src/modules/search/services/embedding.service.spec.ts","server/ai-service/src/modules/search/services/embedding.service.ts","server/ai-service/src/modules/search/services/index.ts","server/ai-service/src/modules/search/services/llm.service.spec.ts","server/ai-service/src/modules/search/services/llm.service.ts","server/ai-service/src/modules/search/services/milvus.service.ts","server/ai-service/src/modules/search/services/reranker.service.spec.ts","server/ai-service/src/modules/search/services/reranker.service.ts","server/ai-service/src/modules/search/streaming/index.ts","server/ai-service/src/modules/search/streaming/stream-optimizer.service.ts","server/ai-service/src/modules/search/vip/index.ts","server/ai-service/src/modules/search/vip/vip-tier.service.ts","server/ai-service/tsconfig.json","server/api-gateway/.dockerignore","server/api-gateway/Dockerfile","server/api-gateway/logs/.3fa4d5e91883ce1217f62a49f94203b42caa131d-audit.json","server/api-gateway/logs/.92dabeadf9708ae538f84c8892e853b5a8f57f04-audit.json","server/api-gateway/nest-cli.json","server/api-gateway/package.json","server/api-gateway/prisma/README.md","server/api-gateway/prisma/migrations/20260203065715_init/migration.sql","server/api-gateway/prisma/migrations/20260203160000_add_360_view_models/migration.sql","server/api-gateway/prisma/migrations/20260203170000_add_admin_modules/migration.sql","server/api-gateway/prisma/migrations/20260203180000_add_config_and_usage_stats/migration.sql","server/api-gateway/prisma/migrations/20260213000000_add_contact_geo_fields/migration.sql","server/api-gateway/prisma/migrations/20260213100000_expand_prompt_template/migration.sql","server/api-gateway/prisma/migrations/migration_lock.toml","server/api-gateway/prisma/schema.prisma","server/api-gateway/prisma/seed.ts","server/api-gateway/scripts/generate-openapi.ts","server/api-gateway/src/app.module.ts","server/api-gateway/src/common/logger/global-logger.module.ts","server/api-gateway/src/common/logger/global-logger.service.ts","server/api-gateway/src/main.ts","server/api-gateway/src/modules/ai-config/ai-config.controller.ts","server/api-gateway/src/modules/ai-config/ai-config.module.ts","server/api-gateway/src/modules/ai-config/ai-config.service.ts","server/api-gateway/src/modules/ai-config/dto/ai-config.dto.ts","server/api-gateway/src/modules/ai/ai.controller.ts","server/api-gateway/src/modules/ai/ai.module.ts","server/api-gateway/src/modules/ai/ai.service.ts","server/api-gateway/src/modules/audit-logs/audit-logs.controller.ts","server/api-gateway/src/modules/audit-logs/audit-logs.module.ts","server/api-gateway/src/modules/audit-logs/audit-logs.service.ts","server/api-gateway/src/modules/audit-logs/dto/audit-logs.dto.ts","server/api-gateway/src/modules/auth/auth.controller.spec.ts","server/api-gateway/src/modules/auth/auth.controller.ts","server/api-gateway/src/modules/auth/auth.module.ts","server/api-gateway/src/modules/auth/auth.service.spec.ts","server/api-gateway/src/modules/auth/auth.service.ts","server/api-gateway/src/modules/auth/decorators/roles.decorator.ts","server/api-gateway/src/modules/auth/dto/admin-login.dto.ts","server/api-gateway/src/modules/auth/dto/login.dto.ts","server/api-gateway/src/modules/auth/dto/refresh-token.dto.ts","server/api-gateway/src/modules/auth/guards/jwt-auth.guard.ts","server/api-gateway/src/modules/auth/guards/roles.guard.ts","server/api-gateway/src/modules/auth/strategies/jwt.strategy.ts","server/api-gateway/src/modules/contacts/contacts.controller.spec.ts","server/api-gateway/src/modules/contacts/contacts.controller.ts","server/api-gateway/src/modules/contacts/contacts.module.ts","server/api-gateway/src/modules/contacts/contacts.service.spec.ts","server/api-gateway/src/modules/contacts/contacts.service.ts","server/api-gateway/src/modules/contacts/dto/match-contact.dto.ts","server/api-gateway/src/modules/health/health.controller.spec.ts","server/api-gateway/src/modules/health/health.controller.ts","server/api-gateway/src/modules/health/health.module.ts","server/api-gateway/src/modules/knowledge/dto/knowledge-base.dto.ts","server/api-gateway/src/modules/knowledge/dto/search-knowledge.dto.ts","server/api-gateway/src/modules/knowledge/knowledge.controller.spec.ts","server/api-gateway/src/modules/knowledge/knowledge.controller.ts","server/api-gateway/src/modules/knowledge/knowledge.module.ts","server/api-gateway/src/modules/knowledge/knowledge.service.spec.ts","server/api-gateway/src/modules/knowledge/knowledge.service.ts","server/api-gateway/src/modules/mobile-compat/mobile-compat.controller.ts","server/api-gateway/src/modules/mobile-compat/mobile-compat.module.ts","server/api-gateway/src/modules/ocr/ocr.controller.ts","server/api-gateway/src/modules/ocr/ocr.module.ts","server/api-gateway/src/modules/ocr/ocr.service.ts","server/api-gateway/src/modules/pinyin/pinyin.controller.spec.ts","server/api-gateway/src/modules/pinyin/pinyin.controller.ts","server/api-gateway/src/modules/pinyin/pinyin.module.ts","server/api-gateway/src/modules/pinyin/pinyin.service.spec.ts","server/api-gateway/src/modules/pinyin/pinyin.service.ts","server/api-gateway/src/modules/rag/dto/rag.dto.ts","server/api-gateway/src/modules/rag/rag.controller.spec.ts","server/api-gateway/src/modules/rag/rag.controller.ts","server/api-gateway/src/modules/rag/rag.module.ts","server/api-gateway/src/modules/rag/rag.service.runtime.spec.ts","server/api-gateway/src/modules/rag/rag.service.spec.ts","server/api-gateway/src/modules/rag/rag.service.ts","server/api-gateway/src/modules/settings/dto/settings.dto.ts","server/api-gateway/src/modules/settings/settings.controller.spec.ts","server/api-gateway/src/modules/settings/settings.controller.ts","server/api-gateway/src/modules/settings/settings.module.ts","server/api-gateway/src/modules/settings/settings.service.spec.ts","server/api-gateway/src/modules/settings/settings.service.ts","server/api-gateway/src/modules/teams/dto/teams.dto.ts","server/api-gateway/src/modules/teams/teams.controller.spec.ts","server/api-gateway/src/modules/teams/teams.controller.ts","server/api-gateway/src/modules/teams/teams.module.ts","server/api-gateway/src/modules/teams/teams.service.spec.ts","server/api-gateway/src/modules/teams/teams.service.ts","server/api-gateway/src/modules/templates/dto/template.dto.ts","server/api-gateway/src/modules/templates/templates.controller.spec.ts","server/api-gateway/src/modules/templates/templates.controller.ts","server/api-gateway/src/modules/templates/templates.module.ts","server/api-gateway/src/modules/templates/templates.service.spec.ts","server/api-gateway/src/modules/templates/templates.service.ts","server/api-gateway/src/modules/usage/dto/usage.dto.ts","server/api-gateway/src/modules/usage/usage.controller.ts","server/api-gateway/src/modules/usage/usage.module.ts","server/api-gateway/src/modules/usage/usage.service.spec.ts","server/api-gateway/src/modules/usage/usage.service.ts","server/api-gateway/src/modules/users/users.controller.spec.ts","server/api-gateway/src/modules/users/users.controller.ts","server/api-gateway/src/modules/users/users.module.ts","server/api-gateway/src/modules/users/users.service.spec.ts","server/api-gateway/src/modules/users/users.service.ts","server/api-gateway/src/modules/weather/weather.controller.spec.ts","server/api-gateway/src/modules/weather/weather.controller.ts","server/api-gateway/src/modules/weather/weather.module.ts","server/api-gateway/src/modules/weather/weather.service.spec.ts","server/api-gateway/src/modules/weather/weather.service.ts","server/api-gateway/src/shared/prisma/prisma.module.ts","server/api-gateway/src/shared/prisma/prisma.service.ts","server/api-gateway/src/shared/redis/redis.module.ts","server/api-gateway/src/shared/redis/redis.service.ts","server/api-gateway/src/shared/sms/sms.module.ts","server/api-gateway/src/shared/sms/sms.service.spec.ts","server/api-gateway/src/shared/sms/sms.service.ts","server/api-gateway/tsconfig.json","server/docker-compose.override.yml","server/docker-compose.prod.yml","server/docker-compose.yml","server/docker/grafana/provisioning/dashboards/dashboards.yml","server/docker/grafana/provisioning/dashboards/json/api-gateway.json","server/docker/grafana/provisioning/datasources/datasources.yml","server/docker/loki/loki-config.yml","server/docker/mongodb/init.js","server/docker/nginx/conf.d/default.conf","server/docker/nginx/nginx.conf","server/docker/nginx/ssl/.gitkeep","server/docker/nginx/ssl/README.md","server/docker/postgres/init.sql","server/docker/prometheus/alert.rules.yml","server/docker/prometheus/prometheus.yml","server/docker/promtail/promtail-config.yml","server/k8s/vllm/deployment.yaml","server/k8s/vllm/hpa.yaml","server/k8s/vllm/service.yaml","server/model-services/reranker/Dockerfile","server/model-services/reranker/requirements.txt","server/model-services/reranker/reranker_server.py","server/ocr-service/.dockerignore","server/ocr-service/Dockerfile","server/ocr-service/jest.config.js","server/ocr-service/nest-cli.json","server/ocr-service/package.json","server/ocr-service/src/app.module.ts","server/ocr-service/src/main.ts","server/ocr-service/src/modules/health/health.controller.ts","server/ocr-service/src/modules/health/health.module.ts","server/ocr-service/src/modules/ocr/chat-parser.service.spec.ts","server/ocr-service/src/modules/ocr/chat-parser.service.ts","server/ocr-service/src/modules/ocr/dto/chat-screenshot.dto.ts","server/ocr-service/src/modules/ocr/ocr.controller.ts","server/ocr-service/src/modules/ocr/ocr.module.ts","server/ocr-service/src/modules/ocr/ocr.service.spec.ts","server/ocr-service/src/modules/ocr/ocr.service.ts","server/ocr-service/tsconfig.json","server/scripts/backup.sh","server/scripts/check-mobile-api-coverage.js","server/scripts/check-mobile-response-compat.js","server/scripts/deploy.sh","server/scripts/deploy/deploy-infrastructure.sh","server/scripts/deploy/deploy-models.sh","server/scripts/deploy/final-deploy.sh","server/scripts/deploy/stop-models.sh","server/scripts/e2e-smoke.js","server/scripts/health-check.sh","server/scripts/mobile-api-smoke.js","server/scripts/setup-ssl.sh","settings.gradle.kts","shared/README.md","shared/build.gradle.kts","shared/src/androidInstrumentedTest/kotlin/com/haizhan/ime/shared/auth/AndroidTokenStorageTest.kt","shared/src/androidInstrumentedTest/kotlin/com/haizhan/ime/shared/auth/SharedAuthManagerIntegrationTest.kt","shared/src/androidInstrumentedTest/kotlin/com/haizhan/ime/shared/database/DatabaseIntegrationTest.kt","shared/src/androidInstrumentedTest/kotlin/com/haizhan/ime/shared/pinyin/CandidateRankerIntegrationTest.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/BuildConfig.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/Platform.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/auth/AndroidTokenStorage.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/auth/CurrentTime.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/database/DatabaseDriverFactory.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/database/SharedDatabaseKeyManager.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/di/PlatformModule.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/migration/RoomToSqlDelightMigrator.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/platform/Connectivity.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/platform/DeviceInfo.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/platform/DictionaryLoader.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/platform/FileSystem.android.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/Platform.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/analytics/AnalyticsTracker.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/ApiClient.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/AuthApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/ContactApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/DashboardApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/FeedbackApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/KnowledgeApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/MemoryApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/NoteApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/OcrApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/PinyinApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/RagSearchApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/ReplyApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/ScriptApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/SearchApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/SessionApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/SettingsApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/SubscriptionApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/UserApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/WeatherApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/auth/AuthManager.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/auth/AuthModels.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/database/DatabaseDriverFactory.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/database/DatabaseExtensions.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/di/SharedModule.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/matcher/NicknameMatcher.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/ContactModel.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/KnowledgeModel.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/AiDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/ApiResponse.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/AuthDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/ContactDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/DashboardDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/FeedbackDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/KnowledgeDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/MemoryDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/MessageDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/NoteDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/OcrDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/PinyinDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/ProfileDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/RagSearchDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/ReplyDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/ScriptDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/SearchDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/SessionDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/SettingsDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/SubscriptionDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/WeatherDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/Candidate.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/CandidateRanker.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/DictEntry.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/NineGridMatcher.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/PinyinConstants.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/PinyinService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/PinyinSplitter.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/CloudSynergyEngine.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/DoubleArrayTrie.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/DoubleArrayTrieImpl.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/DynamicWeightRanker.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/PinyinDAG.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/ViterbiDecoder.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/platform/Connectivity.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/platform/DeviceInfo.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/platform/DictionaryLoader.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/platform/FileSystem.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/ContactRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/KnowledgeRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/MessageRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/NoteRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/PinyinRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/SearchRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/SettingsRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/UserDictRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/MessageChainMatcher.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/OcrMatchService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/OfflineFallbackService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/ReplyService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/ScriptService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/SessionService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/sync/SyncManager.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/util/FlowExt.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/util/LevenshteinDistance.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/util/LruCache.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/util/StringExt.kt","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Contact.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Knowledge.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Message.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Note.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Search.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Settings.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/UserDict.sq","shared/src/commonMain/sqldelight/migrations/1.sqm","shared/src/commonTest/kotlin/com/haizhan/ime/shared/analytics/AnalyticsTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/api/ApiClientTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/auth/AuthModelsTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/matcher/NicknameMatcherTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/model/ContactModelTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/model/KnowledgeModelTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/network/NetworkClientTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/CandidateRankerTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/CandidateTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/NineGridMatcherTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/PinyinConstantsTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/PinyinSplitterTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/algorithm/CloudSynergyEngineTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/algorithm/DoubleArrayTrieImplTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/algorithm/DynamicWeightRankerTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/algorithm/PinyinDAGTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/algorithm/ViterbiDecoderTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/repository/ContactRepositoryTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/sync/SyncTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/util/LevenshteinDistanceTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/util/PinyinConverterTest.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/Platform.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/auth/CurrentTime.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/auth/IosTokenStorage.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/database/DatabaseDriverFactory.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/di/PlatformModule.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/platform/Connectivity.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/platform/DeviceInfo.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/platform/DictionaryLoader.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/platform/FileSystem.ios.kt","voice/build.gradle.kts","voice/consumer-rules.pro","voice/proguard-rules.pro","voice/src/androidTest/java/com/haizhan/ime/voice/integration/VoiceModuleIntegrationTest.kt","voice/src/androidTest/java/com/haizhan/ime/voice/integration/WakeWordServiceIntegrationTest.kt","voice/src/main/AndroidManifest.xml","voice/src/main/java/com/haizhan/ime/voice/api/AudioPipeline.kt","voice/src/main/java/com/haizhan/ime/voice/api/SpeechRecognitionService.kt","voice/src/main/java/com/haizhan/ime/voice/api/VoiceCoordinator.kt","voice/src/main/java/com/haizhan/ime/voice/api/VoiceErrors.kt","voice/src/main/java/com/haizhan/ime/voice/api/VoiceTypes.kt","voice/src/main/java/com/haizhan/ime/voice/api/WakeWordConfigManager.kt","voice/src/main/java/com/haizhan/ime/voice/api/WakeWordDetectionService.kt","voice/src/main/java/com/haizhan/ime/voice/audio/AudioPipelineImpl.kt","voice/src/main/java/com/haizhan/ime/voice/audio/di/AudioModule.kt","voice/src/main/java/com/haizhan/ime/voice/coordinator/VoiceCoordinatorImpl.kt","voice/src/main/java/com/haizhan/ime/voice/coordinator/di/CoordinatorModule.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/DenoiseAudioConsumer.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/DenoiseManager.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/MusicAwareAEC.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/NoiseEstimator.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/SpectralSubtractor.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/VoiceActivityDetector.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/di/DenoiseModule.kt","voice/src/main/java/com/haizhan/ime/voice/di/VoiceModule.kt","voice/src/main/java/com/haizhan/ime/voice/engine/VoiceInputEngine.kt","voice/src/main/java/com/haizhan/ime/voice/model/MultiModelManager.kt","voice/src/main/java/com/haizhan/ime/voice/model/VoiceModelManager.kt","voice/src/main/java/com/haizhan/ime/voice/monitoring/VoicePerformanceMonitor.kt","voice/src/main/java/com/haizhan/ime/voice/monitoring/di/MonitoringModule.kt","voice/src/main/java/com/haizhan/ime/voice/recognition/AudioDiagnostics.kt","voice/src/main/java/com/haizhan/ime/voice/recognition/SpeechRecognitionServiceImpl.kt","voice/src/main/java/com/haizhan/ime/voice/recognition/VoskGrammarBuilder.kt","voice/src/main/java/com/haizhan/ime/voice/recognition/VoskRecognizer.kt","voice/src/main/java/com/haizhan/ime/voice/recognition/di/SpeechModule.kt","voice/src/main/java/com/haizhan/ime/voice/ui/VoiceUiTypes.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/WakeWordDetectionServiceImpl.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/analytics/WakeWordAnalytics.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/config/WakeWordConfigManagerImpl.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/config/di/ConfigModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/confirmation/WakeWordConfirmation.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/detector/IWakeWordDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/detector/VoskWakeWordDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/di/ConfirmationModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/di/MatcherModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/di/ParserModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/di/RepositoryModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/di/WakeWordModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/filter/FalseWakeFilter.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/matcher/PinyinData.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/matcher/PinyinMatcher.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/matcher/TrieWordMatcher.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/parser/WakeWordCommandParser.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/EnergyPatternMatcher.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/PitchExtractor.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/QuickWakeDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/SingingModeDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/SpectralAnalyzer.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/SyllableDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/VibratoDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/VoiceCharacteristicAnalyzer.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/VoiceProfileAnalyzer.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/di/PredetectModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/repository/WakeWordRepository.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/sensitivity/AdaptiveSensitivity.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/service/WakeWordService.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/util/PinyinUtils.kt","voice/src/test/java/com/haizhan/ime/voice/api/HotwordConfigTest.kt","voice/src/test/java/com/haizhan/ime/voice/audio/AudioPipelineImplTest.kt","voice/src/test/java/com/haizhan/ime/voice/coordinator/VoiceCoordinatorImplTest.kt","voice/src/test/java/com/haizhan/ime/voice/denoise/DenoiseManagerTest.kt","voice/src/test/java/com/haizhan/ime/voice/denoise/MusicAwareAECTest.kt","voice/src/test/java/com/haizhan/ime/voice/denoise/SpectralSubtractorTest.kt","voice/src/test/java/com/haizhan/ime/voice/denoise/VoiceActivityDetectorTest.kt.bak","voice/src/test/java/com/haizhan/ime/voice/model/MultiModelManagerTest.kt","voice/src/test/java/com/haizhan/ime/voice/monitoring/VoicePerformanceMonitorTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/config/WakeWordConfigManagerTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/confirmation/WakeWordConfirmationTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/filter/FalseWakeFilterTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/matcher/PinyinDataTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/matcher/PinyinMatcherTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/matcher/TrieWordMatcherTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/parser/WakeWordCommandParserTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/QuickWakeDetectorTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/SingingModeDetectorTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/SyllableDetectorTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/VibratoDetectorTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/VoiceCharacteristicAnalyzerTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/VoiceProfileAnalyzerTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/repository/WakeWordRepositorySerializationTest.kt"],"removed":[],"modified":[]}],"total_commits":0,"head_commit":{"id":"893022bfd17ce1f2e75e75651551cf8ceaacfe45","message":"feat: 嗨赞AI输入法Android版初始提交\n","url":"https://gitea.g-hi.com/luoanwu/haizhan-ime-android/commit/893022bfd17ce1f2e75e75651551cf8ceaacfe45","author":{"name":"luoanwu","email":"law@g-hi.com","username":"luoanwu"},"committer":{"name":"luoanwu","email":"law@g-hi.com","username":"luoanwu"},"verification":null,"timestamp":"2026-02-27T15:28:58+08:00","added":[".claude/skills/haizhan-ime-development.md",".claude/worktrees/charming-zhukovsky",".editorconfig",".github/workflows/ci.yml",".github/workflows/frontend-backend-ci.yml",".github/workflows/ios-ci.yml",".github/workflows/performance-check.yml",".github/workflows/pr-check.yml",".github/workflows/release.yml",".gitignore",".npmrc","CHANGELOG.md","CLAUDE.md","MIGRATION_COMPLETE_REPORT.md","README.md","admin-web/.env.development","admin-web/.eslintrc.cjs","admin-web/.gitignore","admin-web/.npmrc","admin-web/README.md","admin-web/e2e/all-pages.spec.ts","admin-web/e2e/crud-tests.spec.ts","admin-web/e2e/dashboard.spec.ts","admin-web/e2e/interactive-click.spec.ts","admin-web/e2e/login.spec.ts","admin-web/e2e/templates.spec.ts","admin-web/index.html","admin-web/package.json","admin-web/playwright.config.ts","admin-web/postcss.config.js","admin-web/public/favicon.svg","admin-web/src/App.vue","admin-web/src/api/ai-config.ts","admin-web/src/api/audit.ts","admin-web/src/api/auth.ts","admin-web/src/api/contact.ts","admin-web/src/api/knowledge.ts","admin-web/src/api/rag.ts","admin-web/src/api/settings.ts","admin-web/src/api/team.ts","admin-web/src/api/template.ts","admin-web/src/api/usage.ts","admin-web/src/api/user.ts","admin-web/src/assets/logo.svg","admin-web/src/components/UserCard.vue","admin-web/src/components/index.ts","admin-web/src/composables/usePermission.ts","admin-web/src/composables/useResponsive.ts","admin-web/src/composables/useTable.ts","admin-web/src/directives/index.ts","admin-web/src/directives/permission.ts","admin-web/src/env.d.ts","admin-web/src/layouts/MainLayout.vue","admin-web/src/layouts/components/HeaderBar.vue","admin-web/src/layouts/components/MobileDrawer.vue","admin-web/src/layouts/components/SidebarMenu.vue","admin-web/src/main.ts","admin-web/src/router/index.ts","admin-web/src/stores/app.ts","admin-web/src/stores/user.ts","admin-web/src/styles/index.scss","admin-web/src/styles/variables.scss","admin-web/src/types/ai-config.ts","admin-web/src/types/api.ts","admin-web/src/types/audit.ts","admin-web/src/types/contact.ts","admin-web/src/types/knowledge.ts","admin-web/src/types/permission.ts","admin-web/src/types/rag.ts","admin-web/src/types/settings.ts","admin-web/src/types/team.ts","admin-web/src/types/template.ts","admin-web/src/types/usage.ts","admin-web/src/types/user.ts","admin-web/src/utils/request.ts","admin-web/src/views/ai-config/index.vue","admin-web/src/views/audit/index.vue","admin-web/src/views/contacts/index.vue","admin-web/src/views/contacts/profile.vue","admin-web/src/views/dashboard/index.vue","admin-web/src/views/error/403.vue","admin-web/src/views/error/404.vue","admin-web/src/views/knowledge/index.vue","admin-web/src/views/login/index.vue","admin-web/src/views/profile/index.vue","admin-web/src/views/rag/index.vue","admin-web/src/views/settings/index.vue","admin-web/src/views/teams/index.vue","admin-web/src/views/templates/index.vue","admin-web/src/views/usage/index.vue","admin-web/src/views/users/index.vue","admin-web/tailwind.config.js","admin-web/test-results/.last-run.json","admin-web/tsconfig.app.json","admin-web/tsconfig.json","admin-web/tsconfig.node.json","admin-web/vite.config.d.ts","admin-web/vite.config.js","admin-web/vite.config.ts","ai-panel/build.gradle.kts","ai-panel/consumer-rules.pro","ai-panel/proguard-rules.pro","ai-panel/src/main/AndroidManifest.xml","ai-panel/src/main/java/com/haizhan/ime/panel/AiPanelManager.kt","ai-panel/src/main/java/com/haizhan/ime/panel/AiPanelModels.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/AgenticDecisionEngine.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/AgenticRouter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/AgenticTypes.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/CostController.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/HybridSearchExecutor.kt","ai-panel/src/main/java/com/haizhan/ime/panel/agentic/di/AgenticModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/AvatarMatcher.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/ContactCache.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/ContactContextPreloader.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/ContactIndexes.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/ContactMatcher.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/ContactMatcherData.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/EnhancedContactMatcher.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/MatchedContact.kt","ai-panel/src/main/java/com/haizhan/ime/panel/contact/NicknameMatcher.kt","ai-panel/src/main/java/com/haizhan/ime/panel/context/InputContextCollector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/context/UnifiedContextManager.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/AiPanelModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/ContactModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/ContextModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/OcrModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/ReplyModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/di/ScreenshotModule.kt","ai-panel/src/main/java/com/haizhan/ime/panel/knowledge/KnowledgeService.kt","ai-panel/src/main/java/com/haizhan/ime/panel/memory/ContactMemoryModels.kt","ai-panel/src/main/java/com/haizhan/ime/panel/memory/ContactMemoryService.kt","ai-panel/src/main/java/com/haizhan/ime/panel/memory/MemoryDtoMapper.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/EnhancedSenderDetector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/MessageParser.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/OcrReliabilityScore.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/OcrService.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/TitleBarParser.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/ChatMessageAdapter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/DingTalkMessageAdapter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/FeishuMessageAdapter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/MessageAdapterFactory.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/WeChatMessageAdapter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ocr/adapter/WeWorkMessageAdapter.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/BatteryAwareManager.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/ClipboardHelper.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/FrequencyController.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/RagReplyGenerator.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/ReplyGenerator.kt","ai-panel/src/main/java/com/haizhan/ime/panel/reply/ReplyStyle.kt","ai-panel/src/main/java/com/haizhan/ime/panel/screenshot/RegionDetector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/screenshot/ScreenshotManager.kt","ai-panel/src/main/java/com/haizhan/ime/panel/service/ScreenshotForegroundService.kt","ai-panel/src/main/java/com/haizhan/ime/panel/trigger/AppDetector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/trigger/TriggerDetector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/AIPanelScreen.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/AiPanelTheme.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/Contact360View.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/ContactCard.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/ContactSelector.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/EmotionBadge.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/FunctionTabBar.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/IntentBadge.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/KnowledgeCard.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/KnowledgePanel.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/QuickReplyPanel.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/ReplyCard.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/ContactComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/HistoryComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/KnowledgeComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/NoteComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/OcrComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/PanelCommon.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/ReplyComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/components/TeamComponents.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/AiReplyTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/ContactsTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/HistoryTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/KnowledgeTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/NoteTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/OcrTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/ui/tabs/TeamTab.kt","ai-panel/src/main/java/com/haizhan/ime/panel/weather/WeatherService.kt","ai-panel/src/main/res/drawable/ic_ai_reply.xml","ai-panel/src/main/res/drawable/ic_capture.xml","ai-panel/src/main/res/drawable/ic_contacts.xml","ai-panel/src/main/res/drawable/ic_knowledge.xml","ai-panel/src/main/res/drawable/ic_ocr.xml","ai-panel/src/main/res/drawable/ic_refresh.xml","ai-panel/src/main/res/drawable/ic_screenshot.xml","ai-panel/src/main/res/drawable/ic_stop.xml","ai-panel/src/test/java/com/haizhan/ime/panel/AiPanelManagerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/agentic/AgenticDecisionEngineTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/agentic/AgenticRouterTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/agentic/AgenticTypesTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/agentic/CostControllerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/agentic/ResultQualityEvaluatorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactCacheTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactContextPreloaderTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactIndexPerformanceTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactIndexesTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactMatcherTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/ContactMemoryServiceTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/MatchedContactTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/contact/NicknameMatcherTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/context/InputContextCollectorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/context/UnifiedContextManagerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/knowledge/KnowledgeServiceTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ocr/EnhancedSenderDetectorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ocr/MessageParserTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ocr/OcrReliabilityScoreTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ocr/OcrServiceTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ocr/TitleBarParserTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/platform/DingTalkAdapterTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/platform/FeishuAdapterTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/platform/WeChatAdapterTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/platform/WeWorkAdapterTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/BatteryAwareManagerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/ClipboardHelperTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/FrequencyControllerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/RagReplyGeneratorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/ReplyGeneratorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/reply/ReplyStyleTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/screenshot/RegionDetectorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/screenshot/ScreenshotManagerTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/trigger/AppDetectorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/trigger/TriggerDetectorTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ui/AIPanelScreenTest.kt","ai-panel/src/test/java/com/haizhan/ime/panel/ui/ReplyCardTest.kt","api-clients/android/.openapi-generator-ignore","api-clients/android/.openapi-generator/FILES","api-clients/android/.openapi-generator/VERSION","api-clients/android/README.md","api-clients/android/build.gradle","api-clients/android/docs/AdminLoginDto.md","api-clients/android/docs/AiConfigApi.md","api-clients/android/docs/AuditLogsApi.md","api-clients/android/docs/AuthApi.md","api-clients/android/docs/BatchRemoveContactsDto.md","api-clients/android/docs/ChunkingConfigDto.md","api-clients/android/docs/Contact360ResponseDto.md","api-clients/android/docs/Contact360ViewDto.md","api-clients/android/docs/ContactDetailResponseDto.md","api-clients/android/docs/ContactDto.md","api-clients/android/docs/ContactEventDto.md","api-clients/android/docs/ContactListResponseDto.md","api-clients/android/docs/ContactProfileDto.md","api-clients/android/docs/ContactStatsDto.md","api-clients/android/docs/ContactTagDto.md","api-clients/android/docs/ContactsApi.md","api-clients/android/docs/ConversationSummaryDto.md","api-clients/android/docs/CreateContactDto.md","api-clients/android/docs/CreateContactEventDto.md","api-clients/android/docs/CreateKnowledgeBaseDto.md","api-clients/android/docs/CreateKnowledgeDocumentDto.md","api-clients/android/docs/CreateQwenModelDto.md","api-clients/android/docs/DefaultApi.md","api-clients/android/docs/EmbeddingConfigDto.md","api-clients/android/docs/EmbeddingModelDto.md","api-clients/android/docs/GenerationConfigDto.md","api-clients/android/docs/HealthApi.md","api-clients/android/docs/KnowledgeApi.md","api-clients/android/docs/KnowledgeBaseResponseDto.md","api-clients/android/docs/KnowledgeDocumentListResponseDto.md","api-clients/android/docs/KnowledgeDocumentResponseDto.md","api-clients/android/docs/LoginDto.md","api-clients/android/docs/MatchContactDto.md","api-clients/android/docs/MatchContactResponseDto.md","api-clients/android/docs/MobileCompatApi.md","api-clients/android/docs/PinyinApi.md","api-clients/android/docs/PipelineHealthDto.md","api-clients/android/docs/PipelineMetricsDto.md","api-clients/android/docs/PreviewChunkingDto.md","api-clients/android/docs/QwenModelConfigDto.md","api-clients/android/docs/QwenModelFeaturesDto.md","api-clients/android/docs/RagApi.md","api-clients/android/docs/RagConfigDto.md","api-clients/android/docs/RagMetricsDto.md","api-clients/android/docs/RagPipelineStatusDto.md","api-clients/android/docs/RagQueryDto.md","api-clients/android/docs/RebuildIndexDto.md","api-clients/android/docs/RefreshTokenDto.md","api-clients/android/docs/RetrievalConfigDto.md","api-clients/android/docs/SettingsApi.md","api-clients/android/docs/SyncContactsDto.md","api-clients/android/docs/SyncContactsResponseDto.md","api-clients/android/docs/TeamsApi.md","api-clients/android/docs/ToggleQwenModelDto.md","api-clients/android/docs/UpdateContactDto.md","api-clients/android/docs/UpdateKnowledgeBaseDto.md","api-clients/android/docs/UpdateKnowledgeDocumentDto.md","api-clients/android/docs/UpdateQwenModelDto.md","api-clients/android/docs/UpdateRagConfigDto.md","api-clients/android/docs/UsageApi.md","api-clients/android/docs/WeatherApi.md","api-clients/android/gradle/wrapper/gradle-wrapper.jar","api-clients/android/gradle/wrapper/gradle-wrapper.properties","api-clients/android/gradlew","api-clients/android/gradlew.bat","api-clients/android/settings.gradle","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/AiConfigApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/AuditLogsApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/AuthApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/ContactsApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/DefaultApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/HealthApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/KnowledgeApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/MobileCompatApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/PinyinApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/RagApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/SettingsApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/TeamsApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/UsageApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/apis/WeatherApi.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/auth/HttpBearerAuth.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/ApiClient.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/BigDecimalAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/BigIntegerAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/ByteArrayAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/CollectionFormats.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/LocalDateAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/LocalDateTimeAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/OffsetDateTimeAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/ResponseExt.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/Serializer.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/URIAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/infrastructure/UUIDAdapter.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/AdminLoginDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/BatchRemoveContactsDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ChunkingConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/Contact360ResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/Contact360ViewDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactDetailResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactEventDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactListResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactProfileDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactStatsDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ContactTagDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ConversationSummaryDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/CreateContactDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/CreateContactEventDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/CreateKnowledgeBaseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/CreateKnowledgeDocumentDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/CreateQwenModelDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/EmbeddingConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/EmbeddingModelDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/GenerationConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/KnowledgeBaseResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/KnowledgeDocumentListResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/KnowledgeDocumentResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/LoginDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/MatchContactDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/MatchContactResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/PipelineHealthDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/PipelineMetricsDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/PreviewChunkingDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/QwenModelConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/QwenModelFeaturesDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RagConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RagMetricsDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RagPipelineStatusDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RagQueryDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RebuildIndexDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RefreshTokenDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/RetrievalConfigDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/SyncContactsDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/SyncContactsResponseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/ToggleQwenModelDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/UpdateContactDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/UpdateKnowledgeBaseDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/UpdateKnowledgeDocumentDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/UpdateQwenModelDto.kt","api-clients/android/src/main/kotlin/com/haizhan/ime/api/models/UpdateRagConfigDto.kt","api-clients/flutter/.gitignore","api-clients/flutter/.openapi-generator-ignore","api-clients/flutter/.openapi-generator/FILES","api-clients/flutter/.openapi-generator/VERSION","api-clients/flutter/README.md","api-clients/flutter/analysis_options.yaml","api-clients/flutter/doc/AdminLoginDto.md","api-clients/flutter/doc/AiConfigApi.md","api-clients/flutter/doc/AuditLogsApi.md","api-clients/flutter/doc/AuthApi.md","api-clients/flutter/doc/BatchRemoveContactsDto.md","api-clients/flutter/doc/ChunkingConfigDto.md","api-clients/flutter/doc/Contact360ResponseDto.md","api-clients/flutter/doc/Contact360ViewDto.md","api-clients/flutter/doc/ContactDetailResponseDto.md","api-clients/flutter/doc/ContactDto.md","api-clients/flutter/doc/ContactEventDto.md","api-clients/flutter/doc/ContactListResponseDto.md","api-clients/flutter/doc/ContactProfileDto.md","api-clients/flutter/doc/ContactStatsDto.md","api-clients/flutter/doc/ContactTagDto.md","api-clients/flutter/doc/ContactsApi.md","api-clients/flutter/doc/ConversationSummaryDto.md","api-clients/flutter/doc/CreateContactDto.md","api-clients/flutter/doc/CreateContactEventDto.md","api-clients/flutter/doc/CreateKnowledgeBaseDto.md","api-clients/flutter/doc/CreateKnowledgeDocumentDto.md","api-clients/flutter/doc/CreateQwenModelDto.md","api-clients/flutter/doc/DefaultApi.md","api-clients/flutter/doc/EmbeddingConfigDto.md","api-clients/flutter/doc/EmbeddingModelDto.md","api-clients/flutter/doc/GenerationConfigDto.md","api-clients/flutter/doc/HealthApi.md","api-clients/flutter/doc/KnowledgeApi.md","api-clients/flutter/doc/KnowledgeBaseResponseDto.md","api-clients/flutter/doc/KnowledgeDocumentListResponseDto.md","api-clients/flutter/doc/KnowledgeDocumentResponseDto.md","api-clients/flutter/doc/LoginDto.md","api-clients/flutter/doc/MatchContactDto.md","api-clients/flutter/doc/MatchContactResponseDto.md","api-clients/flutter/doc/MobileCompatApi.md","api-clients/flutter/doc/PinyinApi.md","api-clients/flutter/doc/PipelineHealthDto.md","api-clients/flutter/doc/PipelineMetricsDto.md","api-clients/flutter/doc/PreviewChunkingDto.md","api-clients/flutter/doc/QwenModelConfigDto.md","api-clients/flutter/doc/QwenModelFeaturesDto.md","api-clients/flutter/doc/RagApi.md","api-clients/flutter/doc/RagConfigDto.md","api-clients/flutter/doc/RagMetricsDto.md","api-clients/flutter/doc/RagPipelineStatusDto.md","api-clients/flutter/doc/RagQueryDto.md","api-clients/flutter/doc/RebuildIndexDto.md","api-clients/flutter/doc/RefreshTokenDto.md","api-clients/flutter/doc/RetrievalConfigDto.md","api-clients/flutter/doc/SettingsApi.md","api-clients/flutter/doc/SyncContactsDto.md","api-clients/flutter/doc/SyncContactsResponseDto.md","api-clients/flutter/doc/TeamsApi.md","api-clients/flutter/doc/ToggleQwenModelDto.md","api-clients/flutter/doc/UpdateContactDto.md","api-clients/flutter/doc/UpdateKnowledgeBaseDto.md","api-clients/flutter/doc/UpdateKnowledgeDocumentDto.md","api-clients/flutter/doc/UpdateQwenModelDto.md","api-clients/flutter/doc/UpdateRagConfigDto.md","api-clients/flutter/doc/UsageApi.md","api-clients/flutter/doc/WeatherApi.md","api-clients/flutter/lib/haizhan_api.dart","api-clients/flutter/lib/src/api.dart","api-clients/flutter/lib/src/api/ai_config_api.dart","api-clients/flutter/lib/src/api/audit_logs_api.dart","api-clients/flutter/lib/src/api/auth_api.dart","api-clients/flutter/lib/src/api/contacts_api.dart","api-clients/flutter/lib/src/api/default_api.dart","api-clients/flutter/lib/src/api/health_api.dart","api-clients/flutter/lib/src/api/knowledge_api.dart","api-clients/flutter/lib/src/api/mobile_compat_api.dart","api-clients/flutter/lib/src/api/pinyin_api.dart","api-clients/flutter/lib/src/api/rag_api.dart","api-clients/flutter/lib/src/api/settings_api.dart","api-clients/flutter/lib/src/api/teams_api.dart","api-clients/flutter/lib/src/api/usage_api.dart","api-clients/flutter/lib/src/api/weather_api.dart","api-clients/flutter/lib/src/api_util.dart","api-clients/flutter/lib/src/auth/api_key_auth.dart","api-clients/flutter/lib/src/auth/auth.dart","api-clients/flutter/lib/src/auth/basic_auth.dart","api-clients/flutter/lib/src/auth/bearer_auth.dart","api-clients/flutter/lib/src/auth/oauth.dart","api-clients/flutter/lib/src/date_serializer.dart","api-clients/flutter/lib/src/model/admin_login_dto.dart","api-clients/flutter/lib/src/model/batch_remove_contacts_dto.dart","api-clients/flutter/lib/src/model/chunking_config_dto.dart","api-clients/flutter/lib/src/model/contact360_response_dto.dart","api-clients/flutter/lib/src/model/contact360_view_dto.dart","api-clients/flutter/lib/src/model/contact_detail_response_dto.dart","api-clients/flutter/lib/src/model/contact_dto.dart","api-clients/flutter/lib/src/model/contact_event_dto.dart","api-clients/flutter/lib/src/model/contact_list_response_dto.dart","api-clients/flutter/lib/src/model/contact_profile_dto.dart","api-clients/flutter/lib/src/model/contact_stats_dto.dart","api-clients/flutter/lib/src/model/contact_tag_dto.dart","api-clients/flutter/lib/src/model/conversation_summary_dto.dart","api-clients/flutter/lib/src/model/create_contact_dto.dart","api-clients/flutter/lib/src/model/create_contact_event_dto.dart","api-clients/flutter/lib/src/model/create_knowledge_base_dto.dart","api-clients/flutter/lib/src/model/create_knowledge_document_dto.dart","api-clients/flutter/lib/src/model/create_qwen_model_dto.dart","api-clients/flutter/lib/src/model/date.dart","api-clients/flutter/lib/src/model/embedding_config_dto.dart","api-clients/flutter/lib/src/model/embedding_model_dto.dart","api-clients/flutter/lib/src/model/generation_config_dto.dart","api-clients/flutter/lib/src/model/knowledge_base_response_dto.dart","api-clients/flutter/lib/src/model/knowledge_document_list_response_dto.dart","api-clients/flutter/lib/src/model/knowledge_document_response_dto.dart","api-clients/flutter/lib/src/model/login_dto.dart","api-clients/flutter/lib/src/model/match_contact_dto.dart","api-clients/flutter/lib/src/model/match_contact_response_dto.dart","api-clients/flutter/lib/src/model/pipeline_health_dto.dart","api-clients/flutter/lib/src/model/pipeline_metrics_dto.dart","api-clients/flutter/lib/src/model/preview_chunking_dto.dart","api-clients/flutter/lib/src/model/qwen_model_config_dto.dart","api-clients/flutter/lib/src/model/qwen_model_features_dto.dart","api-clients/flutter/lib/src/model/rag_config_dto.dart","api-clients/flutter/lib/src/model/rag_metrics_dto.dart","api-clients/flutter/lib/src/model/rag_pipeline_status_dto.dart","api-clients/flutter/lib/src/model/rag_query_dto.dart","api-clients/flutter/lib/src/model/rebuild_index_dto.dart","api-clients/flutter/lib/src/model/refresh_token_dto.dart","api-clients/flutter/lib/src/model/retrieval_config_dto.dart","api-clients/flutter/lib/src/model/sync_contacts_dto.dart","api-clients/flutter/lib/src/model/sync_contacts_response_dto.dart","api-clients/flutter/lib/src/model/toggle_qwen_model_dto.dart","api-clients/flutter/lib/src/model/update_contact_dto.dart","api-clients/flutter/lib/src/model/update_knowledge_base_dto.dart","api-clients/flutter/lib/src/model/update_knowledge_document_dto.dart","api-clients/flutter/lib/src/model/update_qwen_model_dto.dart","api-clients/flutter/lib/src/model/update_rag_config_dto.dart","api-clients/flutter/lib/src/serializers.dart","api-clients/flutter/pubspec.yaml","api-clients/flutter/test/admin_login_dto_test.dart","api-clients/flutter/test/ai_config_api_test.dart","api-clients/flutter/test/audit_logs_api_test.dart","api-clients/flutter/test/auth_api_test.dart","api-clients/flutter/test/batch_remove_contacts_dto_test.dart","api-clients/flutter/test/chunking_config_dto_test.dart","api-clients/flutter/test/contact360_response_dto_test.dart","api-clients/flutter/test/contact360_view_dto_test.dart","api-clients/flutter/test/contact_detail_response_dto_test.dart","api-clients/flutter/test/contact_dto_test.dart","api-clients/flutter/test/contact_event_dto_test.dart","api-clients/flutter/test/contact_list_response_dto_test.dart","api-clients/flutter/test/contact_profile_dto_test.dart","api-clients/flutter/test/contact_stats_dto_test.dart","api-clients/flutter/test/contact_tag_dto_test.dart","api-clients/flutter/test/contacts_api_test.dart","api-clients/flutter/test/conversation_summary_dto_test.dart","api-clients/flutter/test/create_contact_dto_test.dart","api-clients/flutter/test/create_contact_event_dto_test.dart","api-clients/flutter/test/create_knowledge_base_dto_test.dart","api-clients/flutter/test/create_knowledge_document_dto_test.dart","api-clients/flutter/test/create_qwen_model_dto_test.dart","api-clients/flutter/test/default_api_test.dart","api-clients/flutter/test/embedding_config_dto_test.dart","api-clients/flutter/test/embedding_model_dto_test.dart","api-clients/flutter/test/generation_config_dto_test.dart","api-clients/flutter/test/health_api_test.dart","api-clients/flutter/test/knowledge_api_test.dart","api-clients/flutter/test/knowledge_base_response_dto_test.dart","api-clients/flutter/test/knowledge_document_list_response_dto_test.dart","api-clients/flutter/test/knowledge_document_response_dto_test.dart","api-clients/flutter/test/login_dto_test.dart","api-clients/flutter/test/match_contact_dto_test.dart","api-clients/flutter/test/match_contact_response_dto_test.dart","api-clients/flutter/test/mobile_compat_api_test.dart","api-clients/flutter/test/pinyin_api_test.dart","api-clients/flutter/test/pipeline_health_dto_test.dart","api-clients/flutter/test/pipeline_metrics_dto_test.dart","api-clients/flutter/test/preview_chunking_dto_test.dart","api-clients/flutter/test/qwen_model_config_dto_test.dart","api-clients/flutter/test/qwen_model_features_dto_test.dart","api-clients/flutter/test/rag_api_test.dart","api-clients/flutter/test/rag_config_dto_test.dart","api-clients/flutter/test/rag_metrics_dto_test.dart","api-clients/flutter/test/rag_pipeline_status_dto_test.dart","api-clients/flutter/test/rag_query_dto_test.dart","api-clients/flutter/test/rebuild_index_dto_test.dart","api-clients/flutter/test/refresh_token_dto_test.dart","api-clients/flutter/test/retrieval_config_dto_test.dart","api-clients/flutter/test/settings_api_test.dart","api-clients/flutter/test/sync_contacts_dto_test.dart","api-clients/flutter/test/sync_contacts_response_dto_test.dart","api-clients/flutter/test/teams_api_test.dart","api-clients/flutter/test/toggle_qwen_model_dto_test.dart","api-clients/flutter/test/update_contact_dto_test.dart","api-clients/flutter/test/update_knowledge_base_dto_test.dart","api-clients/flutter/test/update_knowledge_document_dto_test.dart","api-clients/flutter/test/update_qwen_model_dto_test.dart","api-clients/flutter/test/update_rag_config_dto_test.dart","api-clients/flutter/test/usage_api_test.dart","api-clients/flutter/test/weather_api_test.dart","api-clients/ios/.gitignore","api-clients/ios/.openapi-generator-ignore","api-clients/ios/.openapi-generator/FILES","api-clients/ios/.openapi-generator/VERSION","api-clients/ios/.swiftformat","api-clients/ios/Cartfile","api-clients/ios/HaizhanAPI.podspec","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIHelper.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/AiConfigAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/AuditLogsAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/AuthAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/ContactsAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/DefaultAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/HealthAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/KnowledgeAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/MobileCompatAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/PinyinAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/RagAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/SettingsAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/TeamsAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/UsageAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/APIs/WeatherAPI.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/CodableHelper.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Configuration.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Extensions.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/JSONDataEncoding.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/JSONEncodingHelper.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/AdminLoginDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/BatchRemoveContactsDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ChunkingConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/Contact360ResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/Contact360ViewDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactDetailResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactEventDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactListResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactProfileDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactStatsDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ContactTagDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ConversationSummaryDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/CreateContactDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/CreateContactEventDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/CreateKnowledgeBaseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/CreateKnowledgeDocumentDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/CreateQwenModelDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/EmbeddingConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/EmbeddingModelDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/GenerationConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/KnowledgeBaseResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/KnowledgeDocumentListResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/KnowledgeDocumentResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/LoginDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/MatchContactDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/MatchContactResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/PipelineHealthDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/PipelineMetricsDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/PreviewChunkingDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/QwenModelConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/QwenModelFeaturesDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RagConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RagMetricsDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RagPipelineStatusDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RagQueryDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RebuildIndexDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RefreshTokenDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/RetrievalConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/SyncContactsDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/SyncContactsResponseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/ToggleQwenModelDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/UpdateContactDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/UpdateKnowledgeBaseDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/UpdateKnowledgeDocumentDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/UpdateQwenModelDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Models/UpdateRagConfigDto.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/OpenISO8601DateFormatter.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/SynchronizedDictionary.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/URLSessionImplementations.swift","api-clients/ios/HaizhanAPI/Classes/OpenAPIs/Validation.swift","api-clients/ios/Package.swift","api-clients/ios/README.md","api-clients/ios/docs/AdminLoginDto.md","api-clients/ios/docs/AiConfigAPI.md","api-clients/ios/docs/AuditLogsAPI.md","api-clients/ios/docs/AuthAPI.md","api-clients/ios/docs/BatchRemoveContactsDto.md","api-clients/ios/docs/ChunkingConfigDto.md","api-clients/ios/docs/Contact360ResponseDto.md","api-clients/ios/docs/Contact360ViewDto.md","api-clients/ios/docs/ContactDetailResponseDto.md","api-clients/ios/docs/ContactDto.md","api-clients/ios/docs/ContactEventDto.md","api-clients/ios/docs/ContactListResponseDto.md","api-clients/ios/docs/ContactProfileDto.md","api-clients/ios/docs/ContactStatsDto.md","api-clients/ios/docs/ContactTagDto.md","api-clients/ios/docs/ContactsAPI.md","api-clients/ios/docs/ConversationSummaryDto.md","api-clients/ios/docs/CreateContactDto.md","api-clients/ios/docs/CreateContactEventDto.md","api-clients/ios/docs/CreateKnowledgeBaseDto.md","api-clients/ios/docs/CreateKnowledgeDocumentDto.md","api-clients/ios/docs/CreateQwenModelDto.md","api-clients/ios/docs/DefaultAPI.md","api-clients/ios/docs/EmbeddingConfigDto.md","api-clients/ios/docs/EmbeddingModelDto.md","api-clients/ios/docs/GenerationConfigDto.md","api-clients/ios/docs/HealthAPI.md","api-clients/ios/docs/KnowledgeAPI.md","api-clients/ios/docs/KnowledgeBaseResponseDto.md","api-clients/ios/docs/KnowledgeDocumentListResponseDto.md","api-clients/ios/docs/KnowledgeDocumentResponseDto.md","api-clients/ios/docs/LoginDto.md","api-clients/ios/docs/MatchContactDto.md","api-clients/ios/docs/MatchContactResponseDto.md","api-clients/ios/docs/MobileCompatAPI.md","api-clients/ios/docs/PinyinAPI.md","api-clients/ios/docs/PipelineHealthDto.md","api-clients/ios/docs/PipelineMetricsDto.md","api-clients/ios/docs/PreviewChunkingDto.md","api-clients/ios/docs/QwenModelConfigDto.md","api-clients/ios/docs/QwenModelFeaturesDto.md","api-clients/ios/docs/RagAPI.md","api-clients/ios/docs/RagConfigDto.md","api-clients/ios/docs/RagMetricsDto.md","api-clients/ios/docs/RagPipelineStatusDto.md","api-clients/ios/docs/RagQueryDto.md","api-clients/ios/docs/RebuildIndexDto.md","api-clients/ios/docs/RefreshTokenDto.md","api-clients/ios/docs/RetrievalConfigDto.md","api-clients/ios/docs/SettingsAPI.md","api-clients/ios/docs/SyncContactsDto.md","api-clients/ios/docs/SyncContactsResponseDto.md","api-clients/ios/docs/TeamsAPI.md","api-clients/ios/docs/ToggleQwenModelDto.md","api-clients/ios/docs/UpdateContactDto.md","api-clients/ios/docs/UpdateKnowledgeBaseDto.md","api-clients/ios/docs/UpdateKnowledgeDocumentDto.md","api-clients/ios/docs/UpdateQwenModelDto.md","api-clients/ios/docs/UpdateRagConfigDto.md","api-clients/ios/docs/UsageAPI.md","api-clients/ios/docs/WeatherAPI.md","api-clients/ios/git_push.sh","api-clients/ios/project.yml","app/build.gradle.kts","app/proguard-rules-release.pro","app/proguard-rules.pro","app/src/androidTest/java/com/haizhan/ime/ComposeUiTest.kt","app/src/androidTest/java/com/haizhan/ime/ExampleInstrumentedTest.kt","app/src/androidTest/java/com/haizhan/ime/e2e/SmokeE2ETest.kt","app/src/androidTest/java/com/haizhan/ime/integration/ImeIntegrationTest.kt","app/src/main/AndroidManifest.xml","app/src/main/assets/dictionaries/stroke-data.txt","app/src/main/assets/handwriting_labels.txt","app/src/main/assets/handwriting_labels_casia.txt","app/src/main/assets/handwriting_labels_clean.txt","app/src/main/assets/handwriting_labels_jp.txt","app/src/main/assets/paddle_models/handwriting_labels.txt","app/src/main/assets/paddle_models/ppocr_keys_v1.txt","app/src/main/assets/temp_clean.txt","app/src/main/assets/temp_labels.txt","app/src/main/java/com/haizhan/ime/HaizhanApplication.kt","app/src/main/java/com/haizhan/ime/about/ui/AboutScreen.kt","app/src/main/java/com/haizhan/ime/chat/model/Message.kt","app/src/main/java/com/haizhan/ime/chat/service/WebSocketService.kt","app/src/main/java/com/haizhan/ime/chat/ui/ChatMessageCard.kt","app/src/main/java/com/haizhan/ime/chat/ui/ChatScreen.kt","app/src/main/java/com/haizhan/ime/chat/ui/GroupChatScreen.kt","app/src/main/java/com/haizhan/ime/feedback/ui/FeedbackScreen.kt","app/src/main/java/com/haizhan/ime/help/ui/HelpCenterScreen.kt","app/src/main/java/com/haizhan/ime/note/model/Note.kt","app/src/main/java/com/haizhan/ime/note/service/NoteService.kt","app/src/main/java/com/haizhan/ime/note/ui/NoteEditorScreen.kt","app/src/main/java/com/haizhan/ime/note/ui/NoteListScreen.kt","app/src/main/java/com/haizhan/ime/profile/model/Profile.kt","app/src/main/java/com/haizhan/ime/profile/ui/ProfileScreen.kt","app/src/main/java/com/haizhan/ime/receiver/BootReceiver.kt","app/src/main/java/com/haizhan/ime/search/model/Search.kt","app/src/main/java/com/haizhan/ime/search/service/SearchService.kt","app/src/main/java/com/haizhan/ime/search/ui/GlobalSearchScreen.kt","app/src/main/java/com/haizhan/ime/security/EncryptionManager.kt","app/src/main/java/com/haizhan/ime/security/NetworkSecurityManager.kt","app/src/main/java/com/haizhan/ime/security/PrivacyComplianceManager.kt","app/src/main/java/com/haizhan/ime/security/SecurityAuditor.kt","app/src/main/java/com/haizhan/ime/service/AiProcessingService.kt","app/src/main/java/com/haizhan/ime/service/ContextCollector.kt","app/src/main/java/com/haizhan/ime/service/DataSyncService.kt","app/src/main/java/com/haizhan/ime/service/HaizhanInputMethodService.kt","app/src/main/java/com/haizhan/ime/service/InputTypeAnalysis.kt","app/src/main/java/com/haizhan/ime/service/KeyboardContentView.kt","app/src/main/java/com/haizhan/ime/service/OcrCaptureService.kt","app/src/main/java/com/haizhan/ime/service/VoiceInputDelegate.kt","app/src/main/java/com/haizhan/ime/session/model/Session.kt","app/src/main/java/com/haizhan/ime/session/service/SessionService.kt","app/src/main/java/com/haizhan/ime/session/ui/MessageCenterScreen.kt","app/src/main/java/com/haizhan/ime/session/ui/SessionCard.kt","app/src/main/java/com/haizhan/ime/session/ui/SessionListScreen.kt","app/src/main/java/com/haizhan/ime/stability/AnrWatchdog.kt","app/src/main/java/com/haizhan/ime/stability/CrashHandler.kt","app/src/main/java/com/haizhan/ime/stability/MemoryLeakDetector.kt","app/src/main/java/com/haizhan/ime/stability/StabilityManager.kt","app/src/main/java/com/haizhan/ime/statistics/model/Statistics.kt","app/src/main/java/com/haizhan/ime/statistics/ui/ChartComponents.kt","app/src/main/java/com/haizhan/ime/statistics/ui/StatisticsScreen.kt","app/src/main/java/com/haizhan/ime/subscription/model/Subscription.kt","app/src/main/java/com/haizhan/ime/subscription/service/SubscriptionService.kt","app/src/main/java/com/haizhan/ime/subscription/ui/SubscriptionScreen.kt","app/src/main/java/com/haizhan/ime/sync/ContactSyncTaskAdapter.kt","app/src/main/java/com/haizhan/ime/sync/KnowledgeSyncTaskAdapter.kt","app/src/main/java/com/haizhan/ime/sync/SyncContracts.kt","app/src/main/java/com/haizhan/ime/sync/SyncCoordinator.kt","app/src/main/java/com/haizhan/ime/sync/SyncScheduler.kt","app/src/main/java/com/haizhan/ime/team/model/Team.kt","app/src/main/java/com/haizhan/ime/team/service/TeamService.kt","app/src/main/java/com/haizhan/ime/team/ui/TeamScreen.kt","app/src/main/java/com/haizhan/ime/template/data/B2BTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/ClosingTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/CoreSalesTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/DailyTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/DefaultTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/FollowUpTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/QuickPhraseDefaults.kt","app/src/main/java/com/haizhan/ime/template/data/SeasonalTemplates.kt","app/src/main/java/com/haizhan/ime/template/data/TemplateDatabase.kt","app/src/main/java/com/haizhan/ime/template/data/TemplateImporter.kt","app/src/main/java/com/haizhan/ime/template/data/TemplateRepository.kt","app/src/main/java/com/haizhan/ime/template/di/TemplateModule.kt","app/src/main/java/com/haizhan/ime/template/model/Template.kt","app/src/main/java/com/haizhan/ime/template/service/TemplateService.kt","app/src/main/java/com/haizhan/ime/template/ui/FolderManagementDialog.kt","app/src/main/java/com/haizhan/ime/template/ui/TemplateListScreen.kt","app/src/main/java/com/haizhan/ime/template/ui/TemplateViewModel.kt","app/src/main/java/com/haizhan/ime/ui/MainActivity.kt","app/src/main/java/com/haizhan/ime/ui/management/DictionaryImportActivity.kt","app/src/main/java/com/haizhan/ime/ui/management/DictionaryImportScreen.kt","app/src/main/java/com/haizhan/ime/ui/management/DictionaryImportViewModel.kt","app/src/main/java/com/haizhan/ime/ui/management/DictionaryScreen.kt","app/src/main/java/com/haizhan/ime/ui/management/ManagementActivity.kt","app/src/main/java/com/haizhan/ime/ui/management/ManagementViewModel.kt","app/src/main/java/com/haizhan/ime/ui/management/PermissionScreen.kt","app/src/main/java/com/haizhan/ime/ui/management/SettingsScreen.kt","app/src/main/java/com/haizhan/ime/ui/permission/ScreenshotPermissionActivity.kt","app/src/main/java/com/haizhan/ime/ui/settings/ImeSettingsActivity.kt","app/src/main/java/com/haizhan/ime/ui/settings/SettingsViewModel.kt","app/src/main/java/com/haizhan/ime/ui/theme/Theme.kt","app/src/main/java/com/haizhan/ime/ui/theme/Type.kt","app/src/main/java/com/haizhan/ime/ux/AccessibilityHelper.kt","app/src/main/java/com/haizhan/ime/ux/AnimationUtils.kt","app/src/main/java/com/haizhan/ime/ux/ErrorHandler.kt","app/src/main/java/com/haizhan/ime/ux/OnboardingScreen.kt","app/src/main/java/com/haizhan/ime/ux/StartupOptimizer.kt","app/src/main/java/com/haizhan/ime/voice/service/VoiceService.kt","app/src/main/java/com/haizhan/ime/voice/ui/VoiceInputScreen.kt","app/src/main/res/drawable/ic_launcher_background.xml","app/src/main/res/drawable/ic_launcher_foreground.xml","app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml","app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml","app/src/main/res/values-night/colors.xml","app/src/main/res/values/colors.xml","app/src/main/res/values/strings.xml","app/src/main/res/values/themes.xml","app/src/main/res/xml/backup_rules.xml","app/src/main/res/xml/data_extraction_rules.xml","app/src/main/res/xml/file_paths.xml","app/src/main/res/xml/method.xml","app/src/main/res/xml/network_security_config.xml","app/src/test/java/com/haizhan/ime/ExampleUnitTest.kt","app/src/test/java/com/haizhan/ime/app/service/NotificationServiceTest.kt","app/src/test/java/com/haizhan/ime/app/service/SearchServiceTest.kt","app/src/test/java/com/haizhan/ime/app/service/SessionServiceTest.kt","app/src/test/java/com/haizhan/ime/app/service/SyncServiceTest.kt","app/src/test/java/com/haizhan/ime/app/service/WebSocketServiceTest.kt","app/src/test/java/com/haizhan/ime/benchmark/PerformanceBenchmarkTest.kt","app/src/test/java/com/haizhan/ime/security/EncryptionManagerTest.kt","app/src/test/java/com/haizhan/ime/security/PrivacyComplianceManagerTest.kt","app/src/test/java/com/haizhan/ime/security/SecurityAuditorTest.kt","app/src/test/java/com/haizhan/ime/service/HaizhanInputMethodServiceTest.kt","app/src/test/java/com/haizhan/ime/services/AiProcessingServiceTest.kt","app/src/test/java/com/haizhan/ime/services/NoteServiceTest.kt","app/src/test/java/com/haizhan/ime/services/OcrCaptureServiceTest.kt","app/src/test/java/com/haizhan/ime/services/SubscriptionServiceTest.kt","app/src/test/java/com/haizhan/ime/services/TeamServiceTest.kt","app/src/test/java/com/haizhan/ime/services/TemplateServiceTest.kt","app/src/test/java/com/haizhan/ime/services/VoiceServiceTest.kt","app/src/test/java/com/haizhan/ime/ui/management/ManagementViewModelTest.kt","app/src/test/java/com/haizhan/ime/ui/settings/SettingsViewModelTest.kt","app/src/test/java/com/haizhan/ime/ux/ErrorHandlerTest.kt","app/src/test/java/com/haizhan/ime/ux/StartupOptimizerTest.kt","app/src/test/java/com/haizhan/ime/viewmodel/DictionaryImportViewModelTest.kt","app/src/test/java/com/haizhan/ime/viewmodel/TemplateViewModelTest.kt","build.gradle.kts","common/build.gradle.kts","common/consumer-rules.pro","common/proguard-rules.pro","common/src/main/AndroidManifest.xml","common/src/main/java/com/haizhan/ime/common/ext/ContextExt.kt","common/src/main/java/com/haizhan/ime/common/ext/FlowExt.kt","common/src/main/java/com/haizhan/ime/common/ext/StringExt.kt","common/src/main/java/com/haizhan/ime/common/performance/ImePerformanceTracker.kt","common/src/main/java/com/haizhan/ime/common/theme/DesignTokens.kt","common/src/main/java/com/haizhan/ime/common/theme/KeyboardTheme.kt","common/src/main/java/com/haizhan/ime/common/util/DeviceUtils.kt","common/src/main/java/com/haizhan/ime/common/util/Logger.kt","common/src/main/java/com/haizhan/ime/common/util/LruCache.kt","common/src/main/java/com/haizhan/ime/common/util/MemoryMonitor.kt","common/src/test/java/com/haizhan/ime/common/StringExtTest.kt","common/src/test/java/com/haizhan/ime/common/ext/ResultTest.kt","common/src/test/java/com/haizhan/ime/common/util/DateUtilsTest.kt","common/src/test/java/com/haizhan/ime/common/util/LoggerTest.kt","common/src/test/java/com/haizhan/ime/common/util/MemoryStatsTest.kt","common/src/test/java/com/haizhan/ime/common/util/PinyinUtilsTest.kt","common/src/test/java/com/haizhan/ime/common/util/TextUtilsTest.kt","config/detekt/detekt.yml","data/build.gradle.kts","data/consumer-rules.pro","data/dictionaries/dictionary.config.json","data/dictionaries/fallback-words.txt","data/dictionaries/sensitive-words.txt","data/dictionaries/system/char-single.txt","data/dictionaries/system/core-char.txt","data/dictionaries/system/core-phrase.txt","data/dictionaries/system/core-word2.txt","data/dictionaries/system/core-word3.txt","data/dictionaries/system/core-word4.txt","data/dictionaries/system/idiom.txt","data/dictionaries/system/name-place.txt","data/dictionaries/system/word-common.txt","data/proguard-rules.pro","data/schemas/com.haizhan.ime.data.local.database.HaizhanDatabase/1.json","data/schemas/com.haizhan.ime.data.local.database.HaizhanDatabase/2.json","data/schemas/com.haizhan.ime.data.local.database.HaizhanDatabase/3.json","data/schemas/com.haizhan.ime.data.local.database.HaizhanDatabase/4.json","data/src/main/AndroidManifest.xml","data/src/main/java/com/haizhan/ime/data/auth/AuthInterceptor.kt","data/src/main/java/com/haizhan/ime/data/auth/AuthManager.kt","data/src/main/java/com/haizhan/ime/data/di/DataModule.kt","data/src/main/java/com/haizhan/ime/data/di/DatabaseModule.kt","data/src/main/java/com/haizhan/ime/data/di/NetworkModule.kt","data/src/main/java/com/haizhan/ime/data/di/RepositoryModule.kt","data/src/main/java/com/haizhan/ime/data/local/dao/ContactDao.kt","data/src/main/java/com/haizhan/ime/data/local/dao/KnowledgeDao.kt","data/src/main/java/com/haizhan/ime/data/local/dao/MessageDao.kt","data/src/main/java/com/haizhan/ime/data/local/dao/NoteDao.kt","data/src/main/java/com/haizhan/ime/data/local/dao/SearchDao.kt","data/src/main/java/com/haizhan/ime/data/local/dao/UserDictDao.kt","data/src/main/java/com/haizhan/ime/data/local/database/Converters.kt","data/src/main/java/com/haizhan/ime/data/local/database/HaizhanDatabase.kt","data/src/main/java/com/haizhan/ime/data/local/database/SecureDatabaseFactory.kt","data/src/main/java/com/haizhan/ime/data/local/entity/ContactEntity.kt","data/src/main/java/com/haizhan/ime/data/local/entity/KnowledgeEntity.kt","data/src/main/java/com/haizhan/ime/data/local/entity/MessageEntity.kt","data/src/main/java/com/haizhan/ime/data/local/entity/NoteEntity.kt","data/src/main/java/com/haizhan/ime/data/local/entity/SearchEntity.kt","data/src/main/java/com/haizhan/ime/data/local/entity/UserDictEntity.kt","data/src/main/java/com/haizhan/ime/data/remote/adapter/FlexibleTimestampAdapter.kt","data/src/main/java/com/haizhan/ime/data/remote/aliyun/AliyunSearchClient.kt","data/src/main/java/com/haizhan/ime/data/remote/aliyun/AliyunSearchConfig.kt","data/src/main/java/com/haizhan/ime/data/remote/aliyun/AliyunSearchConfigProvider.kt","data/src/main/java/com/haizhan/ime/data/remote/api/AuthApi.kt","data/src/main/java/com/haizhan/ime/data/remote/api/ContactApi.kt","data/src/main/java/com/haizhan/ime/data/remote/api/HaizhanApi.kt","data/src/main/java/com/haizhan/ime/data/remote/api/PinyinApi.kt","data/src/main/java/com/haizhan/ime/data/remote/api/RagSearchApi.kt","data/src/main/java/com/haizhan/ime/data/remote/api/ReplyApi.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/AiDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/AuthDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/CommonDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/ContactDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/KnowledgeDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/MemoryDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/MessageDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/NoteDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/ProfileDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/RagSearchDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/SearchDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/TeamDto.kt","data/src/main/java/com/haizhan/ime/data/remote/dto/WeatherDto.kt","data/src/main/java/com/haizhan/ime/data/repository/ContactRepository.kt","data/src/main/java/com/haizhan/ime/data/repository/KnowledgeRepository.kt","data/src/main/java/com/haizhan/ime/data/repository/MessageRepository.kt","data/src/main/java/com/haizhan/ime/data/repository/RagSearchRepository.kt","data/src/main/java/com/haizhan/ime/data/repository/SettingsRepository.kt","data/src/main/java/com/haizhan/ime/data/repository/mapper/ContactMapper.kt","data/src/main/java/com/haizhan/ime/data/repository/mapper/KnowledgeMapper.kt","data/src/main/java/com/haizhan/ime/data/repository/mapper/MessageMapper.kt","data/src/main/java/com/haizhan/ime/data/repository/model/Contact.kt","data/src/main/java/com/haizhan/ime/data/repository/model/Knowledge.kt","data/src/main/java/com/haizhan/ime/data/repository/model/Message.kt","data/src/test/java/com/haizhan/ime/data/auth/AuthInterceptorTest.kt","data/src/test/java/com/haizhan/ime/data/auth/AuthManagerTest.kt","data/src/test/java/com/haizhan/ime/data/auth/AuthTypesTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/ContactDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/KnowledgeDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/MessageDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/NoteDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/SearchDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/UserDictDaoTest.kt","data/src/test/java/com/haizhan/ime/data/local/dao/UserPreferencesDaoTest.kt","data/src/test/java/com/haizhan/ime/data/remote/api/HaizhanApiTest.kt","data/src/test/java/com/haizhan/ime/data/remote/dto/ContactDtoTest.kt","data/src/test/java/com/haizhan/ime/data/repository/ContactRepositoryTest.kt","data/src/test/java/com/haizhan/ime/data/repository/KnowledgeRepositoryTest.kt","data/src/test/java/com/haizhan/ime/data/repository/MessageRepositoryTest.kt","data/src/test/java/com/haizhan/ime/data/repository/SettingsRepositoryTest.kt","data/src/test/java/com/haizhan/ime/data/repository/mapper/ContactMapperTest.kt","data/src/test/java/com/haizhan/ime/data/repository/mapper/KnowledgeMapperTest.kt","data/src/test/java/com/haizhan/ime/data/repository/mapper/MessageMapperTest.kt","designs/exports/CLAUDE_CODE_DESIGN_GUIDE.md","designs/exports/DESIGN_MANIFEST.md","designs/exports/svg/Frame.svg","designs/exports/svg/P2-关于.svg","designs/exports/svg/P2-协议条款.svg","designs/exports/svg/P2-帮助中心.svg","designs/exports/svg/P2-意见反馈.svg","designs/exports/svg/P2-版本更新.svg","designs/exports/svg/__设计系统_-_组件库.svg","designs/exports/svg/功能面板_-_OCR识别.svg","designs/exports/svg/功能面板_-_历史.svg","designs/exports/svg/功能面板_-_团队.svg","designs/exports/svg/功能面板_-_知识库.svg","designs/exports/svg/功能面板_-_笔记.svg","designs/exports/svg/功能面板_-_联系人.svg","designs/exports/svg/嗨赞AI助手_-_AI回复选择.svg","designs/exports/svg/嗨赞AI助手_-_OCR结果确认.svg","designs/exports/svg/嗨赞AI助手_-_个人中心.svg","designs/exports/svg/嗨赞AI助手_-_主应用首页.svg","designs/exports/svg/嗨赞AI助手_-_主键盘界面.svg","designs/exports/svg/嗨赞AI助手_-_主键盘界面__深色_.svg","designs/exports/svg/嗨赞AI助手_-_交互式笔记.svg","designs/exports/svg/嗨赞AI助手_-_会员订阅.svg","designs/exports/svg/嗨赞AI助手_-_会话列表.svg","designs/exports/svg/嗨赞AI助手_-_单聊IM.svg","designs/exports/svg/嗨赞AI助手_-_历史记录页面.svg","designs/exports/svg/嗨赞AI助手_-_引导页1.svg","designs/exports/svg/嗨赞AI助手_-_引导页2.svg","designs/exports/svg/嗨赞AI助手_-_引导页3.svg","designs/exports/svg/嗨赞AI助手_-_忘记密码.svg","designs/exports/svg/嗨赞AI助手_-_我的页面.svg","designs/exports/svg/嗨赞AI助手_-_搜索.svg","designs/exports/svg/嗨赞AI助手_-_数据统计.svg","designs/exports/svg/嗨赞AI助手_-_新建联系人.svg","designs/exports/svg/嗨赞AI助手_-_注册页面.svg","designs/exports/svg/嗨赞AI助手_-_消息中心.svg","designs/exports/svg/嗨赞AI助手_-_登录页面.svg","designs/exports/svg/嗨赞AI助手_-_知识库列表.svg","designs/exports/svg/嗨赞AI助手_-_知识库详情.svg","designs/exports/svg/嗨赞AI助手_-_编辑个人信息.svg","designs/exports/svg/嗨赞AI助手_-_群聊IM.svg","designs/exports/svg/嗨赞AI助手_-_联系人列表.svg","designs/exports/svg/嗨赞AI助手_-_联系人详情.svg","designs/exports/svg/嗨赞AI助手_-_设置.svg","designs/exports/svg/嗨赞AI助手_-_设置页面.svg","designs/exports/svg/嗨赞AI助手_-_话术模板.svg","designs/exports/svg/嗨赞AI助手_-_话术模板详情.svg","designs/exports/svg/微交互规范文档.svg","designs/exports/svg/组件_-_悬浮球状态.svg","designs/exports/svg/组件_-_拼音候选词展开.svg","designs/exports/svg/组件_-_空状态.svg","designs/exports/svg/组件_-_语音输入状态.svg","designs/exports/svg/组件_-_错误状态.svg","designs/mobile-keyboard-design.md","designs/specs/COMPONENT_SPEC.md","designs/specs/KEYBOARD_DESIGN_SPEC.md","designs/specs/README.md","designs/specs/design-tokens.json","designs/templates/android/DesignTokens.kt","designs/templates/android/KeyboardTheme.kt","designs/templates/ios/DesignTokens.swift","designs/templates/ios/KeyboardTheme.swift","designs/嗨赞输入法.pen","docs/ANDROID_DEVELOPMENT.md","docs/API.md","docs/ARCHITECTURE.md","docs/BACKEND_API_REQUIREMENTS.md","docs/BACKEND_DESIGN.md","docs/CI_CD_PIPELINE.md","docs/CODING_STANDARDS.md","docs/COMPLETE_FEATURE_SPEC.md","docs/DATABASE.md","docs/DEPLOYMENT.md","docs/DESIGN_TO_DEV_SPEC.md","docs/DEVELOPMENT_GUIDE.md","docs/DEVELOPMENT_PLAN.md","docs/DOCS_SYNC.md","docs/ERROR_HANDLING.md","docs/FEATURE_ANALYSIS.md","docs/FLUTTER_DEVELOPMENT.md","docs/FRONTEND_DEV_REQUIREMENTS.md","docs/HANDWRITING_MODEL_UPGRADE.md","docs/IOS_DEVELOPMENT.md","docs/KMP_DEVELOPMENT.md","docs/LOGGING_STANDARDS.md","docs/MILESTONES.md","docs/MODULE_ANALYSIS.md","docs/MODULE_LIST.md","docs/PERFORMANCE_OPTIMIZATION.md","docs/PNPM_MIGRATION_NOTICE.md","docs/PRD.md","docs/PRIVACY_POLICY.md","docs/PRODUCT_ARCHITECTURE.md","docs/Phase_11_12_Final_Report.md","docs/RELEASE_CHECKLIST.md","docs/SECURITY_AUDIT.md","docs/SECURITY_GUIDELINES.md","docs/STORE_LISTING.md","docs/SYSTEM_ARCHITECTURE.md","docs/TASKS.md","docs/TECH_STACK.md","docs/TESTING_STRATEGY.md","docs/USER_MANUAL.md","docs/VOICE_API_DOCUMENTATION.md","docs/VOICE_MODULE_MIGRATION.md","docs/openapi.json","docs/skills/anthropic-official/.claude-plugin/marketplace.json","docs/skills/anthropic-official/.gitignore","docs/skills/anthropic-official/README.md","docs/skills/anthropic-official/THIRD_PARTY_NOTICES.md","docs/skills/anthropic-official/skills/algorithmic-art/LICENSE.txt","docs/skills/anthropic-official/skills/algorithmic-art/SKILL.md","docs/skills/anthropic-official/skills/algorithmic-art/templates/generator_template.js","docs/skills/anthropic-official/skills/algorithmic-art/templates/viewer.html","docs/skills/anthropic-official/skills/brand-guidelines/LICENSE.txt","docs/skills/anthropic-official/skills/brand-guidelines/SKILL.md","docs/skills/anthropic-official/skills/canvas-design/LICENSE.txt","docs/skills/anthropic-official/skills/canvas-design/SKILL.md","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/ArsenalSC-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BigShoulders-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BigShoulders-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BigShoulders-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Boldonse-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Boldonse-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/CrimsonPro-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/DMMono-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/DMMono-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/EricaOne-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/EricaOne-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/GeistMono-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/GeistMono-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/GeistMono-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Gloock-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Gloock-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSans-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Italiana-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Italiana-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Jura-Light.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Jura-Medium.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Jura-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Lora-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Lora-BoldItalic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Lora-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Lora-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Lora-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/NationalPark-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/NationalPark-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/NationalPark-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Outfit-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Outfit-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Outfit-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/PixelifySans-Medium.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/PixelifySans-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/PoiretOne-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/PoiretOne-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/RedHatMono-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/RedHatMono-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/RedHatMono-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Silkscreen-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Silkscreen-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/SmoochSans-Medium.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/SmoochSans-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Tektur-Medium.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Tektur-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/Tektur-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/WorkSans-Bold.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/WorkSans-Italic.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/WorkSans-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/WorkSans-Regular.ttf","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/YoungSerif-OFL.txt","docs/skills/anthropic-official/skills/canvas-design/canvas-fonts/YoungSerif-Regular.ttf","docs/skills/anthropic-official/skills/doc-coauthoring/SKILL.md","docs/skills/anthropic-official/skills/docx/LICENSE.txt","docs/skills/anthropic-official/skills/docx/SKILL.md","docs/skills/anthropic-official/skills/docx/docx-js.md","docs/skills/anthropic-official/skills/docx/ooxml.md","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/mce/mc.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-2010.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-2012.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-2018.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd","docs/skills/anthropic-official/skills/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd","docs/skills/anthropic-official/skills/docx/ooxml/scripts/pack.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/unpack.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validate.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validation/__init__.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validation/base.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validation/docx.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validation/pptx.py","docs/skills/anthropic-official/skills/docx/ooxml/scripts/validation/redlining.py","docs/skills/anthropic-official/skills/docx/scripts/__init__.py","docs/skills/anthropic-official/skills/docx/scripts/document.py","docs/skills/anthropic-official/skills/docx/scripts/templates/comments.xml","docs/skills/anthropic-official/skills/docx/scripts/templates/commentsExtended.xml","docs/skills/anthropic-official/skills/docx/scripts/templates/commentsExtensible.xml","docs/skills/anthropic-official/skills/docx/scripts/templates/commentsIds.xml","docs/skills/anthropic-official/skills/docx/scripts/templates/people.xml","docs/skills/anthropic-official/skills/docx/scripts/utilities.py","docs/skills/anthropic-official/skills/frontend-design/LICENSE.txt","docs/skills/anthropic-official/skills/frontend-design/SKILL.md","docs/skills/anthropic-official/skills/internal-comms/LICENSE.txt","docs/skills/anthropic-official/skills/internal-comms/SKILL.md","docs/skills/anthropic-official/skills/internal-comms/examples/3p-updates.md","docs/skills/anthropic-official/skills/internal-comms/examples/company-newsletter.md","docs/skills/anthropic-official/skills/internal-comms/examples/faq-answers.md","docs/skills/anthropic-official/skills/internal-comms/examples/general-comms.md","docs/skills/anthropic-official/skills/mcp-builder/LICENSE.txt","docs/skills/anthropic-official/skills/mcp-builder/SKILL.md","docs/skills/anthropic-official/skills/mcp-builder/reference/evaluation.md","docs/skills/anthropic-official/skills/mcp-builder/reference/mcp_best_practices.md","docs/skills/anthropic-official/skills/mcp-builder/reference/node_mcp_server.md","docs/skills/anthropic-official/skills/mcp-builder/reference/python_mcp_server.md","docs/skills/anthropic-official/skills/mcp-builder/scripts/connections.py","docs/skills/anthropic-official/skills/mcp-builder/scripts/evaluation.py","docs/skills/anthropic-official/skills/mcp-builder/scripts/example_evaluation.xml","docs/skills/anthropic-official/skills/mcp-builder/scripts/requirements.txt","docs/skills/anthropic-official/skills/pdf/LICENSE.txt","docs/skills/anthropic-official/skills/pdf/SKILL.md","docs/skills/anthropic-official/skills/pdf/forms.md","docs/skills/anthropic-official/skills/pdf/reference.md","docs/skills/anthropic-official/skills/pdf/scripts/check_bounding_boxes.py","docs/skills/anthropic-official/skills/pdf/scripts/check_bounding_boxes_test.py","docs/skills/anthropic-official/skills/pdf/scripts/check_fillable_fields.py","docs/skills/anthropic-official/skills/pdf/scripts/convert_pdf_to_images.py","docs/skills/anthropic-official/skills/pdf/scripts/create_validation_image.py","docs/skills/anthropic-official/skills/pdf/scripts/extract_form_field_info.py","docs/skills/anthropic-official/skills/pdf/scripts/fill_fillable_fields.py","docs/skills/anthropic-official/skills/pdf/scripts/fill_pdf_form_with_annotations.py","docs/skills/anthropic-official/skills/pptx/LICENSE.txt","docs/skills/anthropic-official/skills/pptx/SKILL.md","docs/skills/anthropic-official/skills/pptx/html2pptx.md","docs/skills/anthropic-official/skills/pptx/ooxml.md","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/mce/mc.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-2010.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-2012.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-2018.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/pack.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/unpack.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validate.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validation/__init__.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validation/base.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validation/docx.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validation/pptx.py","docs/skills/anthropic-official/skills/pptx/ooxml/scripts/validation/redlining.py","docs/skills/anthropic-official/skills/pptx/scripts/html2pptx.js","docs/skills/anthropic-official/skills/pptx/scripts/inventory.py","docs/skills/anthropic-official/skills/pptx/scripts/rearrange.py","docs/skills/anthropic-official/skills/pptx/scripts/replace.py","docs/skills/anthropic-official/skills/pptx/scripts/thumbnail.py","docs/skills/anthropic-official/skills/skill-creator/LICENSE.txt","docs/skills/anthropic-official/skills/skill-creator/SKILL.md","docs/skills/anthropic-official/skills/skill-creator/references/output-patterns.md","docs/skills/anthropic-official/skills/skill-creator/references/workflows.md","docs/skills/anthropic-official/skills/skill-creator/scripts/init_skill.py","docs/skills/anthropic-official/skills/skill-creator/scripts/package_skill.py","docs/skills/anthropic-official/skills/skill-creator/scripts/quick_validate.py","docs/skills/anthropic-official/skills/slack-gif-creator/LICENSE.txt","docs/skills/anthropic-official/skills/slack-gif-creator/SKILL.md","docs/skills/anthropic-official/skills/slack-gif-creator/core/easing.py","docs/skills/anthropic-official/skills/slack-gif-creator/core/frame_composer.py","docs/skills/anthropic-official/skills/slack-gif-creator/core/gif_builder.py","docs/skills/anthropic-official/skills/slack-gif-creator/core/validators.py","docs/skills/anthropic-official/skills/slack-gif-creator/requirements.txt","docs/skills/anthropic-official/skills/theme-factory/LICENSE.txt","docs/skills/anthropic-official/skills/theme-factory/SKILL.md","docs/skills/anthropic-official/skills/theme-factory/theme-showcase.pdf","docs/skills/anthropic-official/skills/theme-factory/themes/arctic-frost.md","docs/skills/anthropic-official/skills/theme-factory/themes/botanical-garden.md","docs/skills/anthropic-official/skills/theme-factory/themes/desert-rose.md","docs/skills/anthropic-official/skills/theme-factory/themes/forest-canopy.md","docs/skills/anthropic-official/skills/theme-factory/themes/golden-hour.md","docs/skills/anthropic-official/skills/theme-factory/themes/midnight-galaxy.md","docs/skills/anthropic-official/skills/theme-factory/themes/modern-minimalist.md","docs/skills/anthropic-official/skills/theme-factory/themes/ocean-depths.md","docs/skills/anthropic-official/skills/theme-factory/themes/sunset-boulevard.md","docs/skills/anthropic-official/skills/theme-factory/themes/tech-innovation.md","docs/skills/anthropic-official/skills/web-artifacts-builder/LICENSE.txt","docs/skills/anthropic-official/skills/web-artifacts-builder/SKILL.md","docs/skills/anthropic-official/skills/web-artifacts-builder/scripts/bundle-artifact.sh","docs/skills/anthropic-official/skills/web-artifacts-builder/scripts/init-artifact.sh","docs/skills/anthropic-official/skills/web-artifacts-builder/scripts/shadcn-components.tar.gz","docs/skills/anthropic-official/skills/webapp-testing/LICENSE.txt","docs/skills/anthropic-official/skills/webapp-testing/SKILL.md","docs/skills/anthropic-official/skills/webapp-testing/examples/console_logging.py","docs/skills/anthropic-official/skills/webapp-testing/examples/element_discovery.py","docs/skills/anthropic-official/skills/webapp-testing/examples/static_html_automation.py","docs/skills/anthropic-official/skills/webapp-testing/scripts/with_server.py","docs/skills/anthropic-official/skills/xlsx/LICENSE.txt","docs/skills/anthropic-official/skills/xlsx/SKILL.md","docs/skills/anthropic-official/skills/xlsx/recalc.py","docs/skills/anthropic-official/spec/agent-skills-spec.md","docs/skills/anthropic-official/template/SKILL.md","docs/skills/awesome-skills/.gitignore","docs/skills/awesome-skills/CONTRIBUTING.md","docs/skills/awesome-skills/README.md","docs/skills/backend-patterns/SKILL.md","docs/skills/clickhouse-io/SKILL.md","docs/skills/coding-standards/SKILL.md","docs/skills/continuous-learning/SKILL.md","docs/skills/continuous-learning/config.json","docs/skills/continuous-learning/evaluate-session.sh","docs/skills/daymade-skills/.claude-plugin/marketplace.json","docs/skills/daymade-skills/.github/ISSUE_TEMPLATE/bug_report.md","docs/skills/daymade-skills/.github/ISSUE_TEMPLATE/feature_request.md","docs/skills/daymade-skills/.github/PULL_REQUEST_TEMPLATE.md","docs/skills/daymade-skills/.gitignore","docs/skills/daymade-skills/AGENTS.md","docs/skills/daymade-skills/CHANGELOG.md","docs/skills/daymade-skills/CLAUDE.md","docs/skills/daymade-skills/CONTRIBUTING.md","docs/skills/daymade-skills/LICENSE","docs/skills/daymade-skills/QUICKSTART.md","docs/skills/daymade-skills/QUICKSTART.zh-CN.md","docs/skills/daymade-skills/README.md","docs/skills/daymade-skills/README.zh-CN.md","docs/skills/daymade-skills/claude-code-history-files-finder/.INTEGRATION_SUMMARY.md","docs/skills/daymade-skills/claude-code-history-files-finder/.security-scan-passed","docs/skills/daymade-skills/claude-code-history-files-finder/SKILL.md","docs/skills/daymade-skills/claude-code-history-files-finder/references/session_file_format.md","docs/skills/daymade-skills/claude-code-history-files-finder/references/workflow_examples.md","docs/skills/daymade-skills/claude-code-history-files-finder/scripts/analyze_sessions.py","docs/skills/daymade-skills/claude-code-history-files-finder/scripts/recover_content.py","docs/skills/daymade-skills/claude-md-progressive-disclosurer/.security-scan-passed","docs/skills/daymade-skills/claude-md-progressive-disclosurer/SKILL.md","docs/skills/daymade-skills/claude-md-progressive-disclosurer/references/progressive_disclosure_principles.md","docs/skills/daymade-skills/cli-demo-generator/SKILL.md","docs/skills/daymade-skills/cli-demo-generator/assets/examples/batch-config.yaml","docs/skills/daymade-skills/cli-demo-generator/assets/templates/basic.tape","docs/skills/daymade-skills/cli-demo-generator/assets/templates/interactive.tape","docs/skills/daymade-skills/cli-demo-generator/references/best_practices.md","docs/skills/daymade-skills/cli-demo-generator/references/vhs_syntax.md","docs/skills/daymade-skills/cli-demo-generator/scripts/auto_generate_demo.py","docs/skills/daymade-skills/cli-demo-generator/scripts/batch_generate.py","docs/skills/daymade-skills/cli-demo-generator/scripts/record_interactive.sh","docs/skills/daymade-skills/cloudflare-troubleshooting/SKILL.md","docs/skills/daymade-skills/cloudflare-troubleshooting/references/api_overview.md","docs/skills/daymade-skills/cloudflare-troubleshooting/references/common_issues.md","docs/skills/daymade-skills/cloudflare-troubleshooting/references/ssl_modes.md","docs/skills/daymade-skills/cloudflare-troubleshooting/scripts/check_cloudflare_config.py","docs/skills/daymade-skills/cloudflare-troubleshooting/scripts/fix_ssl_mode.py","docs/skills/daymade-skills/demos/README.md","docs/skills/daymade-skills/demos/cli-demo-generator/generate-demo.gif","docs/skills/daymade-skills/demos/cli-demo-generator/generate-demo.tape","docs/skills/daymade-skills/demos/generate_all_demos.sh","docs/skills/daymade-skills/demos/github-ops/create-pr.gif","docs/skills/daymade-skills/demos/github-ops/create-pr.tape","docs/skills/daymade-skills/demos/index.html","docs/skills/daymade-skills/demos/llm-icon-finder/find-icons.gif","docs/skills/daymade-skills/demos/llm-icon-finder/find-icons.tape","docs/skills/daymade-skills/demos/markdown-tools/convert-docs.gif","docs/skills/daymade-skills/demos/markdown-tools/convert-docs.tape","docs/skills/daymade-skills/demos/mermaid-tools/extract-diagrams.gif","docs/skills/daymade-skills/demos/mermaid-tools/extract-diagrams.tape","docs/skills/daymade-skills/demos/ppt-creator/create-presentation.gif","docs/skills/daymade-skills/demos/ppt-creator/create-presentation.tape","docs/skills/daymade-skills/demos/repomix-unmixer/extract-repo.gif","docs/skills/daymade-skills/demos/repomix-unmixer/extract-repo.tape","docs/skills/daymade-skills/demos/skill-creator/init-skill.gif","docs/skills/daymade-skills/demos/skill-creator/init-skill.tape","docs/skills/daymade-skills/demos/skill-creator/package-skill.gif","docs/skills/daymade-skills/demos/skill-creator/package-skill.tape","docs/skills/daymade-skills/demos/skill-creator/validate-skill.gif","docs/skills/daymade-skills/demos/skill-creator/validate-skill.tape","docs/skills/daymade-skills/demos/statusline-generator/customize-statusline.gif","docs/skills/daymade-skills/demos/statusline-generator/customize-statusline.tape","docs/skills/daymade-skills/demos/teams-channel-post-writer/write-post.gif","docs/skills/daymade-skills/demos/teams-channel-post-writer/write-post.tape","docs/skills/daymade-skills/demos/ui-designer/extract-design-system.gif","docs/skills/daymade-skills/demos/ui-designer/extract-design-system.tape","docs/skills/daymade-skills/demos/youtube-downloader/download-video.gif","docs/skills/daymade-skills/demos/youtube-downloader/download-video.tape","docs/skills/daymade-skills/docs-cleaner/.security-scan-passed","docs/skills/daymade-skills/docs-cleaner/SKILL.md","docs/skills/daymade-skills/docs-cleaner/references/value_analysis_template.md","docs/skills/daymade-skills/fact-checker/.security-scan-passed","docs/skills/daymade-skills/fact-checker/README.md","docs/skills/daymade-skills/fact-checker/SKILL.md","docs/skills/daymade-skills/github-contributor/.security-scan-passed","docs/skills/daymade-skills/github-contributor/SKILL.md","docs/skills/daymade-skills/github-contributor/references/communication_templates.md","docs/skills/daymade-skills/github-contributor/references/pr_checklist.md","docs/skills/daymade-skills/github-contributor/references/project_evaluation.md","docs/skills/daymade-skills/github-ops/SKILL.md","docs/skills/daymade-skills/github-ops/references/api_reference.md","docs/skills/daymade-skills/github-ops/references/best_practices.md","docs/skills/daymade-skills/github-ops/references/issue_operations.md","docs/skills/daymade-skills/github-ops/references/pr_operations.md","docs/skills/daymade-skills/github-ops/references/workflow_operations.md","docs/skills/daymade-skills/iOS-APP-developer/.security-scan-passed","docs/skills/daymade-skills/iOS-APP-developer/SKILL.md","docs/skills/daymade-skills/iOS-APP-developer/references/camera-avfoundation.md","docs/skills/daymade-skills/iOS-APP-developer/references/swiftui-compatibility.md","docs/skills/daymade-skills/iOS-APP-developer/references/testing-mainactor.md","docs/skills/daymade-skills/iOS-APP-developer/references/xcodegen-full.md","docs/skills/daymade-skills/llm-icon-finder/SKILL.md","docs/skills/daymade-skills/llm-icon-finder/references/developer-info.md","docs/skills/daymade-skills/llm-icon-finder/references/icons-list.md","docs/skills/daymade-skills/macos-cleaner/.security-scan-passed","docs/skills/daymade-skills/macos-cleaner/SKILL.md","docs/skills/daymade-skills/macos-cleaner/references/cleanup_targets.md","docs/skills/daymade-skills/macos-cleaner/references/mole_integration.md","docs/skills/daymade-skills/macos-cleaner/references/safety_rules.md","docs/skills/daymade-skills/macos-cleaner/scripts/analyze_caches.py","docs/skills/daymade-skills/macos-cleaner/scripts/analyze_dev_env.py","docs/skills/daymade-skills/macos-cleaner/scripts/analyze_large_files.py","docs/skills/daymade-skills/macos-cleaner/scripts/cleanup_report.py","docs/skills/daymade-skills/macos-cleaner/scripts/find_app_remnants.py","docs/skills/daymade-skills/macos-cleaner/scripts/safe_delete.py","docs/skills/daymade-skills/markdown-tools/SKILL.md","docs/skills/daymade-skills/markdown-tools/references/conversion-examples.md","docs/skills/daymade-skills/markdown-tools/scripts/convert_path.py","docs/skills/daymade-skills/markdown-tools/scripts/extract_pdf_images.py","docs/skills/daymade-skills/mermaid-tools/SKILL.md","docs/skills/daymade-skills/mermaid-tools/references/setup_and_troubleshooting.md","docs/skills/daymade-skills/mermaid-tools/scripts/extract-and-generate.sh","docs/skills/daymade-skills/mermaid-tools/scripts/extract_diagrams.py","docs/skills/daymade-skills/mermaid-tools/scripts/puppeteer-config.json","docs/skills/daymade-skills/pdf-creator/.security-scan-passed","docs/skills/daymade-skills/pdf-creator/SKILL.md","docs/skills/daymade-skills/pdf-creator/scripts/batch_convert.py","docs/skills/daymade-skills/pdf-creator/scripts/md_to_pdf.py","docs/skills/daymade-skills/ppt-creator/SKILL.md","docs/skills/daymade-skills/ppt-creator/references/CHECKLIST.md","docs/skills/daymade-skills/ppt-creator/references/EXAMPLES.md","docs/skills/daymade-skills/ppt-creator/references/INTAKE.md","docs/skills/daymade-skills/ppt-creator/references/ORCHESTRATION_DATA_CHARTS.md","docs/skills/daymade-skills/ppt-creator/references/ORCHESTRATION_OVERVIEW.md","docs/skills/daymade-skills/ppt-creator/references/ORCHESTRATION_PPTX.md","docs/skills/daymade-skills/ppt-creator/references/RUBRIC.md","docs/skills/daymade-skills/ppt-creator/references/STYLE-GUIDE.md","docs/skills/daymade-skills/ppt-creator/references/TEMPLATES.md","docs/skills/daymade-skills/ppt-creator/references/VIS-GUIDE.md","docs/skills/daymade-skills/ppt-creator/references/WORKFLOW.md","docs/skills/daymade-skills/ppt-creator/scripts/chartkit.py","docs/skills/daymade-skills/prompt-optimizer/.security-scan-passed","docs/skills/daymade-skills/prompt-optimizer/SKILL.md","docs/skills/daymade-skills/prompt-optimizer/references/advanced_techniques.md","docs/skills/daymade-skills/prompt-optimizer/references/domain_theories.md","docs/skills/daymade-skills/prompt-optimizer/references/ears_syntax.md","docs/skills/daymade-skills/prompt-optimizer/references/examples.md","docs/skills/daymade-skills/promptfoo-evaluation/.security-scan-passed","docs/skills/daymade-skills/promptfoo-evaluation/SKILL.md","docs/skills/daymade-skills/promptfoo-evaluation/references/promptfoo_api.md","docs/skills/daymade-skills/qa-expert/.security-scan-passed","docs/skills/daymade-skills/qa-expert/SKILL.md","docs/skills/daymade-skills/qa-expert/assets/templates/TEST-CASE-TEMPLATE.md","docs/skills/daymade-skills/qa-expert/references/day1_onboarding.md","docs/skills/daymade-skills/qa-expert/references/google_testing_standards.md","docs/skills/daymade-skills/qa-expert/references/ground_truth_principle.md","docs/skills/daymade-skills/qa-expert/references/llm_prompts_library.md","docs/skills/daymade-skills/qa-expert/references/master_qa_prompt.md","docs/skills/daymade-skills/qa-expert/scripts/calculate_metrics.py","docs/skills/daymade-skills/qa-expert/scripts/init_qa_project.py","docs/skills/daymade-skills/repomix-safe-mixer/SKILL.md","docs/skills/daymade-skills/repomix-safe-mixer/references/common_secrets.md","docs/skills/daymade-skills/repomix-safe-mixer/scripts/safe_pack.py","docs/skills/daymade-skills/repomix-safe-mixer/scripts/scan_secrets.py","docs/skills/daymade-skills/repomix-unmixer/README.md","docs/skills/daymade-skills/repomix-unmixer/SKILL.md","docs/skills/daymade-skills/repomix-unmixer/references/repomix-format.md","docs/skills/daymade-skills/repomix-unmixer/references/validation-workflow.md","docs/skills/daymade-skills/repomix-unmixer/scripts/unmix_repomix.py","docs/skills/daymade-skills/scripts/install.ps1","docs/skills/daymade-skills/scripts/install.sh","docs/skills/daymade-skills/skill-creator/.gitignore","docs/skills/daymade-skills/skill-creator/LICENSE.txt","docs/skills/daymade-skills/skill-creator/SKILL.md","docs/skills/daymade-skills/skill-creator/scripts/init_skill.py","docs/skills/daymade-skills/skill-creator/scripts/package_skill.py","docs/skills/daymade-skills/skill-creator/scripts/quick_validate.py","docs/skills/daymade-skills/skill-creator/scripts/security_scan.py","docs/skills/daymade-skills/skill-reviewer/.security-scan-passed","docs/skills/daymade-skills/skill-reviewer/SKILL.md","docs/skills/daymade-skills/skill-reviewer/references/evaluation_checklist.md","docs/skills/daymade-skills/skill-reviewer/references/marketplace_template.json","docs/skills/daymade-skills/skill-reviewer/references/pr_template.md","docs/skills/daymade-skills/skills-search/.security-scan-passed","docs/skills/daymade-skills/skills-search/SKILL.md","docs/skills/daymade-skills/statusline-generator/SKILL.md","docs/skills/daymade-skills/statusline-generator/references/ccusage_integration.md","docs/skills/daymade-skills/statusline-generator/references/color_codes.md","docs/skills/daymade-skills/statusline-generator/scripts/generate_statusline.sh","docs/skills/daymade-skills/statusline-generator/scripts/install_statusline.sh","docs/skills/daymade-skills/teams-channel-post-writer/SKILL.md","docs/skills/daymade-skills/teams-channel-post-writer/assets/post-template.md","docs/skills/daymade-skills/teams-channel-post-writer/references/writing-guidelines.md","docs/skills/daymade-skills/transcript-fixer/.gitignore","docs/skills/daymade-skills/transcript-fixer/SKILL.md","docs/skills/daymade-skills/transcript-fixer/references/architecture.md","docs/skills/daymade-skills/transcript-fixer/references/best_practices.md","docs/skills/daymade-skills/transcript-fixer/references/database_schema.md","docs/skills/daymade-skills/transcript-fixer/references/dictionary_guide.md","docs/skills/daymade-skills/transcript-fixer/references/file_formats.md","docs/skills/daymade-skills/transcript-fixer/references/glm_api_setup.md","docs/skills/daymade-skills/transcript-fixer/references/installation_setup.md","docs/skills/daymade-skills/transcript-fixer/references/iteration_workflow.md","docs/skills/daymade-skills/transcript-fixer/references/quick_reference.md","docs/skills/daymade-skills/transcript-fixer/references/script_parameters.md","docs/skills/daymade-skills/transcript-fixer/references/sql_queries.md","docs/skills/daymade-skills/transcript-fixer/references/team_collaboration.md","docs/skills/daymade-skills/transcript-fixer/references/troubleshooting.md","docs/skills/daymade-skills/transcript-fixer/references/workflow_guide.md","docs/skills/daymade-skills/transcript-fixer/requirements.txt","docs/skills/daymade-skills/transcript-fixer/scripts/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/check_type_hints.py","docs/skills/daymade-skills/transcript-fixer/scripts/cli/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/cli/argument_parser.py","docs/skills/daymade-skills/transcript-fixer/scripts/cli/commands.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/ai_processor.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/ai_processor_async.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/change_extractor.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/connection_pool.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/correction_repository.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/correction_service.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/dictionary_processor.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/learning_engine.py","docs/skills/daymade-skills/transcript-fixer/scripts/core/schema.sql","docs/skills/daymade-skills/transcript-fixer/scripts/ensure_deps.py","docs/skills/daymade-skills/transcript-fixer/scripts/examples/bulk_import.py","docs/skills/daymade-skills/transcript-fixer/scripts/fix_transcript_enhanced.py","docs/skills/daymade-skills/transcript-fixer/scripts/fix_transcription.py","docs/skills/daymade-skills/transcript-fixer/scripts/generate_word_diff.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_audit_log_retention.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_connection_pool.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_correction_service.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_domain_validator.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_error_recovery.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_learning_engine.py","docs/skills/daymade-skills/transcript-fixer/scripts/tests/test_path_validator.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/audit_log_retention.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/concurrency_manager.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/config.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/database_migration.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/db_migrations_cli.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/__init__.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/change_extractor.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/html_format.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/inline_format.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/markdown_format.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/text_splitter.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_formats/unified_format.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/diff_generator.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/domain_validator.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/health_check.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/logging_config.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/metrics.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/migrations.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/path_validator.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/rate_limiter.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/retry_logic.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/security.py","docs/skills/daymade-skills/transcript-fixer/scripts/utils/validation.py","docs/skills/daymade-skills/twitter-reader/.security-scan-passed","docs/skills/daymade-skills/twitter-reader/SKILL.md","docs/skills/daymade-skills/twitter-reader/scripts/fetch_tweet.py","docs/skills/daymade-skills/twitter-reader/scripts/fetch_tweets.sh","docs/skills/daymade-skills/ui-designer/SKILL.md","docs/skills/daymade-skills/ui-designer/assets/app-overview-generator.md","docs/skills/daymade-skills/ui-designer/assets/design-system.md","docs/skills/daymade-skills/ui-designer/assets/vibe-design-template.md","docs/skills/daymade-skills/video-comparer/.security-scan-passed","docs/skills/daymade-skills/video-comparer/README.md","docs/skills/daymade-skills/video-comparer/SKILL.md","docs/skills/daymade-skills/video-comparer/assets/template.html","docs/skills/daymade-skills/video-comparer/references/configuration.md","docs/skills/daymade-skills/video-comparer/references/ffmpeg_commands.md","docs/skills/daymade-skills/video-comparer/references/video_metrics.md","docs/skills/daymade-skills/video-comparer/scripts/compare.py","docs/skills/daymade-skills/youtube-downloader/.security-scan-passed","docs/skills/daymade-skills/youtube-downloader/SKILL.md","docs/skills/daymade-skills/youtube-downloader/references/po-token-setup.md","docs/skills/daymade-skills/youtube-downloader/scripts/download_video.py","docs/skills/eval-harness/SKILL.md","docs/skills/frontend-patterns/SKILL.md","docs/skills/haizhan-ime-development.md","docs/skills/hizan-official/.claude-plugin/marketplace.json","docs/skills/hizan-official/skills/arch/SKILL.md","docs/skills/hizan-official/skills/game/SKILL.md","docs/skills/hizan-official/skills/quality/SKILL.md","docs/skills/hizan-official/skills/work/SKILL.md","docs/skills/juhi/tool-usage.md","docs/skills/mhattingpete-skills/.claude-plugin/marketplace.json","docs/skills/mhattingpete-skills/.claude/install-gh.sh","docs/skills/mhattingpete-skills/.claude/settings.json","docs/skills/mhattingpete-skills/.gitignore","docs/skills/mhattingpete-skills/CHANGELOG.md","docs/skills/mhattingpete-skills/CLAUDE.md","docs/skills/mhattingpete-skills/CONTRIBUTING.md","docs/skills/mhattingpete-skills/LICENSE","docs/skills/mhattingpete-skills/README.md","docs/skills/mhattingpete-skills/assets/skill-loading.gif","docs/skills/mhattingpete-skills/code-operations-plugin/.claude-plugin/plugin.json","docs/skills/mhattingpete-skills/code-operations-plugin/README.md","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-execution/SKILL.md","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-execution/examples/bulk_refactor.py","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-execution/examples/codebase_audit.py","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-execution/examples/extract_functions.py","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-refactor/SKILL.md","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-transfer/SKILL.md","docs/skills/mhattingpete-skills/code-operations-plugin/skills/code-transfer/scripts/line_insert.py","docs/skills/mhattingpete-skills/code-operations-plugin/skills/file-operations/SKILL.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/.claude-plugin/plugin.json","docs/skills/mhattingpete-skills/engineering-workflow-plugin/README.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/agents/ensemble-orchestrator/AGENT.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/agents/plan-implementer.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/commands/pr.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/ensemble-solving/SKILL.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/ensemble-solving/references/diversification-strategies.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/ensemble-solving/references/evaluation-rubrics.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/feature-planning/SKILL.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/feature-planning/references/planning-best-practices.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/git-pushing/SKILL.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/git-pushing/scripts/smart_commit.sh","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/review-implementing/SKILL.md","docs/skills/mhattingpete-skills/engineering-workflow-plugin/skills/test-fixing/SKILL.md","docs/skills/mhattingpete-skills/execution-runtime/.env.example","docs/skills/mhattingpete-skills/execution-runtime/README.md","docs/skills/mhattingpete-skills/execution-runtime/api/__init__.py","docs/skills/mhattingpete-skills/execution-runtime/api/code_analysis.py","docs/skills/mhattingpete-skills/execution-runtime/api/code_transform.py","docs/skills/mhattingpete-skills/execution-runtime/api/filesystem.py","docs/skills/mhattingpete-skills/execution-runtime/api/git_operations.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/__init__.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/security/__init__.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/security/import_guard.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/security/pii_detector.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/sessions.py","docs/skills/mhattingpete-skills/execution-runtime/execution_runtime/skills.py","docs/skills/mhattingpete-skills/execution-runtime/mcp-server/mcp_server.py","docs/skills/mhattingpete-skills/execution-runtime/mcp-server/security/pii_detector.py","docs/skills/mhattingpete-skills/execution-runtime/mcp-server/security/sandbox.py","docs/skills/mhattingpete-skills/execution-runtime/pyproject.toml","docs/skills/mhattingpete-skills/execution-runtime/setup.sh","docs/skills/mhattingpete-skills/productivity-skills-plugin/.claude-plugin/plugin.json","docs/skills/mhattingpete-skills/productivity-skills-plugin/README.md","docs/skills/mhattingpete-skills/productivity-skills-plugin/skills/code-auditor/SKILL.md","docs/skills/mhattingpete-skills/productivity-skills-plugin/skills/codebase-documenter/SKILL.md","docs/skills/mhattingpete-skills/productivity-skills-plugin/skills/conversation-analyzer/SKILL.md","docs/skills/mhattingpete-skills/productivity-skills-plugin/skills/conversation-analyzer/scripts/analyze_history.py","docs/skills/mhattingpete-skills/productivity-skills-plugin/skills/project-bootstrapper/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/.claude-plugin/plugin.json","docs/skills/mhattingpete-skills/visual-documentation-plugin/EXAMPLES.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/README.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/architecture-diagram-creator/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/architecture-diagram-creator/assets/templates/architecture_components.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/architecture-diagram-creator/assets/templates/base_template.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/architecture-diagram-creator/references/example_architecture.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/dashboard-creator/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/dashboard-creator/assets/templates/base_template.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/dashboard-creator/assets/templates/dashboard_components.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/dashboard-creator/references/design_patterns.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/dashboard-creator/references/svg_library.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/flowchart-creator/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/flowchart-creator/assets/templates/base_template.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/flowchart-creator/assets/templates/flowchart_components.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/flowchart-creator/references/design_patterns.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/flowchart-creator/references/svg_library.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/technical-doc-creator/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/technical-doc-creator/assets/templates/base_template.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/technical-doc-creator/references/design_patterns.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/technical-doc-creator/references/svg_library.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/timeline-creator/SKILL.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/timeline-creator/assets/templates/base_template.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/timeline-creator/assets/templates/timeline_components.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/timeline-creator/references/design_patterns.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/skills/timeline-creator/references/svg_library.md","docs/skills/mhattingpete-skills/visual-documentation-plugin/test-outputs/dashboard-test-monitoring.html","docs/skills/mhattingpete-skills/visual-documentation-plugin/test-outputs/flowchart-test-authentication.html","docs/skills/netresearch-marketplace/.claude-plugin/marketplace.json","docs/skills/netresearch-marketplace/.github/workflows/sync-skills.yml","docs/skills/netresearch-marketplace/.gitignore","docs/skills/netresearch-marketplace/.sync-config.json","docs/skills/netresearch-marketplace/README.md","docs/skills/netresearch-marketplace/SYNC-SETUP.md","docs/skills/netresearch-marketplace/VERSIONING.md","docs/skills/netresearch-marketplace/notify-marketplace.yml","docs/skills/netresearch-marketplace/plugins/coach/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/plugins/coach/LICENSE","docs/skills/netresearch-marketplace/plugins/coach/README.md","docs/skills/netresearch-marketplace/plugins/coach/assets/templates/antipattern.md","docs/skills/netresearch-marketplace/plugins/coach/assets/templates/checklist.md","docs/skills/netresearch-marketplace/plugins/coach/assets/templates/rule.md","docs/skills/netresearch-marketplace/plugins/coach/assets/templates/snippet.md","docs/skills/netresearch-marketplace/plugins/coach/commands/approve.md","docs/skills/netresearch-marketplace/plugins/coach/commands/edit.md","docs/skills/netresearch-marketplace/plugins/coach/commands/init.md","docs/skills/netresearch-marketplace/plugins/coach/commands/promote.md","docs/skills/netresearch-marketplace/plugins/coach/commands/reject.md","docs/skills/netresearch-marketplace/plugins/coach/commands/review.md","docs/skills/netresearch-marketplace/plugins/coach/commands/scan.md","docs/skills/netresearch-marketplace/plugins/coach/commands/status.md","docs/skills/netresearch-marketplace/plugins/coach/hooks/hooks.json","docs/skills/netresearch-marketplace/plugins/coach/references/architecture.md","docs/skills/netresearch-marketplace/plugins/coach/references/schema.md","docs/skills/netresearch-marketplace/plugins/coach/references/scope_heuristics.md","docs/skills/netresearch-marketplace/plugins/coach/references/signal_patterns.md","docs/skills/netresearch-marketplace/plugins/coach/scripts/aggregate.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/apply.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/detect_signals.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/fingerprint.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/init_coach.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/ledger.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/propose.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/root_cause_analyzer.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/scope_analyzer.py","docs/skills/netresearch-marketplace/plugins/coach/scripts/skill_analyzer.py","docs/skills/netresearch-marketplace/plugins/coach/skills/coach/SKILL.md","docs/skills/netresearch-marketplace/renovate.json","docs/skills/netresearch-marketplace/skills/agents/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/agents/LICENSE","docs/skills/netresearch-marketplace/skills/agents/README.md","docs/skills/netresearch-marketplace/skills/agents/STATUS.md","docs/skills/netresearch-marketplace/skills/agents/claudedocs/refactoring-summary.md","docs/skills/netresearch-marketplace/skills/agents/composer.json","docs/skills/netresearch-marketplace/skills/agents/docs/ROADMAP.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/SKILL.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/root-thin.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/root-verbose.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/backend-go.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/backend-php.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/cli.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/documentation.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/examples.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/frontend-typescript.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/resources.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/assets/scoped/testing.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/analysis.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/directory-coverage.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/coding-agent-cli/AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/coding-agent-cli/scripts-AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/ldap-selfservice/AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/ldap-selfservice/internal-AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/ldap-selfservice/internal-web-AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/simple-ldap-go/AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/simple-ldap-go/examples-AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/t3x-rte-ckeditor-image/AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/references/examples/t3x-rte-ckeditor-image/Classes-AGENTS.md","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/analyze-git-history.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/check-freshness.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/detect-project.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/detect-scopes.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-agent-configs.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-ci-commands.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-commands.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-documentation.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-ide-settings.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-platform-files.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/extract-quality-configs.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/generate-agents.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/lib/summary.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/lib/template.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/validate-structure.sh","docs/skills/netresearch-marketplace/skills/agents/skills/agents/scripts/verify-content.sh","docs/skills/netresearch-marketplace/skills/cli-tools/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/cli-tools/LICENSE","docs/skills/netresearch-marketplace/skills/cli-tools/README.md","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ansible-core.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ast-grep.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/aws.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/bandit.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/bat.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/black.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/claude.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/codex.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/compose.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/composer.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ctags.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/curlie.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/dasel.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/delta.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/direnv.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/dive.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/docker.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/entr.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/eslint.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/fd.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/flake8.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/fx.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/fzf.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/gam.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/gem.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/gh.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/git-absorb.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/git-branchless.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/git-filter-repo.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/git-lfs.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/git.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/gitleaks.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/glab.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/go.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/golangci-lint.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/gosec.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/httpie.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/isort.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/jq.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/just.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/kubectl.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ninja.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/node.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/npm.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/parallel.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/php.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/pip.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/pipx.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/pnpm.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/poetry.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/pre-commit.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/prename.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/prettier.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/python.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/rbenv.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/rename.ul.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/rga.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ripgrep.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ruby-build.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ruby.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/ruff.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/rust.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/sd.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/semgrep.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/shellcheck.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/shfmt.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/sponge.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/terraform.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/tfsec.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/trivy.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/uv.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/watchexec.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/xsv.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/yarn.json","docs/skills/netresearch-marketplace/skills/cli-tools/catalog/yq.json","docs/skills/netresearch-marketplace/skills/cli-tools/composer.json","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/SKILL.md","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/references/binary_to_tool_map.md","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/references/project_type_requirements.md","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/auto_update.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/check_environment.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/detect_project_type.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/install_composer.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/install_tool.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/aws_installer.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/dedicated_script.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/github_clone.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/github_release_binary.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/hashicorp_zip.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/npm_global.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/npm_self_update.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/package_manager.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/installers/uv_tool.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/capability.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/catalog.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/common.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/dependency.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/install_strategy.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/path_check.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/policy.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/reconcile.sh","docs/skills/netresearch-marketplace/skills/cli-tools/skills/cli-tools/scripts/lib/scope_detection.sh","docs/skills/netresearch-marketplace/skills/context7/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/context7/LICENSE","docs/skills/netresearch-marketplace/skills/context7/README.md","docs/skills/netresearch-marketplace/skills/context7/skills/context7/SKILL.md","docs/skills/netresearch-marketplace/skills/context7/skills/context7/scripts/context7.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/enterprise-readiness/LICENSE","docs/skills/netresearch-marketplace/skills/enterprise-readiness/README.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/ARCHITECTURE.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/BADGE_EXCEPTIONS.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/CODE_OF_CONDUCT.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/GOVERNANCE.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/ROADMAP.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/templates/SECURITY_AUDIT.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/workflows/codeql.yml","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/workflows/dco-check.yml","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/workflows/dependency-review.yml","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/workflows/scorecard.yml","docs/skills/netresearch-marketplace/skills/enterprise-readiness/assets/workflows/slsa-provenance.yml","docs/skills/netresearch-marketplace/skills/enterprise-readiness/composer.json","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/SKILL.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/2fa-enforcement.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/badge-display.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/branch-coverage.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/dco-implementation.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/dynamic-analysis.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/general.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/github.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/go.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/openssf-badge-gold.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/openssf-badge-silver.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/quick-start-guide.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/reproducible-builds.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/security-hardening.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/signed-releases.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/solo-maintainer-guide.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/sonarcloud.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/references/test-invocation.md","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/add-spdx-headers.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/analyze-bus-factor.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/check-branch-coverage.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/check-coverage-threshold.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/check-tls-minimum.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/verify-badge-criteria.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/verify-reproducible-build.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/verify-review-requirements.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/verify-signed-tags.sh","docs/skills/netresearch-marketplace/skills/enterprise-readiness/skills/enterprise-readiness/scripts/verify-spdx-headers.sh","docs/skills/netresearch-marketplace/skills/git-workflow/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/git-workflow/LICENSE","docs/skills/netresearch-marketplace/skills/git-workflow/README.md","docs/skills/netresearch-marketplace/skills/git-workflow/composer.json","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/SKILL.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/advanced-git.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/branching-strategies.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/ci-cd-integration.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/commit-conventions.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/github-releases.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/references/pull-request-workflow.md","docs/skills/netresearch-marketplace/skills/git-workflow/skills/git-workflow/scripts/verify-git-workflow.sh","docs/skills/netresearch-marketplace/skills/github-project/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/github-project/LICENSE","docs/skills/netresearch-marketplace/skills/github-project/README.md","docs/skills/netresearch-marketplace/skills/github-project/composer.json","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/SKILL.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/CODEOWNERS.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/CONTRIBUTING.md.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/PULL_REQUEST_TEMPLATE.md.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/SECURITY.md.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/auto-merge-direct.yml.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/auto-merge-queue.yml.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/auto-merge.yml.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/bug_report.md.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/dependabot.yml.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/feature_request.md.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/release-labeler.yml.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/assets/renovate.json.template","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/references/branch-migration.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/references/dependency-management.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/references/release-labeling.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/references/repository-structure.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/references/sub-issues.md","docs/skills/netresearch-marketplace/skills/github-project/skills/github-project/scripts/verify-github-project.sh","docs/skills/netresearch-marketplace/skills/go-development/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/go-development/LICENSE","docs/skills/netresearch-marketplace/skills/go-development/README.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/SKILL.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/api-design.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/architecture.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/docker.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/fuzz-testing.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/ldap.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/linting.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/makefile.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/mutation-testing.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/resilience.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/references/testing.md","docs/skills/netresearch-marketplace/skills/go-development/skills/go-development/scripts/verify-go-project.sh","docs/skills/netresearch-marketplace/skills/jira-integration/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/jira-integration/AGENTS.md","docs/skills/netresearch-marketplace/skills/jira-integration/CHANGELOG.md","docs/skills/netresearch-marketplace/skills/jira-integration/CLAUDE.md","docs/skills/netresearch-marketplace/skills/jira-integration/LICENSE","docs/skills/netresearch-marketplace/skills/jira-integration/MIGRATION.md","docs/skills/netresearch-marketplace/skills/jira-integration/PRD.md","docs/skills/netresearch-marketplace/skills/jira-integration/README.md","docs/skills/netresearch-marketplace/skills/jira-integration/SKILL.md","docs/skills/netresearch-marketplace/skills/jira-integration/composer.json","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/AGENTS.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/SKILL.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/references/jql-quick-reference.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/references/troubleshooting.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-attachment.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-issue.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-search.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-setup.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-validate.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/core/jira-worklog.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/lib/__init__.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/lib/client.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/lib/config.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/lib/output.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/utility/jira-fields.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/utility/jira-link.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/utility/jira-user.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/workflow/jira-board.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/workflow/jira-comment.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/workflow/jira-create.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/workflow/jira-sprint.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-communication/scripts/workflow/jira-transition.py","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/AGENTS.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/SKILL.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/references/jira-syntax-quick-reference.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/scripts/validate-jira-syntax.sh","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/templates/bug-report-template.md","docs/skills/netresearch-marketplace/skills/jira-integration/skills/jira-syntax/templates/feature-request-template.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/netresearch-branding/LICENSE","docs/skills/netresearch-marketplace/skills/netresearch-branding/README.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/assets/logos/netresearch-symbol-only.svg","docs/skills/netresearch-marketplace/skills/netresearch-branding/composer.json","docs/skills/netresearch-marketplace/skills/netresearch-branding/examples/components.html","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/SKILL.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/references/colors.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/references/typo3-extension-branding.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/references/typography.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/references/web-design.md","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/templates/landing-page.html","docs/skills/netresearch-marketplace/skills/netresearch-branding/skills/netresearch-branding/templates/styles.css","docs/skills/netresearch-marketplace/skills/php-modernization/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/php-modernization/LICENSE","docs/skills/netresearch-marketplace/skills/php-modernization/README.md","docs/skills/netresearch-marketplace/skills/php-modernization/composer.json","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/SKILL.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/adapter-registry-pattern.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/migration-strategies.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/php8-features.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/phpstan-compliance.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/psr-per-compliance.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/request-dtos.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/static-analysis-tools.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/symfony-patterns.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/references/type-safety.md","docs/skills/netresearch-marketplace/skills/php-modernization/skills/php-modernization/scripts/verify-php-project.sh","docs/skills/netresearch-marketplace/skills/security-audit/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/security-audit/LICENSE","docs/skills/netresearch-marketplace/skills/security-audit/README.md","docs/skills/netresearch-marketplace/skills/security-audit/composer.json","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/SKILL.md","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/references/api-key-encryption.md","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/references/cvss-scoring.md","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/references/owasp-top10.md","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/references/xxe-prevention.md","docs/skills/netresearch-marketplace/skills/security-audit/skills/security-audit/scripts/security-audit.sh","docs/skills/netresearch-marketplace/skills/skill-repo/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/skill-repo/LICENSE","docs/skills/netresearch-marketplace/skills/skill-repo/README.md","docs/skills/netresearch-marketplace/skills/skill-repo/composer.json","docs/skills/netresearch-marketplace/skills/skill-repo/renovate.json","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/SKILL.md","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/references/composer-setup.md","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/references/installation-methods.md","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/references/marketplace-integration.md","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/scripts/validate-skill.sh","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/templates/README.md.template","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/templates/composer.json.template","docs/skills/netresearch-marketplace/skills/skill-repo/skills/skill-repo/templates/release.yml.template","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/README.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/composer.json","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/references/ckeditor5-architecture.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/references/migration-guide.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/references/plugin-development.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/references/typo3-integration.md","docs/skills/netresearch-marketplace/skills/typo3-ckeditor5/skills/typo3-ckeditor5/scripts/verify-ckeditor5.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-conformance/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-conformance/README.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/composer.json","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/assets/.github/workflows/publish-to-ter.yml","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/backend-module-v13.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/backend-wizard-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/best-practices.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/coding-guidelines.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/composer-validation.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/crowdin-integration.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/development-environment.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/directory-structure.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/dual-version-compatibility.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/excellence-indicators.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/ext-emconf-validation.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/ext-files-validation.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/extension-architecture.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/hooks-and-events.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/multi-tier-configuration.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/php-architecture.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/report-template.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/runtests-validation.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/ter-publishing.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/testing-standards.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/v13-deprecations.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/references/version-requirements.md","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-architecture.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-coding-standards.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-conformance.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-documentation.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-file-structure.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-phpstan-baseline.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/check-testing.sh","docs/skills/netresearch-marketplace/skills/typo3-conformance/skills/typo3-conformance/scripts/generate-report.sh","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/README.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/assets/commit-template.txt","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/claudedocs/refactoring-summary.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/composer.json","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/account-setup.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/commit-message-format.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/commit-msg-hook.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/ddev-setup-workflow.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/forge-api.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/gerrit-review-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/gerrit-workflow.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/modern-typo3-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/references/troubleshooting.md","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/create-commit-message.py","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/create-forge-issue.sh","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/query-forge-metadata.sh","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/setup-typo3-coredev.sh","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/validate-commit-message.py","docs/skills/netresearch-marketplace/skills/typo3-core-contributions/skills/typo3-core-contributions/scripts/verify-prerequisites.sh","docs/skills/netresearch-marketplace/skills/typo3-ddev/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-ddev/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-ddev/README.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/composer.json","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/.envrc","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/Makefile.template","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/README-SERVICES.md.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/apache/apache-site.conf","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/host/docs","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/host/pre-start-git-info","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/host/setup","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/install-all","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/install-v11","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/install-v12","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/install-v13","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/web/configure-extension.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/web/generate-index","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/web/generate-makefile","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/commands/web/install-introduction.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/config.redis.php.example","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/config.yaml","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/docker-compose.git-info.yaml","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/docker-compose.ofelia.yaml.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/docker-compose.services-redis.yaml.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/docker-compose.services.yaml.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/docker-compose.web.yaml","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/homeadditions/.bashrc_additions.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/index.html.netresearch.template","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/index.html.typo3.template","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/web-build/Dockerfile","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/web-build/install-cron.sh.optional","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/assets/templates/web-entrypoint.d/10-cleanup-index.sh","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/0001-valkey-default-with-redis-alternative.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/0002-mariadb-default-with-database-alternatives.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/0003-php-version-management.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/advanced-options.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/documentation-rendering.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/index-page-generation.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/prerequisites-validation.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/quickstart.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/troubleshooting.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/typo3-12-cli-changes.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/windows-fixes.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/references/windows-optimizations.md","docs/skills/netresearch-marketplace/skills/typo3-ddev/skills/typo3-ddev/scripts/validate-prerequisites.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-docs/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-docs/README.md","docs/skills/netresearch-marketplace/skills/typo3-docs/composer.json","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/assets/AGENTS.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/architecture-decision-records.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/code-structure-elements.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/coding-guidelines.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/content-directives.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/documentation-coverage-analysis.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/extraction-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/file-structure.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/guides-xml.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/intercept-deployment.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/rendering.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/rst-syntax.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/screenshots.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/text-roles-inline-code.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/typo3-directives.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/references/typo3-extension-architecture.md","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/add-agents-md.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/analyze-docs.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-all.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-build-configs.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-composer.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-extension-config.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-php.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-project-files.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/extract-repo-metadata.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/render_docs.sh","docs/skills/netresearch-marketplace/skills/typo3-docs/skills/typo3-docs/scripts/validate_docs.sh","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/README.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/composer.json","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/assets/.php-cs-fixer.php","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/assets/fractor.php","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/assets/phpstan.neon","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/assets/phpunit.xml","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/assets/rector.php","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/api-changes.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/dual-compatibility.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/pre-upgrade.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/real-world-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/upgrade-v11-to-v12.md","docs/skills/netresearch-marketplace/skills/typo3-extension-upgrade/skills/typo3-extension-upgrade/references/upgrade-v12-to-v13.md","docs/skills/netresearch-marketplace/skills/typo3-testing/.claude-plugin/plugin.json","docs/skills/netresearch-marketplace/skills/typo3-testing/LICENSE","docs/skills/netresearch-marketplace/skills/typo3-testing/README.md","docs/skills/netresearch-marketplace/skills/typo3-testing/composer.json","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/SKILL.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/.php-cs-fixer.dist.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/AGENTS.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/FunctionalTests.xml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/FunctionalTestsBootstrap.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/Makefile","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/UnitTests.xml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/UnitTestsBootstrap.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/bootstrap.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/codecov.yml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/docker/codeception.yml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/docker/docker-compose.yml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/example-tests/ExampleAcceptanceCest.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/example-tests/ExampleFunctionalTest.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/example-tests/ExampleUnitTest.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/fixtures/README.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/fixtures/be_users.csv","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/fixtures/pages.csv","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/fixtures/sys_category.csv","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/fixtures/tt_content.csv","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/github-actions-e2e.yml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/github-actions-tests.yml","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/infection.json5","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/phpat.neon","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/phpat.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/phpstan-baseline.neon","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/phpstan.neon","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/assets/rector.php","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/accessibility-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/architecture-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/ci-cd.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/crypto-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/ddev-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/e2e-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/functional-test-patterns.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/functional-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/fuzz-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/integration-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/javascript-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/mutation-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/performance-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/quality-tools.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/sonarcloud.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/test-runners.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/typo3-v14-final-classes.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/references/unit-testing.md","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/scripts/generate-test.sh","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/scripts/setup-testing.sh","docs/skills/netresearch-marketplace/skills/typo3-testing/skills/typo3-testing/scripts/validate-setup.sh","docs/skills/netresearch-marketplace/update-source-repos.sh","docs/skills/project-guidelines-example/SKILL.md","docs/skills/security-review/SKILL.md","docs/skills/strategic-compact/SKILL.md","docs/skills/strategic-compact/suggest-compact.sh","docs/skills/tdd-workflow/SKILL.md","docs/skills/verification-loop/SKILL.md","docs/话术库导出_20251231103252.xlsx","docs_archive/AI_INPUT_METHOD_BRAINSTORM.md","docs_archive/ANDROID_100_PERCENT_PLAN.md","docs_archive/ANDROID_NATIVE_REPLACEMENT_DETAILED_PLAN.md","docs_archive/ANDROID_NATIVE_REPLACEMENT_PLAN.md","docs_archive/API.md","docs_archive/APPLE_PLATFORM_DEVELOPMENT_PLAN.md","docs_archive/ARCHITECTURE.md","docs_archive/ARCHITECTURE_COMPACT.md","docs_archive/CLAUDE.md","docs_archive/COMPREHENSIVE_IMPROVEMENT_PLAN.md","docs_archive/DEPLOYMENT.md","docs_archive/DESIGN_BASED_DEVELOPMENT_PLAN.md","docs_archive/DEVELOPMENT_ROADMAP.md","docs_archive/DICTIONARY_IMPROVEMENT_PLAN.md","docs_archive/DOCS_INDEX.md","docs_archive/IMPLEMENTATION_PLAN.md","docs_archive/IMPROVEMENT_RECOMMENDATIONS.md","docs_archive/IOS_DEVELOPMENT_PLAN.md","docs_archive/NEXT_STEPS_PLAN.md","docs_archive/PINYIN_DEVELOPMENT_PLAN.md","docs_archive/PRD.md","docs_archive/PROGRESS_TRACKER.md","docs_archive/README.md","docs_archive/REDLINES.md","docs_archive/SMART_RECOGNITION_COMPACT.md","docs_archive/TECHNICAL_ARCHITECTURE.md","docs_archive/UI_DEVELOPMENT_PLAN.md","docs_archive/smart-recognition-design.md","flutter_app/assets/fonts/PingFang-Medium.ttf","flutter_app/assets/fonts/PingFang-Regular.ttf","flutter_app/assets/fonts/PingFang-Semibold.ttf","flutter_app/assets/icons/.gitkeep","flutter_app/assets/images/.gitkeep","flutter_app/lib/core/bridge/bridge_models.dart","flutter_app/lib/core/bridge/bridge_response_parser.dart","flutter_app/lib/core/bridge/haizhan_bridge.dart","flutter_app/lib/core/di/service_locator.dart","flutter_app/lib/core/router/app_router.dart","flutter_app/lib/core/router/routes.dart","flutter_app/lib/core/theme/app_colors.dart","flutter_app/lib/core/theme/app_theme.dart","flutter_app/lib/core/theme/app_typography.dart","flutter_app/lib/features/auth/data/auth_provider.dart","flutter_app/lib/features/auth/data/auth_repository.dart","flutter_app/lib/features/auth/domain/auth_models.dart","flutter_app/lib/features/auth/presentation/login_screen.dart","flutter_app/lib/features/auth/presentation/register_screen.dart","flutter_app/lib/features/chat/data/ai_provider.dart","flutter_app/lib/features/chat/data/ai_repository.dart","flutter_app/lib/features/chat/domain/ai_reply_models.dart","flutter_app/lib/features/chat/presentation/chat_screen.dart","flutter_app/lib/features/chat/presentation/conversation_screen.dart","flutter_app/lib/features/contacts/data/contact_360_provider.dart","flutter_app/lib/features/contacts/data/contacts_provider.dart","flutter_app/lib/features/contacts/data/contacts_repository.dart","flutter_app/lib/features/contacts/domain/contact_models.dart","flutter_app/lib/features/contacts/presentation/contact_detail_screen.dart","flutter_app/lib/features/contacts/presentation/contacts_screen.dart","flutter_app/lib/features/home/presentation/home_screen.dart","flutter_app/lib/features/home/presentation/main_shell.dart","flutter_app/lib/features/knowledge/data/knowledge_provider.dart","flutter_app/lib/features/knowledge/data/knowledge_repository.dart","flutter_app/lib/features/knowledge/domain/knowledge_models.dart","flutter_app/lib/features/knowledge/presentation/knowledge_screen.dart","flutter_app/lib/features/profile/presentation/profile_screen.dart","flutter_app/lib/features/search/data/models/search_metrics.dart","flutter_app/lib/features/search/presentation/widgets/search_metrics_indicator.dart","flutter_app/lib/features/settings/presentation/settings_screen.dart","flutter_app/lib/features/stats/presentation/stats_screen.dart","flutter_app/lib/features/stats/presentation/widgets/contact_stats_tab.dart","flutter_app/lib/features/stats/presentation/widgets/overview_tab.dart","flutter_app/lib/features/stats/presentation/widgets/reply_stats_tab.dart","flutter_app/lib/features/stats/presentation/widgets/stats_shared_widgets.dart","flutter_app/lib/features/support/presentation/about_screen.dart","flutter_app/lib/features/support/presentation/feedback_screen.dart","flutter_app/lib/features/support/presentation/help_screen.dart","flutter_app/lib/features/support/presentation/privacy_screen.dart","flutter_app/lib/features/support/presentation/terms_screen.dart","flutter_app/lib/main.dart","flutter_app/lib/shared/widgets/stat_card.dart","flutter_app/pigeons/haizhan_api.dart","flutter_app/pubspec.lock","flutter_app/pubspec.yaml","flutter_app/test/core/network/api_client_test.dart","flutter_app/test/core/theme/theme_provider_test.dart","flutter_app/test/features/auth/login_screen_test.dart","flutter_app/test/features/chat/chat_screen_test.dart","flutter_app/test/features/contacts/contacts_screen_test.dart","flutter_app/test/features/home/home_screen_test.dart","flutter_app/test/features/knowledge/knowledge_screen_test.dart","flutter_app/test/features/profile/profile_screen_test.dart","flutter_app/test/features/settings/settings_screen_test.dart","flutter_app/test/features/statistics/statistics_screen_test.dart","flutter_app/test/features/stats/stats_screen_test.dart","flutter_app/test/integration/app_integration_test.dart","flutter_app/test/providers/auth_provider_test.dart","flutter_app/test/services/api_service_test.dart","flutter_app/test/widgets/contact_card_test.dart","gradle.properties","gradle/libs.versions.toml","gradle/wrapper/gradle-wrapper.jar","gradle/wrapper/gradle-wrapper.properties","gradlew","gradlew.bat","ime-core/build.gradle.kts","ime-core/consumer-rules.pro","ime-core/proguard-rules.pro","ime-core/src/androidTest/java/com/haizhan/ime/core/handwriting/HandwritingIntegrationTest.kt","ime-core/src/androidTest/java/com/haizhan/ime/core/handwriting/HandwritingPerformanceTest.kt","ime-core/src/androidTest/java/com/haizhan/ime/core/handwriting/HandwritingViewTest.kt","ime-core/src/main/AndroidManifest.xml","ime-core/src/main/assets/dictionaries/system/core-char.txt","ime-core/src/main/assets/dictionaries/system/core-merged.txt","ime-core/src/main/assets/dictionaries/system/core-phrase.txt","ime-core/src/main/assets/dictionaries/system/core-word2.txt","ime-core/src/main/assets/dictionaries/system/core-word3.txt","ime-core/src/main/assets/dictionaries/system/core-word4.txt","ime-core/src/main/assets/handwriting_labels_casia.txt","ime-core/src/main/assets/paddle_models/ppocr_keys_v1.txt","ime-core/src/main/cpp/CMakeLists.txt","ime-core/src/main/cpp/include/paddle_api.h","ime-core/src/main/cpp/include/paddle_image_preprocess.h","ime-core/src/main/cpp/include/paddle_lite_factory_helper.h","ime-core/src/main/cpp/include/paddle_place.h","ime-core/src/main/cpp/include/paddle_use_kernels.h","ime-core/src/main/cpp/include/paddle_use_ops.h","ime-core/src/main/cpp/include/paddle_use_passes.h","ime-core/src/main/cpp/paddle_lite_jni.cpp","ime-core/src/main/cpp/paddle_ocr_jni.cpp","ime-core/src/main/java/com/haizhan/ime/core/context/ChatContext.kt","ime-core/src/main/java/com/haizhan/ime/core/context/ChatContextProvider.kt","ime-core/src/main/java/com/haizhan/ime/core/context/ContextAnalyzer.kt","ime-core/src/main/java/com/haizhan/ime/core/context/ContextAwareRanker.kt","ime-core/src/main/java/com/haizhan/ime/core/context/WordCategoryClassifier.kt","ime-core/src/main/java/com/haizhan/ime/core/di/ImeCoreModule.kt","ime-core/src/main/java/com/haizhan/ime/core/di/PerformanceModule.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/ImeEngine.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/EnglishKeyHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/HandwritingKeyHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/KeyPressDispatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/KeyPressHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/PinyinKeyHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/SymbolKeyHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/engine/handler/VoiceKeyHandler.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/HaizhanHandwritingApiClient.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/HandwritingKeyboard.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/HandwritingManager.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/HandwritingToolbar.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/HandwritingView.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/IHandwritingRecognizer.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/ModelDownloader.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/PaddleLiteRecognizer.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/RecognitionConfig.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/Stroke.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/StrokeCache.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/StrokePreprocessor.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/StrokeSegmenter.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/TFLiteRecognizer.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/UnifiedRecognitionEngine.kt","ime-core/src/main/java/com/haizhan/ime/core/handwriting/di/HandwritingModule.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/CandidatesView.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/EnhancedCandidatesView.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/ImeContentLayout.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/ImeLayoutConstants.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/InputModeToolbar.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/KeyboardLayout.kt","ime-core/src/main/java/com/haizhan/ime/core/keyboard/KeyboardView.kt","ime-core/src/main/java/com/haizhan/ime/core/ocr/IOcrEngine.kt","ime-core/src/main/java/com/haizhan/ime/core/ocr/OcrImageProcessor.kt","ime-core/src/main/java/com/haizhan/ime/core/ocr/OcrModels.kt","ime-core/src/main/java/com/haizhan/ime/core/ocr/PaddleOcrEngine.kt","ime-core/src/main/java/com/haizhan/ime/core/ocr/README.md","ime-core/src/main/java/com/haizhan/ime/core/ocr/di/OcrModule.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/BuiltinDictionary.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/Candidate.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/CloudPinyinService.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/CloudSyncService.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/DictModels.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/DictionaryFileParser.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/DictionaryHotReloader.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/DictionaryImporter.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/DictionaryReloader.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/EnterpriseDictionary.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/FuzzyPinyinConfig.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/HotWordService.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/ImportResult.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/InputPredictor.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/LocalDictionary.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/NgramData.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/NgramModel.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/NineGridMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/PinyinSegmenterImpl.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/PinyinService.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/PinyinServiceImpl.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/PinyinSplitter.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/SmartErrorCorrector.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/SystemDatDictionary.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/UserPreferenceStore.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/cloud/CloudPinyinApiImpl.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/cloud/CloudPinyinModule.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/cloud/ExponentialBackoff.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/converter/ChineseConverter.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/FullPinyinMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/InputMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/InputMatcherManager.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/NineGridMatcherAdapter.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/ShortcutMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/ShuangpinMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/matcher/di/MatcherModule.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/MicrosoftScheme.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/NaturalScheme.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/ShuangpinConverter.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/ShuangpinScheme.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/SogouScheme.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/shuangpin/XiaoheScheme.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/stroke/StrokeData.kt","ime-core/src/main/java/com/haizhan/ime/core/pinyin/stroke/StrokeMatcher.kt","ime-core/src/main/java/com/haizhan/ime/core/theme/DesignTokens.kt","ime-core/src/main/java/com/haizhan/ime/core/theme/KeyboardTheme.kt","ime-core/src/main/java/com/haizhan/ime/core/theme/ThemeManager.kt","ime-core/src/main/java/com/haizhan/ime/core/voice/ui/VoicePanel.kt","ime-core/src/main/jniLibs/arm64-v8a/libpaddle_light_api_shared.so","ime-core/src/main/res/drawable/ic_backspace.xml","ime-core/src/main/res/drawable/ic_clear_all.xml","ime-core/src/main/res/drawable/ic_handwriting.xml","ime-core/src/main/res/drawable/ic_keyboard.xml","ime-core/src/test/java/com/haizhan/ime/core/ImeEngineTest.kt","ime-core/src/test/java/com/haizhan/ime/core/benchmark/ImeCorePerformanceTest.kt","ime-core/src/test/java/com/haizhan/ime/core/benchmark/MemoryBenchmarkTest.kt","ime-core/src/test/java/com/haizhan/ime/core/context/ContextAnalyzerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/context/ContextAwareRankerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/context/WordCategoryClassifierTest.kt","ime-core/src/test/java/com/haizhan/ime/core/decoder/UnifiedRankerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/ImeEngineTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/handler/EnglishKeyHandlerExpandedTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/handler/KeyPressDispatcherTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/handler/KeyPressHandlerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/handler/PinyinKeyHandlerExpandedTest.kt","ime-core/src/test/java/com/haizhan/ime/core/engine/handler/SymbolKeyHandlerExpandedTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/HandwritingManagerAdvancedTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/HandwritingManagerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/PaddleLiteRecognizerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/StrokeCacheTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/StrokePreprocessorTest.kt","ime-core/src/test/java/com/haizhan/ime/core/handwriting/TFLiteRecognizerTest.kt","ime-core/src/test/java/com/haizhan/ime/core/keyboard/CandidatesViewTest.kt","ime-core/src/test/java/com/haizhan/ime/core/keyboard/KeyboardLayoutTest.kt","ime-core/src/test/java/com/haizhan/ime/core/keyboard/KeyboardViewTest.kt","ime-core/src/test/java/com/haizhan/ime/core/ocr/OcrImageProcessorTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/CloudPinyinServiceTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/CloudSyncServiceTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/DictionaryFileParserTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/DictionaryImporterTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/DictionaryReloaderTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/EnterpriseDictionaryTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/FuzzyPinyinConfigTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/HotWordServiceTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/InputPredictorTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/LocalDictionaryTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/NgramModelTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/NineGridMatcherTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/PinyinSegmenterTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/PinyinServiceImplTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/PinyinServiceTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/PinyinSplitterTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/SmartErrorCorrectorTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/SystemDatDictionaryTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/UserPreferenceStoreTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/cloud/CloudPinyinApiImplTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/cloud/ExponentialBackoffTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/matcher/FullPinyinMatcherTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/matcher/ShuangpinMatcherTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/shuangpin/ShuangpinSchemeTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/shuangpin/SogouSchemeTest.kt","ime-core/src/test/java/com/haizhan/ime/core/pinyin/shuangpin/XiaoheSchemeTest.kt","ime-core/src/test/java/com/haizhan/ime/core/theme/ThemeManagerTest.kt","ios_keyboard/APPSTORE_LISTING.md","ios_keyboard/HaizhanKeyboard/Info.plist","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboard.xcodeproj/project.pbxproj","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboard.xcodeproj/project.xcworkspace/contents.xcworkspacedata","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp.entitlements","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/HaizhanKeyboardApp.entitlements","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/HaizhanKeyboardApp.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Info.plist","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Models/AppSession.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Services/KeyboardStatusService.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Services/ScreenshotResponder.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Views/AccountView.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Views/AppSettingsView.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Views/ContentView.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Views/LoginView.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardApp/Views/OnboardingView.swift","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardExtension.entitlements","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardExtension/HaizhanKeyboardExtension.entitlements","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardExtension/Info.plist","ios_keyboard/HaizhanKeyboardApp/HaizhanKeyboardExtension/KeyboardExtensionStub.swift","ios_keyboard/HaizhanKeyboardApp/Info.plist","ios_keyboard/HaizhanKeyboardApp/Models/AppSession.swift","ios_keyboard/HaizhanKeyboardApp/README.md","ios_keyboard/HaizhanKeyboardApp/Services/KeyboardStatusService.swift","ios_keyboard/HaizhanKeyboardApp/Services/ScreenshotResponder.swift","ios_keyboard/HaizhanKeyboardApp/Views/AccountView.swift","ios_keyboard/HaizhanKeyboardApp/Views/AppSettingsView.swift","ios_keyboard/HaizhanKeyboardApp/Views/ContentView.swift","ios_keyboard/HaizhanKeyboardApp/Views/LoginView.swift","ios_keyboard/HaizhanKeyboardApp/Views/OnboardingView.swift","ios_keyboard/HaizhanKeyboardApp/project.yml","ios_keyboard/HaizhanKeyboardExtension/Info.plist","ios_keyboard/HaizhanKeyboardExtension/KeyboardExtensionStub.swift","ios_keyboard/Package.swift","ios_keyboard/README.md","ios_keyboard/Sources/HaizhanKeyboard/AI/ContactMatcher.swift","ios_keyboard/Sources/HaizhanKeyboard/AI/ReplyService.swift","ios_keyboard/Sources/HaizhanKeyboard/AI/ScreenshotManager.swift","ios_keyboard/Sources/HaizhanKeyboard/Bridge/KMPBridge.swift","ios_keyboard/Sources/HaizhanKeyboard/Engine/KeyboardEngine.swift","ios_keyboard/Sources/HaizhanKeyboard/Engine/PinyinSegmenter.swift","ios_keyboard/Sources/HaizhanKeyboard/KeyboardViewController.swift","ios_keyboard/Sources/HaizhanKeyboard/Network/ApiClient.swift","ios_keyboard/Sources/HaizhanKeyboard/Network/AuthService.swift","ios_keyboard/Sources/HaizhanKeyboard/Storage/AppGroupStore.swift","ios_keyboard/Sources/HaizhanKeyboard/Storage/KeychainStore.swift","ios_keyboard/Sources/HaizhanKeyboard/Theme/ThemeManager.swift","ios_keyboard/Sources/HaizhanKeyboard/Utils/HapticManager.swift","ios_keyboard/Sources/HaizhanKeyboard/ViewModel/KeyboardViewModel.swift","ios_keyboard/Sources/HaizhanKeyboard/Views/AIPanelView.swift","ios_keyboard/Sources/HaizhanKeyboard/Views/KeyboardView.swift","ios_keyboard/Sources/HaizhanKeyboard/Views/NineGridKeyboard.swift","ios_keyboard/Sources/HaizhanKeyboard/Views/SettingsView.swift","ios_keyboard/Tests/HaizhanKeyboardTests/ApiClientTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/AppGroupStoreTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/ContactMatcherTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/HapticManagerTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/KeyboardEngineTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/KeychainStoreTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/PinyinSegmenterTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/ReplyServiceTests.swift","ios_keyboard/Tests/HaizhanKeyboardTests/ThemeManagerTests.swift","ios_keyboard/build_kmp_xcframework.sh","openapitools.json","package.json","pnpm-workspace.yaml","scripts/PACKAGE_MANAGER_SUMMARY.md","scripts/check-docs-sync.sh","scripts/download_paddle_ocr_models.sh","scripts/generate-design-tokens.py","scripts/package-manager-migration.md","scripts/pre-commit","server/.dockerignore","server/.env.example","server/.npmrc","server/Makefile","server/README.md","server/ai-service/.dockerignore","server/ai-service/Dockerfile","server/ai-service/jest.config.js","server/ai-service/nest-cli.json","server/ai-service/package.json","server/ai-service/poc-load-test-1770067946237.json","server/ai-service/poc-report-1770067953461.json","server/ai-service/poc-report-1770067953461.md","server/ai-service/poc-report-1771647201192.json","server/ai-service/poc-report-1771647201192.md","server/ai-service/scripts/poc/README.md","server/ai-service/scripts/poc/deploy-models.sh","server/ai-service/scripts/poc/generate-report.ts","server/ai-service/scripts/poc/load-test.ts","server/ai-service/scripts/poc/v1-int8-quality.ts","server/ai-service/scripts/poc/v2-router-accuracy.ts","server/ai-service/scripts/poc/v3-e2e-latency.ts","server/ai-service/scripts/seed-rag.ts","server/ai-service/src/app.module.ts","server/ai-service/src/common/decorators/current-tenant.decorator.ts","server/ai-service/src/common/decorators/public.decorator.ts","server/ai-service/src/common/guards/auth.guard.spec.ts","server/ai-service/src/common/guards/auth.guard.ts","server/ai-service/src/common/redis/index.ts","server/ai-service/src/common/redis/redis.module.ts","server/ai-service/src/common/redis/redis.service.ts","server/ai-service/src/main.ts","server/ai-service/src/modules/ai/ai.controller.ts","server/ai-service/src/modules/ai/ai.module.ts","server/ai-service/src/modules/ai/ai.service.spec.ts","server/ai-service/src/modules/ai/ai.service.ts","server/ai-service/src/modules/ai/dto/generate-reply.dto.ts","server/ai-service/src/modules/ai/legacy-reply.controller.ts","server/ai-service/src/modules/health/health.controller.ts","server/ai-service/src/modules/health/health.module.ts","server/ai-service/src/modules/memory/dto/memory.dto.ts","server/ai-service/src/modules/memory/event.service.spec.ts","server/ai-service/src/modules/memory/event.service.ts","server/ai-service/src/modules/memory/index.ts","server/ai-service/src/modules/memory/memory.controller.ts","server/ai-service/src/modules/memory/memory.module.ts","server/ai-service/src/modules/memory/memory.service.spec.ts","server/ai-service/src/modules/memory/memory.service.ts","server/ai-service/src/modules/memory/profile.service.spec.ts","server/ai-service/src/modules/memory/profile.service.ts","server/ai-service/src/modules/memory/schemas/contact-event.schema.ts","server/ai-service/src/modules/memory/schemas/contact-profile.schema.ts","server/ai-service/src/modules/memory/schemas/conversation-summary.schema.ts","server/ai-service/src/modules/memory/summary.service.spec.ts","server/ai-service/src/modules/memory/summary.service.ts","server/ai-service/src/modules/memory/vector.service.ts","server/ai-service/src/modules/privacy/index.ts","server/ai-service/src/modules/privacy/pii-scrubber.service.ts","server/ai-service/src/modules/privacy/privacy.module.ts","server/ai-service/src/modules/search/agentic/agentic-loop.controller.ts","server/ai-service/src/modules/search/agentic/answer-synthesizer.service.ts","server/ai-service/src/modules/search/agentic/answer-synthesizer.spec.ts","server/ai-service/src/modules/search/agentic/index.ts","server/ai-service/src/modules/search/agentic/query-decomposer.service.ts","server/ai-service/src/modules/search/agentic/query-decomposer.spec.ts","server/ai-service/src/modules/search/agentic/result-evaluator.service.ts","server/ai-service/src/modules/search/agentic/result-evaluator.spec.ts","server/ai-service/src/modules/search/cache/index.ts","server/ai-service/src/modules/search/cache/multi-level-cache.service.ts","server/ai-service/src/modules/search/cache/multi-level-cache.spec.ts","server/ai-service/src/modules/search/config/search.config.ts","server/ai-service/src/modules/search/dto/index.ts","server/ai-service/src/modules/search/dto/search-request.dto.ts","server/ai-service/src/modules/search/dto/search-response.dto.ts","server/ai-service/src/modules/search/experiment/ab-testing.service.ts","server/ai-service/src/modules/search/experiment/experiment.controller.ts","server/ai-service/src/modules/search/experiment/gradual-release.service.ts","server/ai-service/src/modules/search/experiment/index.ts","server/ai-service/src/modules/search/gateway/unified-search-gateway.service.ts","server/ai-service/src/modules/search/gateway/unified-search-gateway.spec.ts","server/ai-service/src/modules/search/index.ts","server/ai-service/src/modules/search/layers/agentic-layer.service.spec.ts","server/ai-service/src/modules/search/layers/agentic-layer.service.ts","server/ai-service/src/modules/search/layers/cache-layer.service.spec.ts","server/ai-service/src/modules/search/layers/cache-layer.service.ts","server/ai-service/src/modules/search/layers/rag-layer.service.spec.ts","server/ai-service/src/modules/search/layers/rag-layer.service.ts","server/ai-service/src/modules/search/monitoring/alert.service.ts","server/ai-service/src/modules/search/monitoring/grafana-dashboard.json","server/ai-service/src/modules/search/monitoring/index.ts","server/ai-service/src/modules/search/monitoring/metrics.service.ts","server/ai-service/src/modules/search/optimization/index.ts","server/ai-service/src/modules/search/optimization/parallel-retriever.service.ts","server/ai-service/src/modules/search/optimization/parallel-retriever.spec.ts","server/ai-service/src/modules/search/router/pure-rule-router.spec.ts","server/ai-service/src/modules/search/router/pure-rule-router.ts","server/ai-service/src/modules/search/router/router.types.ts","server/ai-service/src/modules/search/search.controller.ts","server/ai-service/src/modules/search/search.integration.spec.ts","server/ai-service/src/modules/search/search.module.ts","server/ai-service/src/modules/search/services/elasticsearch.service.ts","server/ai-service/src/modules/search/services/embedding.service.spec.ts","server/ai-service/src/modules/search/services/embedding.service.ts","server/ai-service/src/modules/search/services/index.ts","server/ai-service/src/modules/search/services/llm.service.spec.ts","server/ai-service/src/modules/search/services/llm.service.ts","server/ai-service/src/modules/search/services/milvus.service.ts","server/ai-service/src/modules/search/services/reranker.service.spec.ts","server/ai-service/src/modules/search/services/reranker.service.ts","server/ai-service/src/modules/search/streaming/index.ts","server/ai-service/src/modules/search/streaming/stream-optimizer.service.ts","server/ai-service/src/modules/search/vip/index.ts","server/ai-service/src/modules/search/vip/vip-tier.service.ts","server/ai-service/tsconfig.json","server/api-gateway/.dockerignore","server/api-gateway/Dockerfile","server/api-gateway/logs/.3fa4d5e91883ce1217f62a49f94203b42caa131d-audit.json","server/api-gateway/logs/.92dabeadf9708ae538f84c8892e853b5a8f57f04-audit.json","server/api-gateway/nest-cli.json","server/api-gateway/package.json","server/api-gateway/prisma/README.md","server/api-gateway/prisma/migrations/20260203065715_init/migration.sql","server/api-gateway/prisma/migrations/20260203160000_add_360_view_models/migration.sql","server/api-gateway/prisma/migrations/20260203170000_add_admin_modules/migration.sql","server/api-gateway/prisma/migrations/20260203180000_add_config_and_usage_stats/migration.sql","server/api-gateway/prisma/migrations/20260213000000_add_contact_geo_fields/migration.sql","server/api-gateway/prisma/migrations/20260213100000_expand_prompt_template/migration.sql","server/api-gateway/prisma/migrations/migration_lock.toml","server/api-gateway/prisma/schema.prisma","server/api-gateway/prisma/seed.ts","server/api-gateway/scripts/generate-openapi.ts","server/api-gateway/src/app.module.ts","server/api-gateway/src/common/logger/global-logger.module.ts","server/api-gateway/src/common/logger/global-logger.service.ts","server/api-gateway/src/main.ts","server/api-gateway/src/modules/ai-config/ai-config.controller.ts","server/api-gateway/src/modules/ai-config/ai-config.module.ts","server/api-gateway/src/modules/ai-config/ai-config.service.ts","server/api-gateway/src/modules/ai-config/dto/ai-config.dto.ts","server/api-gateway/src/modules/ai/ai.controller.ts","server/api-gateway/src/modules/ai/ai.module.ts","server/api-gateway/src/modules/ai/ai.service.ts","server/api-gateway/src/modules/audit-logs/audit-logs.controller.ts","server/api-gateway/src/modules/audit-logs/audit-logs.module.ts","server/api-gateway/src/modules/audit-logs/audit-logs.service.ts","server/api-gateway/src/modules/audit-logs/dto/audit-logs.dto.ts","server/api-gateway/src/modules/auth/auth.controller.spec.ts","server/api-gateway/src/modules/auth/auth.controller.ts","server/api-gateway/src/modules/auth/auth.module.ts","server/api-gateway/src/modules/auth/auth.service.spec.ts","server/api-gateway/src/modules/auth/auth.service.ts","server/api-gateway/src/modules/auth/decorators/roles.decorator.ts","server/api-gateway/src/modules/auth/dto/admin-login.dto.ts","server/api-gateway/src/modules/auth/dto/login.dto.ts","server/api-gateway/src/modules/auth/dto/refresh-token.dto.ts","server/api-gateway/src/modules/auth/guards/jwt-auth.guard.ts","server/api-gateway/src/modules/auth/guards/roles.guard.ts","server/api-gateway/src/modules/auth/strategies/jwt.strategy.ts","server/api-gateway/src/modules/contacts/contacts.controller.spec.ts","server/api-gateway/src/modules/contacts/contacts.controller.ts","server/api-gateway/src/modules/contacts/contacts.module.ts","server/api-gateway/src/modules/contacts/contacts.service.spec.ts","server/api-gateway/src/modules/contacts/contacts.service.ts","server/api-gateway/src/modules/contacts/dto/match-contact.dto.ts","server/api-gateway/src/modules/health/health.controller.spec.ts","server/api-gateway/src/modules/health/health.controller.ts","server/api-gateway/src/modules/health/health.module.ts","server/api-gateway/src/modules/knowledge/dto/knowledge-base.dto.ts","server/api-gateway/src/modules/knowledge/dto/search-knowledge.dto.ts","server/api-gateway/src/modules/knowledge/knowledge.controller.spec.ts","server/api-gateway/src/modules/knowledge/knowledge.controller.ts","server/api-gateway/src/modules/knowledge/knowledge.module.ts","server/api-gateway/src/modules/knowledge/knowledge.service.spec.ts","server/api-gateway/src/modules/knowledge/knowledge.service.ts","server/api-gateway/src/modules/mobile-compat/mobile-compat.controller.ts","server/api-gateway/src/modules/mobile-compat/mobile-compat.module.ts","server/api-gateway/src/modules/ocr/ocr.controller.ts","server/api-gateway/src/modules/ocr/ocr.module.ts","server/api-gateway/src/modules/ocr/ocr.service.ts","server/api-gateway/src/modules/pinyin/pinyin.controller.spec.ts","server/api-gateway/src/modules/pinyin/pinyin.controller.ts","server/api-gateway/src/modules/pinyin/pinyin.module.ts","server/api-gateway/src/modules/pinyin/pinyin.service.spec.ts","server/api-gateway/src/modules/pinyin/pinyin.service.ts","server/api-gateway/src/modules/rag/dto/rag.dto.ts","server/api-gateway/src/modules/rag/rag.controller.spec.ts","server/api-gateway/src/modules/rag/rag.controller.ts","server/api-gateway/src/modules/rag/rag.module.ts","server/api-gateway/src/modules/rag/rag.service.runtime.spec.ts","server/api-gateway/src/modules/rag/rag.service.spec.ts","server/api-gateway/src/modules/rag/rag.service.ts","server/api-gateway/src/modules/settings/dto/settings.dto.ts","server/api-gateway/src/modules/settings/settings.controller.spec.ts","server/api-gateway/src/modules/settings/settings.controller.ts","server/api-gateway/src/modules/settings/settings.module.ts","server/api-gateway/src/modules/settings/settings.service.spec.ts","server/api-gateway/src/modules/settings/settings.service.ts","server/api-gateway/src/modules/teams/dto/teams.dto.ts","server/api-gateway/src/modules/teams/teams.controller.spec.ts","server/api-gateway/src/modules/teams/teams.controller.ts","server/api-gateway/src/modules/teams/teams.module.ts","server/api-gateway/src/modules/teams/teams.service.spec.ts","server/api-gateway/src/modules/teams/teams.service.ts","server/api-gateway/src/modules/templates/dto/template.dto.ts","server/api-gateway/src/modules/templates/templates.controller.spec.ts","server/api-gateway/src/modules/templates/templates.controller.ts","server/api-gateway/src/modules/templates/templates.module.ts","server/api-gateway/src/modules/templates/templates.service.spec.ts","server/api-gateway/src/modules/templates/templates.service.ts","server/api-gateway/src/modules/usage/dto/usage.dto.ts","server/api-gateway/src/modules/usage/usage.controller.ts","server/api-gateway/src/modules/usage/usage.module.ts","server/api-gateway/src/modules/usage/usage.service.spec.ts","server/api-gateway/src/modules/usage/usage.service.ts","server/api-gateway/src/modules/users/users.controller.spec.ts","server/api-gateway/src/modules/users/users.controller.ts","server/api-gateway/src/modules/users/users.module.ts","server/api-gateway/src/modules/users/users.service.spec.ts","server/api-gateway/src/modules/users/users.service.ts","server/api-gateway/src/modules/weather/weather.controller.spec.ts","server/api-gateway/src/modules/weather/weather.controller.ts","server/api-gateway/src/modules/weather/weather.module.ts","server/api-gateway/src/modules/weather/weather.service.spec.ts","server/api-gateway/src/modules/weather/weather.service.ts","server/api-gateway/src/shared/prisma/prisma.module.ts","server/api-gateway/src/shared/prisma/prisma.service.ts","server/api-gateway/src/shared/redis/redis.module.ts","server/api-gateway/src/shared/redis/redis.service.ts","server/api-gateway/src/shared/sms/sms.module.ts","server/api-gateway/src/shared/sms/sms.service.spec.ts","server/api-gateway/src/shared/sms/sms.service.ts","server/api-gateway/tsconfig.json","server/docker-compose.override.yml","server/docker-compose.prod.yml","server/docker-compose.yml","server/docker/grafana/provisioning/dashboards/dashboards.yml","server/docker/grafana/provisioning/dashboards/json/api-gateway.json","server/docker/grafana/provisioning/datasources/datasources.yml","server/docker/loki/loki-config.yml","server/docker/mongodb/init.js","server/docker/nginx/conf.d/default.conf","server/docker/nginx/nginx.conf","server/docker/nginx/ssl/.gitkeep","server/docker/nginx/ssl/README.md","server/docker/postgres/init.sql","server/docker/prometheus/alert.rules.yml","server/docker/prometheus/prometheus.yml","server/docker/promtail/promtail-config.yml","server/k8s/vllm/deployment.yaml","server/k8s/vllm/hpa.yaml","server/k8s/vllm/service.yaml","server/model-services/reranker/Dockerfile","server/model-services/reranker/requirements.txt","server/model-services/reranker/reranker_server.py","server/ocr-service/.dockerignore","server/ocr-service/Dockerfile","server/ocr-service/jest.config.js","server/ocr-service/nest-cli.json","server/ocr-service/package.json","server/ocr-service/src/app.module.ts","server/ocr-service/src/main.ts","server/ocr-service/src/modules/health/health.controller.ts","server/ocr-service/src/modules/health/health.module.ts","server/ocr-service/src/modules/ocr/chat-parser.service.spec.ts","server/ocr-service/src/modules/ocr/chat-parser.service.ts","server/ocr-service/src/modules/ocr/dto/chat-screenshot.dto.ts","server/ocr-service/src/modules/ocr/ocr.controller.ts","server/ocr-service/src/modules/ocr/ocr.module.ts","server/ocr-service/src/modules/ocr/ocr.service.spec.ts","server/ocr-service/src/modules/ocr/ocr.service.ts","server/ocr-service/tsconfig.json","server/scripts/backup.sh","server/scripts/check-mobile-api-coverage.js","server/scripts/check-mobile-response-compat.js","server/scripts/deploy.sh","server/scripts/deploy/deploy-infrastructure.sh","server/scripts/deploy/deploy-models.sh","server/scripts/deploy/final-deploy.sh","server/scripts/deploy/stop-models.sh","server/scripts/e2e-smoke.js","server/scripts/health-check.sh","server/scripts/mobile-api-smoke.js","server/scripts/setup-ssl.sh","settings.gradle.kts","shared/README.md","shared/build.gradle.kts","shared/src/androidInstrumentedTest/kotlin/com/haizhan/ime/shared/auth/AndroidTokenStorageTest.kt","shared/src/androidInstrumentedTest/kotlin/com/haizhan/ime/shared/auth/SharedAuthManagerIntegrationTest.kt","shared/src/androidInstrumentedTest/kotlin/com/haizhan/ime/shared/database/DatabaseIntegrationTest.kt","shared/src/androidInstrumentedTest/kotlin/com/haizhan/ime/shared/pinyin/CandidateRankerIntegrationTest.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/BuildConfig.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/Platform.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/auth/AndroidTokenStorage.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/auth/CurrentTime.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/database/DatabaseDriverFactory.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/database/SharedDatabaseKeyManager.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/di/PlatformModule.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/migration/RoomToSqlDelightMigrator.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/platform/Connectivity.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/platform/DeviceInfo.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/platform/DictionaryLoader.android.kt","shared/src/androidMain/kotlin/com/haizhan/ime/shared/platform/FileSystem.android.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/Platform.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/analytics/AnalyticsTracker.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/ApiClient.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/AuthApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/ContactApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/DashboardApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/FeedbackApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/KnowledgeApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/MemoryApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/NoteApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/OcrApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/PinyinApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/RagSearchApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/ReplyApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/ScriptApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/SearchApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/SessionApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/SettingsApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/SubscriptionApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/UserApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/api/WeatherApi.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/auth/AuthManager.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/auth/AuthModels.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/database/DatabaseDriverFactory.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/database/DatabaseExtensions.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/di/SharedModule.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/matcher/NicknameMatcher.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/ContactModel.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/KnowledgeModel.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/AiDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/ApiResponse.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/AuthDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/ContactDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/DashboardDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/FeedbackDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/KnowledgeDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/MemoryDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/MessageDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/NoteDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/OcrDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/PinyinDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/ProfileDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/RagSearchDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/ReplyDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/ScriptDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/SearchDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/SessionDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/SettingsDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/SubscriptionDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/model/dto/WeatherDto.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/Candidate.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/CandidateRanker.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/DictEntry.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/NineGridMatcher.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/PinyinConstants.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/PinyinService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/PinyinSplitter.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/CloudSynergyEngine.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/DoubleArrayTrie.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/DoubleArrayTrieImpl.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/DynamicWeightRanker.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/PinyinDAG.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/pinyin/algorithm/ViterbiDecoder.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/platform/Connectivity.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/platform/DeviceInfo.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/platform/DictionaryLoader.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/platform/FileSystem.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/ContactRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/KnowledgeRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/MessageRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/NoteRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/PinyinRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/SearchRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/SettingsRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/repository/UserDictRepository.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/MessageChainMatcher.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/OcrMatchService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/OfflineFallbackService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/ReplyService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/ScriptService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/service/SessionService.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/sync/SyncManager.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/util/FlowExt.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/util/LevenshteinDistance.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/util/LruCache.kt","shared/src/commonMain/kotlin/com/haizhan/ime/shared/util/StringExt.kt","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Contact.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Knowledge.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Message.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Note.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Search.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/Settings.sq","shared/src/commonMain/sqldelight/com/haizhan/ime/shared/database/UserDict.sq","shared/src/commonMain/sqldelight/migrations/1.sqm","shared/src/commonTest/kotlin/com/haizhan/ime/shared/analytics/AnalyticsTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/api/ApiClientTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/auth/AuthModelsTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/matcher/NicknameMatcherTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/model/ContactModelTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/model/KnowledgeModelTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/network/NetworkClientTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/CandidateRankerTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/CandidateTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/NineGridMatcherTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/PinyinConstantsTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/PinyinSplitterTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/algorithm/CloudSynergyEngineTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/algorithm/DoubleArrayTrieImplTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/algorithm/DynamicWeightRankerTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/algorithm/PinyinDAGTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/pinyin/algorithm/ViterbiDecoderTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/repository/ContactRepositoryTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/sync/SyncTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/util/LevenshteinDistanceTest.kt","shared/src/commonTest/kotlin/com/haizhan/ime/shared/util/PinyinConverterTest.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/Platform.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/auth/CurrentTime.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/auth/IosTokenStorage.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/database/DatabaseDriverFactory.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/di/PlatformModule.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/platform/Connectivity.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/platform/DeviceInfo.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/platform/DictionaryLoader.ios.kt","shared/src/iosMain/kotlin/com/haizhan/ime/shared/platform/FileSystem.ios.kt","voice/build.gradle.kts","voice/consumer-rules.pro","voice/proguard-rules.pro","voice/src/androidTest/java/com/haizhan/ime/voice/integration/VoiceModuleIntegrationTest.kt","voice/src/androidTest/java/com/haizhan/ime/voice/integration/WakeWordServiceIntegrationTest.kt","voice/src/main/AndroidManifest.xml","voice/src/main/java/com/haizhan/ime/voice/api/AudioPipeline.kt","voice/src/main/java/com/haizhan/ime/voice/api/SpeechRecognitionService.kt","voice/src/main/java/com/haizhan/ime/voice/api/VoiceCoordinator.kt","voice/src/main/java/com/haizhan/ime/voice/api/VoiceErrors.kt","voice/src/main/java/com/haizhan/ime/voice/api/VoiceTypes.kt","voice/src/main/java/com/haizhan/ime/voice/api/WakeWordConfigManager.kt","voice/src/main/java/com/haizhan/ime/voice/api/WakeWordDetectionService.kt","voice/src/main/java/com/haizhan/ime/voice/audio/AudioPipelineImpl.kt","voice/src/main/java/com/haizhan/ime/voice/audio/di/AudioModule.kt","voice/src/main/java/com/haizhan/ime/voice/coordinator/VoiceCoordinatorImpl.kt","voice/src/main/java/com/haizhan/ime/voice/coordinator/di/CoordinatorModule.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/DenoiseAudioConsumer.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/DenoiseManager.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/MusicAwareAEC.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/NoiseEstimator.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/SpectralSubtractor.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/VoiceActivityDetector.kt","voice/src/main/java/com/haizhan/ime/voice/denoise/di/DenoiseModule.kt","voice/src/main/java/com/haizhan/ime/voice/di/VoiceModule.kt","voice/src/main/java/com/haizhan/ime/voice/engine/VoiceInputEngine.kt","voice/src/main/java/com/haizhan/ime/voice/model/MultiModelManager.kt","voice/src/main/java/com/haizhan/ime/voice/model/VoiceModelManager.kt","voice/src/main/java/com/haizhan/ime/voice/monitoring/VoicePerformanceMonitor.kt","voice/src/main/java/com/haizhan/ime/voice/monitoring/di/MonitoringModule.kt","voice/src/main/java/com/haizhan/ime/voice/recognition/AudioDiagnostics.kt","voice/src/main/java/com/haizhan/ime/voice/recognition/SpeechRecognitionServiceImpl.kt","voice/src/main/java/com/haizhan/ime/voice/recognition/VoskGrammarBuilder.kt","voice/src/main/java/com/haizhan/ime/voice/recognition/VoskRecognizer.kt","voice/src/main/java/com/haizhan/ime/voice/recognition/di/SpeechModule.kt","voice/src/main/java/com/haizhan/ime/voice/ui/VoiceUiTypes.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/WakeWordDetectionServiceImpl.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/analytics/WakeWordAnalytics.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/config/WakeWordConfigManagerImpl.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/config/di/ConfigModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/confirmation/WakeWordConfirmation.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/detector/IWakeWordDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/detector/VoskWakeWordDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/di/ConfirmationModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/di/MatcherModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/di/ParserModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/di/RepositoryModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/di/WakeWordModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/filter/FalseWakeFilter.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/matcher/PinyinData.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/matcher/PinyinMatcher.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/matcher/TrieWordMatcher.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/parser/WakeWordCommandParser.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/EnergyPatternMatcher.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/PitchExtractor.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/QuickWakeDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/SingingModeDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/SpectralAnalyzer.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/SyllableDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/VibratoDetector.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/VoiceCharacteristicAnalyzer.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/VoiceProfileAnalyzer.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/predetect/di/PredetectModule.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/repository/WakeWordRepository.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/sensitivity/AdaptiveSensitivity.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/service/WakeWordService.kt","voice/src/main/java/com/haizhan/ime/voice/wakeword/util/PinyinUtils.kt","voice/src/test/java/com/haizhan/ime/voice/api/HotwordConfigTest.kt","voice/src/test/java/com/haizhan/ime/voice/audio/AudioPipelineImplTest.kt","voice/src/test/java/com/haizhan/ime/voice/coordinator/VoiceCoordinatorImplTest.kt","voice/src/test/java/com/haizhan/ime/voice/denoise/DenoiseManagerTest.kt","voice/src/test/java/com/haizhan/ime/voice/denoise/MusicAwareAECTest.kt","voice/src/test/java/com/haizhan/ime/voice/denoise/SpectralSubtractorTest.kt","voice/src/test/java/com/haizhan/ime/voice/denoise/VoiceActivityDetectorTest.kt.bak","voice/src/test/java/com/haizhan/ime/voice/model/MultiModelManagerTest.kt","voice/src/test/java/com/haizhan/ime/voice/monitoring/VoicePerformanceMonitorTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/config/WakeWordConfigManagerTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/confirmation/WakeWordConfirmationTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/filter/FalseWakeFilterTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/matcher/PinyinDataTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/matcher/PinyinMatcherTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/matcher/TrieWordMatcherTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/parser/WakeWordCommandParserTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/QuickWakeDetectorTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/SingingModeDetectorTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/SyllableDetectorTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/VibratoDetectorTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/VoiceCharacteristicAnalyzerTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/predetect/VoiceProfileAnalyzerTest.kt","voice/src/test/java/com/haizhan/ime/voice/wakeword/repository/WakeWordRepositorySerializationTest.kt"],"removed":[],"modified":[]},"repository":{"id":9,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"haizhan-ime-android","full_name":"luoanwu/haizhan-ime-android","description":"嗨赞AI输入法 Android版","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":29,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/haizhan-ime-android/languages","html_url":"https://gitea.g-hi.com/luoanwu/haizhan-ime-android","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/haizhan-ime-android","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/haizhan-ime-android.git","clone_url":"https://gitea.g-hi.com/luoanwu/haizhan-ime-android.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-27T15:27:17+08:00","updated_at":"2026-02-27T15:27:32+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
3
|
1772178120
|
1772178609
|
0
|
1772177363
|
1772178609
|
NULL
|
|
0
|
Edit
Delete
|
|
6357
|
feat: 同步治理文档与 Playwright 可见菜单写批次运行产物
|
6
|
5
|
ci.yml
|
6291
|
5
|
0
|
refs/heads/main
|
c1da50f2974fe9552f40dde68ec34df656ddca22
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e5a2f5ba8d6442be07c490ec77c734dbe317bfd5","after":"c1da50f2974fe9552f40dde68ec34df656ddca22","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e5a2f5ba8d6442be07c490ec77c734dbe317bfd5...c1da50f2974fe9552f40dde68ec34df656ddca22","commits":[{"id":"c1da50f2974fe9552f40dde68ec34df656ddca22","message":"feat: 同步治理文档与 Playwright 可见菜单写批次运行产物\n\n- 更新四份核心文档(AGENTS/CLAUDE/GEMINI/README)菜单深交互基线治理经验\n- 补充 module-governance-acceptance-checklist.md 新模板\n- 更新 module-acceptance-card.md 验收卡与 runbook 运行手册\n- 刷新 inventory.controller.ts 出库模块控制器\n- 同步前端 leads/Index.vue 线索列表页\n- 更新可见菜单写批次:ai-acquisition-content / finance / supply-chain /\n growth-sales-stores-service / synergy / system-infra / hr 域新一轮\n probe JSON、failure 截图与 action-coverage-report\n- 新增 sales-leads / outbound / sales / supply 治理复查产物目录\n- 更新 e2e 测试脚本与 CRUD catalog 配置\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c1da50f2974fe9552f40dde68ec34df656ddca22","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T15:28:33+08:00","added":["docs/templates/governance/module-governance-acceptance-checklist.md","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v1/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.html","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.png","e2e/output/playwright/outbound-governance-recheck-v1/probes/-outbound-1773728392272.json","e2e/output/playwright/outbound-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v2/probes/-outbound-1773729291584.json","e2e/output/playwright/outbound-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/sales-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/sales-governance-recheck-v2/failure-1.html","e2e/output/playwright/sales-governance-recheck-v2/failure-1.png","e2e/output/playwright/sales-governance-recheck-v2/failure-2.html","e2e/output/playwright/sales-governance-recheck-v2/failure-2.png","e2e/output/playwright/sales-governance-recheck-v2/probes/-leads-1773730807935.json","e2e/output/playwright/sales-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/sales-leads-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/sales-leads-governance-recheck-v4/probes/-leads-1773728044474.json","e2e/output/playwright/sales-leads-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v5/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-bom-1773730659592.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-issues-1773730663321.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-orders-1773730661365.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-receipts-1773730665247.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assets-1773730671300.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-devices-1773730673579.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-outbound-1773730655235.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-product-categories-1773730669828.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-products-1773730667766.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-serial-numbers-1773730656634.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-suppliers-1773730630707.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-supply-chain-1773730628780.json","e2e/output/playwright/supply-governance-recheck-v5/visible-menu-snapshot.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.png","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773730293426.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773730346930.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773730265455.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773730339395.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773730342218.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773730348434.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-leads-1773730376023.json","output/playwright/full-menu-write-batches/finance/action-coverage-report.md","output/playwright/full-menu-write-batches/finance/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/finance/failure-3.html","output/playwright/full-menu-write-batches/finance/failure-3.png","output/playwright/full-menu-write-batches/finance/failure-4.html","output/playwright/full-menu-write-batches/finance/failure-4.png","output/playwright/full-menu-write-batches/finance/failure-5.html","output/playwright/full-menu-write-batches/finance/failure-5.png","output/playwright/full-menu-write-batches/finance/failure-6.html","output/playwright/full-menu-write-batches/finance/failure-6.png","output/playwright/full-menu-write-batches/finance/failure-7.html","output/playwright/full-menu-write-batches/finance/failure-7.png","output/playwright/full-menu-write-batches/finance/failure-8.html","output/playwright/full-menu-write-batches/finance/failure-8.png","output/playwright/full-menu-write-batches/finance/failure-9.html","output/playwright/full-menu-write-batches/finance/failure-9.png","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773730815434.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773730746198.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773730747838.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-accounts-1773730566774.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-audiences-1773730561615.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-biddings-1773730569333.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-campaigns-1773730556834.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-creatives-1773730559313.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-reports-1773730564152.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaign-library-1773730532757.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaigns-1773730528728.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-activities-1773730587398.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-bots-1773730600826.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-groups-1773730571925.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-members-1773730573486.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-points-1773730577188.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-tasks-1773730579980.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customer-marketing-1773730531325.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-journey-orchestration-1773730578554.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-automation-1773730583244.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-chatbot-1773730574929.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-predictive-analytics-1773730586008.json","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773731255349.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773731072621.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773731076369.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773731074407.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773731078283.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assets-1773731084301.json","output/playwright/full-menu-write-batches/supply-chain/probes/-devices-1773731086563.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773731068258.json","output/playwright/full-menu-write-batches/supply-chain/probes/-product-categories-1773731082834.json","output/playwright/full-menu-write-batches/supply-chain/probes/-products-1773731080800.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773731069659.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773731043692.json","output/playwright/full-menu-write-batches/supply-chain/probes/-supply-chain-1773731041756.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773731295866.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773731281925.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773731268383.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773731266376.json"],"removed":["e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773632942127.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773632995925.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773632916088.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773632988219.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773632991102.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773632997429.json","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773633734328.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773633664730.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773633666424.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.png","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773634383805.json","output/playwright/full-menu-write-batches/supply-chain/failure-1.html","output/playwright/full-menu-write-batches/supply-chain/failure-1.png","output/playwright/full-menu-write-batches/supply-chain/failure-2.html","output/playwright/full-menu-write-batches/supply-chain/failure-2.png","output/playwright/full-menu-write-batches/supply-chain/failure-3.html","output/playwright/full-menu-write-batches/supply-chain/failure-3.png","output/playwright/full-menu-write-batches/supply-chain/failure-4.html","output/playwright/full-menu-write-batches/supply-chain/failure-4.png","output/playwright/full-menu-write-batches/supply-chain/failure-5.html","output/playwright/full-menu-write-batches/supply-chain/failure-5.png","output/playwright/full-menu-write-batches/supply-chain/failure-6.html","output/playwright/full-menu-write-batches/supply-chain/failure-6.png","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773633901574.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773633905434.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773633903472.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773633907354.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773633897130.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773633898566.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773633882907.json","output/playwright/full-menu-write-batches/synergy/action-coverage-report.json","output/playwright/full-menu-write-batches/synergy/probes/-departments-1773633979244.json","output/playwright/full-menu-write-batches/synergy/probes/-knowledge-1773633919146.json","output/playwright/full-menu-write-batches/synergy/probes/-stage-knowledge-1773633921148.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773634434163.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773634420132.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773634396344.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773634394393.json"],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/inventory/inventory.controller.ts","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/templates/governance/module-acceptance-card.md","e2e/playwright-report/index.html","e2e/scripts/run-visible-write-batches.mjs","e2e/tests/crud/01-visible-menu-write-runner.spec.ts","e2e/tests/crud/module-catalog.overrides.ts","e2e/tests/crud/types.ts","e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/views/leads/Index.vue","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.json","output/playwright/full-menu-write-batches/batch-summary.json","output/playwright/full-menu-write-batches/batch-summary.md","output/playwright/full-menu-write-batches/finance/action-coverage-report.json","output/playwright/full-menu-write-batches/finance/failure-1.html","output/playwright/full-menu-write-batches/finance/failure-1.png","output/playwright/full-menu-write-batches/finance/failure-2.html","output/playwright/full-menu-write-batches/finance/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.md","output/playwright/full-menu-write-batches/supply-chain/blocked-unmapped-pages.json"]},{"id":"9d26d79a0e913f59f095f5770c349ada3eb290e6","message":"Sync governance docs with repo triage guidance\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9d26d79a0e913f59f095f5770c349ada3eb290e6","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:59:58+08:00","added":[],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","docs/contract-governance-3.0.md","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/reports/governance-experience-2026-03-07.md"]},{"id":"90763866bd7d7302b2fd963c80971c0c980e2a40","message":"Add visible menu snapshot for sales leads governance recheck\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/90763866bd7d7302b2fd963c80971c0c980e2a40","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:52:59+08:00","added":["e2e/output/playwright/sales-leads-governance-recheck-v2/visible-menu-snapshot.json"],"removed":[],"modified":[]},{"id":"37491f5183c3793b77913e9fa046090fd3e2140e","message":"Fix visible-menu action contracts and refresh Playwright artifacts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/37491f5183c3793b77913e9fa046090fd3e2140e","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:49:50+08:00","added":["e2e/output/playwright/growth-governance-recheck-v6/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v6/failure-1.html","e2e/output/playwright/growth-governance-recheck-v6/failure-1.png","e2e/output/playwright/growth-governance-recheck-v6/failure-2.html","e2e/output/playwright/growth-governance-recheck-v6/failure-2.png","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-accounts-1773724659044.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-audiences-1773724653884.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-biddings-1773724661639.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-campaigns-1773724649143.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-creatives-1773724651605.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-reports-1773724656426.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-campaign-library-1773724625404.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-campaigns-1773724621356.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-activities-1773724679469.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-bots-1773724692868.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-groups-1773724663988.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-members-1773724665547.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-points-1773724669207.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-tasks-1773724672014.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-customer-marketing-1773724623985.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-journey-orchestration-1773724670573.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-marketing-automation-1773724675311.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-marketing-chatbot-1773724666974.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-predictive-analytics-1773724678072.json","e2e/output/playwright/growth-governance-recheck-v6/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v7/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v7/failure-1.html","e2e/output/playwright/growth-governance-recheck-v7/failure-1.png","e2e/output/playwright/growth-governance-recheck-v7/failure-2.html","e2e/output/playwright/growth-governance-recheck-v7/failure-2.png","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-audiences-1773725119348.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-biddings-1773725144948.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-campaigns-1773725114561.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-creatives-1773725117027.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-reports-1773725121927.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-campaign-library-1773725090781.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-campaigns-1773725086648.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-activities-1773725163012.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-bots-1773725176355.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-groups-1773725147556.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-members-1773725149129.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-points-1773725152767.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-tasks-1773725155559.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-customer-marketing-1773725089355.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-journey-orchestration-1773725154125.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-marketing-automation-1773725158850.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-marketing-chatbot-1773725150561.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-predictive-analytics-1773725161612.json","e2e/output/playwright/growth-governance-recheck-v7/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v8/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-accounts-1773725331287.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-audiences-1773725326038.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-biddings-1773725333878.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-campaigns-1773725321263.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-creatives-1773725323743.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-reports-1773725328622.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-campaign-library-1773725297280.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-campaigns-1773725293257.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-activities-1773725352012.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-bots-1773725365518.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-groups-1773725336490.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-members-1773725338048.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-points-1773725341744.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-tasks-1773725344573.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-customer-marketing-1773725295883.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-journey-orchestration-1773725343111.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-marketing-automation-1773725347852.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-marketing-chatbot-1773725339499.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-predictive-analytics-1773725350608.json","e2e/output/playwright/growth-governance-recheck-v8/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v1-page1/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/sales-stores-service-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v3/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v3/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v3/failure-1.html","e2e/output/playwright/supply-governance-recheck-v3/failure-1.png","e2e/output/playwright/supply-governance-recheck-v3/failure-2.html","e2e/output/playwright/supply-governance-recheck-v3/failure-2.png","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-bom-1773724804766.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-issues-1773724808526.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-orders-1773724806554.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-receipts-1773724810440.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assets-1773724816442.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-devices-1773724818721.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-outbound-1773724800429.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-product-categories-1773724814983.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-products-1773724812923.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-serial-numbers-1773724801816.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-suppliers-1773724776440.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-supply-chain-1773724774524.json","e2e/output/playwright/supply-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v4/failure-1.html","e2e/output/playwright/supply-governance-recheck-v4/failure-1.png","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-bom-1773724908303.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-issues-1773724912024.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-orders-1773724910085.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-receipts-1773724913947.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assets-1773724920008.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-devices-1773724922280.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-outbound-1773724903876.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-product-categories-1773724918547.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-products-1773724916486.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-serial-numbers-1773724905275.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-suppliers-1773724890016.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-supply-chain-1773724888101.json","e2e/output/playwright/supply-governance-recheck-v4/visible-menu-snapshot.json","e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md"],"removed":["e2e/playwright-report/data/2bb2f2c3e1d82fa9325fdd6b5f4669df159db17a.md","e2e/playwright-report/data/92afb63601a0131a016d16a554bdb89a648849de.png","e2e/test-results/.last-run.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","e2e/test-results/results.json"],"modified":["backend/src/modules/ad-campaigns/ad-campaigns.service.ts","backend/src/modules/community-groups/community-group.contract.routes.ts","backend/src/shared/process-core/default-workflow-definitions.ts","e2e/playwright-report/index.html","e2e/tests/crud/module-catalog.overrides.ts"]},{"id":"46e5f097ea53c593ee709803d6679b5520a6b271","message":"Fix growth module write contracts and governance probes\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/46e5f097ea53c593ee709803d6679b5520a6b271","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:14:33+08:00","added":[".claude/worktrees/vibrant-mestorf","e2e/output/playwright/growth-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v2/failure-1.html","e2e/output/playwright/growth-governance-recheck-v2/failure-1.png","e2e/output/playwright/growth-governance-recheck-v2/failure-2.html","e2e/output/playwright/growth-governance-recheck-v2/failure-2.png","e2e/output/playwright/growth-governance-recheck-v2/failure-3.html","e2e/output/playwright/growth-governance-recheck-v2/failure-3.png","e2e/output/playwright/growth-governance-recheck-v2/failure-4.html","e2e/output/playwright/growth-governance-recheck-v2/failure-4.png","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-accounts-1773637103428.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-audiences-1773637097919.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-biddings-1773637106233.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-campaigns-1773637092737.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-creatives-1773637095413.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-reports-1773637100574.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-campaign-library-1773637068728.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-campaigns-1773637064334.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-activities-1773637125231.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-bots-1773637138800.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-groups-1773637108862.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-members-1773637110559.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-points-1773637114159.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-tasks-1773637117170.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-customer-marketing-1773637067192.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-journey-orchestration-1773637115613.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-marketing-automation-1773637120849.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-marketing-chatbot-1773637111690.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-predictive-analytics-1773637123749.json","e2e/output/playwright/growth-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v3/failure-1.html","e2e/output/playwright/growth-governance-recheck-v3/failure-1.png","e2e/output/playwright/growth-governance-recheck-v3/failure-2.html","e2e/output/playwright/growth-governance-recheck-v3/failure-2.png","e2e/output/playwright/growth-governance-recheck-v3/failure-3.html","e2e/output/playwright/growth-governance-recheck-v3/failure-3.png","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-accounts-1773637290819.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-audiences-1773637285318.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-biddings-1773637293641.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-campaigns-1773637280219.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-creatives-1773637282870.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-reports-1773637287997.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-campaign-library-1773637256300.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-campaigns-1773637252140.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-activities-1773637312007.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-bots-1773637315094.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-groups-1773637296205.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-members-1773637297858.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-points-1773637301326.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-tasks-1773637304221.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-customer-marketing-1773637254826.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-journey-orchestration-1773637302713.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-marketing-automation-1773637307735.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-marketing-chatbot-1773637298900.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-predictive-analytics-1773637310596.json","e2e/output/playwright/growth-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v4/failure-1.html","e2e/output/playwright/growth-governance-recheck-v4/failure-1.png","e2e/output/playwright/growth-governance-recheck-v4/failure-2.html","e2e/output/playwright/growth-governance-recheck-v4/failure-2.png","e2e/output/playwright/growth-governance-recheck-v4/failure-3.html","e2e/output/playwright/growth-governance-recheck-v4/failure-3.png","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-accounts-1773637580471.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-audiences-1773637574939.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-biddings-1773637583127.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-campaigns-1773637569798.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-creatives-1773637572491.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-reports-1773637577693.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-campaign-library-1773637545837.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-campaigns-1773637541347.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-activities-1773637601885.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-bots-1773637615595.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-groups-1773637585737.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-members-1773637587440.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-points-1773637590954.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-tasks-1773637593940.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-customer-marketing-1773637544263.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-journey-orchestration-1773637592404.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-marketing-automation-1773637597490.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-marketing-chatbot-1773637588564.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-predictive-analytics-1773637600359.json","e2e/output/playwright/growth-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v5/failure-1.html","e2e/output/playwright/growth-governance-recheck-v5/failure-1.png","e2e/output/playwright/growth-governance-recheck-v5/failure-2.html","e2e/output/playwright/growth-governance-recheck-v5/failure-2.png","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-accounts-1773637856277.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-audiences-1773637850560.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-biddings-1773637859067.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-campaigns-1773637845354.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-creatives-1773637848041.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-reports-1773637853256.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-campaign-library-1773637842008.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-campaigns-1773637837583.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-activities-1773637878336.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-bots-1773637891983.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-groups-1773637861569.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-members-1773637863254.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-points-1773637867326.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-tasks-1773637870372.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-customer-marketing-1773637840454.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-journey-orchestration-1773637868795.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-marketing-automation-1773637874004.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-marketing-chatbot-1773637864856.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-predictive-analytics-1773637876874.json","e2e/output/playwright/growth-governance-recheck-v5/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck/failure-1.html","e2e/output/playwright/growth-governance-recheck/failure-1.png","e2e/output/playwright/growth-governance-recheck/failure-10.html","e2e/output/playwright/growth-governance-recheck/failure-10.png","e2e/output/playwright/growth-governance-recheck/failure-11.html","e2e/output/playwright/growth-governance-recheck/failure-11.png","e2e/output/playwright/growth-governance-recheck/failure-12.html","e2e/output/playwright/growth-governance-recheck/failure-12.png","e2e/output/playwright/growth-governance-recheck/failure-13.html","e2e/output/playwright/growth-governance-recheck/failure-13.png","e2e/output/playwright/growth-governance-recheck/failure-2.html","e2e/output/playwright/growth-governance-recheck/failure-2.png","e2e/output/playwright/growth-governance-recheck/failure-3.html","e2e/output/playwright/growth-governance-recheck/failure-3.png","e2e/output/playwright/growth-governance-recheck/failure-4.html","e2e/output/playwright/growth-governance-recheck/failure-4.png","e2e/output/playwright/growth-governance-recheck/failure-5.html","e2e/output/playwright/growth-governance-recheck/failure-5.png","e2e/output/playwright/growth-governance-recheck/failure-6.html","e2e/output/playwright/growth-governance-recheck/failure-6.png","e2e/output/playwright/growth-governance-recheck/failure-7.html","e2e/output/playwright/growth-governance-recheck/failure-7.png","e2e/output/playwright/growth-governance-recheck/failure-8.html","e2e/output/playwright/growth-governance-recheck/failure-8.png","e2e/output/playwright/growth-governance-recheck/failure-9.html","e2e/output/playwright/growth-governance-recheck/failure-9.png","e2e/output/playwright/growth-governance-recheck/probes/-ad-accounts-1773636279090.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-audiences-1773636274572.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-biddings-1773636281658.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-campaigns-1773636269396.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-creatives-1773636272040.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-reports-1773636276435.json","e2e/output/playwright/growth-governance-recheck/probes/-campaign-library-1773636266028.json","e2e/output/playwright/growth-governance-recheck/probes/-campaigns-1773636262465.json","e2e/output/playwright/growth-governance-recheck/probes/-community-activities-1773636296839.json","e2e/output/playwright/growth-governance-recheck/probes/-community-bots-1773636309301.json","e2e/output/playwright/growth-governance-recheck/probes/-community-groups-1773636282678.json","e2e/output/playwright/growth-governance-recheck/probes/-community-members-1773636283728.json","e2e/output/playwright/growth-governance-recheck/probes/-community-points-1773636287173.json","e2e/output/playwright/growth-governance-recheck/probes/-community-tasks-1773636289789.json","e2e/output/playwright/growth-governance-recheck/probes/-customer-marketing-1773636264449.json","e2e/output/playwright/growth-governance-recheck/probes/-journey-orchestration-1773636288630.json","e2e/output/playwright/growth-governance-recheck/probes/-marketing-automation-1773636292934.json","e2e/output/playwright/growth-governance-recheck/probes/-marketing-chatbot-1773636284766.json","e2e/output/playwright/growth-governance-recheck/probes/-predictive-analytics-1773636295835.json","e2e/output/playwright/growth-governance-recheck/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v2/failure-1.html","e2e/output/playwright/supply-governance-recheck-v2/failure-1.png","e2e/output/playwright/supply-governance-recheck-v2/failure-2.html","e2e/output/playwright/supply-governance-recheck-v2/failure-2.png","e2e/output/playwright/supply-governance-recheck-v2/failure-3.html","e2e/output/playwright/supply-governance-recheck-v2/failure-3.png","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-bom-1773638085569.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-issues-1773638089294.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-orders-1773638087361.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-receipts-1773638091237.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assets-1773638096600.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-devices-1773638098927.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-outbound-1773638081116.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-product-categories-1773638095076.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-products-1773638093780.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-serial-numbers-1773638082543.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-suppliers-1773638056945.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-supply-chain-1773638054946.json","e2e/output/playwright/supply-governance-recheck-v2/visible-menu-snapshot.json","e2e/playwright-report/data/2bb2f2c3e1d82fa9325fdd6b5f4669df159db17a.md","e2e/playwright-report/data/92afb63601a0131a016d16a554bdb89a648849de.png","e2e/test-results/.last-run.json","e2e/test-results/results.json"],"removed":[],"modified":["backend/src/modules/ad-accounts/ad-account.controller.ts","backend/src/modules/ad-biddings/ad-bidding.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/shared/utils/biz-code.ts","e2e/playwright-report/index.html","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","e2e/tests/crud/module-catalog.overrides.ts"]}],"total_commits":0,"head_commit":{"id":"c1da50f2974fe9552f40dde68ec34df656ddca22","message":"feat: 同步治理文档与 Playwright 可见菜单写批次运行产物\n\n- 更新四份核心文档(AGENTS/CLAUDE/GEMINI/README)菜单深交互基线治理经验\n- 补充 module-governance-acceptance-checklist.md 新模板\n- 更新 module-acceptance-card.md 验收卡与 runbook 运行手册\n- 刷新 inventory.controller.ts 出库模块控制器\n- 同步前端 leads/Index.vue 线索列表页\n- 更新可见菜单写批次:ai-acquisition-content / finance / supply-chain /\n growth-sales-stores-service / synergy / system-infra / hr 域新一轮\n probe JSON、failure 截图与 action-coverage-report\n- 新增 sales-leads / outbound / sales / supply 治理复查产物目录\n- 更新 e2e 测试脚本与 CRUD catalog 配置\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c1da50f2974fe9552f40dde68ec34df656ddca22","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T15:28:33+08:00","added":["docs/templates/governance/module-governance-acceptance-checklist.md","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v1/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.html","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.png","e2e/output/playwright/outbound-governance-recheck-v1/probes/-outbound-1773728392272.json","e2e/output/playwright/outbound-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v2/probes/-outbound-1773729291584.json","e2e/output/playwright/outbound-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/sales-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/sales-governance-recheck-v2/failure-1.html","e2e/output/playwright/sales-governance-recheck-v2/failure-1.png","e2e/output/playwright/sales-governance-recheck-v2/failure-2.html","e2e/output/playwright/sales-governance-recheck-v2/failure-2.png","e2e/output/playwright/sales-governance-recheck-v2/probes/-leads-1773730807935.json","e2e/output/playwright/sales-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/sales-leads-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/sales-leads-governance-recheck-v4/probes/-leads-1773728044474.json","e2e/output/playwright/sales-leads-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v5/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-bom-1773730659592.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-issues-1773730663321.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-orders-1773730661365.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-receipts-1773730665247.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assets-1773730671300.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-devices-1773730673579.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-outbound-1773730655235.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-product-categories-1773730669828.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-products-1773730667766.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-serial-numbers-1773730656634.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-suppliers-1773730630707.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-supply-chain-1773730628780.json","e2e/output/playwright/supply-governance-recheck-v5/visible-menu-snapshot.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.png","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773730293426.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773730346930.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773730265455.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773730339395.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773730342218.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773730348434.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-leads-1773730376023.json","output/playwright/full-menu-write-batches/finance/action-coverage-report.md","output/playwright/full-menu-write-batches/finance/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/finance/failure-3.html","output/playwright/full-menu-write-batches/finance/failure-3.png","output/playwright/full-menu-write-batches/finance/failure-4.html","output/playwright/full-menu-write-batches/finance/failure-4.png","output/playwright/full-menu-write-batches/finance/failure-5.html","output/playwright/full-menu-write-batches/finance/failure-5.png","output/playwright/full-menu-write-batches/finance/failure-6.html","output/playwright/full-menu-write-batches/finance/failure-6.png","output/playwright/full-menu-write-batches/finance/failure-7.html","output/playwright/full-menu-write-batches/finance/failure-7.png","output/playwright/full-menu-write-batches/finance/failure-8.html","output/playwright/full-menu-write-batches/finance/failure-8.png","output/playwright/full-menu-write-batches/finance/failure-9.html","output/playwright/full-menu-write-batches/finance/failure-9.png","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773730815434.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773730746198.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773730747838.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-accounts-1773730566774.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-audiences-1773730561615.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-biddings-1773730569333.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-campaigns-1773730556834.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-creatives-1773730559313.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-reports-1773730564152.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaign-library-1773730532757.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaigns-1773730528728.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-activities-1773730587398.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-bots-1773730600826.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-groups-1773730571925.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-members-1773730573486.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-points-1773730577188.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-tasks-1773730579980.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customer-marketing-1773730531325.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-journey-orchestration-1773730578554.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-automation-1773730583244.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-chatbot-1773730574929.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-predictive-analytics-1773730586008.json","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773731255349.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773731072621.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773731076369.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773731074407.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773731078283.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assets-1773731084301.json","output/playwright/full-menu-write-batches/supply-chain/probes/-devices-1773731086563.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773731068258.json","output/playwright/full-menu-write-batches/supply-chain/probes/-product-categories-1773731082834.json","output/playwright/full-menu-write-batches/supply-chain/probes/-products-1773731080800.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773731069659.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773731043692.json","output/playwright/full-menu-write-batches/supply-chain/probes/-supply-chain-1773731041756.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773731295866.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773731281925.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773731268383.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773731266376.json"],"removed":["e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773632942127.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773632995925.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773632916088.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773632988219.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773632991102.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773632997429.json","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773633734328.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773633664730.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773633666424.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.png","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773634383805.json","output/playwright/full-menu-write-batches/supply-chain/failure-1.html","output/playwright/full-menu-write-batches/supply-chain/failure-1.png","output/playwright/full-menu-write-batches/supply-chain/failure-2.html","output/playwright/full-menu-write-batches/supply-chain/failure-2.png","output/playwright/full-menu-write-batches/supply-chain/failure-3.html","output/playwright/full-menu-write-batches/supply-chain/failure-3.png","output/playwright/full-menu-write-batches/supply-chain/failure-4.html","output/playwright/full-menu-write-batches/supply-chain/failure-4.png","output/playwright/full-menu-write-batches/supply-chain/failure-5.html","output/playwright/full-menu-write-batches/supply-chain/failure-5.png","output/playwright/full-menu-write-batches/supply-chain/failure-6.html","output/playwright/full-menu-write-batches/supply-chain/failure-6.png","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773633901574.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773633905434.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773633903472.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773633907354.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773633897130.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773633898566.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773633882907.json","output/playwright/full-menu-write-batches/synergy/action-coverage-report.json","output/playwright/full-menu-write-batches/synergy/probes/-departments-1773633979244.json","output/playwright/full-menu-write-batches/synergy/probes/-knowledge-1773633919146.json","output/playwright/full-menu-write-batches/synergy/probes/-stage-knowledge-1773633921148.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773634434163.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773634420132.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773634396344.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773634394393.json"],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/inventory/inventory.controller.ts","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/templates/governance/module-acceptance-card.md","e2e/playwright-report/index.html","e2e/scripts/run-visible-write-batches.mjs","e2e/tests/crud/01-visible-menu-write-runner.spec.ts","e2e/tests/crud/module-catalog.overrides.ts","e2e/tests/crud/types.ts","e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/views/leads/Index.vue","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.json","output/playwright/full-menu-write-batches/batch-summary.json","output/playwright/full-menu-write-batches/batch-summary.md","output/playwright/full-menu-write-batches/finance/action-coverage-report.json","output/playwright/full-menu-write-batches/finance/failure-1.html","output/playwright/full-menu-write-batches/finance/failure-1.png","output/playwright/full-menu-write-batches/finance/failure-2.html","output/playwright/full-menu-write-batches/finance/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.md","output/playwright/full-menu-write-batches/supply-chain/blocked-unmapped-pages.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/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":1162552,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-17T15:30:33+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
24
|
1773732813
|
1773732854
|
0
|
1773732813
|
1773732854
|
NULL
|
|
0
|
Edit
Delete
|
|
6358
|
feat: 同步治理文档与 Playwright 可见菜单写批次运行产物
|
6
|
5
|
health-check.yml
|
6292
|
-2
|
58
|
refs/heads/main
|
c1da50f2974fe9552f40dde68ec34df656ddca22
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e5a2f5ba8d6442be07c490ec77c734dbe317bfd5","after":"c1da50f2974fe9552f40dde68ec34df656ddca22","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e5a2f5ba8d6442be07c490ec77c734dbe317bfd5...c1da50f2974fe9552f40dde68ec34df656ddca22","commits":[{"id":"c1da50f2974fe9552f40dde68ec34df656ddca22","message":"feat: 同步治理文档与 Playwright 可见菜单写批次运行产物\n\n- 更新四份核心文档(AGENTS/CLAUDE/GEMINI/README)菜单深交互基线治理经验\n- 补充 module-governance-acceptance-checklist.md 新模板\n- 更新 module-acceptance-card.md 验收卡与 runbook 运行手册\n- 刷新 inventory.controller.ts 出库模块控制器\n- 同步前端 leads/Index.vue 线索列表页\n- 更新可见菜单写批次:ai-acquisition-content / finance / supply-chain /\n growth-sales-stores-service / synergy / system-infra / hr 域新一轮\n probe JSON、failure 截图与 action-coverage-report\n- 新增 sales-leads / outbound / sales / supply 治理复查产物目录\n- 更新 e2e 测试脚本与 CRUD catalog 配置\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c1da50f2974fe9552f40dde68ec34df656ddca22","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T15:28:33+08:00","added":["docs/templates/governance/module-governance-acceptance-checklist.md","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v1/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.html","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.png","e2e/output/playwright/outbound-governance-recheck-v1/probes/-outbound-1773728392272.json","e2e/output/playwright/outbound-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v2/probes/-outbound-1773729291584.json","e2e/output/playwright/outbound-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/sales-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/sales-governance-recheck-v2/failure-1.html","e2e/output/playwright/sales-governance-recheck-v2/failure-1.png","e2e/output/playwright/sales-governance-recheck-v2/failure-2.html","e2e/output/playwright/sales-governance-recheck-v2/failure-2.png","e2e/output/playwright/sales-governance-recheck-v2/probes/-leads-1773730807935.json","e2e/output/playwright/sales-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/sales-leads-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/sales-leads-governance-recheck-v4/probes/-leads-1773728044474.json","e2e/output/playwright/sales-leads-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v5/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-bom-1773730659592.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-issues-1773730663321.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-orders-1773730661365.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-receipts-1773730665247.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assets-1773730671300.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-devices-1773730673579.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-outbound-1773730655235.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-product-categories-1773730669828.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-products-1773730667766.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-serial-numbers-1773730656634.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-suppliers-1773730630707.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-supply-chain-1773730628780.json","e2e/output/playwright/supply-governance-recheck-v5/visible-menu-snapshot.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.png","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773730293426.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773730346930.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773730265455.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773730339395.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773730342218.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773730348434.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-leads-1773730376023.json","output/playwright/full-menu-write-batches/finance/action-coverage-report.md","output/playwright/full-menu-write-batches/finance/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/finance/failure-3.html","output/playwright/full-menu-write-batches/finance/failure-3.png","output/playwright/full-menu-write-batches/finance/failure-4.html","output/playwright/full-menu-write-batches/finance/failure-4.png","output/playwright/full-menu-write-batches/finance/failure-5.html","output/playwright/full-menu-write-batches/finance/failure-5.png","output/playwright/full-menu-write-batches/finance/failure-6.html","output/playwright/full-menu-write-batches/finance/failure-6.png","output/playwright/full-menu-write-batches/finance/failure-7.html","output/playwright/full-menu-write-batches/finance/failure-7.png","output/playwright/full-menu-write-batches/finance/failure-8.html","output/playwright/full-menu-write-batches/finance/failure-8.png","output/playwright/full-menu-write-batches/finance/failure-9.html","output/playwright/full-menu-write-batches/finance/failure-9.png","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773730815434.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773730746198.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773730747838.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-accounts-1773730566774.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-audiences-1773730561615.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-biddings-1773730569333.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-campaigns-1773730556834.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-creatives-1773730559313.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-reports-1773730564152.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaign-library-1773730532757.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaigns-1773730528728.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-activities-1773730587398.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-bots-1773730600826.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-groups-1773730571925.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-members-1773730573486.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-points-1773730577188.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-tasks-1773730579980.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customer-marketing-1773730531325.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-journey-orchestration-1773730578554.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-automation-1773730583244.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-chatbot-1773730574929.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-predictive-analytics-1773730586008.json","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773731255349.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773731072621.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773731076369.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773731074407.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773731078283.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assets-1773731084301.json","output/playwright/full-menu-write-batches/supply-chain/probes/-devices-1773731086563.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773731068258.json","output/playwright/full-menu-write-batches/supply-chain/probes/-product-categories-1773731082834.json","output/playwright/full-menu-write-batches/supply-chain/probes/-products-1773731080800.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773731069659.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773731043692.json","output/playwright/full-menu-write-batches/supply-chain/probes/-supply-chain-1773731041756.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773731295866.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773731281925.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773731268383.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773731266376.json"],"removed":["e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773632942127.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773632995925.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773632916088.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773632988219.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773632991102.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773632997429.json","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773633734328.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773633664730.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773633666424.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.png","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773634383805.json","output/playwright/full-menu-write-batches/supply-chain/failure-1.html","output/playwright/full-menu-write-batches/supply-chain/failure-1.png","output/playwright/full-menu-write-batches/supply-chain/failure-2.html","output/playwright/full-menu-write-batches/supply-chain/failure-2.png","output/playwright/full-menu-write-batches/supply-chain/failure-3.html","output/playwright/full-menu-write-batches/supply-chain/failure-3.png","output/playwright/full-menu-write-batches/supply-chain/failure-4.html","output/playwright/full-menu-write-batches/supply-chain/failure-4.png","output/playwright/full-menu-write-batches/supply-chain/failure-5.html","output/playwright/full-menu-write-batches/supply-chain/failure-5.png","output/playwright/full-menu-write-batches/supply-chain/failure-6.html","output/playwright/full-menu-write-batches/supply-chain/failure-6.png","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773633901574.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773633905434.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773633903472.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773633907354.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773633897130.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773633898566.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773633882907.json","output/playwright/full-menu-write-batches/synergy/action-coverage-report.json","output/playwright/full-menu-write-batches/synergy/probes/-departments-1773633979244.json","output/playwright/full-menu-write-batches/synergy/probes/-knowledge-1773633919146.json","output/playwright/full-menu-write-batches/synergy/probes/-stage-knowledge-1773633921148.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773634434163.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773634420132.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773634396344.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773634394393.json"],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/inventory/inventory.controller.ts","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/templates/governance/module-acceptance-card.md","e2e/playwright-report/index.html","e2e/scripts/run-visible-write-batches.mjs","e2e/tests/crud/01-visible-menu-write-runner.spec.ts","e2e/tests/crud/module-catalog.overrides.ts","e2e/tests/crud/types.ts","e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/views/leads/Index.vue","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.json","output/playwright/full-menu-write-batches/batch-summary.json","output/playwright/full-menu-write-batches/batch-summary.md","output/playwright/full-menu-write-batches/finance/action-coverage-report.json","output/playwright/full-menu-write-batches/finance/failure-1.html","output/playwright/full-menu-write-batches/finance/failure-1.png","output/playwright/full-menu-write-batches/finance/failure-2.html","output/playwright/full-menu-write-batches/finance/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.md","output/playwright/full-menu-write-batches/supply-chain/blocked-unmapped-pages.json"]},{"id":"9d26d79a0e913f59f095f5770c349ada3eb290e6","message":"Sync governance docs with repo triage guidance\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9d26d79a0e913f59f095f5770c349ada3eb290e6","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:59:58+08:00","added":[],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","docs/contract-governance-3.0.md","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/reports/governance-experience-2026-03-07.md"]},{"id":"90763866bd7d7302b2fd963c80971c0c980e2a40","message":"Add visible menu snapshot for sales leads governance recheck\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/90763866bd7d7302b2fd963c80971c0c980e2a40","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:52:59+08:00","added":["e2e/output/playwright/sales-leads-governance-recheck-v2/visible-menu-snapshot.json"],"removed":[],"modified":[]},{"id":"37491f5183c3793b77913e9fa046090fd3e2140e","message":"Fix visible-menu action contracts and refresh Playwright artifacts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/37491f5183c3793b77913e9fa046090fd3e2140e","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:49:50+08:00","added":["e2e/output/playwright/growth-governance-recheck-v6/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v6/failure-1.html","e2e/output/playwright/growth-governance-recheck-v6/failure-1.png","e2e/output/playwright/growth-governance-recheck-v6/failure-2.html","e2e/output/playwright/growth-governance-recheck-v6/failure-2.png","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-accounts-1773724659044.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-audiences-1773724653884.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-biddings-1773724661639.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-campaigns-1773724649143.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-creatives-1773724651605.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-reports-1773724656426.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-campaign-library-1773724625404.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-campaigns-1773724621356.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-activities-1773724679469.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-bots-1773724692868.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-groups-1773724663988.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-members-1773724665547.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-points-1773724669207.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-tasks-1773724672014.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-customer-marketing-1773724623985.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-journey-orchestration-1773724670573.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-marketing-automation-1773724675311.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-marketing-chatbot-1773724666974.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-predictive-analytics-1773724678072.json","e2e/output/playwright/growth-governance-recheck-v6/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v7/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v7/failure-1.html","e2e/output/playwright/growth-governance-recheck-v7/failure-1.png","e2e/output/playwright/growth-governance-recheck-v7/failure-2.html","e2e/output/playwright/growth-governance-recheck-v7/failure-2.png","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-audiences-1773725119348.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-biddings-1773725144948.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-campaigns-1773725114561.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-creatives-1773725117027.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-reports-1773725121927.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-campaign-library-1773725090781.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-campaigns-1773725086648.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-activities-1773725163012.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-bots-1773725176355.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-groups-1773725147556.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-members-1773725149129.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-points-1773725152767.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-tasks-1773725155559.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-customer-marketing-1773725089355.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-journey-orchestration-1773725154125.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-marketing-automation-1773725158850.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-marketing-chatbot-1773725150561.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-predictive-analytics-1773725161612.json","e2e/output/playwright/growth-governance-recheck-v7/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v8/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-accounts-1773725331287.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-audiences-1773725326038.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-biddings-1773725333878.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-campaigns-1773725321263.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-creatives-1773725323743.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-reports-1773725328622.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-campaign-library-1773725297280.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-campaigns-1773725293257.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-activities-1773725352012.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-bots-1773725365518.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-groups-1773725336490.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-members-1773725338048.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-points-1773725341744.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-tasks-1773725344573.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-customer-marketing-1773725295883.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-journey-orchestration-1773725343111.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-marketing-automation-1773725347852.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-marketing-chatbot-1773725339499.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-predictive-analytics-1773725350608.json","e2e/output/playwright/growth-governance-recheck-v8/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v1-page1/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/sales-stores-service-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v3/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v3/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v3/failure-1.html","e2e/output/playwright/supply-governance-recheck-v3/failure-1.png","e2e/output/playwright/supply-governance-recheck-v3/failure-2.html","e2e/output/playwright/supply-governance-recheck-v3/failure-2.png","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-bom-1773724804766.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-issues-1773724808526.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-orders-1773724806554.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-receipts-1773724810440.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assets-1773724816442.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-devices-1773724818721.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-outbound-1773724800429.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-product-categories-1773724814983.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-products-1773724812923.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-serial-numbers-1773724801816.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-suppliers-1773724776440.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-supply-chain-1773724774524.json","e2e/output/playwright/supply-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v4/failure-1.html","e2e/output/playwright/supply-governance-recheck-v4/failure-1.png","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-bom-1773724908303.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-issues-1773724912024.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-orders-1773724910085.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-receipts-1773724913947.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assets-1773724920008.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-devices-1773724922280.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-outbound-1773724903876.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-product-categories-1773724918547.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-products-1773724916486.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-serial-numbers-1773724905275.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-suppliers-1773724890016.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-supply-chain-1773724888101.json","e2e/output/playwright/supply-governance-recheck-v4/visible-menu-snapshot.json","e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md"],"removed":["e2e/playwright-report/data/2bb2f2c3e1d82fa9325fdd6b5f4669df159db17a.md","e2e/playwright-report/data/92afb63601a0131a016d16a554bdb89a648849de.png","e2e/test-results/.last-run.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","e2e/test-results/results.json"],"modified":["backend/src/modules/ad-campaigns/ad-campaigns.service.ts","backend/src/modules/community-groups/community-group.contract.routes.ts","backend/src/shared/process-core/default-workflow-definitions.ts","e2e/playwright-report/index.html","e2e/tests/crud/module-catalog.overrides.ts"]},{"id":"46e5f097ea53c593ee709803d6679b5520a6b271","message":"Fix growth module write contracts and governance probes\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/46e5f097ea53c593ee709803d6679b5520a6b271","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:14:33+08:00","added":[".claude/worktrees/vibrant-mestorf","e2e/output/playwright/growth-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v2/failure-1.html","e2e/output/playwright/growth-governance-recheck-v2/failure-1.png","e2e/output/playwright/growth-governance-recheck-v2/failure-2.html","e2e/output/playwright/growth-governance-recheck-v2/failure-2.png","e2e/output/playwright/growth-governance-recheck-v2/failure-3.html","e2e/output/playwright/growth-governance-recheck-v2/failure-3.png","e2e/output/playwright/growth-governance-recheck-v2/failure-4.html","e2e/output/playwright/growth-governance-recheck-v2/failure-4.png","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-accounts-1773637103428.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-audiences-1773637097919.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-biddings-1773637106233.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-campaigns-1773637092737.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-creatives-1773637095413.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-reports-1773637100574.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-campaign-library-1773637068728.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-campaigns-1773637064334.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-activities-1773637125231.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-bots-1773637138800.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-groups-1773637108862.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-members-1773637110559.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-points-1773637114159.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-tasks-1773637117170.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-customer-marketing-1773637067192.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-journey-orchestration-1773637115613.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-marketing-automation-1773637120849.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-marketing-chatbot-1773637111690.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-predictive-analytics-1773637123749.json","e2e/output/playwright/growth-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v3/failure-1.html","e2e/output/playwright/growth-governance-recheck-v3/failure-1.png","e2e/output/playwright/growth-governance-recheck-v3/failure-2.html","e2e/output/playwright/growth-governance-recheck-v3/failure-2.png","e2e/output/playwright/growth-governance-recheck-v3/failure-3.html","e2e/output/playwright/growth-governance-recheck-v3/failure-3.png","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-accounts-1773637290819.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-audiences-1773637285318.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-biddings-1773637293641.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-campaigns-1773637280219.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-creatives-1773637282870.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-reports-1773637287997.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-campaign-library-1773637256300.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-campaigns-1773637252140.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-activities-1773637312007.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-bots-1773637315094.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-groups-1773637296205.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-members-1773637297858.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-points-1773637301326.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-tasks-1773637304221.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-customer-marketing-1773637254826.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-journey-orchestration-1773637302713.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-marketing-automation-1773637307735.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-marketing-chatbot-1773637298900.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-predictive-analytics-1773637310596.json","e2e/output/playwright/growth-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v4/failure-1.html","e2e/output/playwright/growth-governance-recheck-v4/failure-1.png","e2e/output/playwright/growth-governance-recheck-v4/failure-2.html","e2e/output/playwright/growth-governance-recheck-v4/failure-2.png","e2e/output/playwright/growth-governance-recheck-v4/failure-3.html","e2e/output/playwright/growth-governance-recheck-v4/failure-3.png","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-accounts-1773637580471.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-audiences-1773637574939.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-biddings-1773637583127.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-campaigns-1773637569798.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-creatives-1773637572491.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-reports-1773637577693.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-campaign-library-1773637545837.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-campaigns-1773637541347.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-activities-1773637601885.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-bots-1773637615595.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-groups-1773637585737.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-members-1773637587440.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-points-1773637590954.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-tasks-1773637593940.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-customer-marketing-1773637544263.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-journey-orchestration-1773637592404.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-marketing-automation-1773637597490.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-marketing-chatbot-1773637588564.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-predictive-analytics-1773637600359.json","e2e/output/playwright/growth-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v5/failure-1.html","e2e/output/playwright/growth-governance-recheck-v5/failure-1.png","e2e/output/playwright/growth-governance-recheck-v5/failure-2.html","e2e/output/playwright/growth-governance-recheck-v5/failure-2.png","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-accounts-1773637856277.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-audiences-1773637850560.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-biddings-1773637859067.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-campaigns-1773637845354.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-creatives-1773637848041.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-reports-1773637853256.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-campaign-library-1773637842008.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-campaigns-1773637837583.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-activities-1773637878336.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-bots-1773637891983.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-groups-1773637861569.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-members-1773637863254.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-points-1773637867326.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-tasks-1773637870372.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-customer-marketing-1773637840454.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-journey-orchestration-1773637868795.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-marketing-automation-1773637874004.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-marketing-chatbot-1773637864856.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-predictive-analytics-1773637876874.json","e2e/output/playwright/growth-governance-recheck-v5/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck/failure-1.html","e2e/output/playwright/growth-governance-recheck/failure-1.png","e2e/output/playwright/growth-governance-recheck/failure-10.html","e2e/output/playwright/growth-governance-recheck/failure-10.png","e2e/output/playwright/growth-governance-recheck/failure-11.html","e2e/output/playwright/growth-governance-recheck/failure-11.png","e2e/output/playwright/growth-governance-recheck/failure-12.html","e2e/output/playwright/growth-governance-recheck/failure-12.png","e2e/output/playwright/growth-governance-recheck/failure-13.html","e2e/output/playwright/growth-governance-recheck/failure-13.png","e2e/output/playwright/growth-governance-recheck/failure-2.html","e2e/output/playwright/growth-governance-recheck/failure-2.png","e2e/output/playwright/growth-governance-recheck/failure-3.html","e2e/output/playwright/growth-governance-recheck/failure-3.png","e2e/output/playwright/growth-governance-recheck/failure-4.html","e2e/output/playwright/growth-governance-recheck/failure-4.png","e2e/output/playwright/growth-governance-recheck/failure-5.html","e2e/output/playwright/growth-governance-recheck/failure-5.png","e2e/output/playwright/growth-governance-recheck/failure-6.html","e2e/output/playwright/growth-governance-recheck/failure-6.png","e2e/output/playwright/growth-governance-recheck/failure-7.html","e2e/output/playwright/growth-governance-recheck/failure-7.png","e2e/output/playwright/growth-governance-recheck/failure-8.html","e2e/output/playwright/growth-governance-recheck/failure-8.png","e2e/output/playwright/growth-governance-recheck/failure-9.html","e2e/output/playwright/growth-governance-recheck/failure-9.png","e2e/output/playwright/growth-governance-recheck/probes/-ad-accounts-1773636279090.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-audiences-1773636274572.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-biddings-1773636281658.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-campaigns-1773636269396.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-creatives-1773636272040.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-reports-1773636276435.json","e2e/output/playwright/growth-governance-recheck/probes/-campaign-library-1773636266028.json","e2e/output/playwright/growth-governance-recheck/probes/-campaigns-1773636262465.json","e2e/output/playwright/growth-governance-recheck/probes/-community-activities-1773636296839.json","e2e/output/playwright/growth-governance-recheck/probes/-community-bots-1773636309301.json","e2e/output/playwright/growth-governance-recheck/probes/-community-groups-1773636282678.json","e2e/output/playwright/growth-governance-recheck/probes/-community-members-1773636283728.json","e2e/output/playwright/growth-governance-recheck/probes/-community-points-1773636287173.json","e2e/output/playwright/growth-governance-recheck/probes/-community-tasks-1773636289789.json","e2e/output/playwright/growth-governance-recheck/probes/-customer-marketing-1773636264449.json","e2e/output/playwright/growth-governance-recheck/probes/-journey-orchestration-1773636288630.json","e2e/output/playwright/growth-governance-recheck/probes/-marketing-automation-1773636292934.json","e2e/output/playwright/growth-governance-recheck/probes/-marketing-chatbot-1773636284766.json","e2e/output/playwright/growth-governance-recheck/probes/-predictive-analytics-1773636295835.json","e2e/output/playwright/growth-governance-recheck/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v2/failure-1.html","e2e/output/playwright/supply-governance-recheck-v2/failure-1.png","e2e/output/playwright/supply-governance-recheck-v2/failure-2.html","e2e/output/playwright/supply-governance-recheck-v2/failure-2.png","e2e/output/playwright/supply-governance-recheck-v2/failure-3.html","e2e/output/playwright/supply-governance-recheck-v2/failure-3.png","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-bom-1773638085569.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-issues-1773638089294.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-orders-1773638087361.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-receipts-1773638091237.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assets-1773638096600.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-devices-1773638098927.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-outbound-1773638081116.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-product-categories-1773638095076.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-products-1773638093780.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-serial-numbers-1773638082543.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-suppliers-1773638056945.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-supply-chain-1773638054946.json","e2e/output/playwright/supply-governance-recheck-v2/visible-menu-snapshot.json","e2e/playwright-report/data/2bb2f2c3e1d82fa9325fdd6b5f4669df159db17a.md","e2e/playwright-report/data/92afb63601a0131a016d16a554bdb89a648849de.png","e2e/test-results/.last-run.json","e2e/test-results/results.json"],"removed":[],"modified":["backend/src/modules/ad-accounts/ad-account.controller.ts","backend/src/modules/ad-biddings/ad-bidding.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/shared/utils/biz-code.ts","e2e/playwright-report/index.html","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","e2e/tests/crud/module-catalog.overrides.ts"]}],"total_commits":0,"head_commit":{"id":"c1da50f2974fe9552f40dde68ec34df656ddca22","message":"feat: 同步治理文档与 Playwright 可见菜单写批次运行产物\n\n- 更新四份核心文档(AGENTS/CLAUDE/GEMINI/README)菜单深交互基线治理经验\n- 补充 module-governance-acceptance-checklist.md 新模板\n- 更新 module-acceptance-card.md 验收卡与 runbook 运行手册\n- 刷新 inventory.controller.ts 出库模块控制器\n- 同步前端 leads/Index.vue 线索列表页\n- 更新可见菜单写批次:ai-acquisition-content / finance / supply-chain /\n growth-sales-stores-service / synergy / system-infra / hr 域新一轮\n probe JSON、failure 截图与 action-coverage-report\n- 新增 sales-leads / outbound / sales / supply 治理复查产物目录\n- 更新 e2e 测试脚本与 CRUD catalog 配置\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c1da50f2974fe9552f40dde68ec34df656ddca22","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T15:28:33+08:00","added":["docs/templates/governance/module-governance-acceptance-checklist.md","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v1/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.html","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.png","e2e/output/playwright/outbound-governance-recheck-v1/probes/-outbound-1773728392272.json","e2e/output/playwright/outbound-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v2/probes/-outbound-1773729291584.json","e2e/output/playwright/outbound-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/sales-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/sales-governance-recheck-v2/failure-1.html","e2e/output/playwright/sales-governance-recheck-v2/failure-1.png","e2e/output/playwright/sales-governance-recheck-v2/failure-2.html","e2e/output/playwright/sales-governance-recheck-v2/failure-2.png","e2e/output/playwright/sales-governance-recheck-v2/probes/-leads-1773730807935.json","e2e/output/playwright/sales-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/sales-leads-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/sales-leads-governance-recheck-v4/probes/-leads-1773728044474.json","e2e/output/playwright/sales-leads-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v5/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-bom-1773730659592.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-issues-1773730663321.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-orders-1773730661365.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-receipts-1773730665247.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assets-1773730671300.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-devices-1773730673579.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-outbound-1773730655235.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-product-categories-1773730669828.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-products-1773730667766.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-serial-numbers-1773730656634.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-suppliers-1773730630707.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-supply-chain-1773730628780.json","e2e/output/playwright/supply-governance-recheck-v5/visible-menu-snapshot.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.png","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773730293426.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773730346930.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773730265455.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773730339395.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773730342218.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773730348434.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-leads-1773730376023.json","output/playwright/full-menu-write-batches/finance/action-coverage-report.md","output/playwright/full-menu-write-batches/finance/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/finance/failure-3.html","output/playwright/full-menu-write-batches/finance/failure-3.png","output/playwright/full-menu-write-batches/finance/failure-4.html","output/playwright/full-menu-write-batches/finance/failure-4.png","output/playwright/full-menu-write-batches/finance/failure-5.html","output/playwright/full-menu-write-batches/finance/failure-5.png","output/playwright/full-menu-write-batches/finance/failure-6.html","output/playwright/full-menu-write-batches/finance/failure-6.png","output/playwright/full-menu-write-batches/finance/failure-7.html","output/playwright/full-menu-write-batches/finance/failure-7.png","output/playwright/full-menu-write-batches/finance/failure-8.html","output/playwright/full-menu-write-batches/finance/failure-8.png","output/playwright/full-menu-write-batches/finance/failure-9.html","output/playwright/full-menu-write-batches/finance/failure-9.png","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773730815434.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773730746198.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773730747838.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-accounts-1773730566774.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-audiences-1773730561615.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-biddings-1773730569333.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-campaigns-1773730556834.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-creatives-1773730559313.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-reports-1773730564152.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaign-library-1773730532757.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaigns-1773730528728.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-activities-1773730587398.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-bots-1773730600826.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-groups-1773730571925.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-members-1773730573486.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-points-1773730577188.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-tasks-1773730579980.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customer-marketing-1773730531325.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-journey-orchestration-1773730578554.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-automation-1773730583244.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-chatbot-1773730574929.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-predictive-analytics-1773730586008.json","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773731255349.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773731072621.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773731076369.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773731074407.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773731078283.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assets-1773731084301.json","output/playwright/full-menu-write-batches/supply-chain/probes/-devices-1773731086563.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773731068258.json","output/playwright/full-menu-write-batches/supply-chain/probes/-product-categories-1773731082834.json","output/playwright/full-menu-write-batches/supply-chain/probes/-products-1773731080800.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773731069659.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773731043692.json","output/playwright/full-menu-write-batches/supply-chain/probes/-supply-chain-1773731041756.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773731295866.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773731281925.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773731268383.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773731266376.json"],"removed":["e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773632942127.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773632995925.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773632916088.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773632988219.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773632991102.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773632997429.json","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773633734328.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773633664730.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773633666424.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.png","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773634383805.json","output/playwright/full-menu-write-batches/supply-chain/failure-1.html","output/playwright/full-menu-write-batches/supply-chain/failure-1.png","output/playwright/full-menu-write-batches/supply-chain/failure-2.html","output/playwright/full-menu-write-batches/supply-chain/failure-2.png","output/playwright/full-menu-write-batches/supply-chain/failure-3.html","output/playwright/full-menu-write-batches/supply-chain/failure-3.png","output/playwright/full-menu-write-batches/supply-chain/failure-4.html","output/playwright/full-menu-write-batches/supply-chain/failure-4.png","output/playwright/full-menu-write-batches/supply-chain/failure-5.html","output/playwright/full-menu-write-batches/supply-chain/failure-5.png","output/playwright/full-menu-write-batches/supply-chain/failure-6.html","output/playwright/full-menu-write-batches/supply-chain/failure-6.png","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773633901574.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773633905434.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773633903472.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773633907354.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773633897130.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773633898566.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773633882907.json","output/playwright/full-menu-write-batches/synergy/action-coverage-report.json","output/playwright/full-menu-write-batches/synergy/probes/-departments-1773633979244.json","output/playwright/full-menu-write-batches/synergy/probes/-knowledge-1773633919146.json","output/playwright/full-menu-write-batches/synergy/probes/-stage-knowledge-1773633921148.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773634434163.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773634420132.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773634396344.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773634394393.json"],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/inventory/inventory.controller.ts","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/templates/governance/module-acceptance-card.md","e2e/playwright-report/index.html","e2e/scripts/run-visible-write-batches.mjs","e2e/tests/crud/01-visible-menu-write-runner.spec.ts","e2e/tests/crud/module-catalog.overrides.ts","e2e/tests/crud/types.ts","e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/views/leads/Index.vue","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.json","output/playwright/full-menu-write-batches/batch-summary.json","output/playwright/full-menu-write-batches/batch-summary.md","output/playwright/full-menu-write-batches/finance/action-coverage-report.json","output/playwright/full-menu-write-batches/finance/failure-1.html","output/playwright/full-menu-write-batches/finance/failure-1.png","output/playwright/full-menu-write-batches/finance/failure-2.html","output/playwright/full-menu-write-batches/finance/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.md","output/playwright/full-menu-write-batches/supply-chain/blocked-unmapped-pages.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/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":1162552,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-17T15:30:33+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
1
|
3
|
1773732932
|
1773732932
|
0
|
1773732932
|
1773732932
|
NULL
|
|
0
|
Edit
Delete
|
|
6359
|
feat: 同步治理文档与 Playwright 可见菜单写批次运行产物
|
6
|
5
|
health-check.yml
|
6293
|
-2
|
58
|
refs/heads/main
|
c1da50f2974fe9552f40dde68ec34df656ddca22
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e5a2f5ba8d6442be07c490ec77c734dbe317bfd5","after":"c1da50f2974fe9552f40dde68ec34df656ddca22","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e5a2f5ba8d6442be07c490ec77c734dbe317bfd5...c1da50f2974fe9552f40dde68ec34df656ddca22","commits":[{"id":"c1da50f2974fe9552f40dde68ec34df656ddca22","message":"feat: 同步治理文档与 Playwright 可见菜单写批次运行产物\n\n- 更新四份核心文档(AGENTS/CLAUDE/GEMINI/README)菜单深交互基线治理经验\n- 补充 module-governance-acceptance-checklist.md 新模板\n- 更新 module-acceptance-card.md 验收卡与 runbook 运行手册\n- 刷新 inventory.controller.ts 出库模块控制器\n- 同步前端 leads/Index.vue 线索列表页\n- 更新可见菜单写批次:ai-acquisition-content / finance / supply-chain /\n growth-sales-stores-service / synergy / system-infra / hr 域新一轮\n probe JSON、failure 截图与 action-coverage-report\n- 新增 sales-leads / outbound / sales / supply 治理复查产物目录\n- 更新 e2e 测试脚本与 CRUD catalog 配置\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c1da50f2974fe9552f40dde68ec34df656ddca22","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T15:28:33+08:00","added":["docs/templates/governance/module-governance-acceptance-checklist.md","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v1/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.html","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.png","e2e/output/playwright/outbound-governance-recheck-v1/probes/-outbound-1773728392272.json","e2e/output/playwright/outbound-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v2/probes/-outbound-1773729291584.json","e2e/output/playwright/outbound-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/sales-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/sales-governance-recheck-v2/failure-1.html","e2e/output/playwright/sales-governance-recheck-v2/failure-1.png","e2e/output/playwright/sales-governance-recheck-v2/failure-2.html","e2e/output/playwright/sales-governance-recheck-v2/failure-2.png","e2e/output/playwright/sales-governance-recheck-v2/probes/-leads-1773730807935.json","e2e/output/playwright/sales-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/sales-leads-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/sales-leads-governance-recheck-v4/probes/-leads-1773728044474.json","e2e/output/playwright/sales-leads-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v5/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-bom-1773730659592.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-issues-1773730663321.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-orders-1773730661365.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-receipts-1773730665247.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assets-1773730671300.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-devices-1773730673579.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-outbound-1773730655235.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-product-categories-1773730669828.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-products-1773730667766.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-serial-numbers-1773730656634.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-suppliers-1773730630707.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-supply-chain-1773730628780.json","e2e/output/playwright/supply-governance-recheck-v5/visible-menu-snapshot.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.png","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773730293426.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773730346930.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773730265455.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773730339395.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773730342218.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773730348434.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-leads-1773730376023.json","output/playwright/full-menu-write-batches/finance/action-coverage-report.md","output/playwright/full-menu-write-batches/finance/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/finance/failure-3.html","output/playwright/full-menu-write-batches/finance/failure-3.png","output/playwright/full-menu-write-batches/finance/failure-4.html","output/playwright/full-menu-write-batches/finance/failure-4.png","output/playwright/full-menu-write-batches/finance/failure-5.html","output/playwright/full-menu-write-batches/finance/failure-5.png","output/playwright/full-menu-write-batches/finance/failure-6.html","output/playwright/full-menu-write-batches/finance/failure-6.png","output/playwright/full-menu-write-batches/finance/failure-7.html","output/playwright/full-menu-write-batches/finance/failure-7.png","output/playwright/full-menu-write-batches/finance/failure-8.html","output/playwright/full-menu-write-batches/finance/failure-8.png","output/playwright/full-menu-write-batches/finance/failure-9.html","output/playwright/full-menu-write-batches/finance/failure-9.png","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773730815434.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773730746198.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773730747838.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-accounts-1773730566774.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-audiences-1773730561615.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-biddings-1773730569333.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-campaigns-1773730556834.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-creatives-1773730559313.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-reports-1773730564152.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaign-library-1773730532757.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaigns-1773730528728.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-activities-1773730587398.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-bots-1773730600826.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-groups-1773730571925.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-members-1773730573486.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-points-1773730577188.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-tasks-1773730579980.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customer-marketing-1773730531325.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-journey-orchestration-1773730578554.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-automation-1773730583244.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-chatbot-1773730574929.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-predictive-analytics-1773730586008.json","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773731255349.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773731072621.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773731076369.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773731074407.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773731078283.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assets-1773731084301.json","output/playwright/full-menu-write-batches/supply-chain/probes/-devices-1773731086563.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773731068258.json","output/playwright/full-menu-write-batches/supply-chain/probes/-product-categories-1773731082834.json","output/playwright/full-menu-write-batches/supply-chain/probes/-products-1773731080800.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773731069659.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773731043692.json","output/playwright/full-menu-write-batches/supply-chain/probes/-supply-chain-1773731041756.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773731295866.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773731281925.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773731268383.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773731266376.json"],"removed":["e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773632942127.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773632995925.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773632916088.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773632988219.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773632991102.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773632997429.json","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773633734328.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773633664730.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773633666424.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.png","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773634383805.json","output/playwright/full-menu-write-batches/supply-chain/failure-1.html","output/playwright/full-menu-write-batches/supply-chain/failure-1.png","output/playwright/full-menu-write-batches/supply-chain/failure-2.html","output/playwright/full-menu-write-batches/supply-chain/failure-2.png","output/playwright/full-menu-write-batches/supply-chain/failure-3.html","output/playwright/full-menu-write-batches/supply-chain/failure-3.png","output/playwright/full-menu-write-batches/supply-chain/failure-4.html","output/playwright/full-menu-write-batches/supply-chain/failure-4.png","output/playwright/full-menu-write-batches/supply-chain/failure-5.html","output/playwright/full-menu-write-batches/supply-chain/failure-5.png","output/playwright/full-menu-write-batches/supply-chain/failure-6.html","output/playwright/full-menu-write-batches/supply-chain/failure-6.png","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773633901574.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773633905434.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773633903472.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773633907354.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773633897130.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773633898566.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773633882907.json","output/playwright/full-menu-write-batches/synergy/action-coverage-report.json","output/playwright/full-menu-write-batches/synergy/probes/-departments-1773633979244.json","output/playwright/full-menu-write-batches/synergy/probes/-knowledge-1773633919146.json","output/playwright/full-menu-write-batches/synergy/probes/-stage-knowledge-1773633921148.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773634434163.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773634420132.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773634396344.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773634394393.json"],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/inventory/inventory.controller.ts","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/templates/governance/module-acceptance-card.md","e2e/playwright-report/index.html","e2e/scripts/run-visible-write-batches.mjs","e2e/tests/crud/01-visible-menu-write-runner.spec.ts","e2e/tests/crud/module-catalog.overrides.ts","e2e/tests/crud/types.ts","e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/views/leads/Index.vue","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.json","output/playwright/full-menu-write-batches/batch-summary.json","output/playwright/full-menu-write-batches/batch-summary.md","output/playwright/full-menu-write-batches/finance/action-coverage-report.json","output/playwright/full-menu-write-batches/finance/failure-1.html","output/playwright/full-menu-write-batches/finance/failure-1.png","output/playwright/full-menu-write-batches/finance/failure-2.html","output/playwright/full-menu-write-batches/finance/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.md","output/playwright/full-menu-write-batches/supply-chain/blocked-unmapped-pages.json"]},{"id":"9d26d79a0e913f59f095f5770c349ada3eb290e6","message":"Sync governance docs with repo triage guidance\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9d26d79a0e913f59f095f5770c349ada3eb290e6","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:59:58+08:00","added":[],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","docs/contract-governance-3.0.md","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/reports/governance-experience-2026-03-07.md"]},{"id":"90763866bd7d7302b2fd963c80971c0c980e2a40","message":"Add visible menu snapshot for sales leads governance recheck\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/90763866bd7d7302b2fd963c80971c0c980e2a40","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:52:59+08:00","added":["e2e/output/playwright/sales-leads-governance-recheck-v2/visible-menu-snapshot.json"],"removed":[],"modified":[]},{"id":"37491f5183c3793b77913e9fa046090fd3e2140e","message":"Fix visible-menu action contracts and refresh Playwright artifacts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/37491f5183c3793b77913e9fa046090fd3e2140e","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:49:50+08:00","added":["e2e/output/playwright/growth-governance-recheck-v6/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v6/failure-1.html","e2e/output/playwright/growth-governance-recheck-v6/failure-1.png","e2e/output/playwright/growth-governance-recheck-v6/failure-2.html","e2e/output/playwright/growth-governance-recheck-v6/failure-2.png","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-accounts-1773724659044.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-audiences-1773724653884.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-biddings-1773724661639.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-campaigns-1773724649143.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-creatives-1773724651605.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-reports-1773724656426.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-campaign-library-1773724625404.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-campaigns-1773724621356.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-activities-1773724679469.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-bots-1773724692868.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-groups-1773724663988.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-members-1773724665547.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-points-1773724669207.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-tasks-1773724672014.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-customer-marketing-1773724623985.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-journey-orchestration-1773724670573.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-marketing-automation-1773724675311.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-marketing-chatbot-1773724666974.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-predictive-analytics-1773724678072.json","e2e/output/playwright/growth-governance-recheck-v6/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v7/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v7/failure-1.html","e2e/output/playwright/growth-governance-recheck-v7/failure-1.png","e2e/output/playwright/growth-governance-recheck-v7/failure-2.html","e2e/output/playwright/growth-governance-recheck-v7/failure-2.png","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-audiences-1773725119348.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-biddings-1773725144948.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-campaigns-1773725114561.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-creatives-1773725117027.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-reports-1773725121927.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-campaign-library-1773725090781.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-campaigns-1773725086648.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-activities-1773725163012.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-bots-1773725176355.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-groups-1773725147556.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-members-1773725149129.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-points-1773725152767.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-tasks-1773725155559.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-customer-marketing-1773725089355.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-journey-orchestration-1773725154125.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-marketing-automation-1773725158850.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-marketing-chatbot-1773725150561.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-predictive-analytics-1773725161612.json","e2e/output/playwright/growth-governance-recheck-v7/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v8/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-accounts-1773725331287.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-audiences-1773725326038.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-biddings-1773725333878.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-campaigns-1773725321263.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-creatives-1773725323743.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-reports-1773725328622.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-campaign-library-1773725297280.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-campaigns-1773725293257.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-activities-1773725352012.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-bots-1773725365518.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-groups-1773725336490.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-members-1773725338048.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-points-1773725341744.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-tasks-1773725344573.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-customer-marketing-1773725295883.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-journey-orchestration-1773725343111.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-marketing-automation-1773725347852.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-marketing-chatbot-1773725339499.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-predictive-analytics-1773725350608.json","e2e/output/playwright/growth-governance-recheck-v8/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v1-page1/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/sales-stores-service-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v3/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v3/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v3/failure-1.html","e2e/output/playwright/supply-governance-recheck-v3/failure-1.png","e2e/output/playwright/supply-governance-recheck-v3/failure-2.html","e2e/output/playwright/supply-governance-recheck-v3/failure-2.png","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-bom-1773724804766.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-issues-1773724808526.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-orders-1773724806554.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-receipts-1773724810440.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assets-1773724816442.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-devices-1773724818721.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-outbound-1773724800429.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-product-categories-1773724814983.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-products-1773724812923.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-serial-numbers-1773724801816.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-suppliers-1773724776440.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-supply-chain-1773724774524.json","e2e/output/playwright/supply-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v4/failure-1.html","e2e/output/playwright/supply-governance-recheck-v4/failure-1.png","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-bom-1773724908303.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-issues-1773724912024.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-orders-1773724910085.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-receipts-1773724913947.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assets-1773724920008.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-devices-1773724922280.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-outbound-1773724903876.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-product-categories-1773724918547.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-products-1773724916486.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-serial-numbers-1773724905275.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-suppliers-1773724890016.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-supply-chain-1773724888101.json","e2e/output/playwright/supply-governance-recheck-v4/visible-menu-snapshot.json","e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md"],"removed":["e2e/playwright-report/data/2bb2f2c3e1d82fa9325fdd6b5f4669df159db17a.md","e2e/playwright-report/data/92afb63601a0131a016d16a554bdb89a648849de.png","e2e/test-results/.last-run.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","e2e/test-results/results.json"],"modified":["backend/src/modules/ad-campaigns/ad-campaigns.service.ts","backend/src/modules/community-groups/community-group.contract.routes.ts","backend/src/shared/process-core/default-workflow-definitions.ts","e2e/playwright-report/index.html","e2e/tests/crud/module-catalog.overrides.ts"]},{"id":"46e5f097ea53c593ee709803d6679b5520a6b271","message":"Fix growth module write contracts and governance probes\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/46e5f097ea53c593ee709803d6679b5520a6b271","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:14:33+08:00","added":[".claude/worktrees/vibrant-mestorf","e2e/output/playwright/growth-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v2/failure-1.html","e2e/output/playwright/growth-governance-recheck-v2/failure-1.png","e2e/output/playwright/growth-governance-recheck-v2/failure-2.html","e2e/output/playwright/growth-governance-recheck-v2/failure-2.png","e2e/output/playwright/growth-governance-recheck-v2/failure-3.html","e2e/output/playwright/growth-governance-recheck-v2/failure-3.png","e2e/output/playwright/growth-governance-recheck-v2/failure-4.html","e2e/output/playwright/growth-governance-recheck-v2/failure-4.png","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-accounts-1773637103428.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-audiences-1773637097919.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-biddings-1773637106233.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-campaigns-1773637092737.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-creatives-1773637095413.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-reports-1773637100574.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-campaign-library-1773637068728.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-campaigns-1773637064334.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-activities-1773637125231.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-bots-1773637138800.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-groups-1773637108862.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-members-1773637110559.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-points-1773637114159.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-tasks-1773637117170.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-customer-marketing-1773637067192.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-journey-orchestration-1773637115613.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-marketing-automation-1773637120849.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-marketing-chatbot-1773637111690.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-predictive-analytics-1773637123749.json","e2e/output/playwright/growth-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v3/failure-1.html","e2e/output/playwright/growth-governance-recheck-v3/failure-1.png","e2e/output/playwright/growth-governance-recheck-v3/failure-2.html","e2e/output/playwright/growth-governance-recheck-v3/failure-2.png","e2e/output/playwright/growth-governance-recheck-v3/failure-3.html","e2e/output/playwright/growth-governance-recheck-v3/failure-3.png","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-accounts-1773637290819.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-audiences-1773637285318.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-biddings-1773637293641.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-campaigns-1773637280219.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-creatives-1773637282870.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-reports-1773637287997.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-campaign-library-1773637256300.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-campaigns-1773637252140.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-activities-1773637312007.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-bots-1773637315094.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-groups-1773637296205.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-members-1773637297858.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-points-1773637301326.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-tasks-1773637304221.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-customer-marketing-1773637254826.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-journey-orchestration-1773637302713.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-marketing-automation-1773637307735.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-marketing-chatbot-1773637298900.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-predictive-analytics-1773637310596.json","e2e/output/playwright/growth-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v4/failure-1.html","e2e/output/playwright/growth-governance-recheck-v4/failure-1.png","e2e/output/playwright/growth-governance-recheck-v4/failure-2.html","e2e/output/playwright/growth-governance-recheck-v4/failure-2.png","e2e/output/playwright/growth-governance-recheck-v4/failure-3.html","e2e/output/playwright/growth-governance-recheck-v4/failure-3.png","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-accounts-1773637580471.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-audiences-1773637574939.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-biddings-1773637583127.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-campaigns-1773637569798.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-creatives-1773637572491.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-reports-1773637577693.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-campaign-library-1773637545837.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-campaigns-1773637541347.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-activities-1773637601885.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-bots-1773637615595.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-groups-1773637585737.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-members-1773637587440.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-points-1773637590954.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-tasks-1773637593940.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-customer-marketing-1773637544263.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-journey-orchestration-1773637592404.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-marketing-automation-1773637597490.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-marketing-chatbot-1773637588564.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-predictive-analytics-1773637600359.json","e2e/output/playwright/growth-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v5/failure-1.html","e2e/output/playwright/growth-governance-recheck-v5/failure-1.png","e2e/output/playwright/growth-governance-recheck-v5/failure-2.html","e2e/output/playwright/growth-governance-recheck-v5/failure-2.png","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-accounts-1773637856277.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-audiences-1773637850560.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-biddings-1773637859067.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-campaigns-1773637845354.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-creatives-1773637848041.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-reports-1773637853256.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-campaign-library-1773637842008.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-campaigns-1773637837583.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-activities-1773637878336.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-bots-1773637891983.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-groups-1773637861569.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-members-1773637863254.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-points-1773637867326.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-tasks-1773637870372.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-customer-marketing-1773637840454.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-journey-orchestration-1773637868795.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-marketing-automation-1773637874004.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-marketing-chatbot-1773637864856.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-predictive-analytics-1773637876874.json","e2e/output/playwright/growth-governance-recheck-v5/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck/failure-1.html","e2e/output/playwright/growth-governance-recheck/failure-1.png","e2e/output/playwright/growth-governance-recheck/failure-10.html","e2e/output/playwright/growth-governance-recheck/failure-10.png","e2e/output/playwright/growth-governance-recheck/failure-11.html","e2e/output/playwright/growth-governance-recheck/failure-11.png","e2e/output/playwright/growth-governance-recheck/failure-12.html","e2e/output/playwright/growth-governance-recheck/failure-12.png","e2e/output/playwright/growth-governance-recheck/failure-13.html","e2e/output/playwright/growth-governance-recheck/failure-13.png","e2e/output/playwright/growth-governance-recheck/failure-2.html","e2e/output/playwright/growth-governance-recheck/failure-2.png","e2e/output/playwright/growth-governance-recheck/failure-3.html","e2e/output/playwright/growth-governance-recheck/failure-3.png","e2e/output/playwright/growth-governance-recheck/failure-4.html","e2e/output/playwright/growth-governance-recheck/failure-4.png","e2e/output/playwright/growth-governance-recheck/failure-5.html","e2e/output/playwright/growth-governance-recheck/failure-5.png","e2e/output/playwright/growth-governance-recheck/failure-6.html","e2e/output/playwright/growth-governance-recheck/failure-6.png","e2e/output/playwright/growth-governance-recheck/failure-7.html","e2e/output/playwright/growth-governance-recheck/failure-7.png","e2e/output/playwright/growth-governance-recheck/failure-8.html","e2e/output/playwright/growth-governance-recheck/failure-8.png","e2e/output/playwright/growth-governance-recheck/failure-9.html","e2e/output/playwright/growth-governance-recheck/failure-9.png","e2e/output/playwright/growth-governance-recheck/probes/-ad-accounts-1773636279090.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-audiences-1773636274572.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-biddings-1773636281658.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-campaigns-1773636269396.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-creatives-1773636272040.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-reports-1773636276435.json","e2e/output/playwright/growth-governance-recheck/probes/-campaign-library-1773636266028.json","e2e/output/playwright/growth-governance-recheck/probes/-campaigns-1773636262465.json","e2e/output/playwright/growth-governance-recheck/probes/-community-activities-1773636296839.json","e2e/output/playwright/growth-governance-recheck/probes/-community-bots-1773636309301.json","e2e/output/playwright/growth-governance-recheck/probes/-community-groups-1773636282678.json","e2e/output/playwright/growth-governance-recheck/probes/-community-members-1773636283728.json","e2e/output/playwright/growth-governance-recheck/probes/-community-points-1773636287173.json","e2e/output/playwright/growth-governance-recheck/probes/-community-tasks-1773636289789.json","e2e/output/playwright/growth-governance-recheck/probes/-customer-marketing-1773636264449.json","e2e/output/playwright/growth-governance-recheck/probes/-journey-orchestration-1773636288630.json","e2e/output/playwright/growth-governance-recheck/probes/-marketing-automation-1773636292934.json","e2e/output/playwright/growth-governance-recheck/probes/-marketing-chatbot-1773636284766.json","e2e/output/playwright/growth-governance-recheck/probes/-predictive-analytics-1773636295835.json","e2e/output/playwright/growth-governance-recheck/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v2/failure-1.html","e2e/output/playwright/supply-governance-recheck-v2/failure-1.png","e2e/output/playwright/supply-governance-recheck-v2/failure-2.html","e2e/output/playwright/supply-governance-recheck-v2/failure-2.png","e2e/output/playwright/supply-governance-recheck-v2/failure-3.html","e2e/output/playwright/supply-governance-recheck-v2/failure-3.png","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-bom-1773638085569.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-issues-1773638089294.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-orders-1773638087361.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-receipts-1773638091237.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assets-1773638096600.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-devices-1773638098927.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-outbound-1773638081116.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-product-categories-1773638095076.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-products-1773638093780.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-serial-numbers-1773638082543.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-suppliers-1773638056945.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-supply-chain-1773638054946.json","e2e/output/playwright/supply-governance-recheck-v2/visible-menu-snapshot.json","e2e/playwright-report/data/2bb2f2c3e1d82fa9325fdd6b5f4669df159db17a.md","e2e/playwright-report/data/92afb63601a0131a016d16a554bdb89a648849de.png","e2e/test-results/.last-run.json","e2e/test-results/results.json"],"removed":[],"modified":["backend/src/modules/ad-accounts/ad-account.controller.ts","backend/src/modules/ad-biddings/ad-bidding.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/shared/utils/biz-code.ts","e2e/playwright-report/index.html","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","e2e/tests/crud/module-catalog.overrides.ts"]}],"total_commits":0,"head_commit":{"id":"c1da50f2974fe9552f40dde68ec34df656ddca22","message":"feat: 同步治理文档与 Playwright 可见菜单写批次运行产物\n\n- 更新四份核心文档(AGENTS/CLAUDE/GEMINI/README)菜单深交互基线治理经验\n- 补充 module-governance-acceptance-checklist.md 新模板\n- 更新 module-acceptance-card.md 验收卡与 runbook 运行手册\n- 刷新 inventory.controller.ts 出库模块控制器\n- 同步前端 leads/Index.vue 线索列表页\n- 更新可见菜单写批次:ai-acquisition-content / finance / supply-chain /\n growth-sales-stores-service / synergy / system-infra / hr 域新一轮\n probe JSON、failure 截图与 action-coverage-report\n- 新增 sales-leads / outbound / sales / supply 治理复查产物目录\n- 更新 e2e 测试脚本与 CRUD catalog 配置\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c1da50f2974fe9552f40dde68ec34df656ddca22","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T15:28:33+08:00","added":["docs/templates/governance/module-governance-acceptance-checklist.md","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v1/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.html","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.png","e2e/output/playwright/outbound-governance-recheck-v1/probes/-outbound-1773728392272.json","e2e/output/playwright/outbound-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v2/probes/-outbound-1773729291584.json","e2e/output/playwright/outbound-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/sales-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/sales-governance-recheck-v2/failure-1.html","e2e/output/playwright/sales-governance-recheck-v2/failure-1.png","e2e/output/playwright/sales-governance-recheck-v2/failure-2.html","e2e/output/playwright/sales-governance-recheck-v2/failure-2.png","e2e/output/playwright/sales-governance-recheck-v2/probes/-leads-1773730807935.json","e2e/output/playwright/sales-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/sales-leads-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/sales-leads-governance-recheck-v4/probes/-leads-1773728044474.json","e2e/output/playwright/sales-leads-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v5/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-bom-1773730659592.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-issues-1773730663321.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-orders-1773730661365.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-receipts-1773730665247.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assets-1773730671300.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-devices-1773730673579.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-outbound-1773730655235.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-product-categories-1773730669828.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-products-1773730667766.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-serial-numbers-1773730656634.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-suppliers-1773730630707.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-supply-chain-1773730628780.json","e2e/output/playwright/supply-governance-recheck-v5/visible-menu-snapshot.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.png","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773730293426.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773730346930.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773730265455.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773730339395.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773730342218.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773730348434.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-leads-1773730376023.json","output/playwright/full-menu-write-batches/finance/action-coverage-report.md","output/playwright/full-menu-write-batches/finance/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/finance/failure-3.html","output/playwright/full-menu-write-batches/finance/failure-3.png","output/playwright/full-menu-write-batches/finance/failure-4.html","output/playwright/full-menu-write-batches/finance/failure-4.png","output/playwright/full-menu-write-batches/finance/failure-5.html","output/playwright/full-menu-write-batches/finance/failure-5.png","output/playwright/full-menu-write-batches/finance/failure-6.html","output/playwright/full-menu-write-batches/finance/failure-6.png","output/playwright/full-menu-write-batches/finance/failure-7.html","output/playwright/full-menu-write-batches/finance/failure-7.png","output/playwright/full-menu-write-batches/finance/failure-8.html","output/playwright/full-menu-write-batches/finance/failure-8.png","output/playwright/full-menu-write-batches/finance/failure-9.html","output/playwright/full-menu-write-batches/finance/failure-9.png","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773730815434.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773730746198.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773730747838.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-accounts-1773730566774.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-audiences-1773730561615.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-biddings-1773730569333.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-campaigns-1773730556834.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-creatives-1773730559313.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-reports-1773730564152.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaign-library-1773730532757.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaigns-1773730528728.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-activities-1773730587398.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-bots-1773730600826.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-groups-1773730571925.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-members-1773730573486.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-points-1773730577188.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-tasks-1773730579980.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customer-marketing-1773730531325.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-journey-orchestration-1773730578554.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-automation-1773730583244.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-chatbot-1773730574929.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-predictive-analytics-1773730586008.json","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773731255349.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773731072621.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773731076369.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773731074407.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773731078283.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assets-1773731084301.json","output/playwright/full-menu-write-batches/supply-chain/probes/-devices-1773731086563.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773731068258.json","output/playwright/full-menu-write-batches/supply-chain/probes/-product-categories-1773731082834.json","output/playwright/full-menu-write-batches/supply-chain/probes/-products-1773731080800.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773731069659.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773731043692.json","output/playwright/full-menu-write-batches/supply-chain/probes/-supply-chain-1773731041756.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773731295866.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773731281925.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773731268383.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773731266376.json"],"removed":["e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773632942127.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773632995925.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773632916088.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773632988219.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773632991102.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773632997429.json","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773633734328.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773633664730.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773633666424.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.png","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773634383805.json","output/playwright/full-menu-write-batches/supply-chain/failure-1.html","output/playwright/full-menu-write-batches/supply-chain/failure-1.png","output/playwright/full-menu-write-batches/supply-chain/failure-2.html","output/playwright/full-menu-write-batches/supply-chain/failure-2.png","output/playwright/full-menu-write-batches/supply-chain/failure-3.html","output/playwright/full-menu-write-batches/supply-chain/failure-3.png","output/playwright/full-menu-write-batches/supply-chain/failure-4.html","output/playwright/full-menu-write-batches/supply-chain/failure-4.png","output/playwright/full-menu-write-batches/supply-chain/failure-5.html","output/playwright/full-menu-write-batches/supply-chain/failure-5.png","output/playwright/full-menu-write-batches/supply-chain/failure-6.html","output/playwright/full-menu-write-batches/supply-chain/failure-6.png","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773633901574.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773633905434.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773633903472.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773633907354.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773633897130.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773633898566.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773633882907.json","output/playwright/full-menu-write-batches/synergy/action-coverage-report.json","output/playwright/full-menu-write-batches/synergy/probes/-departments-1773633979244.json","output/playwright/full-menu-write-batches/synergy/probes/-knowledge-1773633919146.json","output/playwright/full-menu-write-batches/synergy/probes/-stage-knowledge-1773633921148.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773634434163.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773634420132.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773634396344.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773634394393.json"],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/inventory/inventory.controller.ts","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/templates/governance/module-acceptance-card.md","e2e/playwright-report/index.html","e2e/scripts/run-visible-write-batches.mjs","e2e/tests/crud/01-visible-menu-write-runner.spec.ts","e2e/tests/crud/module-catalog.overrides.ts","e2e/tests/crud/types.ts","e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/views/leads/Index.vue","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.json","output/playwright/full-menu-write-batches/batch-summary.json","output/playwright/full-menu-write-batches/batch-summary.md","output/playwright/full-menu-write-batches/finance/action-coverage-report.json","output/playwright/full-menu-write-batches/finance/failure-1.html","output/playwright/full-menu-write-batches/finance/failure-1.png","output/playwright/full-menu-write-batches/finance/failure-2.html","output/playwright/full-menu-write-batches/finance/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.md","output/playwright/full-menu-write-batches/supply-chain/blocked-unmapped-pages.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/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":1162552,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-17T15:30:33+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
1
|
3
|
1773733232
|
1773733232
|
0
|
1773733232
|
1773733232
|
NULL
|
|
0
|
Edit
Delete
|
|
6360
|
feat: 同步治理文档与 Playwright 可见菜单写批次运行产物
|
6
|
5
|
health-check.yml
|
6294
|
-2
|
58
|
refs/heads/main
|
c1da50f2974fe9552f40dde68ec34df656ddca22
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e5a2f5ba8d6442be07c490ec77c734dbe317bfd5","after":"c1da50f2974fe9552f40dde68ec34df656ddca22","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e5a2f5ba8d6442be07c490ec77c734dbe317bfd5...c1da50f2974fe9552f40dde68ec34df656ddca22","commits":[{"id":"c1da50f2974fe9552f40dde68ec34df656ddca22","message":"feat: 同步治理文档与 Playwright 可见菜单写批次运行产物\n\n- 更新四份核心文档(AGENTS/CLAUDE/GEMINI/README)菜单深交互基线治理经验\n- 补充 module-governance-acceptance-checklist.md 新模板\n- 更新 module-acceptance-card.md 验收卡与 runbook 运行手册\n- 刷新 inventory.controller.ts 出库模块控制器\n- 同步前端 leads/Index.vue 线索列表页\n- 更新可见菜单写批次:ai-acquisition-content / finance / supply-chain /\n growth-sales-stores-service / synergy / system-infra / hr 域新一轮\n probe JSON、failure 截图与 action-coverage-report\n- 新增 sales-leads / outbound / sales / supply 治理复查产物目录\n- 更新 e2e 测试脚本与 CRUD catalog 配置\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c1da50f2974fe9552f40dde68ec34df656ddca22","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T15:28:33+08:00","added":["docs/templates/governance/module-governance-acceptance-checklist.md","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v1/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.html","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.png","e2e/output/playwright/outbound-governance-recheck-v1/probes/-outbound-1773728392272.json","e2e/output/playwright/outbound-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v2/probes/-outbound-1773729291584.json","e2e/output/playwright/outbound-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/sales-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/sales-governance-recheck-v2/failure-1.html","e2e/output/playwright/sales-governance-recheck-v2/failure-1.png","e2e/output/playwright/sales-governance-recheck-v2/failure-2.html","e2e/output/playwright/sales-governance-recheck-v2/failure-2.png","e2e/output/playwright/sales-governance-recheck-v2/probes/-leads-1773730807935.json","e2e/output/playwright/sales-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/sales-leads-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/sales-leads-governance-recheck-v4/probes/-leads-1773728044474.json","e2e/output/playwright/sales-leads-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v5/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-bom-1773730659592.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-issues-1773730663321.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-orders-1773730661365.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-receipts-1773730665247.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assets-1773730671300.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-devices-1773730673579.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-outbound-1773730655235.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-product-categories-1773730669828.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-products-1773730667766.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-serial-numbers-1773730656634.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-suppliers-1773730630707.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-supply-chain-1773730628780.json","e2e/output/playwright/supply-governance-recheck-v5/visible-menu-snapshot.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.png","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773730293426.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773730346930.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773730265455.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773730339395.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773730342218.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773730348434.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-leads-1773730376023.json","output/playwright/full-menu-write-batches/finance/action-coverage-report.md","output/playwright/full-menu-write-batches/finance/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/finance/failure-3.html","output/playwright/full-menu-write-batches/finance/failure-3.png","output/playwright/full-menu-write-batches/finance/failure-4.html","output/playwright/full-menu-write-batches/finance/failure-4.png","output/playwright/full-menu-write-batches/finance/failure-5.html","output/playwright/full-menu-write-batches/finance/failure-5.png","output/playwright/full-menu-write-batches/finance/failure-6.html","output/playwright/full-menu-write-batches/finance/failure-6.png","output/playwright/full-menu-write-batches/finance/failure-7.html","output/playwright/full-menu-write-batches/finance/failure-7.png","output/playwright/full-menu-write-batches/finance/failure-8.html","output/playwright/full-menu-write-batches/finance/failure-8.png","output/playwright/full-menu-write-batches/finance/failure-9.html","output/playwright/full-menu-write-batches/finance/failure-9.png","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773730815434.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773730746198.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773730747838.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-accounts-1773730566774.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-audiences-1773730561615.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-biddings-1773730569333.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-campaigns-1773730556834.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-creatives-1773730559313.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-reports-1773730564152.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaign-library-1773730532757.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaigns-1773730528728.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-activities-1773730587398.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-bots-1773730600826.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-groups-1773730571925.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-members-1773730573486.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-points-1773730577188.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-tasks-1773730579980.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customer-marketing-1773730531325.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-journey-orchestration-1773730578554.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-automation-1773730583244.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-chatbot-1773730574929.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-predictive-analytics-1773730586008.json","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773731255349.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773731072621.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773731076369.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773731074407.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773731078283.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assets-1773731084301.json","output/playwright/full-menu-write-batches/supply-chain/probes/-devices-1773731086563.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773731068258.json","output/playwright/full-menu-write-batches/supply-chain/probes/-product-categories-1773731082834.json","output/playwright/full-menu-write-batches/supply-chain/probes/-products-1773731080800.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773731069659.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773731043692.json","output/playwright/full-menu-write-batches/supply-chain/probes/-supply-chain-1773731041756.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773731295866.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773731281925.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773731268383.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773731266376.json"],"removed":["e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773632942127.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773632995925.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773632916088.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773632988219.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773632991102.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773632997429.json","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773633734328.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773633664730.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773633666424.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.png","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773634383805.json","output/playwright/full-menu-write-batches/supply-chain/failure-1.html","output/playwright/full-menu-write-batches/supply-chain/failure-1.png","output/playwright/full-menu-write-batches/supply-chain/failure-2.html","output/playwright/full-menu-write-batches/supply-chain/failure-2.png","output/playwright/full-menu-write-batches/supply-chain/failure-3.html","output/playwright/full-menu-write-batches/supply-chain/failure-3.png","output/playwright/full-menu-write-batches/supply-chain/failure-4.html","output/playwright/full-menu-write-batches/supply-chain/failure-4.png","output/playwright/full-menu-write-batches/supply-chain/failure-5.html","output/playwright/full-menu-write-batches/supply-chain/failure-5.png","output/playwright/full-menu-write-batches/supply-chain/failure-6.html","output/playwright/full-menu-write-batches/supply-chain/failure-6.png","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773633901574.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773633905434.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773633903472.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773633907354.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773633897130.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773633898566.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773633882907.json","output/playwright/full-menu-write-batches/synergy/action-coverage-report.json","output/playwright/full-menu-write-batches/synergy/probes/-departments-1773633979244.json","output/playwright/full-menu-write-batches/synergy/probes/-knowledge-1773633919146.json","output/playwright/full-menu-write-batches/synergy/probes/-stage-knowledge-1773633921148.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773634434163.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773634420132.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773634396344.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773634394393.json"],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/inventory/inventory.controller.ts","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/templates/governance/module-acceptance-card.md","e2e/playwright-report/index.html","e2e/scripts/run-visible-write-batches.mjs","e2e/tests/crud/01-visible-menu-write-runner.spec.ts","e2e/tests/crud/module-catalog.overrides.ts","e2e/tests/crud/types.ts","e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/views/leads/Index.vue","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.json","output/playwright/full-menu-write-batches/batch-summary.json","output/playwright/full-menu-write-batches/batch-summary.md","output/playwright/full-menu-write-batches/finance/action-coverage-report.json","output/playwright/full-menu-write-batches/finance/failure-1.html","output/playwright/full-menu-write-batches/finance/failure-1.png","output/playwright/full-menu-write-batches/finance/failure-2.html","output/playwright/full-menu-write-batches/finance/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.md","output/playwright/full-menu-write-batches/supply-chain/blocked-unmapped-pages.json"]},{"id":"9d26d79a0e913f59f095f5770c349ada3eb290e6","message":"Sync governance docs with repo triage guidance\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9d26d79a0e913f59f095f5770c349ada3eb290e6","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:59:58+08:00","added":[],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","docs/contract-governance-3.0.md","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/reports/governance-experience-2026-03-07.md"]},{"id":"90763866bd7d7302b2fd963c80971c0c980e2a40","message":"Add visible menu snapshot for sales leads governance recheck\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/90763866bd7d7302b2fd963c80971c0c980e2a40","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:52:59+08:00","added":["e2e/output/playwright/sales-leads-governance-recheck-v2/visible-menu-snapshot.json"],"removed":[],"modified":[]},{"id":"37491f5183c3793b77913e9fa046090fd3e2140e","message":"Fix visible-menu action contracts and refresh Playwright artifacts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/37491f5183c3793b77913e9fa046090fd3e2140e","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:49:50+08:00","added":["e2e/output/playwright/growth-governance-recheck-v6/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v6/failure-1.html","e2e/output/playwright/growth-governance-recheck-v6/failure-1.png","e2e/output/playwright/growth-governance-recheck-v6/failure-2.html","e2e/output/playwright/growth-governance-recheck-v6/failure-2.png","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-accounts-1773724659044.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-audiences-1773724653884.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-biddings-1773724661639.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-campaigns-1773724649143.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-creatives-1773724651605.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-reports-1773724656426.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-campaign-library-1773724625404.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-campaigns-1773724621356.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-activities-1773724679469.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-bots-1773724692868.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-groups-1773724663988.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-members-1773724665547.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-points-1773724669207.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-tasks-1773724672014.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-customer-marketing-1773724623985.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-journey-orchestration-1773724670573.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-marketing-automation-1773724675311.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-marketing-chatbot-1773724666974.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-predictive-analytics-1773724678072.json","e2e/output/playwright/growth-governance-recheck-v6/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v7/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v7/failure-1.html","e2e/output/playwright/growth-governance-recheck-v7/failure-1.png","e2e/output/playwright/growth-governance-recheck-v7/failure-2.html","e2e/output/playwright/growth-governance-recheck-v7/failure-2.png","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-audiences-1773725119348.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-biddings-1773725144948.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-campaigns-1773725114561.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-creatives-1773725117027.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-reports-1773725121927.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-campaign-library-1773725090781.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-campaigns-1773725086648.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-activities-1773725163012.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-bots-1773725176355.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-groups-1773725147556.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-members-1773725149129.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-points-1773725152767.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-tasks-1773725155559.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-customer-marketing-1773725089355.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-journey-orchestration-1773725154125.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-marketing-automation-1773725158850.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-marketing-chatbot-1773725150561.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-predictive-analytics-1773725161612.json","e2e/output/playwright/growth-governance-recheck-v7/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v8/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-accounts-1773725331287.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-audiences-1773725326038.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-biddings-1773725333878.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-campaigns-1773725321263.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-creatives-1773725323743.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-reports-1773725328622.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-campaign-library-1773725297280.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-campaigns-1773725293257.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-activities-1773725352012.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-bots-1773725365518.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-groups-1773725336490.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-members-1773725338048.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-points-1773725341744.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-tasks-1773725344573.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-customer-marketing-1773725295883.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-journey-orchestration-1773725343111.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-marketing-automation-1773725347852.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-marketing-chatbot-1773725339499.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-predictive-analytics-1773725350608.json","e2e/output/playwright/growth-governance-recheck-v8/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v1-page1/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/sales-stores-service-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v3/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v3/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v3/failure-1.html","e2e/output/playwright/supply-governance-recheck-v3/failure-1.png","e2e/output/playwright/supply-governance-recheck-v3/failure-2.html","e2e/output/playwright/supply-governance-recheck-v3/failure-2.png","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-bom-1773724804766.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-issues-1773724808526.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-orders-1773724806554.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-receipts-1773724810440.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assets-1773724816442.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-devices-1773724818721.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-outbound-1773724800429.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-product-categories-1773724814983.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-products-1773724812923.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-serial-numbers-1773724801816.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-suppliers-1773724776440.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-supply-chain-1773724774524.json","e2e/output/playwright/supply-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v4/failure-1.html","e2e/output/playwright/supply-governance-recheck-v4/failure-1.png","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-bom-1773724908303.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-issues-1773724912024.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-orders-1773724910085.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-receipts-1773724913947.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assets-1773724920008.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-devices-1773724922280.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-outbound-1773724903876.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-product-categories-1773724918547.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-products-1773724916486.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-serial-numbers-1773724905275.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-suppliers-1773724890016.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-supply-chain-1773724888101.json","e2e/output/playwright/supply-governance-recheck-v4/visible-menu-snapshot.json","e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md"],"removed":["e2e/playwright-report/data/2bb2f2c3e1d82fa9325fdd6b5f4669df159db17a.md","e2e/playwright-report/data/92afb63601a0131a016d16a554bdb89a648849de.png","e2e/test-results/.last-run.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","e2e/test-results/results.json"],"modified":["backend/src/modules/ad-campaigns/ad-campaigns.service.ts","backend/src/modules/community-groups/community-group.contract.routes.ts","backend/src/shared/process-core/default-workflow-definitions.ts","e2e/playwright-report/index.html","e2e/tests/crud/module-catalog.overrides.ts"]},{"id":"46e5f097ea53c593ee709803d6679b5520a6b271","message":"Fix growth module write contracts and governance probes\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/46e5f097ea53c593ee709803d6679b5520a6b271","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:14:33+08:00","added":[".claude/worktrees/vibrant-mestorf","e2e/output/playwright/growth-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v2/failure-1.html","e2e/output/playwright/growth-governance-recheck-v2/failure-1.png","e2e/output/playwright/growth-governance-recheck-v2/failure-2.html","e2e/output/playwright/growth-governance-recheck-v2/failure-2.png","e2e/output/playwright/growth-governance-recheck-v2/failure-3.html","e2e/output/playwright/growth-governance-recheck-v2/failure-3.png","e2e/output/playwright/growth-governance-recheck-v2/failure-4.html","e2e/output/playwright/growth-governance-recheck-v2/failure-4.png","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-accounts-1773637103428.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-audiences-1773637097919.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-biddings-1773637106233.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-campaigns-1773637092737.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-creatives-1773637095413.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-reports-1773637100574.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-campaign-library-1773637068728.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-campaigns-1773637064334.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-activities-1773637125231.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-bots-1773637138800.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-groups-1773637108862.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-members-1773637110559.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-points-1773637114159.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-tasks-1773637117170.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-customer-marketing-1773637067192.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-journey-orchestration-1773637115613.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-marketing-automation-1773637120849.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-marketing-chatbot-1773637111690.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-predictive-analytics-1773637123749.json","e2e/output/playwright/growth-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v3/failure-1.html","e2e/output/playwright/growth-governance-recheck-v3/failure-1.png","e2e/output/playwright/growth-governance-recheck-v3/failure-2.html","e2e/output/playwright/growth-governance-recheck-v3/failure-2.png","e2e/output/playwright/growth-governance-recheck-v3/failure-3.html","e2e/output/playwright/growth-governance-recheck-v3/failure-3.png","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-accounts-1773637290819.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-audiences-1773637285318.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-biddings-1773637293641.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-campaigns-1773637280219.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-creatives-1773637282870.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-reports-1773637287997.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-campaign-library-1773637256300.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-campaigns-1773637252140.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-activities-1773637312007.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-bots-1773637315094.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-groups-1773637296205.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-members-1773637297858.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-points-1773637301326.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-tasks-1773637304221.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-customer-marketing-1773637254826.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-journey-orchestration-1773637302713.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-marketing-automation-1773637307735.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-marketing-chatbot-1773637298900.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-predictive-analytics-1773637310596.json","e2e/output/playwright/growth-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v4/failure-1.html","e2e/output/playwright/growth-governance-recheck-v4/failure-1.png","e2e/output/playwright/growth-governance-recheck-v4/failure-2.html","e2e/output/playwright/growth-governance-recheck-v4/failure-2.png","e2e/output/playwright/growth-governance-recheck-v4/failure-3.html","e2e/output/playwright/growth-governance-recheck-v4/failure-3.png","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-accounts-1773637580471.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-audiences-1773637574939.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-biddings-1773637583127.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-campaigns-1773637569798.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-creatives-1773637572491.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-reports-1773637577693.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-campaign-library-1773637545837.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-campaigns-1773637541347.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-activities-1773637601885.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-bots-1773637615595.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-groups-1773637585737.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-members-1773637587440.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-points-1773637590954.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-tasks-1773637593940.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-customer-marketing-1773637544263.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-journey-orchestration-1773637592404.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-marketing-automation-1773637597490.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-marketing-chatbot-1773637588564.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-predictive-analytics-1773637600359.json","e2e/output/playwright/growth-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v5/failure-1.html","e2e/output/playwright/growth-governance-recheck-v5/failure-1.png","e2e/output/playwright/growth-governance-recheck-v5/failure-2.html","e2e/output/playwright/growth-governance-recheck-v5/failure-2.png","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-accounts-1773637856277.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-audiences-1773637850560.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-biddings-1773637859067.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-campaigns-1773637845354.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-creatives-1773637848041.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-reports-1773637853256.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-campaign-library-1773637842008.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-campaigns-1773637837583.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-activities-1773637878336.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-bots-1773637891983.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-groups-1773637861569.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-members-1773637863254.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-points-1773637867326.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-tasks-1773637870372.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-customer-marketing-1773637840454.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-journey-orchestration-1773637868795.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-marketing-automation-1773637874004.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-marketing-chatbot-1773637864856.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-predictive-analytics-1773637876874.json","e2e/output/playwright/growth-governance-recheck-v5/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck/failure-1.html","e2e/output/playwright/growth-governance-recheck/failure-1.png","e2e/output/playwright/growth-governance-recheck/failure-10.html","e2e/output/playwright/growth-governance-recheck/failure-10.png","e2e/output/playwright/growth-governance-recheck/failure-11.html","e2e/output/playwright/growth-governance-recheck/failure-11.png","e2e/output/playwright/growth-governance-recheck/failure-12.html","e2e/output/playwright/growth-governance-recheck/failure-12.png","e2e/output/playwright/growth-governance-recheck/failure-13.html","e2e/output/playwright/growth-governance-recheck/failure-13.png","e2e/output/playwright/growth-governance-recheck/failure-2.html","e2e/output/playwright/growth-governance-recheck/failure-2.png","e2e/output/playwright/growth-governance-recheck/failure-3.html","e2e/output/playwright/growth-governance-recheck/failure-3.png","e2e/output/playwright/growth-governance-recheck/failure-4.html","e2e/output/playwright/growth-governance-recheck/failure-4.png","e2e/output/playwright/growth-governance-recheck/failure-5.html","e2e/output/playwright/growth-governance-recheck/failure-5.png","e2e/output/playwright/growth-governance-recheck/failure-6.html","e2e/output/playwright/growth-governance-recheck/failure-6.png","e2e/output/playwright/growth-governance-recheck/failure-7.html","e2e/output/playwright/growth-governance-recheck/failure-7.png","e2e/output/playwright/growth-governance-recheck/failure-8.html","e2e/output/playwright/growth-governance-recheck/failure-8.png","e2e/output/playwright/growth-governance-recheck/failure-9.html","e2e/output/playwright/growth-governance-recheck/failure-9.png","e2e/output/playwright/growth-governance-recheck/probes/-ad-accounts-1773636279090.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-audiences-1773636274572.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-biddings-1773636281658.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-campaigns-1773636269396.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-creatives-1773636272040.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-reports-1773636276435.json","e2e/output/playwright/growth-governance-recheck/probes/-campaign-library-1773636266028.json","e2e/output/playwright/growth-governance-recheck/probes/-campaigns-1773636262465.json","e2e/output/playwright/growth-governance-recheck/probes/-community-activities-1773636296839.json","e2e/output/playwright/growth-governance-recheck/probes/-community-bots-1773636309301.json","e2e/output/playwright/growth-governance-recheck/probes/-community-groups-1773636282678.json","e2e/output/playwright/growth-governance-recheck/probes/-community-members-1773636283728.json","e2e/output/playwright/growth-governance-recheck/probes/-community-points-1773636287173.json","e2e/output/playwright/growth-governance-recheck/probes/-community-tasks-1773636289789.json","e2e/output/playwright/growth-governance-recheck/probes/-customer-marketing-1773636264449.json","e2e/output/playwright/growth-governance-recheck/probes/-journey-orchestration-1773636288630.json","e2e/output/playwright/growth-governance-recheck/probes/-marketing-automation-1773636292934.json","e2e/output/playwright/growth-governance-recheck/probes/-marketing-chatbot-1773636284766.json","e2e/output/playwright/growth-governance-recheck/probes/-predictive-analytics-1773636295835.json","e2e/output/playwright/growth-governance-recheck/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v2/failure-1.html","e2e/output/playwright/supply-governance-recheck-v2/failure-1.png","e2e/output/playwright/supply-governance-recheck-v2/failure-2.html","e2e/output/playwright/supply-governance-recheck-v2/failure-2.png","e2e/output/playwright/supply-governance-recheck-v2/failure-3.html","e2e/output/playwright/supply-governance-recheck-v2/failure-3.png","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-bom-1773638085569.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-issues-1773638089294.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-orders-1773638087361.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-receipts-1773638091237.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assets-1773638096600.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-devices-1773638098927.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-outbound-1773638081116.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-product-categories-1773638095076.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-products-1773638093780.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-serial-numbers-1773638082543.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-suppliers-1773638056945.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-supply-chain-1773638054946.json","e2e/output/playwright/supply-governance-recheck-v2/visible-menu-snapshot.json","e2e/playwright-report/data/2bb2f2c3e1d82fa9325fdd6b5f4669df159db17a.md","e2e/playwright-report/data/92afb63601a0131a016d16a554bdb89a648849de.png","e2e/test-results/.last-run.json","e2e/test-results/results.json"],"removed":[],"modified":["backend/src/modules/ad-accounts/ad-account.controller.ts","backend/src/modules/ad-biddings/ad-bidding.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/shared/utils/biz-code.ts","e2e/playwright-report/index.html","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","e2e/tests/crud/module-catalog.overrides.ts"]}],"total_commits":0,"head_commit":{"id":"c1da50f2974fe9552f40dde68ec34df656ddca22","message":"feat: 同步治理文档与 Playwright 可见菜单写批次运行产物\n\n- 更新四份核心文档(AGENTS/CLAUDE/GEMINI/README)菜单深交互基线治理经验\n- 补充 module-governance-acceptance-checklist.md 新模板\n- 更新 module-acceptance-card.md 验收卡与 runbook 运行手册\n- 刷新 inventory.controller.ts 出库模块控制器\n- 同步前端 leads/Index.vue 线索列表页\n- 更新可见菜单写批次:ai-acquisition-content / finance / supply-chain /\n growth-sales-stores-service / synergy / system-infra / hr 域新一轮\n probe JSON、failure 截图与 action-coverage-report\n- 新增 sales-leads / outbound / sales / supply 治理复查产物目录\n- 更新 e2e 测试脚本与 CRUD catalog 配置\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c1da50f2974fe9552f40dde68ec34df656ddca22","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T15:28:33+08:00","added":["docs/templates/governance/module-governance-acceptance-checklist.md","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v1/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.html","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.png","e2e/output/playwright/outbound-governance-recheck-v1/probes/-outbound-1773728392272.json","e2e/output/playwright/outbound-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v2/probes/-outbound-1773729291584.json","e2e/output/playwright/outbound-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/sales-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/sales-governance-recheck-v2/failure-1.html","e2e/output/playwright/sales-governance-recheck-v2/failure-1.png","e2e/output/playwright/sales-governance-recheck-v2/failure-2.html","e2e/output/playwright/sales-governance-recheck-v2/failure-2.png","e2e/output/playwright/sales-governance-recheck-v2/probes/-leads-1773730807935.json","e2e/output/playwright/sales-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/sales-leads-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/sales-leads-governance-recheck-v4/probes/-leads-1773728044474.json","e2e/output/playwright/sales-leads-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v5/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-bom-1773730659592.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-issues-1773730663321.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-orders-1773730661365.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-receipts-1773730665247.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assets-1773730671300.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-devices-1773730673579.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-outbound-1773730655235.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-product-categories-1773730669828.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-products-1773730667766.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-serial-numbers-1773730656634.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-suppliers-1773730630707.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-supply-chain-1773730628780.json","e2e/output/playwright/supply-governance-recheck-v5/visible-menu-snapshot.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.png","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773730293426.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773730346930.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773730265455.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773730339395.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773730342218.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773730348434.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-leads-1773730376023.json","output/playwright/full-menu-write-batches/finance/action-coverage-report.md","output/playwright/full-menu-write-batches/finance/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/finance/failure-3.html","output/playwright/full-menu-write-batches/finance/failure-3.png","output/playwright/full-menu-write-batches/finance/failure-4.html","output/playwright/full-menu-write-batches/finance/failure-4.png","output/playwright/full-menu-write-batches/finance/failure-5.html","output/playwright/full-menu-write-batches/finance/failure-5.png","output/playwright/full-menu-write-batches/finance/failure-6.html","output/playwright/full-menu-write-batches/finance/failure-6.png","output/playwright/full-menu-write-batches/finance/failure-7.html","output/playwright/full-menu-write-batches/finance/failure-7.png","output/playwright/full-menu-write-batches/finance/failure-8.html","output/playwright/full-menu-write-batches/finance/failure-8.png","output/playwright/full-menu-write-batches/finance/failure-9.html","output/playwright/full-menu-write-batches/finance/failure-9.png","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773730815434.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773730746198.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773730747838.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-accounts-1773730566774.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-audiences-1773730561615.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-biddings-1773730569333.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-campaigns-1773730556834.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-creatives-1773730559313.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-reports-1773730564152.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaign-library-1773730532757.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaigns-1773730528728.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-activities-1773730587398.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-bots-1773730600826.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-groups-1773730571925.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-members-1773730573486.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-points-1773730577188.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-tasks-1773730579980.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customer-marketing-1773730531325.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-journey-orchestration-1773730578554.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-automation-1773730583244.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-chatbot-1773730574929.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-predictive-analytics-1773730586008.json","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773731255349.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773731072621.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773731076369.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773731074407.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773731078283.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assets-1773731084301.json","output/playwright/full-menu-write-batches/supply-chain/probes/-devices-1773731086563.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773731068258.json","output/playwright/full-menu-write-batches/supply-chain/probes/-product-categories-1773731082834.json","output/playwright/full-menu-write-batches/supply-chain/probes/-products-1773731080800.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773731069659.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773731043692.json","output/playwright/full-menu-write-batches/supply-chain/probes/-supply-chain-1773731041756.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773731295866.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773731281925.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773731268383.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773731266376.json"],"removed":["e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773632942127.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773632995925.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773632916088.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773632988219.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773632991102.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773632997429.json","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773633734328.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773633664730.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773633666424.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.png","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773634383805.json","output/playwright/full-menu-write-batches/supply-chain/failure-1.html","output/playwright/full-menu-write-batches/supply-chain/failure-1.png","output/playwright/full-menu-write-batches/supply-chain/failure-2.html","output/playwright/full-menu-write-batches/supply-chain/failure-2.png","output/playwright/full-menu-write-batches/supply-chain/failure-3.html","output/playwright/full-menu-write-batches/supply-chain/failure-3.png","output/playwright/full-menu-write-batches/supply-chain/failure-4.html","output/playwright/full-menu-write-batches/supply-chain/failure-4.png","output/playwright/full-menu-write-batches/supply-chain/failure-5.html","output/playwright/full-menu-write-batches/supply-chain/failure-5.png","output/playwright/full-menu-write-batches/supply-chain/failure-6.html","output/playwright/full-menu-write-batches/supply-chain/failure-6.png","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773633901574.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773633905434.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773633903472.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773633907354.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773633897130.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773633898566.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773633882907.json","output/playwright/full-menu-write-batches/synergy/action-coverage-report.json","output/playwright/full-menu-write-batches/synergy/probes/-departments-1773633979244.json","output/playwright/full-menu-write-batches/synergy/probes/-knowledge-1773633919146.json","output/playwright/full-menu-write-batches/synergy/probes/-stage-knowledge-1773633921148.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773634434163.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773634420132.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773634396344.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773634394393.json"],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/inventory/inventory.controller.ts","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/templates/governance/module-acceptance-card.md","e2e/playwright-report/index.html","e2e/scripts/run-visible-write-batches.mjs","e2e/tests/crud/01-visible-menu-write-runner.spec.ts","e2e/tests/crud/module-catalog.overrides.ts","e2e/tests/crud/types.ts","e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/views/leads/Index.vue","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.json","output/playwright/full-menu-write-batches/batch-summary.json","output/playwright/full-menu-write-batches/batch-summary.md","output/playwright/full-menu-write-batches/finance/action-coverage-report.json","output/playwright/full-menu-write-batches/finance/failure-1.html","output/playwright/full-menu-write-batches/finance/failure-1.png","output/playwright/full-menu-write-batches/finance/failure-2.html","output/playwright/full-menu-write-batches/finance/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.md","output/playwright/full-menu-write-batches/supply-chain/blocked-unmapped-pages.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/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":1162552,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-17T15:30:33+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
1
|
3
|
1773733532
|
1773733532
|
0
|
1773733532
|
1773733532
|
NULL
|
|
0
|
Edit
Delete
|
|
6361
|
feat: 同步治理文档与 Playwright 可见菜单写批次运行产物
|
6
|
5
|
health-check.yml
|
6295
|
-2
|
58
|
refs/heads/main
|
c1da50f2974fe9552f40dde68ec34df656ddca22
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e5a2f5ba8d6442be07c490ec77c734dbe317bfd5","after":"c1da50f2974fe9552f40dde68ec34df656ddca22","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e5a2f5ba8d6442be07c490ec77c734dbe317bfd5...c1da50f2974fe9552f40dde68ec34df656ddca22","commits":[{"id":"c1da50f2974fe9552f40dde68ec34df656ddca22","message":"feat: 同步治理文档与 Playwright 可见菜单写批次运行产物\n\n- 更新四份核心文档(AGENTS/CLAUDE/GEMINI/README)菜单深交互基线治理经验\n- 补充 module-governance-acceptance-checklist.md 新模板\n- 更新 module-acceptance-card.md 验收卡与 runbook 运行手册\n- 刷新 inventory.controller.ts 出库模块控制器\n- 同步前端 leads/Index.vue 线索列表页\n- 更新可见菜单写批次:ai-acquisition-content / finance / supply-chain /\n growth-sales-stores-service / synergy / system-infra / hr 域新一轮\n probe JSON、failure 截图与 action-coverage-report\n- 新增 sales-leads / outbound / sales / supply 治理复查产物目录\n- 更新 e2e 测试脚本与 CRUD catalog 配置\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c1da50f2974fe9552f40dde68ec34df656ddca22","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T15:28:33+08:00","added":["docs/templates/governance/module-governance-acceptance-checklist.md","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v1/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.html","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.png","e2e/output/playwright/outbound-governance-recheck-v1/probes/-outbound-1773728392272.json","e2e/output/playwright/outbound-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v2/probes/-outbound-1773729291584.json","e2e/output/playwright/outbound-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/sales-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/sales-governance-recheck-v2/failure-1.html","e2e/output/playwright/sales-governance-recheck-v2/failure-1.png","e2e/output/playwright/sales-governance-recheck-v2/failure-2.html","e2e/output/playwright/sales-governance-recheck-v2/failure-2.png","e2e/output/playwright/sales-governance-recheck-v2/probes/-leads-1773730807935.json","e2e/output/playwright/sales-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/sales-leads-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/sales-leads-governance-recheck-v4/probes/-leads-1773728044474.json","e2e/output/playwright/sales-leads-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v5/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-bom-1773730659592.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-issues-1773730663321.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-orders-1773730661365.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-receipts-1773730665247.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assets-1773730671300.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-devices-1773730673579.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-outbound-1773730655235.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-product-categories-1773730669828.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-products-1773730667766.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-serial-numbers-1773730656634.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-suppliers-1773730630707.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-supply-chain-1773730628780.json","e2e/output/playwright/supply-governance-recheck-v5/visible-menu-snapshot.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.png","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773730293426.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773730346930.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773730265455.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773730339395.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773730342218.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773730348434.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-leads-1773730376023.json","output/playwright/full-menu-write-batches/finance/action-coverage-report.md","output/playwright/full-menu-write-batches/finance/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/finance/failure-3.html","output/playwright/full-menu-write-batches/finance/failure-3.png","output/playwright/full-menu-write-batches/finance/failure-4.html","output/playwright/full-menu-write-batches/finance/failure-4.png","output/playwright/full-menu-write-batches/finance/failure-5.html","output/playwright/full-menu-write-batches/finance/failure-5.png","output/playwright/full-menu-write-batches/finance/failure-6.html","output/playwright/full-menu-write-batches/finance/failure-6.png","output/playwright/full-menu-write-batches/finance/failure-7.html","output/playwright/full-menu-write-batches/finance/failure-7.png","output/playwright/full-menu-write-batches/finance/failure-8.html","output/playwright/full-menu-write-batches/finance/failure-8.png","output/playwright/full-menu-write-batches/finance/failure-9.html","output/playwright/full-menu-write-batches/finance/failure-9.png","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773730815434.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773730746198.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773730747838.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-accounts-1773730566774.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-audiences-1773730561615.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-biddings-1773730569333.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-campaigns-1773730556834.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-creatives-1773730559313.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-reports-1773730564152.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaign-library-1773730532757.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaigns-1773730528728.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-activities-1773730587398.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-bots-1773730600826.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-groups-1773730571925.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-members-1773730573486.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-points-1773730577188.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-tasks-1773730579980.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customer-marketing-1773730531325.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-journey-orchestration-1773730578554.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-automation-1773730583244.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-chatbot-1773730574929.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-predictive-analytics-1773730586008.json","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773731255349.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773731072621.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773731076369.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773731074407.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773731078283.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assets-1773731084301.json","output/playwright/full-menu-write-batches/supply-chain/probes/-devices-1773731086563.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773731068258.json","output/playwright/full-menu-write-batches/supply-chain/probes/-product-categories-1773731082834.json","output/playwright/full-menu-write-batches/supply-chain/probes/-products-1773731080800.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773731069659.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773731043692.json","output/playwright/full-menu-write-batches/supply-chain/probes/-supply-chain-1773731041756.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773731295866.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773731281925.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773731268383.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773731266376.json"],"removed":["e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773632942127.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773632995925.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773632916088.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773632988219.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773632991102.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773632997429.json","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773633734328.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773633664730.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773633666424.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.png","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773634383805.json","output/playwright/full-menu-write-batches/supply-chain/failure-1.html","output/playwright/full-menu-write-batches/supply-chain/failure-1.png","output/playwright/full-menu-write-batches/supply-chain/failure-2.html","output/playwright/full-menu-write-batches/supply-chain/failure-2.png","output/playwright/full-menu-write-batches/supply-chain/failure-3.html","output/playwright/full-menu-write-batches/supply-chain/failure-3.png","output/playwright/full-menu-write-batches/supply-chain/failure-4.html","output/playwright/full-menu-write-batches/supply-chain/failure-4.png","output/playwright/full-menu-write-batches/supply-chain/failure-5.html","output/playwright/full-menu-write-batches/supply-chain/failure-5.png","output/playwright/full-menu-write-batches/supply-chain/failure-6.html","output/playwright/full-menu-write-batches/supply-chain/failure-6.png","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773633901574.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773633905434.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773633903472.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773633907354.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773633897130.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773633898566.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773633882907.json","output/playwright/full-menu-write-batches/synergy/action-coverage-report.json","output/playwright/full-menu-write-batches/synergy/probes/-departments-1773633979244.json","output/playwright/full-menu-write-batches/synergy/probes/-knowledge-1773633919146.json","output/playwright/full-menu-write-batches/synergy/probes/-stage-knowledge-1773633921148.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773634434163.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773634420132.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773634396344.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773634394393.json"],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/inventory/inventory.controller.ts","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/templates/governance/module-acceptance-card.md","e2e/playwright-report/index.html","e2e/scripts/run-visible-write-batches.mjs","e2e/tests/crud/01-visible-menu-write-runner.spec.ts","e2e/tests/crud/module-catalog.overrides.ts","e2e/tests/crud/types.ts","e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/views/leads/Index.vue","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.json","output/playwright/full-menu-write-batches/batch-summary.json","output/playwright/full-menu-write-batches/batch-summary.md","output/playwright/full-menu-write-batches/finance/action-coverage-report.json","output/playwright/full-menu-write-batches/finance/failure-1.html","output/playwright/full-menu-write-batches/finance/failure-1.png","output/playwright/full-menu-write-batches/finance/failure-2.html","output/playwright/full-menu-write-batches/finance/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.md","output/playwright/full-menu-write-batches/supply-chain/blocked-unmapped-pages.json"]},{"id":"9d26d79a0e913f59f095f5770c349ada3eb290e6","message":"Sync governance docs with repo triage guidance\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9d26d79a0e913f59f095f5770c349ada3eb290e6","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:59:58+08:00","added":[],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","docs/contract-governance-3.0.md","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/reports/governance-experience-2026-03-07.md"]},{"id":"90763866bd7d7302b2fd963c80971c0c980e2a40","message":"Add visible menu snapshot for sales leads governance recheck\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/90763866bd7d7302b2fd963c80971c0c980e2a40","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:52:59+08:00","added":["e2e/output/playwright/sales-leads-governance-recheck-v2/visible-menu-snapshot.json"],"removed":[],"modified":[]},{"id":"37491f5183c3793b77913e9fa046090fd3e2140e","message":"Fix visible-menu action contracts and refresh Playwright artifacts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/37491f5183c3793b77913e9fa046090fd3e2140e","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:49:50+08:00","added":["e2e/output/playwright/growth-governance-recheck-v6/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v6/failure-1.html","e2e/output/playwright/growth-governance-recheck-v6/failure-1.png","e2e/output/playwright/growth-governance-recheck-v6/failure-2.html","e2e/output/playwright/growth-governance-recheck-v6/failure-2.png","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-accounts-1773724659044.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-audiences-1773724653884.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-biddings-1773724661639.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-campaigns-1773724649143.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-creatives-1773724651605.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-reports-1773724656426.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-campaign-library-1773724625404.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-campaigns-1773724621356.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-activities-1773724679469.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-bots-1773724692868.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-groups-1773724663988.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-members-1773724665547.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-points-1773724669207.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-tasks-1773724672014.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-customer-marketing-1773724623985.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-journey-orchestration-1773724670573.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-marketing-automation-1773724675311.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-marketing-chatbot-1773724666974.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-predictive-analytics-1773724678072.json","e2e/output/playwright/growth-governance-recheck-v6/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v7/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v7/failure-1.html","e2e/output/playwright/growth-governance-recheck-v7/failure-1.png","e2e/output/playwright/growth-governance-recheck-v7/failure-2.html","e2e/output/playwright/growth-governance-recheck-v7/failure-2.png","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-audiences-1773725119348.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-biddings-1773725144948.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-campaigns-1773725114561.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-creatives-1773725117027.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-reports-1773725121927.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-campaign-library-1773725090781.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-campaigns-1773725086648.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-activities-1773725163012.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-bots-1773725176355.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-groups-1773725147556.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-members-1773725149129.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-points-1773725152767.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-tasks-1773725155559.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-customer-marketing-1773725089355.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-journey-orchestration-1773725154125.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-marketing-automation-1773725158850.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-marketing-chatbot-1773725150561.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-predictive-analytics-1773725161612.json","e2e/output/playwright/growth-governance-recheck-v7/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v8/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-accounts-1773725331287.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-audiences-1773725326038.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-biddings-1773725333878.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-campaigns-1773725321263.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-creatives-1773725323743.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-reports-1773725328622.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-campaign-library-1773725297280.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-campaigns-1773725293257.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-activities-1773725352012.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-bots-1773725365518.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-groups-1773725336490.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-members-1773725338048.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-points-1773725341744.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-tasks-1773725344573.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-customer-marketing-1773725295883.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-journey-orchestration-1773725343111.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-marketing-automation-1773725347852.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-marketing-chatbot-1773725339499.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-predictive-analytics-1773725350608.json","e2e/output/playwright/growth-governance-recheck-v8/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v1-page1/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/sales-stores-service-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v3/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v3/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v3/failure-1.html","e2e/output/playwright/supply-governance-recheck-v3/failure-1.png","e2e/output/playwright/supply-governance-recheck-v3/failure-2.html","e2e/output/playwright/supply-governance-recheck-v3/failure-2.png","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-bom-1773724804766.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-issues-1773724808526.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-orders-1773724806554.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-receipts-1773724810440.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assets-1773724816442.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-devices-1773724818721.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-outbound-1773724800429.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-product-categories-1773724814983.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-products-1773724812923.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-serial-numbers-1773724801816.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-suppliers-1773724776440.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-supply-chain-1773724774524.json","e2e/output/playwright/supply-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v4/failure-1.html","e2e/output/playwright/supply-governance-recheck-v4/failure-1.png","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-bom-1773724908303.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-issues-1773724912024.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-orders-1773724910085.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-receipts-1773724913947.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assets-1773724920008.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-devices-1773724922280.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-outbound-1773724903876.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-product-categories-1773724918547.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-products-1773724916486.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-serial-numbers-1773724905275.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-suppliers-1773724890016.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-supply-chain-1773724888101.json","e2e/output/playwright/supply-governance-recheck-v4/visible-menu-snapshot.json","e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md"],"removed":["e2e/playwright-report/data/2bb2f2c3e1d82fa9325fdd6b5f4669df159db17a.md","e2e/playwright-report/data/92afb63601a0131a016d16a554bdb89a648849de.png","e2e/test-results/.last-run.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","e2e/test-results/results.json"],"modified":["backend/src/modules/ad-campaigns/ad-campaigns.service.ts","backend/src/modules/community-groups/community-group.contract.routes.ts","backend/src/shared/process-core/default-workflow-definitions.ts","e2e/playwright-report/index.html","e2e/tests/crud/module-catalog.overrides.ts"]},{"id":"46e5f097ea53c593ee709803d6679b5520a6b271","message":"Fix growth module write contracts and governance probes\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/46e5f097ea53c593ee709803d6679b5520a6b271","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:14:33+08:00","added":[".claude/worktrees/vibrant-mestorf","e2e/output/playwright/growth-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v2/failure-1.html","e2e/output/playwright/growth-governance-recheck-v2/failure-1.png","e2e/output/playwright/growth-governance-recheck-v2/failure-2.html","e2e/output/playwright/growth-governance-recheck-v2/failure-2.png","e2e/output/playwright/growth-governance-recheck-v2/failure-3.html","e2e/output/playwright/growth-governance-recheck-v2/failure-3.png","e2e/output/playwright/growth-governance-recheck-v2/failure-4.html","e2e/output/playwright/growth-governance-recheck-v2/failure-4.png","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-accounts-1773637103428.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-audiences-1773637097919.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-biddings-1773637106233.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-campaigns-1773637092737.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-creatives-1773637095413.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-reports-1773637100574.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-campaign-library-1773637068728.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-campaigns-1773637064334.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-activities-1773637125231.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-bots-1773637138800.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-groups-1773637108862.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-members-1773637110559.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-points-1773637114159.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-tasks-1773637117170.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-customer-marketing-1773637067192.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-journey-orchestration-1773637115613.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-marketing-automation-1773637120849.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-marketing-chatbot-1773637111690.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-predictive-analytics-1773637123749.json","e2e/output/playwright/growth-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v3/failure-1.html","e2e/output/playwright/growth-governance-recheck-v3/failure-1.png","e2e/output/playwright/growth-governance-recheck-v3/failure-2.html","e2e/output/playwright/growth-governance-recheck-v3/failure-2.png","e2e/output/playwright/growth-governance-recheck-v3/failure-3.html","e2e/output/playwright/growth-governance-recheck-v3/failure-3.png","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-accounts-1773637290819.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-audiences-1773637285318.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-biddings-1773637293641.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-campaigns-1773637280219.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-creatives-1773637282870.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-reports-1773637287997.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-campaign-library-1773637256300.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-campaigns-1773637252140.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-activities-1773637312007.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-bots-1773637315094.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-groups-1773637296205.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-members-1773637297858.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-points-1773637301326.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-tasks-1773637304221.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-customer-marketing-1773637254826.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-journey-orchestration-1773637302713.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-marketing-automation-1773637307735.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-marketing-chatbot-1773637298900.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-predictive-analytics-1773637310596.json","e2e/output/playwright/growth-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v4/failure-1.html","e2e/output/playwright/growth-governance-recheck-v4/failure-1.png","e2e/output/playwright/growth-governance-recheck-v4/failure-2.html","e2e/output/playwright/growth-governance-recheck-v4/failure-2.png","e2e/output/playwright/growth-governance-recheck-v4/failure-3.html","e2e/output/playwright/growth-governance-recheck-v4/failure-3.png","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-accounts-1773637580471.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-audiences-1773637574939.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-biddings-1773637583127.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-campaigns-1773637569798.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-creatives-1773637572491.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-reports-1773637577693.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-campaign-library-1773637545837.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-campaigns-1773637541347.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-activities-1773637601885.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-bots-1773637615595.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-groups-1773637585737.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-members-1773637587440.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-points-1773637590954.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-tasks-1773637593940.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-customer-marketing-1773637544263.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-journey-orchestration-1773637592404.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-marketing-automation-1773637597490.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-marketing-chatbot-1773637588564.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-predictive-analytics-1773637600359.json","e2e/output/playwright/growth-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v5/failure-1.html","e2e/output/playwright/growth-governance-recheck-v5/failure-1.png","e2e/output/playwright/growth-governance-recheck-v5/failure-2.html","e2e/output/playwright/growth-governance-recheck-v5/failure-2.png","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-accounts-1773637856277.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-audiences-1773637850560.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-biddings-1773637859067.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-campaigns-1773637845354.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-creatives-1773637848041.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-reports-1773637853256.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-campaign-library-1773637842008.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-campaigns-1773637837583.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-activities-1773637878336.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-bots-1773637891983.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-groups-1773637861569.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-members-1773637863254.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-points-1773637867326.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-tasks-1773637870372.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-customer-marketing-1773637840454.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-journey-orchestration-1773637868795.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-marketing-automation-1773637874004.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-marketing-chatbot-1773637864856.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-predictive-analytics-1773637876874.json","e2e/output/playwright/growth-governance-recheck-v5/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck/failure-1.html","e2e/output/playwright/growth-governance-recheck/failure-1.png","e2e/output/playwright/growth-governance-recheck/failure-10.html","e2e/output/playwright/growth-governance-recheck/failure-10.png","e2e/output/playwright/growth-governance-recheck/failure-11.html","e2e/output/playwright/growth-governance-recheck/failure-11.png","e2e/output/playwright/growth-governance-recheck/failure-12.html","e2e/output/playwright/growth-governance-recheck/failure-12.png","e2e/output/playwright/growth-governance-recheck/failure-13.html","e2e/output/playwright/growth-governance-recheck/failure-13.png","e2e/output/playwright/growth-governance-recheck/failure-2.html","e2e/output/playwright/growth-governance-recheck/failure-2.png","e2e/output/playwright/growth-governance-recheck/failure-3.html","e2e/output/playwright/growth-governance-recheck/failure-3.png","e2e/output/playwright/growth-governance-recheck/failure-4.html","e2e/output/playwright/growth-governance-recheck/failure-4.png","e2e/output/playwright/growth-governance-recheck/failure-5.html","e2e/output/playwright/growth-governance-recheck/failure-5.png","e2e/output/playwright/growth-governance-recheck/failure-6.html","e2e/output/playwright/growth-governance-recheck/failure-6.png","e2e/output/playwright/growth-governance-recheck/failure-7.html","e2e/output/playwright/growth-governance-recheck/failure-7.png","e2e/output/playwright/growth-governance-recheck/failure-8.html","e2e/output/playwright/growth-governance-recheck/failure-8.png","e2e/output/playwright/growth-governance-recheck/failure-9.html","e2e/output/playwright/growth-governance-recheck/failure-9.png","e2e/output/playwright/growth-governance-recheck/probes/-ad-accounts-1773636279090.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-audiences-1773636274572.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-biddings-1773636281658.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-campaigns-1773636269396.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-creatives-1773636272040.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-reports-1773636276435.json","e2e/output/playwright/growth-governance-recheck/probes/-campaign-library-1773636266028.json","e2e/output/playwright/growth-governance-recheck/probes/-campaigns-1773636262465.json","e2e/output/playwright/growth-governance-recheck/probes/-community-activities-1773636296839.json","e2e/output/playwright/growth-governance-recheck/probes/-community-bots-1773636309301.json","e2e/output/playwright/growth-governance-recheck/probes/-community-groups-1773636282678.json","e2e/output/playwright/growth-governance-recheck/probes/-community-members-1773636283728.json","e2e/output/playwright/growth-governance-recheck/probes/-community-points-1773636287173.json","e2e/output/playwright/growth-governance-recheck/probes/-community-tasks-1773636289789.json","e2e/output/playwright/growth-governance-recheck/probes/-customer-marketing-1773636264449.json","e2e/output/playwright/growth-governance-recheck/probes/-journey-orchestration-1773636288630.json","e2e/output/playwright/growth-governance-recheck/probes/-marketing-automation-1773636292934.json","e2e/output/playwright/growth-governance-recheck/probes/-marketing-chatbot-1773636284766.json","e2e/output/playwright/growth-governance-recheck/probes/-predictive-analytics-1773636295835.json","e2e/output/playwright/growth-governance-recheck/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v2/failure-1.html","e2e/output/playwright/supply-governance-recheck-v2/failure-1.png","e2e/output/playwright/supply-governance-recheck-v2/failure-2.html","e2e/output/playwright/supply-governance-recheck-v2/failure-2.png","e2e/output/playwright/supply-governance-recheck-v2/failure-3.html","e2e/output/playwright/supply-governance-recheck-v2/failure-3.png","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-bom-1773638085569.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-issues-1773638089294.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-orders-1773638087361.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-receipts-1773638091237.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assets-1773638096600.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-devices-1773638098927.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-outbound-1773638081116.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-product-categories-1773638095076.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-products-1773638093780.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-serial-numbers-1773638082543.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-suppliers-1773638056945.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-supply-chain-1773638054946.json","e2e/output/playwright/supply-governance-recheck-v2/visible-menu-snapshot.json","e2e/playwright-report/data/2bb2f2c3e1d82fa9325fdd6b5f4669df159db17a.md","e2e/playwright-report/data/92afb63601a0131a016d16a554bdb89a648849de.png","e2e/test-results/.last-run.json","e2e/test-results/results.json"],"removed":[],"modified":["backend/src/modules/ad-accounts/ad-account.controller.ts","backend/src/modules/ad-biddings/ad-bidding.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/shared/utils/biz-code.ts","e2e/playwright-report/index.html","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","e2e/tests/crud/module-catalog.overrides.ts"]}],"total_commits":0,"head_commit":{"id":"c1da50f2974fe9552f40dde68ec34df656ddca22","message":"feat: 同步治理文档与 Playwright 可见菜单写批次运行产物\n\n- 更新四份核心文档(AGENTS/CLAUDE/GEMINI/README)菜单深交互基线治理经验\n- 补充 module-governance-acceptance-checklist.md 新模板\n- 更新 module-acceptance-card.md 验收卡与 runbook 运行手册\n- 刷新 inventory.controller.ts 出库模块控制器\n- 同步前端 leads/Index.vue 线索列表页\n- 更新可见菜单写批次:ai-acquisition-content / finance / supply-chain /\n growth-sales-stores-service / synergy / system-infra / hr 域新一轮\n probe JSON、failure 截图与 action-coverage-report\n- 新增 sales-leads / outbound / sales / supply 治理复查产物目录\n- 更新 e2e 测试脚本与 CRUD catalog 配置\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c1da50f2974fe9552f40dde68ec34df656ddca22","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T15:28:33+08:00","added":["docs/templates/governance/module-governance-acceptance-checklist.md","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v1/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.html","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.png","e2e/output/playwright/outbound-governance-recheck-v1/probes/-outbound-1773728392272.json","e2e/output/playwright/outbound-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v2/probes/-outbound-1773729291584.json","e2e/output/playwright/outbound-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/sales-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/sales-governance-recheck-v2/failure-1.html","e2e/output/playwright/sales-governance-recheck-v2/failure-1.png","e2e/output/playwright/sales-governance-recheck-v2/failure-2.html","e2e/output/playwright/sales-governance-recheck-v2/failure-2.png","e2e/output/playwright/sales-governance-recheck-v2/probes/-leads-1773730807935.json","e2e/output/playwright/sales-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/sales-leads-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/sales-leads-governance-recheck-v4/probes/-leads-1773728044474.json","e2e/output/playwright/sales-leads-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v5/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-bom-1773730659592.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-issues-1773730663321.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-orders-1773730661365.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-receipts-1773730665247.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assets-1773730671300.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-devices-1773730673579.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-outbound-1773730655235.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-product-categories-1773730669828.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-products-1773730667766.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-serial-numbers-1773730656634.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-suppliers-1773730630707.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-supply-chain-1773730628780.json","e2e/output/playwright/supply-governance-recheck-v5/visible-menu-snapshot.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.png","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773730293426.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773730346930.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773730265455.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773730339395.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773730342218.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773730348434.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-leads-1773730376023.json","output/playwright/full-menu-write-batches/finance/action-coverage-report.md","output/playwright/full-menu-write-batches/finance/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/finance/failure-3.html","output/playwright/full-menu-write-batches/finance/failure-3.png","output/playwright/full-menu-write-batches/finance/failure-4.html","output/playwright/full-menu-write-batches/finance/failure-4.png","output/playwright/full-menu-write-batches/finance/failure-5.html","output/playwright/full-menu-write-batches/finance/failure-5.png","output/playwright/full-menu-write-batches/finance/failure-6.html","output/playwright/full-menu-write-batches/finance/failure-6.png","output/playwright/full-menu-write-batches/finance/failure-7.html","output/playwright/full-menu-write-batches/finance/failure-7.png","output/playwright/full-menu-write-batches/finance/failure-8.html","output/playwright/full-menu-write-batches/finance/failure-8.png","output/playwright/full-menu-write-batches/finance/failure-9.html","output/playwright/full-menu-write-batches/finance/failure-9.png","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773730815434.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773730746198.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773730747838.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-accounts-1773730566774.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-audiences-1773730561615.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-biddings-1773730569333.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-campaigns-1773730556834.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-creatives-1773730559313.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-reports-1773730564152.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaign-library-1773730532757.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaigns-1773730528728.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-activities-1773730587398.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-bots-1773730600826.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-groups-1773730571925.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-members-1773730573486.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-points-1773730577188.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-tasks-1773730579980.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customer-marketing-1773730531325.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-journey-orchestration-1773730578554.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-automation-1773730583244.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-chatbot-1773730574929.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-predictive-analytics-1773730586008.json","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773731255349.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773731072621.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773731076369.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773731074407.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773731078283.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assets-1773731084301.json","output/playwright/full-menu-write-batches/supply-chain/probes/-devices-1773731086563.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773731068258.json","output/playwright/full-menu-write-batches/supply-chain/probes/-product-categories-1773731082834.json","output/playwright/full-menu-write-batches/supply-chain/probes/-products-1773731080800.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773731069659.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773731043692.json","output/playwright/full-menu-write-batches/supply-chain/probes/-supply-chain-1773731041756.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773731295866.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773731281925.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773731268383.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773731266376.json"],"removed":["e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773632942127.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773632995925.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773632916088.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773632988219.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773632991102.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773632997429.json","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773633734328.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773633664730.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773633666424.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.png","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773634383805.json","output/playwright/full-menu-write-batches/supply-chain/failure-1.html","output/playwright/full-menu-write-batches/supply-chain/failure-1.png","output/playwright/full-menu-write-batches/supply-chain/failure-2.html","output/playwright/full-menu-write-batches/supply-chain/failure-2.png","output/playwright/full-menu-write-batches/supply-chain/failure-3.html","output/playwright/full-menu-write-batches/supply-chain/failure-3.png","output/playwright/full-menu-write-batches/supply-chain/failure-4.html","output/playwright/full-menu-write-batches/supply-chain/failure-4.png","output/playwright/full-menu-write-batches/supply-chain/failure-5.html","output/playwright/full-menu-write-batches/supply-chain/failure-5.png","output/playwright/full-menu-write-batches/supply-chain/failure-6.html","output/playwright/full-menu-write-batches/supply-chain/failure-6.png","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773633901574.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773633905434.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773633903472.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773633907354.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773633897130.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773633898566.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773633882907.json","output/playwright/full-menu-write-batches/synergy/action-coverage-report.json","output/playwright/full-menu-write-batches/synergy/probes/-departments-1773633979244.json","output/playwright/full-menu-write-batches/synergy/probes/-knowledge-1773633919146.json","output/playwright/full-menu-write-batches/synergy/probes/-stage-knowledge-1773633921148.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773634434163.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773634420132.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773634396344.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773634394393.json"],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/inventory/inventory.controller.ts","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/templates/governance/module-acceptance-card.md","e2e/playwright-report/index.html","e2e/scripts/run-visible-write-batches.mjs","e2e/tests/crud/01-visible-menu-write-runner.spec.ts","e2e/tests/crud/module-catalog.overrides.ts","e2e/tests/crud/types.ts","e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/views/leads/Index.vue","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.json","output/playwright/full-menu-write-batches/batch-summary.json","output/playwright/full-menu-write-batches/batch-summary.md","output/playwright/full-menu-write-batches/finance/action-coverage-report.json","output/playwright/full-menu-write-batches/finance/failure-1.html","output/playwright/full-menu-write-batches/finance/failure-1.png","output/playwright/full-menu-write-batches/finance/failure-2.html","output/playwright/full-menu-write-batches/finance/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.md","output/playwright/full-menu-write-batches/supply-chain/blocked-unmapped-pages.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/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":1162552,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-17T15:30:33+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
1
|
3
|
1773733832
|
1773733832
|
0
|
1773733832
|
1773733832
|
NULL
|
|
0
|
Edit
Delete
|
|
6362
|
feat: 同步治理文档与 Playwright 可见菜单写批次运行产物
|
6
|
5
|
health-check.yml
|
6296
|
-2
|
58
|
refs/heads/main
|
c1da50f2974fe9552f40dde68ec34df656ddca22
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e5a2f5ba8d6442be07c490ec77c734dbe317bfd5","after":"c1da50f2974fe9552f40dde68ec34df656ddca22","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e5a2f5ba8d6442be07c490ec77c734dbe317bfd5...c1da50f2974fe9552f40dde68ec34df656ddca22","commits":[{"id":"c1da50f2974fe9552f40dde68ec34df656ddca22","message":"feat: 同步治理文档与 Playwright 可见菜单写批次运行产物\n\n- 更新四份核心文档(AGENTS/CLAUDE/GEMINI/README)菜单深交互基线治理经验\n- 补充 module-governance-acceptance-checklist.md 新模板\n- 更新 module-acceptance-card.md 验收卡与 runbook 运行手册\n- 刷新 inventory.controller.ts 出库模块控制器\n- 同步前端 leads/Index.vue 线索列表页\n- 更新可见菜单写批次:ai-acquisition-content / finance / supply-chain /\n growth-sales-stores-service / synergy / system-infra / hr 域新一轮\n probe JSON、failure 截图与 action-coverage-report\n- 新增 sales-leads / outbound / sales / supply 治理复查产物目录\n- 更新 e2e 测试脚本与 CRUD catalog 配置\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c1da50f2974fe9552f40dde68ec34df656ddca22","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T15:28:33+08:00","added":["docs/templates/governance/module-governance-acceptance-checklist.md","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v1/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.html","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.png","e2e/output/playwright/outbound-governance-recheck-v1/probes/-outbound-1773728392272.json","e2e/output/playwright/outbound-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v2/probes/-outbound-1773729291584.json","e2e/output/playwright/outbound-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/sales-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/sales-governance-recheck-v2/failure-1.html","e2e/output/playwright/sales-governance-recheck-v2/failure-1.png","e2e/output/playwright/sales-governance-recheck-v2/failure-2.html","e2e/output/playwright/sales-governance-recheck-v2/failure-2.png","e2e/output/playwright/sales-governance-recheck-v2/probes/-leads-1773730807935.json","e2e/output/playwright/sales-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/sales-leads-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/sales-leads-governance-recheck-v4/probes/-leads-1773728044474.json","e2e/output/playwright/sales-leads-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v5/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-bom-1773730659592.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-issues-1773730663321.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-orders-1773730661365.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-receipts-1773730665247.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assets-1773730671300.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-devices-1773730673579.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-outbound-1773730655235.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-product-categories-1773730669828.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-products-1773730667766.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-serial-numbers-1773730656634.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-suppliers-1773730630707.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-supply-chain-1773730628780.json","e2e/output/playwright/supply-governance-recheck-v5/visible-menu-snapshot.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.png","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773730293426.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773730346930.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773730265455.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773730339395.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773730342218.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773730348434.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-leads-1773730376023.json","output/playwright/full-menu-write-batches/finance/action-coverage-report.md","output/playwright/full-menu-write-batches/finance/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/finance/failure-3.html","output/playwright/full-menu-write-batches/finance/failure-3.png","output/playwright/full-menu-write-batches/finance/failure-4.html","output/playwright/full-menu-write-batches/finance/failure-4.png","output/playwright/full-menu-write-batches/finance/failure-5.html","output/playwright/full-menu-write-batches/finance/failure-5.png","output/playwright/full-menu-write-batches/finance/failure-6.html","output/playwright/full-menu-write-batches/finance/failure-6.png","output/playwright/full-menu-write-batches/finance/failure-7.html","output/playwright/full-menu-write-batches/finance/failure-7.png","output/playwright/full-menu-write-batches/finance/failure-8.html","output/playwright/full-menu-write-batches/finance/failure-8.png","output/playwright/full-menu-write-batches/finance/failure-9.html","output/playwright/full-menu-write-batches/finance/failure-9.png","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773730815434.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773730746198.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773730747838.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-accounts-1773730566774.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-audiences-1773730561615.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-biddings-1773730569333.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-campaigns-1773730556834.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-creatives-1773730559313.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-reports-1773730564152.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaign-library-1773730532757.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaigns-1773730528728.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-activities-1773730587398.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-bots-1773730600826.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-groups-1773730571925.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-members-1773730573486.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-points-1773730577188.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-tasks-1773730579980.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customer-marketing-1773730531325.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-journey-orchestration-1773730578554.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-automation-1773730583244.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-chatbot-1773730574929.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-predictive-analytics-1773730586008.json","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773731255349.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773731072621.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773731076369.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773731074407.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773731078283.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assets-1773731084301.json","output/playwright/full-menu-write-batches/supply-chain/probes/-devices-1773731086563.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773731068258.json","output/playwright/full-menu-write-batches/supply-chain/probes/-product-categories-1773731082834.json","output/playwright/full-menu-write-batches/supply-chain/probes/-products-1773731080800.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773731069659.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773731043692.json","output/playwright/full-menu-write-batches/supply-chain/probes/-supply-chain-1773731041756.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773731295866.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773731281925.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773731268383.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773731266376.json"],"removed":["e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773632942127.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773632995925.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773632916088.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773632988219.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773632991102.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773632997429.json","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773633734328.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773633664730.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773633666424.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.png","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773634383805.json","output/playwright/full-menu-write-batches/supply-chain/failure-1.html","output/playwright/full-menu-write-batches/supply-chain/failure-1.png","output/playwright/full-menu-write-batches/supply-chain/failure-2.html","output/playwright/full-menu-write-batches/supply-chain/failure-2.png","output/playwright/full-menu-write-batches/supply-chain/failure-3.html","output/playwright/full-menu-write-batches/supply-chain/failure-3.png","output/playwright/full-menu-write-batches/supply-chain/failure-4.html","output/playwright/full-menu-write-batches/supply-chain/failure-4.png","output/playwright/full-menu-write-batches/supply-chain/failure-5.html","output/playwright/full-menu-write-batches/supply-chain/failure-5.png","output/playwright/full-menu-write-batches/supply-chain/failure-6.html","output/playwright/full-menu-write-batches/supply-chain/failure-6.png","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773633901574.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773633905434.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773633903472.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773633907354.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773633897130.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773633898566.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773633882907.json","output/playwright/full-menu-write-batches/synergy/action-coverage-report.json","output/playwright/full-menu-write-batches/synergy/probes/-departments-1773633979244.json","output/playwright/full-menu-write-batches/synergy/probes/-knowledge-1773633919146.json","output/playwright/full-menu-write-batches/synergy/probes/-stage-knowledge-1773633921148.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773634434163.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773634420132.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773634396344.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773634394393.json"],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/inventory/inventory.controller.ts","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/templates/governance/module-acceptance-card.md","e2e/playwright-report/index.html","e2e/scripts/run-visible-write-batches.mjs","e2e/tests/crud/01-visible-menu-write-runner.spec.ts","e2e/tests/crud/module-catalog.overrides.ts","e2e/tests/crud/types.ts","e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/views/leads/Index.vue","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.json","output/playwright/full-menu-write-batches/batch-summary.json","output/playwright/full-menu-write-batches/batch-summary.md","output/playwright/full-menu-write-batches/finance/action-coverage-report.json","output/playwright/full-menu-write-batches/finance/failure-1.html","output/playwright/full-menu-write-batches/finance/failure-1.png","output/playwright/full-menu-write-batches/finance/failure-2.html","output/playwright/full-menu-write-batches/finance/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.md","output/playwright/full-menu-write-batches/supply-chain/blocked-unmapped-pages.json"]},{"id":"9d26d79a0e913f59f095f5770c349ada3eb290e6","message":"Sync governance docs with repo triage guidance\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9d26d79a0e913f59f095f5770c349ada3eb290e6","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:59:58+08:00","added":[],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","docs/contract-governance-3.0.md","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/reports/governance-experience-2026-03-07.md"]},{"id":"90763866bd7d7302b2fd963c80971c0c980e2a40","message":"Add visible menu snapshot for sales leads governance recheck\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/90763866bd7d7302b2fd963c80971c0c980e2a40","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:52:59+08:00","added":["e2e/output/playwright/sales-leads-governance-recheck-v2/visible-menu-snapshot.json"],"removed":[],"modified":[]},{"id":"37491f5183c3793b77913e9fa046090fd3e2140e","message":"Fix visible-menu action contracts and refresh Playwright artifacts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/37491f5183c3793b77913e9fa046090fd3e2140e","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:49:50+08:00","added":["e2e/output/playwright/growth-governance-recheck-v6/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v6/failure-1.html","e2e/output/playwright/growth-governance-recheck-v6/failure-1.png","e2e/output/playwright/growth-governance-recheck-v6/failure-2.html","e2e/output/playwright/growth-governance-recheck-v6/failure-2.png","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-accounts-1773724659044.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-audiences-1773724653884.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-biddings-1773724661639.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-campaigns-1773724649143.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-creatives-1773724651605.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-reports-1773724656426.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-campaign-library-1773724625404.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-campaigns-1773724621356.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-activities-1773724679469.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-bots-1773724692868.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-groups-1773724663988.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-members-1773724665547.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-points-1773724669207.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-tasks-1773724672014.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-customer-marketing-1773724623985.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-journey-orchestration-1773724670573.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-marketing-automation-1773724675311.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-marketing-chatbot-1773724666974.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-predictive-analytics-1773724678072.json","e2e/output/playwright/growth-governance-recheck-v6/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v7/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v7/failure-1.html","e2e/output/playwright/growth-governance-recheck-v7/failure-1.png","e2e/output/playwright/growth-governance-recheck-v7/failure-2.html","e2e/output/playwright/growth-governance-recheck-v7/failure-2.png","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-audiences-1773725119348.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-biddings-1773725144948.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-campaigns-1773725114561.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-creatives-1773725117027.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-reports-1773725121927.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-campaign-library-1773725090781.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-campaigns-1773725086648.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-activities-1773725163012.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-bots-1773725176355.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-groups-1773725147556.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-members-1773725149129.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-points-1773725152767.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-tasks-1773725155559.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-customer-marketing-1773725089355.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-journey-orchestration-1773725154125.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-marketing-automation-1773725158850.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-marketing-chatbot-1773725150561.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-predictive-analytics-1773725161612.json","e2e/output/playwright/growth-governance-recheck-v7/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v8/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-accounts-1773725331287.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-audiences-1773725326038.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-biddings-1773725333878.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-campaigns-1773725321263.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-creatives-1773725323743.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-reports-1773725328622.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-campaign-library-1773725297280.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-campaigns-1773725293257.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-activities-1773725352012.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-bots-1773725365518.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-groups-1773725336490.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-members-1773725338048.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-points-1773725341744.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-tasks-1773725344573.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-customer-marketing-1773725295883.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-journey-orchestration-1773725343111.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-marketing-automation-1773725347852.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-marketing-chatbot-1773725339499.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-predictive-analytics-1773725350608.json","e2e/output/playwright/growth-governance-recheck-v8/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v1-page1/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/sales-stores-service-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v3/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v3/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v3/failure-1.html","e2e/output/playwright/supply-governance-recheck-v3/failure-1.png","e2e/output/playwright/supply-governance-recheck-v3/failure-2.html","e2e/output/playwright/supply-governance-recheck-v3/failure-2.png","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-bom-1773724804766.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-issues-1773724808526.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-orders-1773724806554.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-receipts-1773724810440.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assets-1773724816442.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-devices-1773724818721.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-outbound-1773724800429.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-product-categories-1773724814983.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-products-1773724812923.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-serial-numbers-1773724801816.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-suppliers-1773724776440.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-supply-chain-1773724774524.json","e2e/output/playwright/supply-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v4/failure-1.html","e2e/output/playwright/supply-governance-recheck-v4/failure-1.png","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-bom-1773724908303.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-issues-1773724912024.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-orders-1773724910085.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-receipts-1773724913947.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assets-1773724920008.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-devices-1773724922280.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-outbound-1773724903876.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-product-categories-1773724918547.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-products-1773724916486.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-serial-numbers-1773724905275.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-suppliers-1773724890016.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-supply-chain-1773724888101.json","e2e/output/playwright/supply-governance-recheck-v4/visible-menu-snapshot.json","e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md"],"removed":["e2e/playwright-report/data/2bb2f2c3e1d82fa9325fdd6b5f4669df159db17a.md","e2e/playwright-report/data/92afb63601a0131a016d16a554bdb89a648849de.png","e2e/test-results/.last-run.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","e2e/test-results/results.json"],"modified":["backend/src/modules/ad-campaigns/ad-campaigns.service.ts","backend/src/modules/community-groups/community-group.contract.routes.ts","backend/src/shared/process-core/default-workflow-definitions.ts","e2e/playwright-report/index.html","e2e/tests/crud/module-catalog.overrides.ts"]},{"id":"46e5f097ea53c593ee709803d6679b5520a6b271","message":"Fix growth module write contracts and governance probes\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/46e5f097ea53c593ee709803d6679b5520a6b271","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:14:33+08:00","added":[".claude/worktrees/vibrant-mestorf","e2e/output/playwright/growth-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v2/failure-1.html","e2e/output/playwright/growth-governance-recheck-v2/failure-1.png","e2e/output/playwright/growth-governance-recheck-v2/failure-2.html","e2e/output/playwright/growth-governance-recheck-v2/failure-2.png","e2e/output/playwright/growth-governance-recheck-v2/failure-3.html","e2e/output/playwright/growth-governance-recheck-v2/failure-3.png","e2e/output/playwright/growth-governance-recheck-v2/failure-4.html","e2e/output/playwright/growth-governance-recheck-v2/failure-4.png","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-accounts-1773637103428.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-audiences-1773637097919.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-biddings-1773637106233.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-campaigns-1773637092737.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-creatives-1773637095413.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-reports-1773637100574.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-campaign-library-1773637068728.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-campaigns-1773637064334.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-activities-1773637125231.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-bots-1773637138800.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-groups-1773637108862.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-members-1773637110559.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-points-1773637114159.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-tasks-1773637117170.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-customer-marketing-1773637067192.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-journey-orchestration-1773637115613.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-marketing-automation-1773637120849.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-marketing-chatbot-1773637111690.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-predictive-analytics-1773637123749.json","e2e/output/playwright/growth-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v3/failure-1.html","e2e/output/playwright/growth-governance-recheck-v3/failure-1.png","e2e/output/playwright/growth-governance-recheck-v3/failure-2.html","e2e/output/playwright/growth-governance-recheck-v3/failure-2.png","e2e/output/playwright/growth-governance-recheck-v3/failure-3.html","e2e/output/playwright/growth-governance-recheck-v3/failure-3.png","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-accounts-1773637290819.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-audiences-1773637285318.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-biddings-1773637293641.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-campaigns-1773637280219.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-creatives-1773637282870.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-reports-1773637287997.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-campaign-library-1773637256300.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-campaigns-1773637252140.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-activities-1773637312007.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-bots-1773637315094.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-groups-1773637296205.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-members-1773637297858.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-points-1773637301326.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-tasks-1773637304221.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-customer-marketing-1773637254826.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-journey-orchestration-1773637302713.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-marketing-automation-1773637307735.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-marketing-chatbot-1773637298900.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-predictive-analytics-1773637310596.json","e2e/output/playwright/growth-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v4/failure-1.html","e2e/output/playwright/growth-governance-recheck-v4/failure-1.png","e2e/output/playwright/growth-governance-recheck-v4/failure-2.html","e2e/output/playwright/growth-governance-recheck-v4/failure-2.png","e2e/output/playwright/growth-governance-recheck-v4/failure-3.html","e2e/output/playwright/growth-governance-recheck-v4/failure-3.png","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-accounts-1773637580471.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-audiences-1773637574939.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-biddings-1773637583127.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-campaigns-1773637569798.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-creatives-1773637572491.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-reports-1773637577693.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-campaign-library-1773637545837.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-campaigns-1773637541347.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-activities-1773637601885.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-bots-1773637615595.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-groups-1773637585737.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-members-1773637587440.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-points-1773637590954.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-tasks-1773637593940.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-customer-marketing-1773637544263.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-journey-orchestration-1773637592404.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-marketing-automation-1773637597490.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-marketing-chatbot-1773637588564.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-predictive-analytics-1773637600359.json","e2e/output/playwright/growth-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v5/failure-1.html","e2e/output/playwright/growth-governance-recheck-v5/failure-1.png","e2e/output/playwright/growth-governance-recheck-v5/failure-2.html","e2e/output/playwright/growth-governance-recheck-v5/failure-2.png","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-accounts-1773637856277.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-audiences-1773637850560.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-biddings-1773637859067.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-campaigns-1773637845354.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-creatives-1773637848041.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-reports-1773637853256.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-campaign-library-1773637842008.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-campaigns-1773637837583.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-activities-1773637878336.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-bots-1773637891983.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-groups-1773637861569.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-members-1773637863254.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-points-1773637867326.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-tasks-1773637870372.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-customer-marketing-1773637840454.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-journey-orchestration-1773637868795.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-marketing-automation-1773637874004.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-marketing-chatbot-1773637864856.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-predictive-analytics-1773637876874.json","e2e/output/playwright/growth-governance-recheck-v5/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck/failure-1.html","e2e/output/playwright/growth-governance-recheck/failure-1.png","e2e/output/playwright/growth-governance-recheck/failure-10.html","e2e/output/playwright/growth-governance-recheck/failure-10.png","e2e/output/playwright/growth-governance-recheck/failure-11.html","e2e/output/playwright/growth-governance-recheck/failure-11.png","e2e/output/playwright/growth-governance-recheck/failure-12.html","e2e/output/playwright/growth-governance-recheck/failure-12.png","e2e/output/playwright/growth-governance-recheck/failure-13.html","e2e/output/playwright/growth-governance-recheck/failure-13.png","e2e/output/playwright/growth-governance-recheck/failure-2.html","e2e/output/playwright/growth-governance-recheck/failure-2.png","e2e/output/playwright/growth-governance-recheck/failure-3.html","e2e/output/playwright/growth-governance-recheck/failure-3.png","e2e/output/playwright/growth-governance-recheck/failure-4.html","e2e/output/playwright/growth-governance-recheck/failure-4.png","e2e/output/playwright/growth-governance-recheck/failure-5.html","e2e/output/playwright/growth-governance-recheck/failure-5.png","e2e/output/playwright/growth-governance-recheck/failure-6.html","e2e/output/playwright/growth-governance-recheck/failure-6.png","e2e/output/playwright/growth-governance-recheck/failure-7.html","e2e/output/playwright/growth-governance-recheck/failure-7.png","e2e/output/playwright/growth-governance-recheck/failure-8.html","e2e/output/playwright/growth-governance-recheck/failure-8.png","e2e/output/playwright/growth-governance-recheck/failure-9.html","e2e/output/playwright/growth-governance-recheck/failure-9.png","e2e/output/playwright/growth-governance-recheck/probes/-ad-accounts-1773636279090.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-audiences-1773636274572.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-biddings-1773636281658.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-campaigns-1773636269396.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-creatives-1773636272040.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-reports-1773636276435.json","e2e/output/playwright/growth-governance-recheck/probes/-campaign-library-1773636266028.json","e2e/output/playwright/growth-governance-recheck/probes/-campaigns-1773636262465.json","e2e/output/playwright/growth-governance-recheck/probes/-community-activities-1773636296839.json","e2e/output/playwright/growth-governance-recheck/probes/-community-bots-1773636309301.json","e2e/output/playwright/growth-governance-recheck/probes/-community-groups-1773636282678.json","e2e/output/playwright/growth-governance-recheck/probes/-community-members-1773636283728.json","e2e/output/playwright/growth-governance-recheck/probes/-community-points-1773636287173.json","e2e/output/playwright/growth-governance-recheck/probes/-community-tasks-1773636289789.json","e2e/output/playwright/growth-governance-recheck/probes/-customer-marketing-1773636264449.json","e2e/output/playwright/growth-governance-recheck/probes/-journey-orchestration-1773636288630.json","e2e/output/playwright/growth-governance-recheck/probes/-marketing-automation-1773636292934.json","e2e/output/playwright/growth-governance-recheck/probes/-marketing-chatbot-1773636284766.json","e2e/output/playwright/growth-governance-recheck/probes/-predictive-analytics-1773636295835.json","e2e/output/playwright/growth-governance-recheck/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v2/failure-1.html","e2e/output/playwright/supply-governance-recheck-v2/failure-1.png","e2e/output/playwright/supply-governance-recheck-v2/failure-2.html","e2e/output/playwright/supply-governance-recheck-v2/failure-2.png","e2e/output/playwright/supply-governance-recheck-v2/failure-3.html","e2e/output/playwright/supply-governance-recheck-v2/failure-3.png","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-bom-1773638085569.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-issues-1773638089294.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-orders-1773638087361.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-receipts-1773638091237.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assets-1773638096600.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-devices-1773638098927.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-outbound-1773638081116.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-product-categories-1773638095076.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-products-1773638093780.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-serial-numbers-1773638082543.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-suppliers-1773638056945.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-supply-chain-1773638054946.json","e2e/output/playwright/supply-governance-recheck-v2/visible-menu-snapshot.json","e2e/playwright-report/data/2bb2f2c3e1d82fa9325fdd6b5f4669df159db17a.md","e2e/playwright-report/data/92afb63601a0131a016d16a554bdb89a648849de.png","e2e/test-results/.last-run.json","e2e/test-results/results.json"],"removed":[],"modified":["backend/src/modules/ad-accounts/ad-account.controller.ts","backend/src/modules/ad-biddings/ad-bidding.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/shared/utils/biz-code.ts","e2e/playwright-report/index.html","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","e2e/tests/crud/module-catalog.overrides.ts"]}],"total_commits":0,"head_commit":{"id":"c1da50f2974fe9552f40dde68ec34df656ddca22","message":"feat: 同步治理文档与 Playwright 可见菜单写批次运行产物\n\n- 更新四份核心文档(AGENTS/CLAUDE/GEMINI/README)菜单深交互基线治理经验\n- 补充 module-governance-acceptance-checklist.md 新模板\n- 更新 module-acceptance-card.md 验收卡与 runbook 运行手册\n- 刷新 inventory.controller.ts 出库模块控制器\n- 同步前端 leads/Index.vue 线索列表页\n- 更新可见菜单写批次:ai-acquisition-content / finance / supply-chain /\n growth-sales-stores-service / synergy / system-infra / hr 域新一轮\n probe JSON、failure 截图与 action-coverage-report\n- 新增 sales-leads / outbound / sales / supply 治理复查产物目录\n- 更新 e2e 测试脚本与 CRUD catalog 配置\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c1da50f2974fe9552f40dde68ec34df656ddca22","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T15:28:33+08:00","added":["docs/templates/governance/module-governance-acceptance-checklist.md","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v1/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.html","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.png","e2e/output/playwright/outbound-governance-recheck-v1/probes/-outbound-1773728392272.json","e2e/output/playwright/outbound-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v2/probes/-outbound-1773729291584.json","e2e/output/playwright/outbound-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/sales-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/sales-governance-recheck-v2/failure-1.html","e2e/output/playwright/sales-governance-recheck-v2/failure-1.png","e2e/output/playwright/sales-governance-recheck-v2/failure-2.html","e2e/output/playwright/sales-governance-recheck-v2/failure-2.png","e2e/output/playwright/sales-governance-recheck-v2/probes/-leads-1773730807935.json","e2e/output/playwright/sales-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/sales-leads-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/sales-leads-governance-recheck-v4/probes/-leads-1773728044474.json","e2e/output/playwright/sales-leads-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v5/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-bom-1773730659592.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-issues-1773730663321.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-orders-1773730661365.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-receipts-1773730665247.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assets-1773730671300.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-devices-1773730673579.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-outbound-1773730655235.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-product-categories-1773730669828.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-products-1773730667766.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-serial-numbers-1773730656634.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-suppliers-1773730630707.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-supply-chain-1773730628780.json","e2e/output/playwright/supply-governance-recheck-v5/visible-menu-snapshot.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.png","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773730293426.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773730346930.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773730265455.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773730339395.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773730342218.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773730348434.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-leads-1773730376023.json","output/playwright/full-menu-write-batches/finance/action-coverage-report.md","output/playwright/full-menu-write-batches/finance/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/finance/failure-3.html","output/playwright/full-menu-write-batches/finance/failure-3.png","output/playwright/full-menu-write-batches/finance/failure-4.html","output/playwright/full-menu-write-batches/finance/failure-4.png","output/playwright/full-menu-write-batches/finance/failure-5.html","output/playwright/full-menu-write-batches/finance/failure-5.png","output/playwright/full-menu-write-batches/finance/failure-6.html","output/playwright/full-menu-write-batches/finance/failure-6.png","output/playwright/full-menu-write-batches/finance/failure-7.html","output/playwright/full-menu-write-batches/finance/failure-7.png","output/playwright/full-menu-write-batches/finance/failure-8.html","output/playwright/full-menu-write-batches/finance/failure-8.png","output/playwright/full-menu-write-batches/finance/failure-9.html","output/playwright/full-menu-write-batches/finance/failure-9.png","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773730815434.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773730746198.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773730747838.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-accounts-1773730566774.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-audiences-1773730561615.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-biddings-1773730569333.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-campaigns-1773730556834.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-creatives-1773730559313.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-reports-1773730564152.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaign-library-1773730532757.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaigns-1773730528728.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-activities-1773730587398.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-bots-1773730600826.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-groups-1773730571925.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-members-1773730573486.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-points-1773730577188.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-tasks-1773730579980.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customer-marketing-1773730531325.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-journey-orchestration-1773730578554.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-automation-1773730583244.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-chatbot-1773730574929.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-predictive-analytics-1773730586008.json","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773731255349.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773731072621.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773731076369.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773731074407.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773731078283.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assets-1773731084301.json","output/playwright/full-menu-write-batches/supply-chain/probes/-devices-1773731086563.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773731068258.json","output/playwright/full-menu-write-batches/supply-chain/probes/-product-categories-1773731082834.json","output/playwright/full-menu-write-batches/supply-chain/probes/-products-1773731080800.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773731069659.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773731043692.json","output/playwright/full-menu-write-batches/supply-chain/probes/-supply-chain-1773731041756.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773731295866.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773731281925.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773731268383.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773731266376.json"],"removed":["e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773632942127.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773632995925.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773632916088.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773632988219.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773632991102.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773632997429.json","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773633734328.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773633664730.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773633666424.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.png","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773634383805.json","output/playwright/full-menu-write-batches/supply-chain/failure-1.html","output/playwright/full-menu-write-batches/supply-chain/failure-1.png","output/playwright/full-menu-write-batches/supply-chain/failure-2.html","output/playwright/full-menu-write-batches/supply-chain/failure-2.png","output/playwright/full-menu-write-batches/supply-chain/failure-3.html","output/playwright/full-menu-write-batches/supply-chain/failure-3.png","output/playwright/full-menu-write-batches/supply-chain/failure-4.html","output/playwright/full-menu-write-batches/supply-chain/failure-4.png","output/playwright/full-menu-write-batches/supply-chain/failure-5.html","output/playwright/full-menu-write-batches/supply-chain/failure-5.png","output/playwright/full-menu-write-batches/supply-chain/failure-6.html","output/playwright/full-menu-write-batches/supply-chain/failure-6.png","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773633901574.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773633905434.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773633903472.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773633907354.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773633897130.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773633898566.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773633882907.json","output/playwright/full-menu-write-batches/synergy/action-coverage-report.json","output/playwright/full-menu-write-batches/synergy/probes/-departments-1773633979244.json","output/playwright/full-menu-write-batches/synergy/probes/-knowledge-1773633919146.json","output/playwright/full-menu-write-batches/synergy/probes/-stage-knowledge-1773633921148.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773634434163.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773634420132.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773634396344.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773634394393.json"],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/inventory/inventory.controller.ts","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/templates/governance/module-acceptance-card.md","e2e/playwright-report/index.html","e2e/scripts/run-visible-write-batches.mjs","e2e/tests/crud/01-visible-menu-write-runner.spec.ts","e2e/tests/crud/module-catalog.overrides.ts","e2e/tests/crud/types.ts","e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/views/leads/Index.vue","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.json","output/playwright/full-menu-write-batches/batch-summary.json","output/playwright/full-menu-write-batches/batch-summary.md","output/playwright/full-menu-write-batches/finance/action-coverage-report.json","output/playwright/full-menu-write-batches/finance/failure-1.html","output/playwright/full-menu-write-batches/finance/failure-1.png","output/playwright/full-menu-write-batches/finance/failure-2.html","output/playwright/full-menu-write-batches/finance/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.md","output/playwright/full-menu-write-batches/supply-chain/blocked-unmapped-pages.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/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":1162552,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-17T15:30:33+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
1
|
3
|
1773734132
|
1773734132
|
0
|
1773734132
|
1773734132
|
NULL
|
|
0
|
Edit
Delete
|
|
6363
|
feat: 同步治理文档与 Playwright 可见菜单写批次运行产物
|
6
|
5
|
health-check.yml
|
6297
|
-2
|
58
|
refs/heads/main
|
c1da50f2974fe9552f40dde68ec34df656ddca22
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e5a2f5ba8d6442be07c490ec77c734dbe317bfd5","after":"c1da50f2974fe9552f40dde68ec34df656ddca22","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e5a2f5ba8d6442be07c490ec77c734dbe317bfd5...c1da50f2974fe9552f40dde68ec34df656ddca22","commits":[{"id":"c1da50f2974fe9552f40dde68ec34df656ddca22","message":"feat: 同步治理文档与 Playwright 可见菜单写批次运行产物\n\n- 更新四份核心文档(AGENTS/CLAUDE/GEMINI/README)菜单深交互基线治理经验\n- 补充 module-governance-acceptance-checklist.md 新模板\n- 更新 module-acceptance-card.md 验收卡与 runbook 运行手册\n- 刷新 inventory.controller.ts 出库模块控制器\n- 同步前端 leads/Index.vue 线索列表页\n- 更新可见菜单写批次:ai-acquisition-content / finance / supply-chain /\n growth-sales-stores-service / synergy / system-infra / hr 域新一轮\n probe JSON、failure 截图与 action-coverage-report\n- 新增 sales-leads / outbound / sales / supply 治理复查产物目录\n- 更新 e2e 测试脚本与 CRUD catalog 配置\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c1da50f2974fe9552f40dde68ec34df656ddca22","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T15:28:33+08:00","added":["docs/templates/governance/module-governance-acceptance-checklist.md","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v1/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.html","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.png","e2e/output/playwright/outbound-governance-recheck-v1/probes/-outbound-1773728392272.json","e2e/output/playwright/outbound-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v2/probes/-outbound-1773729291584.json","e2e/output/playwright/outbound-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/sales-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/sales-governance-recheck-v2/failure-1.html","e2e/output/playwright/sales-governance-recheck-v2/failure-1.png","e2e/output/playwright/sales-governance-recheck-v2/failure-2.html","e2e/output/playwright/sales-governance-recheck-v2/failure-2.png","e2e/output/playwright/sales-governance-recheck-v2/probes/-leads-1773730807935.json","e2e/output/playwright/sales-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/sales-leads-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/sales-leads-governance-recheck-v4/probes/-leads-1773728044474.json","e2e/output/playwright/sales-leads-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v5/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-bom-1773730659592.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-issues-1773730663321.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-orders-1773730661365.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-receipts-1773730665247.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assets-1773730671300.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-devices-1773730673579.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-outbound-1773730655235.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-product-categories-1773730669828.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-products-1773730667766.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-serial-numbers-1773730656634.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-suppliers-1773730630707.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-supply-chain-1773730628780.json","e2e/output/playwright/supply-governance-recheck-v5/visible-menu-snapshot.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.png","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773730293426.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773730346930.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773730265455.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773730339395.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773730342218.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773730348434.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-leads-1773730376023.json","output/playwright/full-menu-write-batches/finance/action-coverage-report.md","output/playwright/full-menu-write-batches/finance/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/finance/failure-3.html","output/playwright/full-menu-write-batches/finance/failure-3.png","output/playwright/full-menu-write-batches/finance/failure-4.html","output/playwright/full-menu-write-batches/finance/failure-4.png","output/playwright/full-menu-write-batches/finance/failure-5.html","output/playwright/full-menu-write-batches/finance/failure-5.png","output/playwright/full-menu-write-batches/finance/failure-6.html","output/playwright/full-menu-write-batches/finance/failure-6.png","output/playwright/full-menu-write-batches/finance/failure-7.html","output/playwright/full-menu-write-batches/finance/failure-7.png","output/playwright/full-menu-write-batches/finance/failure-8.html","output/playwright/full-menu-write-batches/finance/failure-8.png","output/playwright/full-menu-write-batches/finance/failure-9.html","output/playwright/full-menu-write-batches/finance/failure-9.png","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773730815434.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773730746198.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773730747838.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-accounts-1773730566774.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-audiences-1773730561615.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-biddings-1773730569333.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-campaigns-1773730556834.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-creatives-1773730559313.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-reports-1773730564152.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaign-library-1773730532757.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaigns-1773730528728.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-activities-1773730587398.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-bots-1773730600826.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-groups-1773730571925.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-members-1773730573486.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-points-1773730577188.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-tasks-1773730579980.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customer-marketing-1773730531325.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-journey-orchestration-1773730578554.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-automation-1773730583244.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-chatbot-1773730574929.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-predictive-analytics-1773730586008.json","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773731255349.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773731072621.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773731076369.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773731074407.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773731078283.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assets-1773731084301.json","output/playwright/full-menu-write-batches/supply-chain/probes/-devices-1773731086563.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773731068258.json","output/playwright/full-menu-write-batches/supply-chain/probes/-product-categories-1773731082834.json","output/playwright/full-menu-write-batches/supply-chain/probes/-products-1773731080800.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773731069659.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773731043692.json","output/playwright/full-menu-write-batches/supply-chain/probes/-supply-chain-1773731041756.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773731295866.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773731281925.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773731268383.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773731266376.json"],"removed":["e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773632942127.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773632995925.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773632916088.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773632988219.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773632991102.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773632997429.json","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773633734328.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773633664730.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773633666424.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.png","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773634383805.json","output/playwright/full-menu-write-batches/supply-chain/failure-1.html","output/playwright/full-menu-write-batches/supply-chain/failure-1.png","output/playwright/full-menu-write-batches/supply-chain/failure-2.html","output/playwright/full-menu-write-batches/supply-chain/failure-2.png","output/playwright/full-menu-write-batches/supply-chain/failure-3.html","output/playwright/full-menu-write-batches/supply-chain/failure-3.png","output/playwright/full-menu-write-batches/supply-chain/failure-4.html","output/playwright/full-menu-write-batches/supply-chain/failure-4.png","output/playwright/full-menu-write-batches/supply-chain/failure-5.html","output/playwright/full-menu-write-batches/supply-chain/failure-5.png","output/playwright/full-menu-write-batches/supply-chain/failure-6.html","output/playwright/full-menu-write-batches/supply-chain/failure-6.png","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773633901574.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773633905434.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773633903472.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773633907354.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773633897130.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773633898566.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773633882907.json","output/playwright/full-menu-write-batches/synergy/action-coverage-report.json","output/playwright/full-menu-write-batches/synergy/probes/-departments-1773633979244.json","output/playwright/full-menu-write-batches/synergy/probes/-knowledge-1773633919146.json","output/playwright/full-menu-write-batches/synergy/probes/-stage-knowledge-1773633921148.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773634434163.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773634420132.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773634396344.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773634394393.json"],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/inventory/inventory.controller.ts","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/templates/governance/module-acceptance-card.md","e2e/playwright-report/index.html","e2e/scripts/run-visible-write-batches.mjs","e2e/tests/crud/01-visible-menu-write-runner.spec.ts","e2e/tests/crud/module-catalog.overrides.ts","e2e/tests/crud/types.ts","e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/views/leads/Index.vue","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.json","output/playwright/full-menu-write-batches/batch-summary.json","output/playwright/full-menu-write-batches/batch-summary.md","output/playwright/full-menu-write-batches/finance/action-coverage-report.json","output/playwright/full-menu-write-batches/finance/failure-1.html","output/playwright/full-menu-write-batches/finance/failure-1.png","output/playwright/full-menu-write-batches/finance/failure-2.html","output/playwright/full-menu-write-batches/finance/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.md","output/playwright/full-menu-write-batches/supply-chain/blocked-unmapped-pages.json"]},{"id":"9d26d79a0e913f59f095f5770c349ada3eb290e6","message":"Sync governance docs with repo triage guidance\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9d26d79a0e913f59f095f5770c349ada3eb290e6","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:59:58+08:00","added":[],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","docs/contract-governance-3.0.md","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/reports/governance-experience-2026-03-07.md"]},{"id":"90763866bd7d7302b2fd963c80971c0c980e2a40","message":"Add visible menu snapshot for sales leads governance recheck\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/90763866bd7d7302b2fd963c80971c0c980e2a40","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:52:59+08:00","added":["e2e/output/playwright/sales-leads-governance-recheck-v2/visible-menu-snapshot.json"],"removed":[],"modified":[]},{"id":"37491f5183c3793b77913e9fa046090fd3e2140e","message":"Fix visible-menu action contracts and refresh Playwright artifacts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/37491f5183c3793b77913e9fa046090fd3e2140e","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:49:50+08:00","added":["e2e/output/playwright/growth-governance-recheck-v6/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v6/failure-1.html","e2e/output/playwright/growth-governance-recheck-v6/failure-1.png","e2e/output/playwright/growth-governance-recheck-v6/failure-2.html","e2e/output/playwright/growth-governance-recheck-v6/failure-2.png","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-accounts-1773724659044.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-audiences-1773724653884.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-biddings-1773724661639.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-campaigns-1773724649143.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-creatives-1773724651605.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-reports-1773724656426.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-campaign-library-1773724625404.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-campaigns-1773724621356.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-activities-1773724679469.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-bots-1773724692868.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-groups-1773724663988.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-members-1773724665547.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-points-1773724669207.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-tasks-1773724672014.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-customer-marketing-1773724623985.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-journey-orchestration-1773724670573.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-marketing-automation-1773724675311.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-marketing-chatbot-1773724666974.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-predictive-analytics-1773724678072.json","e2e/output/playwright/growth-governance-recheck-v6/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v7/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v7/failure-1.html","e2e/output/playwright/growth-governance-recheck-v7/failure-1.png","e2e/output/playwright/growth-governance-recheck-v7/failure-2.html","e2e/output/playwright/growth-governance-recheck-v7/failure-2.png","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-audiences-1773725119348.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-biddings-1773725144948.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-campaigns-1773725114561.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-creatives-1773725117027.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-reports-1773725121927.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-campaign-library-1773725090781.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-campaigns-1773725086648.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-activities-1773725163012.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-bots-1773725176355.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-groups-1773725147556.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-members-1773725149129.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-points-1773725152767.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-tasks-1773725155559.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-customer-marketing-1773725089355.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-journey-orchestration-1773725154125.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-marketing-automation-1773725158850.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-marketing-chatbot-1773725150561.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-predictive-analytics-1773725161612.json","e2e/output/playwright/growth-governance-recheck-v7/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v8/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-accounts-1773725331287.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-audiences-1773725326038.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-biddings-1773725333878.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-campaigns-1773725321263.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-creatives-1773725323743.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-reports-1773725328622.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-campaign-library-1773725297280.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-campaigns-1773725293257.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-activities-1773725352012.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-bots-1773725365518.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-groups-1773725336490.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-members-1773725338048.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-points-1773725341744.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-tasks-1773725344573.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-customer-marketing-1773725295883.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-journey-orchestration-1773725343111.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-marketing-automation-1773725347852.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-marketing-chatbot-1773725339499.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-predictive-analytics-1773725350608.json","e2e/output/playwright/growth-governance-recheck-v8/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v1-page1/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/sales-stores-service-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v3/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v3/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v3/failure-1.html","e2e/output/playwright/supply-governance-recheck-v3/failure-1.png","e2e/output/playwright/supply-governance-recheck-v3/failure-2.html","e2e/output/playwright/supply-governance-recheck-v3/failure-2.png","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-bom-1773724804766.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-issues-1773724808526.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-orders-1773724806554.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-receipts-1773724810440.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assets-1773724816442.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-devices-1773724818721.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-outbound-1773724800429.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-product-categories-1773724814983.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-products-1773724812923.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-serial-numbers-1773724801816.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-suppliers-1773724776440.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-supply-chain-1773724774524.json","e2e/output/playwright/supply-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v4/failure-1.html","e2e/output/playwright/supply-governance-recheck-v4/failure-1.png","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-bom-1773724908303.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-issues-1773724912024.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-orders-1773724910085.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-receipts-1773724913947.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assets-1773724920008.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-devices-1773724922280.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-outbound-1773724903876.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-product-categories-1773724918547.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-products-1773724916486.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-serial-numbers-1773724905275.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-suppliers-1773724890016.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-supply-chain-1773724888101.json","e2e/output/playwright/supply-governance-recheck-v4/visible-menu-snapshot.json","e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md"],"removed":["e2e/playwright-report/data/2bb2f2c3e1d82fa9325fdd6b5f4669df159db17a.md","e2e/playwright-report/data/92afb63601a0131a016d16a554bdb89a648849de.png","e2e/test-results/.last-run.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","e2e/test-results/results.json"],"modified":["backend/src/modules/ad-campaigns/ad-campaigns.service.ts","backend/src/modules/community-groups/community-group.contract.routes.ts","backend/src/shared/process-core/default-workflow-definitions.ts","e2e/playwright-report/index.html","e2e/tests/crud/module-catalog.overrides.ts"]},{"id":"46e5f097ea53c593ee709803d6679b5520a6b271","message":"Fix growth module write contracts and governance probes\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/46e5f097ea53c593ee709803d6679b5520a6b271","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:14:33+08:00","added":[".claude/worktrees/vibrant-mestorf","e2e/output/playwright/growth-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v2/failure-1.html","e2e/output/playwright/growth-governance-recheck-v2/failure-1.png","e2e/output/playwright/growth-governance-recheck-v2/failure-2.html","e2e/output/playwright/growth-governance-recheck-v2/failure-2.png","e2e/output/playwright/growth-governance-recheck-v2/failure-3.html","e2e/output/playwright/growth-governance-recheck-v2/failure-3.png","e2e/output/playwright/growth-governance-recheck-v2/failure-4.html","e2e/output/playwright/growth-governance-recheck-v2/failure-4.png","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-accounts-1773637103428.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-audiences-1773637097919.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-biddings-1773637106233.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-campaigns-1773637092737.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-creatives-1773637095413.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-reports-1773637100574.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-campaign-library-1773637068728.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-campaigns-1773637064334.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-activities-1773637125231.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-bots-1773637138800.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-groups-1773637108862.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-members-1773637110559.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-points-1773637114159.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-tasks-1773637117170.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-customer-marketing-1773637067192.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-journey-orchestration-1773637115613.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-marketing-automation-1773637120849.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-marketing-chatbot-1773637111690.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-predictive-analytics-1773637123749.json","e2e/output/playwright/growth-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v3/failure-1.html","e2e/output/playwright/growth-governance-recheck-v3/failure-1.png","e2e/output/playwright/growth-governance-recheck-v3/failure-2.html","e2e/output/playwright/growth-governance-recheck-v3/failure-2.png","e2e/output/playwright/growth-governance-recheck-v3/failure-3.html","e2e/output/playwright/growth-governance-recheck-v3/failure-3.png","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-accounts-1773637290819.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-audiences-1773637285318.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-biddings-1773637293641.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-campaigns-1773637280219.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-creatives-1773637282870.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-reports-1773637287997.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-campaign-library-1773637256300.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-campaigns-1773637252140.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-activities-1773637312007.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-bots-1773637315094.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-groups-1773637296205.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-members-1773637297858.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-points-1773637301326.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-tasks-1773637304221.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-customer-marketing-1773637254826.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-journey-orchestration-1773637302713.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-marketing-automation-1773637307735.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-marketing-chatbot-1773637298900.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-predictive-analytics-1773637310596.json","e2e/output/playwright/growth-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v4/failure-1.html","e2e/output/playwright/growth-governance-recheck-v4/failure-1.png","e2e/output/playwright/growth-governance-recheck-v4/failure-2.html","e2e/output/playwright/growth-governance-recheck-v4/failure-2.png","e2e/output/playwright/growth-governance-recheck-v4/failure-3.html","e2e/output/playwright/growth-governance-recheck-v4/failure-3.png","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-accounts-1773637580471.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-audiences-1773637574939.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-biddings-1773637583127.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-campaigns-1773637569798.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-creatives-1773637572491.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-reports-1773637577693.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-campaign-library-1773637545837.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-campaigns-1773637541347.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-activities-1773637601885.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-bots-1773637615595.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-groups-1773637585737.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-members-1773637587440.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-points-1773637590954.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-tasks-1773637593940.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-customer-marketing-1773637544263.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-journey-orchestration-1773637592404.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-marketing-automation-1773637597490.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-marketing-chatbot-1773637588564.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-predictive-analytics-1773637600359.json","e2e/output/playwright/growth-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v5/failure-1.html","e2e/output/playwright/growth-governance-recheck-v5/failure-1.png","e2e/output/playwright/growth-governance-recheck-v5/failure-2.html","e2e/output/playwright/growth-governance-recheck-v5/failure-2.png","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-accounts-1773637856277.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-audiences-1773637850560.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-biddings-1773637859067.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-campaigns-1773637845354.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-creatives-1773637848041.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-reports-1773637853256.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-campaign-library-1773637842008.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-campaigns-1773637837583.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-activities-1773637878336.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-bots-1773637891983.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-groups-1773637861569.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-members-1773637863254.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-points-1773637867326.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-tasks-1773637870372.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-customer-marketing-1773637840454.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-journey-orchestration-1773637868795.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-marketing-automation-1773637874004.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-marketing-chatbot-1773637864856.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-predictive-analytics-1773637876874.json","e2e/output/playwright/growth-governance-recheck-v5/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck/failure-1.html","e2e/output/playwright/growth-governance-recheck/failure-1.png","e2e/output/playwright/growth-governance-recheck/failure-10.html","e2e/output/playwright/growth-governance-recheck/failure-10.png","e2e/output/playwright/growth-governance-recheck/failure-11.html","e2e/output/playwright/growth-governance-recheck/failure-11.png","e2e/output/playwright/growth-governance-recheck/failure-12.html","e2e/output/playwright/growth-governance-recheck/failure-12.png","e2e/output/playwright/growth-governance-recheck/failure-13.html","e2e/output/playwright/growth-governance-recheck/failure-13.png","e2e/output/playwright/growth-governance-recheck/failure-2.html","e2e/output/playwright/growth-governance-recheck/failure-2.png","e2e/output/playwright/growth-governance-recheck/failure-3.html","e2e/output/playwright/growth-governance-recheck/failure-3.png","e2e/output/playwright/growth-governance-recheck/failure-4.html","e2e/output/playwright/growth-governance-recheck/failure-4.png","e2e/output/playwright/growth-governance-recheck/failure-5.html","e2e/output/playwright/growth-governance-recheck/failure-5.png","e2e/output/playwright/growth-governance-recheck/failure-6.html","e2e/output/playwright/growth-governance-recheck/failure-6.png","e2e/output/playwright/growth-governance-recheck/failure-7.html","e2e/output/playwright/growth-governance-recheck/failure-7.png","e2e/output/playwright/growth-governance-recheck/failure-8.html","e2e/output/playwright/growth-governance-recheck/failure-8.png","e2e/output/playwright/growth-governance-recheck/failure-9.html","e2e/output/playwright/growth-governance-recheck/failure-9.png","e2e/output/playwright/growth-governance-recheck/probes/-ad-accounts-1773636279090.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-audiences-1773636274572.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-biddings-1773636281658.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-campaigns-1773636269396.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-creatives-1773636272040.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-reports-1773636276435.json","e2e/output/playwright/growth-governance-recheck/probes/-campaign-library-1773636266028.json","e2e/output/playwright/growth-governance-recheck/probes/-campaigns-1773636262465.json","e2e/output/playwright/growth-governance-recheck/probes/-community-activities-1773636296839.json","e2e/output/playwright/growth-governance-recheck/probes/-community-bots-1773636309301.json","e2e/output/playwright/growth-governance-recheck/probes/-community-groups-1773636282678.json","e2e/output/playwright/growth-governance-recheck/probes/-community-members-1773636283728.json","e2e/output/playwright/growth-governance-recheck/probes/-community-points-1773636287173.json","e2e/output/playwright/growth-governance-recheck/probes/-community-tasks-1773636289789.json","e2e/output/playwright/growth-governance-recheck/probes/-customer-marketing-1773636264449.json","e2e/output/playwright/growth-governance-recheck/probes/-journey-orchestration-1773636288630.json","e2e/output/playwright/growth-governance-recheck/probes/-marketing-automation-1773636292934.json","e2e/output/playwright/growth-governance-recheck/probes/-marketing-chatbot-1773636284766.json","e2e/output/playwright/growth-governance-recheck/probes/-predictive-analytics-1773636295835.json","e2e/output/playwright/growth-governance-recheck/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v2/failure-1.html","e2e/output/playwright/supply-governance-recheck-v2/failure-1.png","e2e/output/playwright/supply-governance-recheck-v2/failure-2.html","e2e/output/playwright/supply-governance-recheck-v2/failure-2.png","e2e/output/playwright/supply-governance-recheck-v2/failure-3.html","e2e/output/playwright/supply-governance-recheck-v2/failure-3.png","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-bom-1773638085569.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-issues-1773638089294.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-orders-1773638087361.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-receipts-1773638091237.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assets-1773638096600.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-devices-1773638098927.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-outbound-1773638081116.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-product-categories-1773638095076.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-products-1773638093780.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-serial-numbers-1773638082543.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-suppliers-1773638056945.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-supply-chain-1773638054946.json","e2e/output/playwright/supply-governance-recheck-v2/visible-menu-snapshot.json","e2e/playwright-report/data/2bb2f2c3e1d82fa9325fdd6b5f4669df159db17a.md","e2e/playwright-report/data/92afb63601a0131a016d16a554bdb89a648849de.png","e2e/test-results/.last-run.json","e2e/test-results/results.json"],"removed":[],"modified":["backend/src/modules/ad-accounts/ad-account.controller.ts","backend/src/modules/ad-biddings/ad-bidding.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/shared/utils/biz-code.ts","e2e/playwright-report/index.html","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","e2e/tests/crud/module-catalog.overrides.ts"]}],"total_commits":0,"head_commit":{"id":"c1da50f2974fe9552f40dde68ec34df656ddca22","message":"feat: 同步治理文档与 Playwright 可见菜单写批次运行产物\n\n- 更新四份核心文档(AGENTS/CLAUDE/GEMINI/README)菜单深交互基线治理经验\n- 补充 module-governance-acceptance-checklist.md 新模板\n- 更新 module-acceptance-card.md 验收卡与 runbook 运行手册\n- 刷新 inventory.controller.ts 出库模块控制器\n- 同步前端 leads/Index.vue 线索列表页\n- 更新可见菜单写批次:ai-acquisition-content / finance / supply-chain /\n growth-sales-stores-service / synergy / system-infra / hr 域新一轮\n probe JSON、failure 截图与 action-coverage-report\n- 新增 sales-leads / outbound / sales / supply 治理复查产物目录\n- 更新 e2e 测试脚本与 CRUD catalog 配置\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c1da50f2974fe9552f40dde68ec34df656ddca22","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T15:28:33+08:00","added":["docs/templates/governance/module-governance-acceptance-checklist.md","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v1/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.html","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.png","e2e/output/playwright/outbound-governance-recheck-v1/probes/-outbound-1773728392272.json","e2e/output/playwright/outbound-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v2/probes/-outbound-1773729291584.json","e2e/output/playwright/outbound-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/sales-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/sales-governance-recheck-v2/failure-1.html","e2e/output/playwright/sales-governance-recheck-v2/failure-1.png","e2e/output/playwright/sales-governance-recheck-v2/failure-2.html","e2e/output/playwright/sales-governance-recheck-v2/failure-2.png","e2e/output/playwright/sales-governance-recheck-v2/probes/-leads-1773730807935.json","e2e/output/playwright/sales-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/sales-leads-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/sales-leads-governance-recheck-v4/probes/-leads-1773728044474.json","e2e/output/playwright/sales-leads-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v5/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-bom-1773730659592.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-issues-1773730663321.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-orders-1773730661365.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-receipts-1773730665247.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assets-1773730671300.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-devices-1773730673579.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-outbound-1773730655235.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-product-categories-1773730669828.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-products-1773730667766.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-serial-numbers-1773730656634.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-suppliers-1773730630707.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-supply-chain-1773730628780.json","e2e/output/playwright/supply-governance-recheck-v5/visible-menu-snapshot.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.png","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773730293426.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773730346930.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773730265455.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773730339395.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773730342218.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773730348434.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-leads-1773730376023.json","output/playwright/full-menu-write-batches/finance/action-coverage-report.md","output/playwright/full-menu-write-batches/finance/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/finance/failure-3.html","output/playwright/full-menu-write-batches/finance/failure-3.png","output/playwright/full-menu-write-batches/finance/failure-4.html","output/playwright/full-menu-write-batches/finance/failure-4.png","output/playwright/full-menu-write-batches/finance/failure-5.html","output/playwright/full-menu-write-batches/finance/failure-5.png","output/playwright/full-menu-write-batches/finance/failure-6.html","output/playwright/full-menu-write-batches/finance/failure-6.png","output/playwright/full-menu-write-batches/finance/failure-7.html","output/playwright/full-menu-write-batches/finance/failure-7.png","output/playwright/full-menu-write-batches/finance/failure-8.html","output/playwright/full-menu-write-batches/finance/failure-8.png","output/playwright/full-menu-write-batches/finance/failure-9.html","output/playwright/full-menu-write-batches/finance/failure-9.png","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773730815434.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773730746198.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773730747838.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-accounts-1773730566774.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-audiences-1773730561615.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-biddings-1773730569333.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-campaigns-1773730556834.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-creatives-1773730559313.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-reports-1773730564152.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaign-library-1773730532757.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaigns-1773730528728.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-activities-1773730587398.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-bots-1773730600826.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-groups-1773730571925.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-members-1773730573486.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-points-1773730577188.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-tasks-1773730579980.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customer-marketing-1773730531325.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-journey-orchestration-1773730578554.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-automation-1773730583244.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-chatbot-1773730574929.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-predictive-analytics-1773730586008.json","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773731255349.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773731072621.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773731076369.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773731074407.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773731078283.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assets-1773731084301.json","output/playwright/full-menu-write-batches/supply-chain/probes/-devices-1773731086563.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773731068258.json","output/playwright/full-menu-write-batches/supply-chain/probes/-product-categories-1773731082834.json","output/playwright/full-menu-write-batches/supply-chain/probes/-products-1773731080800.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773731069659.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773731043692.json","output/playwright/full-menu-write-batches/supply-chain/probes/-supply-chain-1773731041756.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773731295866.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773731281925.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773731268383.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773731266376.json"],"removed":["e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773632942127.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773632995925.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773632916088.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773632988219.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773632991102.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773632997429.json","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773633734328.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773633664730.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773633666424.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.png","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773634383805.json","output/playwright/full-menu-write-batches/supply-chain/failure-1.html","output/playwright/full-menu-write-batches/supply-chain/failure-1.png","output/playwright/full-menu-write-batches/supply-chain/failure-2.html","output/playwright/full-menu-write-batches/supply-chain/failure-2.png","output/playwright/full-menu-write-batches/supply-chain/failure-3.html","output/playwright/full-menu-write-batches/supply-chain/failure-3.png","output/playwright/full-menu-write-batches/supply-chain/failure-4.html","output/playwright/full-menu-write-batches/supply-chain/failure-4.png","output/playwright/full-menu-write-batches/supply-chain/failure-5.html","output/playwright/full-menu-write-batches/supply-chain/failure-5.png","output/playwright/full-menu-write-batches/supply-chain/failure-6.html","output/playwright/full-menu-write-batches/supply-chain/failure-6.png","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773633901574.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773633905434.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773633903472.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773633907354.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773633897130.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773633898566.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773633882907.json","output/playwright/full-menu-write-batches/synergy/action-coverage-report.json","output/playwright/full-menu-write-batches/synergy/probes/-departments-1773633979244.json","output/playwright/full-menu-write-batches/synergy/probes/-knowledge-1773633919146.json","output/playwright/full-menu-write-batches/synergy/probes/-stage-knowledge-1773633921148.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773634434163.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773634420132.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773634396344.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773634394393.json"],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/inventory/inventory.controller.ts","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/templates/governance/module-acceptance-card.md","e2e/playwright-report/index.html","e2e/scripts/run-visible-write-batches.mjs","e2e/tests/crud/01-visible-menu-write-runner.spec.ts","e2e/tests/crud/module-catalog.overrides.ts","e2e/tests/crud/types.ts","e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/views/leads/Index.vue","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.json","output/playwright/full-menu-write-batches/batch-summary.json","output/playwright/full-menu-write-batches/batch-summary.md","output/playwright/full-menu-write-batches/finance/action-coverage-report.json","output/playwright/full-menu-write-batches/finance/failure-1.html","output/playwright/full-menu-write-batches/finance/failure-1.png","output/playwright/full-menu-write-batches/finance/failure-2.html","output/playwright/full-menu-write-batches/finance/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.md","output/playwright/full-menu-write-batches/supply-chain/blocked-unmapped-pages.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/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":1162552,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-17T15:30:33+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
1
|
3
|
1773734432
|
1773734432
|
0
|
1773734432
|
1773734432
|
NULL
|
|
0
|
Edit
Delete
|
|
6364
|
feat: 同步治理文档与 Playwright 可见菜单写批次运行产物
|
6
|
5
|
health-check.yml
|
6298
|
-2
|
58
|
refs/heads/main
|
c1da50f2974fe9552f40dde68ec34df656ddca22
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e5a2f5ba8d6442be07c490ec77c734dbe317bfd5","after":"c1da50f2974fe9552f40dde68ec34df656ddca22","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e5a2f5ba8d6442be07c490ec77c734dbe317bfd5...c1da50f2974fe9552f40dde68ec34df656ddca22","commits":[{"id":"c1da50f2974fe9552f40dde68ec34df656ddca22","message":"feat: 同步治理文档与 Playwright 可见菜单写批次运行产物\n\n- 更新四份核心文档(AGENTS/CLAUDE/GEMINI/README)菜单深交互基线治理经验\n- 补充 module-governance-acceptance-checklist.md 新模板\n- 更新 module-acceptance-card.md 验收卡与 runbook 运行手册\n- 刷新 inventory.controller.ts 出库模块控制器\n- 同步前端 leads/Index.vue 线索列表页\n- 更新可见菜单写批次:ai-acquisition-content / finance / supply-chain /\n growth-sales-stores-service / synergy / system-infra / hr 域新一轮\n probe JSON、failure 截图与 action-coverage-report\n- 新增 sales-leads / outbound / sales / supply 治理复查产物目录\n- 更新 e2e 测试脚本与 CRUD catalog 配置\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c1da50f2974fe9552f40dde68ec34df656ddca22","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T15:28:33+08:00","added":["docs/templates/governance/module-governance-acceptance-checklist.md","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v1/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.html","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.png","e2e/output/playwright/outbound-governance-recheck-v1/probes/-outbound-1773728392272.json","e2e/output/playwright/outbound-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v2/probes/-outbound-1773729291584.json","e2e/output/playwright/outbound-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/sales-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/sales-governance-recheck-v2/failure-1.html","e2e/output/playwright/sales-governance-recheck-v2/failure-1.png","e2e/output/playwright/sales-governance-recheck-v2/failure-2.html","e2e/output/playwright/sales-governance-recheck-v2/failure-2.png","e2e/output/playwright/sales-governance-recheck-v2/probes/-leads-1773730807935.json","e2e/output/playwright/sales-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/sales-leads-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/sales-leads-governance-recheck-v4/probes/-leads-1773728044474.json","e2e/output/playwright/sales-leads-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v5/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-bom-1773730659592.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-issues-1773730663321.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-orders-1773730661365.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-receipts-1773730665247.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assets-1773730671300.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-devices-1773730673579.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-outbound-1773730655235.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-product-categories-1773730669828.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-products-1773730667766.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-serial-numbers-1773730656634.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-suppliers-1773730630707.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-supply-chain-1773730628780.json","e2e/output/playwright/supply-governance-recheck-v5/visible-menu-snapshot.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.png","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773730293426.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773730346930.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773730265455.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773730339395.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773730342218.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773730348434.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-leads-1773730376023.json","output/playwright/full-menu-write-batches/finance/action-coverage-report.md","output/playwright/full-menu-write-batches/finance/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/finance/failure-3.html","output/playwright/full-menu-write-batches/finance/failure-3.png","output/playwright/full-menu-write-batches/finance/failure-4.html","output/playwright/full-menu-write-batches/finance/failure-4.png","output/playwright/full-menu-write-batches/finance/failure-5.html","output/playwright/full-menu-write-batches/finance/failure-5.png","output/playwright/full-menu-write-batches/finance/failure-6.html","output/playwright/full-menu-write-batches/finance/failure-6.png","output/playwright/full-menu-write-batches/finance/failure-7.html","output/playwright/full-menu-write-batches/finance/failure-7.png","output/playwright/full-menu-write-batches/finance/failure-8.html","output/playwright/full-menu-write-batches/finance/failure-8.png","output/playwright/full-menu-write-batches/finance/failure-9.html","output/playwright/full-menu-write-batches/finance/failure-9.png","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773730815434.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773730746198.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773730747838.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-accounts-1773730566774.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-audiences-1773730561615.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-biddings-1773730569333.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-campaigns-1773730556834.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-creatives-1773730559313.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-reports-1773730564152.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaign-library-1773730532757.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaigns-1773730528728.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-activities-1773730587398.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-bots-1773730600826.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-groups-1773730571925.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-members-1773730573486.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-points-1773730577188.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-tasks-1773730579980.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customer-marketing-1773730531325.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-journey-orchestration-1773730578554.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-automation-1773730583244.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-chatbot-1773730574929.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-predictive-analytics-1773730586008.json","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773731255349.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773731072621.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773731076369.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773731074407.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773731078283.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assets-1773731084301.json","output/playwright/full-menu-write-batches/supply-chain/probes/-devices-1773731086563.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773731068258.json","output/playwright/full-menu-write-batches/supply-chain/probes/-product-categories-1773731082834.json","output/playwright/full-menu-write-batches/supply-chain/probes/-products-1773731080800.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773731069659.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773731043692.json","output/playwright/full-menu-write-batches/supply-chain/probes/-supply-chain-1773731041756.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773731295866.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773731281925.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773731268383.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773731266376.json"],"removed":["e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773632942127.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773632995925.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773632916088.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773632988219.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773632991102.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773632997429.json","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773633734328.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773633664730.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773633666424.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.png","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773634383805.json","output/playwright/full-menu-write-batches/supply-chain/failure-1.html","output/playwright/full-menu-write-batches/supply-chain/failure-1.png","output/playwright/full-menu-write-batches/supply-chain/failure-2.html","output/playwright/full-menu-write-batches/supply-chain/failure-2.png","output/playwright/full-menu-write-batches/supply-chain/failure-3.html","output/playwright/full-menu-write-batches/supply-chain/failure-3.png","output/playwright/full-menu-write-batches/supply-chain/failure-4.html","output/playwright/full-menu-write-batches/supply-chain/failure-4.png","output/playwright/full-menu-write-batches/supply-chain/failure-5.html","output/playwright/full-menu-write-batches/supply-chain/failure-5.png","output/playwright/full-menu-write-batches/supply-chain/failure-6.html","output/playwright/full-menu-write-batches/supply-chain/failure-6.png","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773633901574.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773633905434.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773633903472.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773633907354.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773633897130.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773633898566.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773633882907.json","output/playwright/full-menu-write-batches/synergy/action-coverage-report.json","output/playwright/full-menu-write-batches/synergy/probes/-departments-1773633979244.json","output/playwright/full-menu-write-batches/synergy/probes/-knowledge-1773633919146.json","output/playwright/full-menu-write-batches/synergy/probes/-stage-knowledge-1773633921148.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773634434163.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773634420132.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773634396344.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773634394393.json"],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/inventory/inventory.controller.ts","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/templates/governance/module-acceptance-card.md","e2e/playwright-report/index.html","e2e/scripts/run-visible-write-batches.mjs","e2e/tests/crud/01-visible-menu-write-runner.spec.ts","e2e/tests/crud/module-catalog.overrides.ts","e2e/tests/crud/types.ts","e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/views/leads/Index.vue","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.json","output/playwright/full-menu-write-batches/batch-summary.json","output/playwright/full-menu-write-batches/batch-summary.md","output/playwright/full-menu-write-batches/finance/action-coverage-report.json","output/playwright/full-menu-write-batches/finance/failure-1.html","output/playwright/full-menu-write-batches/finance/failure-1.png","output/playwright/full-menu-write-batches/finance/failure-2.html","output/playwright/full-menu-write-batches/finance/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.md","output/playwright/full-menu-write-batches/supply-chain/blocked-unmapped-pages.json"]},{"id":"9d26d79a0e913f59f095f5770c349ada3eb290e6","message":"Sync governance docs with repo triage guidance\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9d26d79a0e913f59f095f5770c349ada3eb290e6","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:59:58+08:00","added":[],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","docs/contract-governance-3.0.md","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/reports/governance-experience-2026-03-07.md"]},{"id":"90763866bd7d7302b2fd963c80971c0c980e2a40","message":"Add visible menu snapshot for sales leads governance recheck\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/90763866bd7d7302b2fd963c80971c0c980e2a40","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:52:59+08:00","added":["e2e/output/playwright/sales-leads-governance-recheck-v2/visible-menu-snapshot.json"],"removed":[],"modified":[]},{"id":"37491f5183c3793b77913e9fa046090fd3e2140e","message":"Fix visible-menu action contracts and refresh Playwright artifacts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/37491f5183c3793b77913e9fa046090fd3e2140e","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:49:50+08:00","added":["e2e/output/playwright/growth-governance-recheck-v6/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v6/failure-1.html","e2e/output/playwright/growth-governance-recheck-v6/failure-1.png","e2e/output/playwright/growth-governance-recheck-v6/failure-2.html","e2e/output/playwright/growth-governance-recheck-v6/failure-2.png","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-accounts-1773724659044.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-audiences-1773724653884.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-biddings-1773724661639.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-campaigns-1773724649143.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-creatives-1773724651605.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-reports-1773724656426.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-campaign-library-1773724625404.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-campaigns-1773724621356.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-activities-1773724679469.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-bots-1773724692868.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-groups-1773724663988.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-members-1773724665547.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-points-1773724669207.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-tasks-1773724672014.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-customer-marketing-1773724623985.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-journey-orchestration-1773724670573.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-marketing-automation-1773724675311.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-marketing-chatbot-1773724666974.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-predictive-analytics-1773724678072.json","e2e/output/playwright/growth-governance-recheck-v6/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v7/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v7/failure-1.html","e2e/output/playwright/growth-governance-recheck-v7/failure-1.png","e2e/output/playwright/growth-governance-recheck-v7/failure-2.html","e2e/output/playwright/growth-governance-recheck-v7/failure-2.png","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-audiences-1773725119348.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-biddings-1773725144948.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-campaigns-1773725114561.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-creatives-1773725117027.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-reports-1773725121927.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-campaign-library-1773725090781.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-campaigns-1773725086648.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-activities-1773725163012.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-bots-1773725176355.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-groups-1773725147556.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-members-1773725149129.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-points-1773725152767.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-tasks-1773725155559.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-customer-marketing-1773725089355.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-journey-orchestration-1773725154125.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-marketing-automation-1773725158850.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-marketing-chatbot-1773725150561.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-predictive-analytics-1773725161612.json","e2e/output/playwright/growth-governance-recheck-v7/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v8/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-accounts-1773725331287.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-audiences-1773725326038.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-biddings-1773725333878.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-campaigns-1773725321263.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-creatives-1773725323743.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-reports-1773725328622.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-campaign-library-1773725297280.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-campaigns-1773725293257.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-activities-1773725352012.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-bots-1773725365518.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-groups-1773725336490.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-members-1773725338048.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-points-1773725341744.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-tasks-1773725344573.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-customer-marketing-1773725295883.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-journey-orchestration-1773725343111.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-marketing-automation-1773725347852.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-marketing-chatbot-1773725339499.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-predictive-analytics-1773725350608.json","e2e/output/playwright/growth-governance-recheck-v8/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v1-page1/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/sales-stores-service-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v3/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v3/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v3/failure-1.html","e2e/output/playwright/supply-governance-recheck-v3/failure-1.png","e2e/output/playwright/supply-governance-recheck-v3/failure-2.html","e2e/output/playwright/supply-governance-recheck-v3/failure-2.png","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-bom-1773724804766.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-issues-1773724808526.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-orders-1773724806554.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-receipts-1773724810440.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assets-1773724816442.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-devices-1773724818721.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-outbound-1773724800429.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-product-categories-1773724814983.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-products-1773724812923.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-serial-numbers-1773724801816.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-suppliers-1773724776440.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-supply-chain-1773724774524.json","e2e/output/playwright/supply-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v4/failure-1.html","e2e/output/playwright/supply-governance-recheck-v4/failure-1.png","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-bom-1773724908303.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-issues-1773724912024.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-orders-1773724910085.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-receipts-1773724913947.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assets-1773724920008.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-devices-1773724922280.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-outbound-1773724903876.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-product-categories-1773724918547.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-products-1773724916486.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-serial-numbers-1773724905275.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-suppliers-1773724890016.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-supply-chain-1773724888101.json","e2e/output/playwright/supply-governance-recheck-v4/visible-menu-snapshot.json","e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md"],"removed":["e2e/playwright-report/data/2bb2f2c3e1d82fa9325fdd6b5f4669df159db17a.md","e2e/playwright-report/data/92afb63601a0131a016d16a554bdb89a648849de.png","e2e/test-results/.last-run.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","e2e/test-results/results.json"],"modified":["backend/src/modules/ad-campaigns/ad-campaigns.service.ts","backend/src/modules/community-groups/community-group.contract.routes.ts","backend/src/shared/process-core/default-workflow-definitions.ts","e2e/playwright-report/index.html","e2e/tests/crud/module-catalog.overrides.ts"]},{"id":"46e5f097ea53c593ee709803d6679b5520a6b271","message":"Fix growth module write contracts and governance probes\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/46e5f097ea53c593ee709803d6679b5520a6b271","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:14:33+08:00","added":[".claude/worktrees/vibrant-mestorf","e2e/output/playwright/growth-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v2/failure-1.html","e2e/output/playwright/growth-governance-recheck-v2/failure-1.png","e2e/output/playwright/growth-governance-recheck-v2/failure-2.html","e2e/output/playwright/growth-governance-recheck-v2/failure-2.png","e2e/output/playwright/growth-governance-recheck-v2/failure-3.html","e2e/output/playwright/growth-governance-recheck-v2/failure-3.png","e2e/output/playwright/growth-governance-recheck-v2/failure-4.html","e2e/output/playwright/growth-governance-recheck-v2/failure-4.png","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-accounts-1773637103428.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-audiences-1773637097919.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-biddings-1773637106233.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-campaigns-1773637092737.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-creatives-1773637095413.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-reports-1773637100574.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-campaign-library-1773637068728.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-campaigns-1773637064334.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-activities-1773637125231.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-bots-1773637138800.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-groups-1773637108862.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-members-1773637110559.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-points-1773637114159.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-tasks-1773637117170.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-customer-marketing-1773637067192.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-journey-orchestration-1773637115613.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-marketing-automation-1773637120849.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-marketing-chatbot-1773637111690.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-predictive-analytics-1773637123749.json","e2e/output/playwright/growth-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v3/failure-1.html","e2e/output/playwright/growth-governance-recheck-v3/failure-1.png","e2e/output/playwright/growth-governance-recheck-v3/failure-2.html","e2e/output/playwright/growth-governance-recheck-v3/failure-2.png","e2e/output/playwright/growth-governance-recheck-v3/failure-3.html","e2e/output/playwright/growth-governance-recheck-v3/failure-3.png","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-accounts-1773637290819.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-audiences-1773637285318.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-biddings-1773637293641.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-campaigns-1773637280219.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-creatives-1773637282870.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-reports-1773637287997.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-campaign-library-1773637256300.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-campaigns-1773637252140.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-activities-1773637312007.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-bots-1773637315094.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-groups-1773637296205.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-members-1773637297858.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-points-1773637301326.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-tasks-1773637304221.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-customer-marketing-1773637254826.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-journey-orchestration-1773637302713.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-marketing-automation-1773637307735.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-marketing-chatbot-1773637298900.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-predictive-analytics-1773637310596.json","e2e/output/playwright/growth-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v4/failure-1.html","e2e/output/playwright/growth-governance-recheck-v4/failure-1.png","e2e/output/playwright/growth-governance-recheck-v4/failure-2.html","e2e/output/playwright/growth-governance-recheck-v4/failure-2.png","e2e/output/playwright/growth-governance-recheck-v4/failure-3.html","e2e/output/playwright/growth-governance-recheck-v4/failure-3.png","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-accounts-1773637580471.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-audiences-1773637574939.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-biddings-1773637583127.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-campaigns-1773637569798.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-creatives-1773637572491.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-reports-1773637577693.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-campaign-library-1773637545837.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-campaigns-1773637541347.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-activities-1773637601885.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-bots-1773637615595.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-groups-1773637585737.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-members-1773637587440.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-points-1773637590954.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-tasks-1773637593940.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-customer-marketing-1773637544263.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-journey-orchestration-1773637592404.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-marketing-automation-1773637597490.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-marketing-chatbot-1773637588564.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-predictive-analytics-1773637600359.json","e2e/output/playwright/growth-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v5/failure-1.html","e2e/output/playwright/growth-governance-recheck-v5/failure-1.png","e2e/output/playwright/growth-governance-recheck-v5/failure-2.html","e2e/output/playwright/growth-governance-recheck-v5/failure-2.png","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-accounts-1773637856277.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-audiences-1773637850560.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-biddings-1773637859067.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-campaigns-1773637845354.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-creatives-1773637848041.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-reports-1773637853256.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-campaign-library-1773637842008.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-campaigns-1773637837583.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-activities-1773637878336.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-bots-1773637891983.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-groups-1773637861569.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-members-1773637863254.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-points-1773637867326.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-tasks-1773637870372.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-customer-marketing-1773637840454.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-journey-orchestration-1773637868795.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-marketing-automation-1773637874004.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-marketing-chatbot-1773637864856.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-predictive-analytics-1773637876874.json","e2e/output/playwright/growth-governance-recheck-v5/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck/failure-1.html","e2e/output/playwright/growth-governance-recheck/failure-1.png","e2e/output/playwright/growth-governance-recheck/failure-10.html","e2e/output/playwright/growth-governance-recheck/failure-10.png","e2e/output/playwright/growth-governance-recheck/failure-11.html","e2e/output/playwright/growth-governance-recheck/failure-11.png","e2e/output/playwright/growth-governance-recheck/failure-12.html","e2e/output/playwright/growth-governance-recheck/failure-12.png","e2e/output/playwright/growth-governance-recheck/failure-13.html","e2e/output/playwright/growth-governance-recheck/failure-13.png","e2e/output/playwright/growth-governance-recheck/failure-2.html","e2e/output/playwright/growth-governance-recheck/failure-2.png","e2e/output/playwright/growth-governance-recheck/failure-3.html","e2e/output/playwright/growth-governance-recheck/failure-3.png","e2e/output/playwright/growth-governance-recheck/failure-4.html","e2e/output/playwright/growth-governance-recheck/failure-4.png","e2e/output/playwright/growth-governance-recheck/failure-5.html","e2e/output/playwright/growth-governance-recheck/failure-5.png","e2e/output/playwright/growth-governance-recheck/failure-6.html","e2e/output/playwright/growth-governance-recheck/failure-6.png","e2e/output/playwright/growth-governance-recheck/failure-7.html","e2e/output/playwright/growth-governance-recheck/failure-7.png","e2e/output/playwright/growth-governance-recheck/failure-8.html","e2e/output/playwright/growth-governance-recheck/failure-8.png","e2e/output/playwright/growth-governance-recheck/failure-9.html","e2e/output/playwright/growth-governance-recheck/failure-9.png","e2e/output/playwright/growth-governance-recheck/probes/-ad-accounts-1773636279090.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-audiences-1773636274572.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-biddings-1773636281658.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-campaigns-1773636269396.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-creatives-1773636272040.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-reports-1773636276435.json","e2e/output/playwright/growth-governance-recheck/probes/-campaign-library-1773636266028.json","e2e/output/playwright/growth-governance-recheck/probes/-campaigns-1773636262465.json","e2e/output/playwright/growth-governance-recheck/probes/-community-activities-1773636296839.json","e2e/output/playwright/growth-governance-recheck/probes/-community-bots-1773636309301.json","e2e/output/playwright/growth-governance-recheck/probes/-community-groups-1773636282678.json","e2e/output/playwright/growth-governance-recheck/probes/-community-members-1773636283728.json","e2e/output/playwright/growth-governance-recheck/probes/-community-points-1773636287173.json","e2e/output/playwright/growth-governance-recheck/probes/-community-tasks-1773636289789.json","e2e/output/playwright/growth-governance-recheck/probes/-customer-marketing-1773636264449.json","e2e/output/playwright/growth-governance-recheck/probes/-journey-orchestration-1773636288630.json","e2e/output/playwright/growth-governance-recheck/probes/-marketing-automation-1773636292934.json","e2e/output/playwright/growth-governance-recheck/probes/-marketing-chatbot-1773636284766.json","e2e/output/playwright/growth-governance-recheck/probes/-predictive-analytics-1773636295835.json","e2e/output/playwright/growth-governance-recheck/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v2/failure-1.html","e2e/output/playwright/supply-governance-recheck-v2/failure-1.png","e2e/output/playwright/supply-governance-recheck-v2/failure-2.html","e2e/output/playwright/supply-governance-recheck-v2/failure-2.png","e2e/output/playwright/supply-governance-recheck-v2/failure-3.html","e2e/output/playwright/supply-governance-recheck-v2/failure-3.png","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-bom-1773638085569.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-issues-1773638089294.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-orders-1773638087361.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-receipts-1773638091237.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assets-1773638096600.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-devices-1773638098927.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-outbound-1773638081116.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-product-categories-1773638095076.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-products-1773638093780.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-serial-numbers-1773638082543.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-suppliers-1773638056945.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-supply-chain-1773638054946.json","e2e/output/playwright/supply-governance-recheck-v2/visible-menu-snapshot.json","e2e/playwright-report/data/2bb2f2c3e1d82fa9325fdd6b5f4669df159db17a.md","e2e/playwright-report/data/92afb63601a0131a016d16a554bdb89a648849de.png","e2e/test-results/.last-run.json","e2e/test-results/results.json"],"removed":[],"modified":["backend/src/modules/ad-accounts/ad-account.controller.ts","backend/src/modules/ad-biddings/ad-bidding.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/shared/utils/biz-code.ts","e2e/playwright-report/index.html","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","e2e/tests/crud/module-catalog.overrides.ts"]}],"total_commits":0,"head_commit":{"id":"c1da50f2974fe9552f40dde68ec34df656ddca22","message":"feat: 同步治理文档与 Playwright 可见菜单写批次运行产物\n\n- 更新四份核心文档(AGENTS/CLAUDE/GEMINI/README)菜单深交互基线治理经验\n- 补充 module-governance-acceptance-checklist.md 新模板\n- 更新 module-acceptance-card.md 验收卡与 runbook 运行手册\n- 刷新 inventory.controller.ts 出库模块控制器\n- 同步前端 leads/Index.vue 线索列表页\n- 更新可见菜单写批次:ai-acquisition-content / finance / supply-chain /\n growth-sales-stores-service / synergy / system-infra / hr 域新一轮\n probe JSON、failure 截图与 action-coverage-report\n- 新增 sales-leads / outbound / sales / supply 治理复查产物目录\n- 更新 e2e 测试脚本与 CRUD catalog 配置\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c1da50f2974fe9552f40dde68ec34df656ddca22","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T15:28:33+08:00","added":["docs/templates/governance/module-governance-acceptance-checklist.md","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v1/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.html","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.png","e2e/output/playwright/outbound-governance-recheck-v1/probes/-outbound-1773728392272.json","e2e/output/playwright/outbound-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v2/probes/-outbound-1773729291584.json","e2e/output/playwright/outbound-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/sales-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/sales-governance-recheck-v2/failure-1.html","e2e/output/playwright/sales-governance-recheck-v2/failure-1.png","e2e/output/playwright/sales-governance-recheck-v2/failure-2.html","e2e/output/playwright/sales-governance-recheck-v2/failure-2.png","e2e/output/playwright/sales-governance-recheck-v2/probes/-leads-1773730807935.json","e2e/output/playwright/sales-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/sales-leads-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/sales-leads-governance-recheck-v4/probes/-leads-1773728044474.json","e2e/output/playwright/sales-leads-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v5/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-bom-1773730659592.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-issues-1773730663321.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-orders-1773730661365.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-receipts-1773730665247.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assets-1773730671300.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-devices-1773730673579.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-outbound-1773730655235.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-product-categories-1773730669828.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-products-1773730667766.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-serial-numbers-1773730656634.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-suppliers-1773730630707.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-supply-chain-1773730628780.json","e2e/output/playwright/supply-governance-recheck-v5/visible-menu-snapshot.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.png","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773730293426.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773730346930.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773730265455.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773730339395.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773730342218.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773730348434.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-leads-1773730376023.json","output/playwright/full-menu-write-batches/finance/action-coverage-report.md","output/playwright/full-menu-write-batches/finance/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/finance/failure-3.html","output/playwright/full-menu-write-batches/finance/failure-3.png","output/playwright/full-menu-write-batches/finance/failure-4.html","output/playwright/full-menu-write-batches/finance/failure-4.png","output/playwright/full-menu-write-batches/finance/failure-5.html","output/playwright/full-menu-write-batches/finance/failure-5.png","output/playwright/full-menu-write-batches/finance/failure-6.html","output/playwright/full-menu-write-batches/finance/failure-6.png","output/playwright/full-menu-write-batches/finance/failure-7.html","output/playwright/full-menu-write-batches/finance/failure-7.png","output/playwright/full-menu-write-batches/finance/failure-8.html","output/playwright/full-menu-write-batches/finance/failure-8.png","output/playwright/full-menu-write-batches/finance/failure-9.html","output/playwright/full-menu-write-batches/finance/failure-9.png","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773730815434.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773730746198.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773730747838.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-accounts-1773730566774.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-audiences-1773730561615.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-biddings-1773730569333.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-campaigns-1773730556834.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-creatives-1773730559313.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-reports-1773730564152.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaign-library-1773730532757.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaigns-1773730528728.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-activities-1773730587398.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-bots-1773730600826.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-groups-1773730571925.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-members-1773730573486.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-points-1773730577188.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-tasks-1773730579980.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customer-marketing-1773730531325.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-journey-orchestration-1773730578554.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-automation-1773730583244.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-chatbot-1773730574929.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-predictive-analytics-1773730586008.json","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773731255349.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773731072621.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773731076369.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773731074407.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773731078283.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assets-1773731084301.json","output/playwright/full-menu-write-batches/supply-chain/probes/-devices-1773731086563.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773731068258.json","output/playwright/full-menu-write-batches/supply-chain/probes/-product-categories-1773731082834.json","output/playwright/full-menu-write-batches/supply-chain/probes/-products-1773731080800.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773731069659.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773731043692.json","output/playwright/full-menu-write-batches/supply-chain/probes/-supply-chain-1773731041756.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773731295866.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773731281925.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773731268383.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773731266376.json"],"removed":["e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773632942127.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773632995925.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773632916088.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773632988219.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773632991102.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773632997429.json","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773633734328.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773633664730.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773633666424.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.png","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773634383805.json","output/playwright/full-menu-write-batches/supply-chain/failure-1.html","output/playwright/full-menu-write-batches/supply-chain/failure-1.png","output/playwright/full-menu-write-batches/supply-chain/failure-2.html","output/playwright/full-menu-write-batches/supply-chain/failure-2.png","output/playwright/full-menu-write-batches/supply-chain/failure-3.html","output/playwright/full-menu-write-batches/supply-chain/failure-3.png","output/playwright/full-menu-write-batches/supply-chain/failure-4.html","output/playwright/full-menu-write-batches/supply-chain/failure-4.png","output/playwright/full-menu-write-batches/supply-chain/failure-5.html","output/playwright/full-menu-write-batches/supply-chain/failure-5.png","output/playwright/full-menu-write-batches/supply-chain/failure-6.html","output/playwright/full-menu-write-batches/supply-chain/failure-6.png","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773633901574.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773633905434.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773633903472.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773633907354.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773633897130.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773633898566.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773633882907.json","output/playwright/full-menu-write-batches/synergy/action-coverage-report.json","output/playwright/full-menu-write-batches/synergy/probes/-departments-1773633979244.json","output/playwright/full-menu-write-batches/synergy/probes/-knowledge-1773633919146.json","output/playwright/full-menu-write-batches/synergy/probes/-stage-knowledge-1773633921148.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773634434163.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773634420132.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773634396344.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773634394393.json"],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/inventory/inventory.controller.ts","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/templates/governance/module-acceptance-card.md","e2e/playwright-report/index.html","e2e/scripts/run-visible-write-batches.mjs","e2e/tests/crud/01-visible-menu-write-runner.spec.ts","e2e/tests/crud/module-catalog.overrides.ts","e2e/tests/crud/types.ts","e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/views/leads/Index.vue","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.json","output/playwright/full-menu-write-batches/batch-summary.json","output/playwright/full-menu-write-batches/batch-summary.md","output/playwright/full-menu-write-batches/finance/action-coverage-report.json","output/playwright/full-menu-write-batches/finance/failure-1.html","output/playwright/full-menu-write-batches/finance/failure-1.png","output/playwright/full-menu-write-batches/finance/failure-2.html","output/playwright/full-menu-write-batches/finance/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.md","output/playwright/full-menu-write-batches/supply-chain/blocked-unmapped-pages.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/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":1162552,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-17T15:30:33+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
1
|
3
|
1773734732
|
1773734732
|
0
|
1773734732
|
1773734732
|
NULL
|
|
0
|
Edit
Delete
|
|
6365
|
feat: 同步治理文档与 Playwright 可见菜单写批次运行产物
|
6
|
5
|
health-check.yml
|
6299
|
-2
|
58
|
refs/heads/main
|
c1da50f2974fe9552f40dde68ec34df656ddca22
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e5a2f5ba8d6442be07c490ec77c734dbe317bfd5","after":"c1da50f2974fe9552f40dde68ec34df656ddca22","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e5a2f5ba8d6442be07c490ec77c734dbe317bfd5...c1da50f2974fe9552f40dde68ec34df656ddca22","commits":[{"id":"c1da50f2974fe9552f40dde68ec34df656ddca22","message":"feat: 同步治理文档与 Playwright 可见菜单写批次运行产物\n\n- 更新四份核心文档(AGENTS/CLAUDE/GEMINI/README)菜单深交互基线治理经验\n- 补充 module-governance-acceptance-checklist.md 新模板\n- 更新 module-acceptance-card.md 验收卡与 runbook 运行手册\n- 刷新 inventory.controller.ts 出库模块控制器\n- 同步前端 leads/Index.vue 线索列表页\n- 更新可见菜单写批次:ai-acquisition-content / finance / supply-chain /\n growth-sales-stores-service / synergy / system-infra / hr 域新一轮\n probe JSON、failure 截图与 action-coverage-report\n- 新增 sales-leads / outbound / sales / supply 治理复查产物目录\n- 更新 e2e 测试脚本与 CRUD catalog 配置\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c1da50f2974fe9552f40dde68ec34df656ddca22","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T15:28:33+08:00","added":["docs/templates/governance/module-governance-acceptance-checklist.md","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v1/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.html","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.png","e2e/output/playwright/outbound-governance-recheck-v1/probes/-outbound-1773728392272.json","e2e/output/playwright/outbound-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v2/probes/-outbound-1773729291584.json","e2e/output/playwright/outbound-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/sales-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/sales-governance-recheck-v2/failure-1.html","e2e/output/playwright/sales-governance-recheck-v2/failure-1.png","e2e/output/playwright/sales-governance-recheck-v2/failure-2.html","e2e/output/playwright/sales-governance-recheck-v2/failure-2.png","e2e/output/playwright/sales-governance-recheck-v2/probes/-leads-1773730807935.json","e2e/output/playwright/sales-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/sales-leads-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/sales-leads-governance-recheck-v4/probes/-leads-1773728044474.json","e2e/output/playwright/sales-leads-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v5/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-bom-1773730659592.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-issues-1773730663321.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-orders-1773730661365.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-receipts-1773730665247.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assets-1773730671300.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-devices-1773730673579.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-outbound-1773730655235.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-product-categories-1773730669828.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-products-1773730667766.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-serial-numbers-1773730656634.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-suppliers-1773730630707.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-supply-chain-1773730628780.json","e2e/output/playwright/supply-governance-recheck-v5/visible-menu-snapshot.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.png","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773730293426.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773730346930.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773730265455.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773730339395.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773730342218.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773730348434.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-leads-1773730376023.json","output/playwright/full-menu-write-batches/finance/action-coverage-report.md","output/playwright/full-menu-write-batches/finance/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/finance/failure-3.html","output/playwright/full-menu-write-batches/finance/failure-3.png","output/playwright/full-menu-write-batches/finance/failure-4.html","output/playwright/full-menu-write-batches/finance/failure-4.png","output/playwright/full-menu-write-batches/finance/failure-5.html","output/playwright/full-menu-write-batches/finance/failure-5.png","output/playwright/full-menu-write-batches/finance/failure-6.html","output/playwright/full-menu-write-batches/finance/failure-6.png","output/playwright/full-menu-write-batches/finance/failure-7.html","output/playwright/full-menu-write-batches/finance/failure-7.png","output/playwright/full-menu-write-batches/finance/failure-8.html","output/playwright/full-menu-write-batches/finance/failure-8.png","output/playwright/full-menu-write-batches/finance/failure-9.html","output/playwright/full-menu-write-batches/finance/failure-9.png","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773730815434.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773730746198.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773730747838.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-accounts-1773730566774.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-audiences-1773730561615.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-biddings-1773730569333.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-campaigns-1773730556834.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-creatives-1773730559313.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-reports-1773730564152.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaign-library-1773730532757.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaigns-1773730528728.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-activities-1773730587398.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-bots-1773730600826.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-groups-1773730571925.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-members-1773730573486.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-points-1773730577188.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-tasks-1773730579980.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customer-marketing-1773730531325.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-journey-orchestration-1773730578554.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-automation-1773730583244.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-chatbot-1773730574929.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-predictive-analytics-1773730586008.json","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773731255349.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773731072621.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773731076369.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773731074407.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773731078283.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assets-1773731084301.json","output/playwright/full-menu-write-batches/supply-chain/probes/-devices-1773731086563.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773731068258.json","output/playwright/full-menu-write-batches/supply-chain/probes/-product-categories-1773731082834.json","output/playwright/full-menu-write-batches/supply-chain/probes/-products-1773731080800.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773731069659.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773731043692.json","output/playwright/full-menu-write-batches/supply-chain/probes/-supply-chain-1773731041756.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773731295866.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773731281925.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773731268383.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773731266376.json"],"removed":["e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773632942127.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773632995925.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773632916088.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773632988219.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773632991102.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773632997429.json","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773633734328.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773633664730.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773633666424.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.png","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773634383805.json","output/playwright/full-menu-write-batches/supply-chain/failure-1.html","output/playwright/full-menu-write-batches/supply-chain/failure-1.png","output/playwright/full-menu-write-batches/supply-chain/failure-2.html","output/playwright/full-menu-write-batches/supply-chain/failure-2.png","output/playwright/full-menu-write-batches/supply-chain/failure-3.html","output/playwright/full-menu-write-batches/supply-chain/failure-3.png","output/playwright/full-menu-write-batches/supply-chain/failure-4.html","output/playwright/full-menu-write-batches/supply-chain/failure-4.png","output/playwright/full-menu-write-batches/supply-chain/failure-5.html","output/playwright/full-menu-write-batches/supply-chain/failure-5.png","output/playwright/full-menu-write-batches/supply-chain/failure-6.html","output/playwright/full-menu-write-batches/supply-chain/failure-6.png","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773633901574.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773633905434.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773633903472.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773633907354.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773633897130.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773633898566.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773633882907.json","output/playwright/full-menu-write-batches/synergy/action-coverage-report.json","output/playwright/full-menu-write-batches/synergy/probes/-departments-1773633979244.json","output/playwright/full-menu-write-batches/synergy/probes/-knowledge-1773633919146.json","output/playwright/full-menu-write-batches/synergy/probes/-stage-knowledge-1773633921148.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773634434163.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773634420132.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773634396344.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773634394393.json"],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/inventory/inventory.controller.ts","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/templates/governance/module-acceptance-card.md","e2e/playwright-report/index.html","e2e/scripts/run-visible-write-batches.mjs","e2e/tests/crud/01-visible-menu-write-runner.spec.ts","e2e/tests/crud/module-catalog.overrides.ts","e2e/tests/crud/types.ts","e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/views/leads/Index.vue","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.json","output/playwright/full-menu-write-batches/batch-summary.json","output/playwright/full-menu-write-batches/batch-summary.md","output/playwright/full-menu-write-batches/finance/action-coverage-report.json","output/playwright/full-menu-write-batches/finance/failure-1.html","output/playwright/full-menu-write-batches/finance/failure-1.png","output/playwright/full-menu-write-batches/finance/failure-2.html","output/playwright/full-menu-write-batches/finance/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.md","output/playwright/full-menu-write-batches/supply-chain/blocked-unmapped-pages.json"]},{"id":"9d26d79a0e913f59f095f5770c349ada3eb290e6","message":"Sync governance docs with repo triage guidance\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9d26d79a0e913f59f095f5770c349ada3eb290e6","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:59:58+08:00","added":[],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","docs/contract-governance-3.0.md","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/reports/governance-experience-2026-03-07.md"]},{"id":"90763866bd7d7302b2fd963c80971c0c980e2a40","message":"Add visible menu snapshot for sales leads governance recheck\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/90763866bd7d7302b2fd963c80971c0c980e2a40","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:52:59+08:00","added":["e2e/output/playwright/sales-leads-governance-recheck-v2/visible-menu-snapshot.json"],"removed":[],"modified":[]},{"id":"37491f5183c3793b77913e9fa046090fd3e2140e","message":"Fix visible-menu action contracts and refresh Playwright artifacts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/37491f5183c3793b77913e9fa046090fd3e2140e","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:49:50+08:00","added":["e2e/output/playwright/growth-governance-recheck-v6/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v6/failure-1.html","e2e/output/playwright/growth-governance-recheck-v6/failure-1.png","e2e/output/playwright/growth-governance-recheck-v6/failure-2.html","e2e/output/playwright/growth-governance-recheck-v6/failure-2.png","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-accounts-1773724659044.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-audiences-1773724653884.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-biddings-1773724661639.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-campaigns-1773724649143.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-creatives-1773724651605.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-reports-1773724656426.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-campaign-library-1773724625404.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-campaigns-1773724621356.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-activities-1773724679469.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-bots-1773724692868.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-groups-1773724663988.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-members-1773724665547.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-points-1773724669207.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-tasks-1773724672014.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-customer-marketing-1773724623985.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-journey-orchestration-1773724670573.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-marketing-automation-1773724675311.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-marketing-chatbot-1773724666974.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-predictive-analytics-1773724678072.json","e2e/output/playwright/growth-governance-recheck-v6/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v7/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v7/failure-1.html","e2e/output/playwright/growth-governance-recheck-v7/failure-1.png","e2e/output/playwright/growth-governance-recheck-v7/failure-2.html","e2e/output/playwright/growth-governance-recheck-v7/failure-2.png","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-audiences-1773725119348.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-biddings-1773725144948.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-campaigns-1773725114561.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-creatives-1773725117027.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-reports-1773725121927.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-campaign-library-1773725090781.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-campaigns-1773725086648.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-activities-1773725163012.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-bots-1773725176355.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-groups-1773725147556.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-members-1773725149129.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-points-1773725152767.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-tasks-1773725155559.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-customer-marketing-1773725089355.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-journey-orchestration-1773725154125.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-marketing-automation-1773725158850.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-marketing-chatbot-1773725150561.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-predictive-analytics-1773725161612.json","e2e/output/playwright/growth-governance-recheck-v7/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v8/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-accounts-1773725331287.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-audiences-1773725326038.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-biddings-1773725333878.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-campaigns-1773725321263.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-creatives-1773725323743.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-reports-1773725328622.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-campaign-library-1773725297280.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-campaigns-1773725293257.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-activities-1773725352012.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-bots-1773725365518.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-groups-1773725336490.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-members-1773725338048.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-points-1773725341744.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-tasks-1773725344573.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-customer-marketing-1773725295883.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-journey-orchestration-1773725343111.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-marketing-automation-1773725347852.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-marketing-chatbot-1773725339499.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-predictive-analytics-1773725350608.json","e2e/output/playwright/growth-governance-recheck-v8/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v1-page1/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/sales-stores-service-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v3/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v3/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v3/failure-1.html","e2e/output/playwright/supply-governance-recheck-v3/failure-1.png","e2e/output/playwright/supply-governance-recheck-v3/failure-2.html","e2e/output/playwright/supply-governance-recheck-v3/failure-2.png","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-bom-1773724804766.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-issues-1773724808526.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-orders-1773724806554.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-receipts-1773724810440.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assets-1773724816442.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-devices-1773724818721.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-outbound-1773724800429.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-product-categories-1773724814983.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-products-1773724812923.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-serial-numbers-1773724801816.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-suppliers-1773724776440.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-supply-chain-1773724774524.json","e2e/output/playwright/supply-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v4/failure-1.html","e2e/output/playwright/supply-governance-recheck-v4/failure-1.png","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-bom-1773724908303.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-issues-1773724912024.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-orders-1773724910085.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-receipts-1773724913947.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assets-1773724920008.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-devices-1773724922280.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-outbound-1773724903876.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-product-categories-1773724918547.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-products-1773724916486.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-serial-numbers-1773724905275.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-suppliers-1773724890016.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-supply-chain-1773724888101.json","e2e/output/playwright/supply-governance-recheck-v4/visible-menu-snapshot.json","e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md"],"removed":["e2e/playwright-report/data/2bb2f2c3e1d82fa9325fdd6b5f4669df159db17a.md","e2e/playwright-report/data/92afb63601a0131a016d16a554bdb89a648849de.png","e2e/test-results/.last-run.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","e2e/test-results/results.json"],"modified":["backend/src/modules/ad-campaigns/ad-campaigns.service.ts","backend/src/modules/community-groups/community-group.contract.routes.ts","backend/src/shared/process-core/default-workflow-definitions.ts","e2e/playwright-report/index.html","e2e/tests/crud/module-catalog.overrides.ts"]},{"id":"46e5f097ea53c593ee709803d6679b5520a6b271","message":"Fix growth module write contracts and governance probes\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/46e5f097ea53c593ee709803d6679b5520a6b271","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:14:33+08:00","added":[".claude/worktrees/vibrant-mestorf","e2e/output/playwright/growth-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v2/failure-1.html","e2e/output/playwright/growth-governance-recheck-v2/failure-1.png","e2e/output/playwright/growth-governance-recheck-v2/failure-2.html","e2e/output/playwright/growth-governance-recheck-v2/failure-2.png","e2e/output/playwright/growth-governance-recheck-v2/failure-3.html","e2e/output/playwright/growth-governance-recheck-v2/failure-3.png","e2e/output/playwright/growth-governance-recheck-v2/failure-4.html","e2e/output/playwright/growth-governance-recheck-v2/failure-4.png","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-accounts-1773637103428.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-audiences-1773637097919.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-biddings-1773637106233.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-campaigns-1773637092737.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-creatives-1773637095413.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-reports-1773637100574.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-campaign-library-1773637068728.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-campaigns-1773637064334.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-activities-1773637125231.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-bots-1773637138800.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-groups-1773637108862.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-members-1773637110559.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-points-1773637114159.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-tasks-1773637117170.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-customer-marketing-1773637067192.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-journey-orchestration-1773637115613.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-marketing-automation-1773637120849.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-marketing-chatbot-1773637111690.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-predictive-analytics-1773637123749.json","e2e/output/playwright/growth-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v3/failure-1.html","e2e/output/playwright/growth-governance-recheck-v3/failure-1.png","e2e/output/playwright/growth-governance-recheck-v3/failure-2.html","e2e/output/playwright/growth-governance-recheck-v3/failure-2.png","e2e/output/playwright/growth-governance-recheck-v3/failure-3.html","e2e/output/playwright/growth-governance-recheck-v3/failure-3.png","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-accounts-1773637290819.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-audiences-1773637285318.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-biddings-1773637293641.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-campaigns-1773637280219.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-creatives-1773637282870.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-reports-1773637287997.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-campaign-library-1773637256300.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-campaigns-1773637252140.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-activities-1773637312007.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-bots-1773637315094.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-groups-1773637296205.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-members-1773637297858.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-points-1773637301326.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-tasks-1773637304221.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-customer-marketing-1773637254826.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-journey-orchestration-1773637302713.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-marketing-automation-1773637307735.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-marketing-chatbot-1773637298900.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-predictive-analytics-1773637310596.json","e2e/output/playwright/growth-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v4/failure-1.html","e2e/output/playwright/growth-governance-recheck-v4/failure-1.png","e2e/output/playwright/growth-governance-recheck-v4/failure-2.html","e2e/output/playwright/growth-governance-recheck-v4/failure-2.png","e2e/output/playwright/growth-governance-recheck-v4/failure-3.html","e2e/output/playwright/growth-governance-recheck-v4/failure-3.png","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-accounts-1773637580471.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-audiences-1773637574939.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-biddings-1773637583127.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-campaigns-1773637569798.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-creatives-1773637572491.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-reports-1773637577693.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-campaign-library-1773637545837.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-campaigns-1773637541347.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-activities-1773637601885.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-bots-1773637615595.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-groups-1773637585737.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-members-1773637587440.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-points-1773637590954.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-tasks-1773637593940.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-customer-marketing-1773637544263.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-journey-orchestration-1773637592404.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-marketing-automation-1773637597490.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-marketing-chatbot-1773637588564.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-predictive-analytics-1773637600359.json","e2e/output/playwright/growth-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v5/failure-1.html","e2e/output/playwright/growth-governance-recheck-v5/failure-1.png","e2e/output/playwright/growth-governance-recheck-v5/failure-2.html","e2e/output/playwright/growth-governance-recheck-v5/failure-2.png","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-accounts-1773637856277.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-audiences-1773637850560.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-biddings-1773637859067.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-campaigns-1773637845354.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-creatives-1773637848041.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-reports-1773637853256.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-campaign-library-1773637842008.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-campaigns-1773637837583.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-activities-1773637878336.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-bots-1773637891983.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-groups-1773637861569.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-members-1773637863254.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-points-1773637867326.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-tasks-1773637870372.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-customer-marketing-1773637840454.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-journey-orchestration-1773637868795.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-marketing-automation-1773637874004.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-marketing-chatbot-1773637864856.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-predictive-analytics-1773637876874.json","e2e/output/playwright/growth-governance-recheck-v5/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck/failure-1.html","e2e/output/playwright/growth-governance-recheck/failure-1.png","e2e/output/playwright/growth-governance-recheck/failure-10.html","e2e/output/playwright/growth-governance-recheck/failure-10.png","e2e/output/playwright/growth-governance-recheck/failure-11.html","e2e/output/playwright/growth-governance-recheck/failure-11.png","e2e/output/playwright/growth-governance-recheck/failure-12.html","e2e/output/playwright/growth-governance-recheck/failure-12.png","e2e/output/playwright/growth-governance-recheck/failure-13.html","e2e/output/playwright/growth-governance-recheck/failure-13.png","e2e/output/playwright/growth-governance-recheck/failure-2.html","e2e/output/playwright/growth-governance-recheck/failure-2.png","e2e/output/playwright/growth-governance-recheck/failure-3.html","e2e/output/playwright/growth-governance-recheck/failure-3.png","e2e/output/playwright/growth-governance-recheck/failure-4.html","e2e/output/playwright/growth-governance-recheck/failure-4.png","e2e/output/playwright/growth-governance-recheck/failure-5.html","e2e/output/playwright/growth-governance-recheck/failure-5.png","e2e/output/playwright/growth-governance-recheck/failure-6.html","e2e/output/playwright/growth-governance-recheck/failure-6.png","e2e/output/playwright/growth-governance-recheck/failure-7.html","e2e/output/playwright/growth-governance-recheck/failure-7.png","e2e/output/playwright/growth-governance-recheck/failure-8.html","e2e/output/playwright/growth-governance-recheck/failure-8.png","e2e/output/playwright/growth-governance-recheck/failure-9.html","e2e/output/playwright/growth-governance-recheck/failure-9.png","e2e/output/playwright/growth-governance-recheck/probes/-ad-accounts-1773636279090.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-audiences-1773636274572.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-biddings-1773636281658.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-campaigns-1773636269396.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-creatives-1773636272040.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-reports-1773636276435.json","e2e/output/playwright/growth-governance-recheck/probes/-campaign-library-1773636266028.json","e2e/output/playwright/growth-governance-recheck/probes/-campaigns-1773636262465.json","e2e/output/playwright/growth-governance-recheck/probes/-community-activities-1773636296839.json","e2e/output/playwright/growth-governance-recheck/probes/-community-bots-1773636309301.json","e2e/output/playwright/growth-governance-recheck/probes/-community-groups-1773636282678.json","e2e/output/playwright/growth-governance-recheck/probes/-community-members-1773636283728.json","e2e/output/playwright/growth-governance-recheck/probes/-community-points-1773636287173.json","e2e/output/playwright/growth-governance-recheck/probes/-community-tasks-1773636289789.json","e2e/output/playwright/growth-governance-recheck/probes/-customer-marketing-1773636264449.json","e2e/output/playwright/growth-governance-recheck/probes/-journey-orchestration-1773636288630.json","e2e/output/playwright/growth-governance-recheck/probes/-marketing-automation-1773636292934.json","e2e/output/playwright/growth-governance-recheck/probes/-marketing-chatbot-1773636284766.json","e2e/output/playwright/growth-governance-recheck/probes/-predictive-analytics-1773636295835.json","e2e/output/playwright/growth-governance-recheck/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v2/failure-1.html","e2e/output/playwright/supply-governance-recheck-v2/failure-1.png","e2e/output/playwright/supply-governance-recheck-v2/failure-2.html","e2e/output/playwright/supply-governance-recheck-v2/failure-2.png","e2e/output/playwright/supply-governance-recheck-v2/failure-3.html","e2e/output/playwright/supply-governance-recheck-v2/failure-3.png","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-bom-1773638085569.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-issues-1773638089294.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-orders-1773638087361.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-receipts-1773638091237.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assets-1773638096600.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-devices-1773638098927.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-outbound-1773638081116.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-product-categories-1773638095076.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-products-1773638093780.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-serial-numbers-1773638082543.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-suppliers-1773638056945.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-supply-chain-1773638054946.json","e2e/output/playwright/supply-governance-recheck-v2/visible-menu-snapshot.json","e2e/playwright-report/data/2bb2f2c3e1d82fa9325fdd6b5f4669df159db17a.md","e2e/playwright-report/data/92afb63601a0131a016d16a554bdb89a648849de.png","e2e/test-results/.last-run.json","e2e/test-results/results.json"],"removed":[],"modified":["backend/src/modules/ad-accounts/ad-account.controller.ts","backend/src/modules/ad-biddings/ad-bidding.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/shared/utils/biz-code.ts","e2e/playwright-report/index.html","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","e2e/tests/crud/module-catalog.overrides.ts"]}],"total_commits":0,"head_commit":{"id":"c1da50f2974fe9552f40dde68ec34df656ddca22","message":"feat: 同步治理文档与 Playwright 可见菜单写批次运行产物\n\n- 更新四份核心文档(AGENTS/CLAUDE/GEMINI/README)菜单深交互基线治理经验\n- 补充 module-governance-acceptance-checklist.md 新模板\n- 更新 module-acceptance-card.md 验收卡与 runbook 运行手册\n- 刷新 inventory.controller.ts 出库模块控制器\n- 同步前端 leads/Index.vue 线索列表页\n- 更新可见菜单写批次:ai-acquisition-content / finance / supply-chain /\n growth-sales-stores-service / synergy / system-infra / hr 域新一轮\n probe JSON、failure 截图与 action-coverage-report\n- 新增 sales-leads / outbound / sales / supply 治理复查产物目录\n- 更新 e2e 测试脚本与 CRUD catalog 配置\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c1da50f2974fe9552f40dde68ec34df656ddca22","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T15:28:33+08:00","added":["docs/templates/governance/module-governance-acceptance-checklist.md","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v1/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.html","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.png","e2e/output/playwright/outbound-governance-recheck-v1/probes/-outbound-1773728392272.json","e2e/output/playwright/outbound-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v2/probes/-outbound-1773729291584.json","e2e/output/playwright/outbound-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/sales-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/sales-governance-recheck-v2/failure-1.html","e2e/output/playwright/sales-governance-recheck-v2/failure-1.png","e2e/output/playwright/sales-governance-recheck-v2/failure-2.html","e2e/output/playwright/sales-governance-recheck-v2/failure-2.png","e2e/output/playwright/sales-governance-recheck-v2/probes/-leads-1773730807935.json","e2e/output/playwright/sales-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/sales-leads-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/sales-leads-governance-recheck-v4/probes/-leads-1773728044474.json","e2e/output/playwright/sales-leads-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v5/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-bom-1773730659592.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-issues-1773730663321.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-orders-1773730661365.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-receipts-1773730665247.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assets-1773730671300.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-devices-1773730673579.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-outbound-1773730655235.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-product-categories-1773730669828.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-products-1773730667766.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-serial-numbers-1773730656634.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-suppliers-1773730630707.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-supply-chain-1773730628780.json","e2e/output/playwright/supply-governance-recheck-v5/visible-menu-snapshot.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.png","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773730293426.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773730346930.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773730265455.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773730339395.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773730342218.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773730348434.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-leads-1773730376023.json","output/playwright/full-menu-write-batches/finance/action-coverage-report.md","output/playwright/full-menu-write-batches/finance/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/finance/failure-3.html","output/playwright/full-menu-write-batches/finance/failure-3.png","output/playwright/full-menu-write-batches/finance/failure-4.html","output/playwright/full-menu-write-batches/finance/failure-4.png","output/playwright/full-menu-write-batches/finance/failure-5.html","output/playwright/full-menu-write-batches/finance/failure-5.png","output/playwright/full-menu-write-batches/finance/failure-6.html","output/playwright/full-menu-write-batches/finance/failure-6.png","output/playwright/full-menu-write-batches/finance/failure-7.html","output/playwright/full-menu-write-batches/finance/failure-7.png","output/playwright/full-menu-write-batches/finance/failure-8.html","output/playwright/full-menu-write-batches/finance/failure-8.png","output/playwright/full-menu-write-batches/finance/failure-9.html","output/playwright/full-menu-write-batches/finance/failure-9.png","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773730815434.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773730746198.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773730747838.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-accounts-1773730566774.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-audiences-1773730561615.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-biddings-1773730569333.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-campaigns-1773730556834.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-creatives-1773730559313.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-reports-1773730564152.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaign-library-1773730532757.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaigns-1773730528728.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-activities-1773730587398.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-bots-1773730600826.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-groups-1773730571925.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-members-1773730573486.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-points-1773730577188.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-tasks-1773730579980.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customer-marketing-1773730531325.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-journey-orchestration-1773730578554.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-automation-1773730583244.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-chatbot-1773730574929.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-predictive-analytics-1773730586008.json","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773731255349.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773731072621.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773731076369.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773731074407.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773731078283.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assets-1773731084301.json","output/playwright/full-menu-write-batches/supply-chain/probes/-devices-1773731086563.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773731068258.json","output/playwright/full-menu-write-batches/supply-chain/probes/-product-categories-1773731082834.json","output/playwright/full-menu-write-batches/supply-chain/probes/-products-1773731080800.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773731069659.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773731043692.json","output/playwright/full-menu-write-batches/supply-chain/probes/-supply-chain-1773731041756.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773731295866.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773731281925.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773731268383.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773731266376.json"],"removed":["e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773632942127.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773632995925.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773632916088.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773632988219.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773632991102.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773632997429.json","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773633734328.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773633664730.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773633666424.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.png","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773634383805.json","output/playwright/full-menu-write-batches/supply-chain/failure-1.html","output/playwright/full-menu-write-batches/supply-chain/failure-1.png","output/playwright/full-menu-write-batches/supply-chain/failure-2.html","output/playwright/full-menu-write-batches/supply-chain/failure-2.png","output/playwright/full-menu-write-batches/supply-chain/failure-3.html","output/playwright/full-menu-write-batches/supply-chain/failure-3.png","output/playwright/full-menu-write-batches/supply-chain/failure-4.html","output/playwright/full-menu-write-batches/supply-chain/failure-4.png","output/playwright/full-menu-write-batches/supply-chain/failure-5.html","output/playwright/full-menu-write-batches/supply-chain/failure-5.png","output/playwright/full-menu-write-batches/supply-chain/failure-6.html","output/playwright/full-menu-write-batches/supply-chain/failure-6.png","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773633901574.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773633905434.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773633903472.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773633907354.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773633897130.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773633898566.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773633882907.json","output/playwright/full-menu-write-batches/synergy/action-coverage-report.json","output/playwright/full-menu-write-batches/synergy/probes/-departments-1773633979244.json","output/playwright/full-menu-write-batches/synergy/probes/-knowledge-1773633919146.json","output/playwright/full-menu-write-batches/synergy/probes/-stage-knowledge-1773633921148.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773634434163.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773634420132.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773634396344.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773634394393.json"],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/inventory/inventory.controller.ts","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/templates/governance/module-acceptance-card.md","e2e/playwright-report/index.html","e2e/scripts/run-visible-write-batches.mjs","e2e/tests/crud/01-visible-menu-write-runner.spec.ts","e2e/tests/crud/module-catalog.overrides.ts","e2e/tests/crud/types.ts","e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/views/leads/Index.vue","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.json","output/playwright/full-menu-write-batches/batch-summary.json","output/playwright/full-menu-write-batches/batch-summary.md","output/playwright/full-menu-write-batches/finance/action-coverage-report.json","output/playwright/full-menu-write-batches/finance/failure-1.html","output/playwright/full-menu-write-batches/finance/failure-1.png","output/playwright/full-menu-write-batches/finance/failure-2.html","output/playwright/full-menu-write-batches/finance/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.md","output/playwright/full-menu-write-batches/supply-chain/blocked-unmapped-pages.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/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":1162552,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-17T15:30:33+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
1
|
3
|
1773735032
|
1773735032
|
0
|
1773735032
|
1773735032
|
NULL
|
|
0
|
Edit
Delete
|
|
6366
|
feat: 同步治理文档与 Playwright 可见菜单写批次运行产物
|
6
|
5
|
health-check.yml
|
6300
|
-2
|
58
|
refs/heads/main
|
c1da50f2974fe9552f40dde68ec34df656ddca22
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e5a2f5ba8d6442be07c490ec77c734dbe317bfd5","after":"c1da50f2974fe9552f40dde68ec34df656ddca22","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e5a2f5ba8d6442be07c490ec77c734dbe317bfd5...c1da50f2974fe9552f40dde68ec34df656ddca22","commits":[{"id":"c1da50f2974fe9552f40dde68ec34df656ddca22","message":"feat: 同步治理文档与 Playwright 可见菜单写批次运行产物\n\n- 更新四份核心文档(AGENTS/CLAUDE/GEMINI/README)菜单深交互基线治理经验\n- 补充 module-governance-acceptance-checklist.md 新模板\n- 更新 module-acceptance-card.md 验收卡与 runbook 运行手册\n- 刷新 inventory.controller.ts 出库模块控制器\n- 同步前端 leads/Index.vue 线索列表页\n- 更新可见菜单写批次:ai-acquisition-content / finance / supply-chain /\n growth-sales-stores-service / synergy / system-infra / hr 域新一轮\n probe JSON、failure 截图与 action-coverage-report\n- 新增 sales-leads / outbound / sales / supply 治理复查产物目录\n- 更新 e2e 测试脚本与 CRUD catalog 配置\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c1da50f2974fe9552f40dde68ec34df656ddca22","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T15:28:33+08:00","added":["docs/templates/governance/module-governance-acceptance-checklist.md","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v1/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.html","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.png","e2e/output/playwright/outbound-governance-recheck-v1/probes/-outbound-1773728392272.json","e2e/output/playwright/outbound-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v2/probes/-outbound-1773729291584.json","e2e/output/playwright/outbound-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/sales-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/sales-governance-recheck-v2/failure-1.html","e2e/output/playwright/sales-governance-recheck-v2/failure-1.png","e2e/output/playwright/sales-governance-recheck-v2/failure-2.html","e2e/output/playwright/sales-governance-recheck-v2/failure-2.png","e2e/output/playwright/sales-governance-recheck-v2/probes/-leads-1773730807935.json","e2e/output/playwright/sales-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/sales-leads-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/sales-leads-governance-recheck-v4/probes/-leads-1773728044474.json","e2e/output/playwright/sales-leads-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v5/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-bom-1773730659592.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-issues-1773730663321.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-orders-1773730661365.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-receipts-1773730665247.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assets-1773730671300.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-devices-1773730673579.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-outbound-1773730655235.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-product-categories-1773730669828.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-products-1773730667766.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-serial-numbers-1773730656634.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-suppliers-1773730630707.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-supply-chain-1773730628780.json","e2e/output/playwright/supply-governance-recheck-v5/visible-menu-snapshot.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.png","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773730293426.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773730346930.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773730265455.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773730339395.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773730342218.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773730348434.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-leads-1773730376023.json","output/playwright/full-menu-write-batches/finance/action-coverage-report.md","output/playwright/full-menu-write-batches/finance/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/finance/failure-3.html","output/playwright/full-menu-write-batches/finance/failure-3.png","output/playwright/full-menu-write-batches/finance/failure-4.html","output/playwright/full-menu-write-batches/finance/failure-4.png","output/playwright/full-menu-write-batches/finance/failure-5.html","output/playwright/full-menu-write-batches/finance/failure-5.png","output/playwright/full-menu-write-batches/finance/failure-6.html","output/playwright/full-menu-write-batches/finance/failure-6.png","output/playwright/full-menu-write-batches/finance/failure-7.html","output/playwright/full-menu-write-batches/finance/failure-7.png","output/playwright/full-menu-write-batches/finance/failure-8.html","output/playwright/full-menu-write-batches/finance/failure-8.png","output/playwright/full-menu-write-batches/finance/failure-9.html","output/playwright/full-menu-write-batches/finance/failure-9.png","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773730815434.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773730746198.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773730747838.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-accounts-1773730566774.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-audiences-1773730561615.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-biddings-1773730569333.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-campaigns-1773730556834.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-creatives-1773730559313.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-reports-1773730564152.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaign-library-1773730532757.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaigns-1773730528728.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-activities-1773730587398.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-bots-1773730600826.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-groups-1773730571925.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-members-1773730573486.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-points-1773730577188.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-tasks-1773730579980.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customer-marketing-1773730531325.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-journey-orchestration-1773730578554.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-automation-1773730583244.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-chatbot-1773730574929.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-predictive-analytics-1773730586008.json","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773731255349.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773731072621.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773731076369.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773731074407.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773731078283.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assets-1773731084301.json","output/playwright/full-menu-write-batches/supply-chain/probes/-devices-1773731086563.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773731068258.json","output/playwright/full-menu-write-batches/supply-chain/probes/-product-categories-1773731082834.json","output/playwright/full-menu-write-batches/supply-chain/probes/-products-1773731080800.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773731069659.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773731043692.json","output/playwright/full-menu-write-batches/supply-chain/probes/-supply-chain-1773731041756.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773731295866.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773731281925.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773731268383.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773731266376.json"],"removed":["e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773632942127.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773632995925.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773632916088.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773632988219.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773632991102.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773632997429.json","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773633734328.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773633664730.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773633666424.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.png","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773634383805.json","output/playwright/full-menu-write-batches/supply-chain/failure-1.html","output/playwright/full-menu-write-batches/supply-chain/failure-1.png","output/playwright/full-menu-write-batches/supply-chain/failure-2.html","output/playwright/full-menu-write-batches/supply-chain/failure-2.png","output/playwright/full-menu-write-batches/supply-chain/failure-3.html","output/playwright/full-menu-write-batches/supply-chain/failure-3.png","output/playwright/full-menu-write-batches/supply-chain/failure-4.html","output/playwright/full-menu-write-batches/supply-chain/failure-4.png","output/playwright/full-menu-write-batches/supply-chain/failure-5.html","output/playwright/full-menu-write-batches/supply-chain/failure-5.png","output/playwright/full-menu-write-batches/supply-chain/failure-6.html","output/playwright/full-menu-write-batches/supply-chain/failure-6.png","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773633901574.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773633905434.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773633903472.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773633907354.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773633897130.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773633898566.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773633882907.json","output/playwright/full-menu-write-batches/synergy/action-coverage-report.json","output/playwright/full-menu-write-batches/synergy/probes/-departments-1773633979244.json","output/playwright/full-menu-write-batches/synergy/probes/-knowledge-1773633919146.json","output/playwright/full-menu-write-batches/synergy/probes/-stage-knowledge-1773633921148.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773634434163.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773634420132.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773634396344.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773634394393.json"],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/inventory/inventory.controller.ts","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/templates/governance/module-acceptance-card.md","e2e/playwright-report/index.html","e2e/scripts/run-visible-write-batches.mjs","e2e/tests/crud/01-visible-menu-write-runner.spec.ts","e2e/tests/crud/module-catalog.overrides.ts","e2e/tests/crud/types.ts","e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/views/leads/Index.vue","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.json","output/playwright/full-menu-write-batches/batch-summary.json","output/playwright/full-menu-write-batches/batch-summary.md","output/playwright/full-menu-write-batches/finance/action-coverage-report.json","output/playwright/full-menu-write-batches/finance/failure-1.html","output/playwright/full-menu-write-batches/finance/failure-1.png","output/playwright/full-menu-write-batches/finance/failure-2.html","output/playwright/full-menu-write-batches/finance/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.md","output/playwright/full-menu-write-batches/supply-chain/blocked-unmapped-pages.json"]},{"id":"9d26d79a0e913f59f095f5770c349ada3eb290e6","message":"Sync governance docs with repo triage guidance\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9d26d79a0e913f59f095f5770c349ada3eb290e6","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:59:58+08:00","added":[],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","docs/contract-governance-3.0.md","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/reports/governance-experience-2026-03-07.md"]},{"id":"90763866bd7d7302b2fd963c80971c0c980e2a40","message":"Add visible menu snapshot for sales leads governance recheck\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/90763866bd7d7302b2fd963c80971c0c980e2a40","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:52:59+08:00","added":["e2e/output/playwright/sales-leads-governance-recheck-v2/visible-menu-snapshot.json"],"removed":[],"modified":[]},{"id":"37491f5183c3793b77913e9fa046090fd3e2140e","message":"Fix visible-menu action contracts and refresh Playwright artifacts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/37491f5183c3793b77913e9fa046090fd3e2140e","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:49:50+08:00","added":["e2e/output/playwright/growth-governance-recheck-v6/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v6/failure-1.html","e2e/output/playwright/growth-governance-recheck-v6/failure-1.png","e2e/output/playwright/growth-governance-recheck-v6/failure-2.html","e2e/output/playwright/growth-governance-recheck-v6/failure-2.png","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-accounts-1773724659044.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-audiences-1773724653884.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-biddings-1773724661639.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-campaigns-1773724649143.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-creatives-1773724651605.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-reports-1773724656426.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-campaign-library-1773724625404.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-campaigns-1773724621356.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-activities-1773724679469.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-bots-1773724692868.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-groups-1773724663988.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-members-1773724665547.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-points-1773724669207.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-tasks-1773724672014.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-customer-marketing-1773724623985.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-journey-orchestration-1773724670573.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-marketing-automation-1773724675311.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-marketing-chatbot-1773724666974.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-predictive-analytics-1773724678072.json","e2e/output/playwright/growth-governance-recheck-v6/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v7/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v7/failure-1.html","e2e/output/playwright/growth-governance-recheck-v7/failure-1.png","e2e/output/playwright/growth-governance-recheck-v7/failure-2.html","e2e/output/playwright/growth-governance-recheck-v7/failure-2.png","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-audiences-1773725119348.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-biddings-1773725144948.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-campaigns-1773725114561.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-creatives-1773725117027.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-reports-1773725121927.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-campaign-library-1773725090781.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-campaigns-1773725086648.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-activities-1773725163012.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-bots-1773725176355.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-groups-1773725147556.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-members-1773725149129.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-points-1773725152767.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-tasks-1773725155559.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-customer-marketing-1773725089355.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-journey-orchestration-1773725154125.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-marketing-automation-1773725158850.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-marketing-chatbot-1773725150561.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-predictive-analytics-1773725161612.json","e2e/output/playwright/growth-governance-recheck-v7/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v8/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-accounts-1773725331287.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-audiences-1773725326038.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-biddings-1773725333878.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-campaigns-1773725321263.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-creatives-1773725323743.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-reports-1773725328622.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-campaign-library-1773725297280.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-campaigns-1773725293257.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-activities-1773725352012.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-bots-1773725365518.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-groups-1773725336490.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-members-1773725338048.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-points-1773725341744.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-tasks-1773725344573.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-customer-marketing-1773725295883.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-journey-orchestration-1773725343111.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-marketing-automation-1773725347852.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-marketing-chatbot-1773725339499.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-predictive-analytics-1773725350608.json","e2e/output/playwright/growth-governance-recheck-v8/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v1-page1/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/sales-stores-service-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v3/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v3/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v3/failure-1.html","e2e/output/playwright/supply-governance-recheck-v3/failure-1.png","e2e/output/playwright/supply-governance-recheck-v3/failure-2.html","e2e/output/playwright/supply-governance-recheck-v3/failure-2.png","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-bom-1773724804766.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-issues-1773724808526.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-orders-1773724806554.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-receipts-1773724810440.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assets-1773724816442.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-devices-1773724818721.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-outbound-1773724800429.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-product-categories-1773724814983.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-products-1773724812923.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-serial-numbers-1773724801816.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-suppliers-1773724776440.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-supply-chain-1773724774524.json","e2e/output/playwright/supply-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v4/failure-1.html","e2e/output/playwright/supply-governance-recheck-v4/failure-1.png","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-bom-1773724908303.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-issues-1773724912024.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-orders-1773724910085.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-receipts-1773724913947.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assets-1773724920008.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-devices-1773724922280.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-outbound-1773724903876.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-product-categories-1773724918547.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-products-1773724916486.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-serial-numbers-1773724905275.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-suppliers-1773724890016.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-supply-chain-1773724888101.json","e2e/output/playwright/supply-governance-recheck-v4/visible-menu-snapshot.json","e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md"],"removed":["e2e/playwright-report/data/2bb2f2c3e1d82fa9325fdd6b5f4669df159db17a.md","e2e/playwright-report/data/92afb63601a0131a016d16a554bdb89a648849de.png","e2e/test-results/.last-run.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","e2e/test-results/results.json"],"modified":["backend/src/modules/ad-campaigns/ad-campaigns.service.ts","backend/src/modules/community-groups/community-group.contract.routes.ts","backend/src/shared/process-core/default-workflow-definitions.ts","e2e/playwright-report/index.html","e2e/tests/crud/module-catalog.overrides.ts"]},{"id":"46e5f097ea53c593ee709803d6679b5520a6b271","message":"Fix growth module write contracts and governance probes\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/46e5f097ea53c593ee709803d6679b5520a6b271","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:14:33+08:00","added":[".claude/worktrees/vibrant-mestorf","e2e/output/playwright/growth-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v2/failure-1.html","e2e/output/playwright/growth-governance-recheck-v2/failure-1.png","e2e/output/playwright/growth-governance-recheck-v2/failure-2.html","e2e/output/playwright/growth-governance-recheck-v2/failure-2.png","e2e/output/playwright/growth-governance-recheck-v2/failure-3.html","e2e/output/playwright/growth-governance-recheck-v2/failure-3.png","e2e/output/playwright/growth-governance-recheck-v2/failure-4.html","e2e/output/playwright/growth-governance-recheck-v2/failure-4.png","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-accounts-1773637103428.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-audiences-1773637097919.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-biddings-1773637106233.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-campaigns-1773637092737.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-creatives-1773637095413.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-reports-1773637100574.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-campaign-library-1773637068728.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-campaigns-1773637064334.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-activities-1773637125231.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-bots-1773637138800.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-groups-1773637108862.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-members-1773637110559.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-points-1773637114159.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-tasks-1773637117170.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-customer-marketing-1773637067192.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-journey-orchestration-1773637115613.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-marketing-automation-1773637120849.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-marketing-chatbot-1773637111690.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-predictive-analytics-1773637123749.json","e2e/output/playwright/growth-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v3/failure-1.html","e2e/output/playwright/growth-governance-recheck-v3/failure-1.png","e2e/output/playwright/growth-governance-recheck-v3/failure-2.html","e2e/output/playwright/growth-governance-recheck-v3/failure-2.png","e2e/output/playwright/growth-governance-recheck-v3/failure-3.html","e2e/output/playwright/growth-governance-recheck-v3/failure-3.png","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-accounts-1773637290819.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-audiences-1773637285318.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-biddings-1773637293641.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-campaigns-1773637280219.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-creatives-1773637282870.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-reports-1773637287997.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-campaign-library-1773637256300.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-campaigns-1773637252140.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-activities-1773637312007.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-bots-1773637315094.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-groups-1773637296205.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-members-1773637297858.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-points-1773637301326.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-tasks-1773637304221.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-customer-marketing-1773637254826.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-journey-orchestration-1773637302713.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-marketing-automation-1773637307735.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-marketing-chatbot-1773637298900.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-predictive-analytics-1773637310596.json","e2e/output/playwright/growth-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v4/failure-1.html","e2e/output/playwright/growth-governance-recheck-v4/failure-1.png","e2e/output/playwright/growth-governance-recheck-v4/failure-2.html","e2e/output/playwright/growth-governance-recheck-v4/failure-2.png","e2e/output/playwright/growth-governance-recheck-v4/failure-3.html","e2e/output/playwright/growth-governance-recheck-v4/failure-3.png","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-accounts-1773637580471.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-audiences-1773637574939.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-biddings-1773637583127.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-campaigns-1773637569798.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-creatives-1773637572491.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-reports-1773637577693.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-campaign-library-1773637545837.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-campaigns-1773637541347.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-activities-1773637601885.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-bots-1773637615595.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-groups-1773637585737.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-members-1773637587440.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-points-1773637590954.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-tasks-1773637593940.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-customer-marketing-1773637544263.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-journey-orchestration-1773637592404.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-marketing-automation-1773637597490.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-marketing-chatbot-1773637588564.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-predictive-analytics-1773637600359.json","e2e/output/playwright/growth-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v5/failure-1.html","e2e/output/playwright/growth-governance-recheck-v5/failure-1.png","e2e/output/playwright/growth-governance-recheck-v5/failure-2.html","e2e/output/playwright/growth-governance-recheck-v5/failure-2.png","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-accounts-1773637856277.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-audiences-1773637850560.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-biddings-1773637859067.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-campaigns-1773637845354.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-creatives-1773637848041.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-reports-1773637853256.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-campaign-library-1773637842008.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-campaigns-1773637837583.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-activities-1773637878336.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-bots-1773637891983.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-groups-1773637861569.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-members-1773637863254.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-points-1773637867326.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-tasks-1773637870372.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-customer-marketing-1773637840454.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-journey-orchestration-1773637868795.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-marketing-automation-1773637874004.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-marketing-chatbot-1773637864856.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-predictive-analytics-1773637876874.json","e2e/output/playwright/growth-governance-recheck-v5/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck/failure-1.html","e2e/output/playwright/growth-governance-recheck/failure-1.png","e2e/output/playwright/growth-governance-recheck/failure-10.html","e2e/output/playwright/growth-governance-recheck/failure-10.png","e2e/output/playwright/growth-governance-recheck/failure-11.html","e2e/output/playwright/growth-governance-recheck/failure-11.png","e2e/output/playwright/growth-governance-recheck/failure-12.html","e2e/output/playwright/growth-governance-recheck/failure-12.png","e2e/output/playwright/growth-governance-recheck/failure-13.html","e2e/output/playwright/growth-governance-recheck/failure-13.png","e2e/output/playwright/growth-governance-recheck/failure-2.html","e2e/output/playwright/growth-governance-recheck/failure-2.png","e2e/output/playwright/growth-governance-recheck/failure-3.html","e2e/output/playwright/growth-governance-recheck/failure-3.png","e2e/output/playwright/growth-governance-recheck/failure-4.html","e2e/output/playwright/growth-governance-recheck/failure-4.png","e2e/output/playwright/growth-governance-recheck/failure-5.html","e2e/output/playwright/growth-governance-recheck/failure-5.png","e2e/output/playwright/growth-governance-recheck/failure-6.html","e2e/output/playwright/growth-governance-recheck/failure-6.png","e2e/output/playwright/growth-governance-recheck/failure-7.html","e2e/output/playwright/growth-governance-recheck/failure-7.png","e2e/output/playwright/growth-governance-recheck/failure-8.html","e2e/output/playwright/growth-governance-recheck/failure-8.png","e2e/output/playwright/growth-governance-recheck/failure-9.html","e2e/output/playwright/growth-governance-recheck/failure-9.png","e2e/output/playwright/growth-governance-recheck/probes/-ad-accounts-1773636279090.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-audiences-1773636274572.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-biddings-1773636281658.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-campaigns-1773636269396.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-creatives-1773636272040.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-reports-1773636276435.json","e2e/output/playwright/growth-governance-recheck/probes/-campaign-library-1773636266028.json","e2e/output/playwright/growth-governance-recheck/probes/-campaigns-1773636262465.json","e2e/output/playwright/growth-governance-recheck/probes/-community-activities-1773636296839.json","e2e/output/playwright/growth-governance-recheck/probes/-community-bots-1773636309301.json","e2e/output/playwright/growth-governance-recheck/probes/-community-groups-1773636282678.json","e2e/output/playwright/growth-governance-recheck/probes/-community-members-1773636283728.json","e2e/output/playwright/growth-governance-recheck/probes/-community-points-1773636287173.json","e2e/output/playwright/growth-governance-recheck/probes/-community-tasks-1773636289789.json","e2e/output/playwright/growth-governance-recheck/probes/-customer-marketing-1773636264449.json","e2e/output/playwright/growth-governance-recheck/probes/-journey-orchestration-1773636288630.json","e2e/output/playwright/growth-governance-recheck/probes/-marketing-automation-1773636292934.json","e2e/output/playwright/growth-governance-recheck/probes/-marketing-chatbot-1773636284766.json","e2e/output/playwright/growth-governance-recheck/probes/-predictive-analytics-1773636295835.json","e2e/output/playwright/growth-governance-recheck/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v2/failure-1.html","e2e/output/playwright/supply-governance-recheck-v2/failure-1.png","e2e/output/playwright/supply-governance-recheck-v2/failure-2.html","e2e/output/playwright/supply-governance-recheck-v2/failure-2.png","e2e/output/playwright/supply-governance-recheck-v2/failure-3.html","e2e/output/playwright/supply-governance-recheck-v2/failure-3.png","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-bom-1773638085569.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-issues-1773638089294.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-orders-1773638087361.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-receipts-1773638091237.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assets-1773638096600.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-devices-1773638098927.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-outbound-1773638081116.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-product-categories-1773638095076.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-products-1773638093780.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-serial-numbers-1773638082543.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-suppliers-1773638056945.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-supply-chain-1773638054946.json","e2e/output/playwright/supply-governance-recheck-v2/visible-menu-snapshot.json","e2e/playwright-report/data/2bb2f2c3e1d82fa9325fdd6b5f4669df159db17a.md","e2e/playwright-report/data/92afb63601a0131a016d16a554bdb89a648849de.png","e2e/test-results/.last-run.json","e2e/test-results/results.json"],"removed":[],"modified":["backend/src/modules/ad-accounts/ad-account.controller.ts","backend/src/modules/ad-biddings/ad-bidding.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/shared/utils/biz-code.ts","e2e/playwright-report/index.html","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","e2e/tests/crud/module-catalog.overrides.ts"]}],"total_commits":0,"head_commit":{"id":"c1da50f2974fe9552f40dde68ec34df656ddca22","message":"feat: 同步治理文档与 Playwright 可见菜单写批次运行产物\n\n- 更新四份核心文档(AGENTS/CLAUDE/GEMINI/README)菜单深交互基线治理经验\n- 补充 module-governance-acceptance-checklist.md 新模板\n- 更新 module-acceptance-card.md 验收卡与 runbook 运行手册\n- 刷新 inventory.controller.ts 出库模块控制器\n- 同步前端 leads/Index.vue 线索列表页\n- 更新可见菜单写批次:ai-acquisition-content / finance / supply-chain /\n growth-sales-stores-service / synergy / system-infra / hr 域新一轮\n probe JSON、failure 截图与 action-coverage-report\n- 新增 sales-leads / outbound / sales / supply 治理复查产物目录\n- 更新 e2e 测试脚本与 CRUD catalog 配置\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c1da50f2974fe9552f40dde68ec34df656ddca22","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T15:28:33+08:00","added":["docs/templates/governance/module-governance-acceptance-checklist.md","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v1/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.html","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.png","e2e/output/playwright/outbound-governance-recheck-v1/probes/-outbound-1773728392272.json","e2e/output/playwright/outbound-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v2/probes/-outbound-1773729291584.json","e2e/output/playwright/outbound-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/sales-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/sales-governance-recheck-v2/failure-1.html","e2e/output/playwright/sales-governance-recheck-v2/failure-1.png","e2e/output/playwright/sales-governance-recheck-v2/failure-2.html","e2e/output/playwright/sales-governance-recheck-v2/failure-2.png","e2e/output/playwright/sales-governance-recheck-v2/probes/-leads-1773730807935.json","e2e/output/playwright/sales-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/sales-leads-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/sales-leads-governance-recheck-v4/probes/-leads-1773728044474.json","e2e/output/playwright/sales-leads-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v5/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-bom-1773730659592.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-issues-1773730663321.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-orders-1773730661365.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-receipts-1773730665247.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assets-1773730671300.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-devices-1773730673579.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-outbound-1773730655235.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-product-categories-1773730669828.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-products-1773730667766.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-serial-numbers-1773730656634.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-suppliers-1773730630707.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-supply-chain-1773730628780.json","e2e/output/playwright/supply-governance-recheck-v5/visible-menu-snapshot.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.png","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773730293426.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773730346930.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773730265455.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773730339395.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773730342218.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773730348434.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-leads-1773730376023.json","output/playwright/full-menu-write-batches/finance/action-coverage-report.md","output/playwright/full-menu-write-batches/finance/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/finance/failure-3.html","output/playwright/full-menu-write-batches/finance/failure-3.png","output/playwright/full-menu-write-batches/finance/failure-4.html","output/playwright/full-menu-write-batches/finance/failure-4.png","output/playwright/full-menu-write-batches/finance/failure-5.html","output/playwright/full-menu-write-batches/finance/failure-5.png","output/playwright/full-menu-write-batches/finance/failure-6.html","output/playwright/full-menu-write-batches/finance/failure-6.png","output/playwright/full-menu-write-batches/finance/failure-7.html","output/playwright/full-menu-write-batches/finance/failure-7.png","output/playwright/full-menu-write-batches/finance/failure-8.html","output/playwright/full-menu-write-batches/finance/failure-8.png","output/playwright/full-menu-write-batches/finance/failure-9.html","output/playwright/full-menu-write-batches/finance/failure-9.png","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773730815434.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773730746198.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773730747838.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-accounts-1773730566774.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-audiences-1773730561615.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-biddings-1773730569333.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-campaigns-1773730556834.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-creatives-1773730559313.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-reports-1773730564152.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaign-library-1773730532757.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaigns-1773730528728.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-activities-1773730587398.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-bots-1773730600826.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-groups-1773730571925.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-members-1773730573486.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-points-1773730577188.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-tasks-1773730579980.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customer-marketing-1773730531325.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-journey-orchestration-1773730578554.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-automation-1773730583244.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-chatbot-1773730574929.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-predictive-analytics-1773730586008.json","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773731255349.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773731072621.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773731076369.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773731074407.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773731078283.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assets-1773731084301.json","output/playwright/full-menu-write-batches/supply-chain/probes/-devices-1773731086563.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773731068258.json","output/playwright/full-menu-write-batches/supply-chain/probes/-product-categories-1773731082834.json","output/playwright/full-menu-write-batches/supply-chain/probes/-products-1773731080800.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773731069659.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773731043692.json","output/playwright/full-menu-write-batches/supply-chain/probes/-supply-chain-1773731041756.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773731295866.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773731281925.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773731268383.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773731266376.json"],"removed":["e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773632942127.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773632995925.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773632916088.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773632988219.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773632991102.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773632997429.json","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773633734328.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773633664730.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773633666424.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.png","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773634383805.json","output/playwright/full-menu-write-batches/supply-chain/failure-1.html","output/playwright/full-menu-write-batches/supply-chain/failure-1.png","output/playwright/full-menu-write-batches/supply-chain/failure-2.html","output/playwright/full-menu-write-batches/supply-chain/failure-2.png","output/playwright/full-menu-write-batches/supply-chain/failure-3.html","output/playwright/full-menu-write-batches/supply-chain/failure-3.png","output/playwright/full-menu-write-batches/supply-chain/failure-4.html","output/playwright/full-menu-write-batches/supply-chain/failure-4.png","output/playwright/full-menu-write-batches/supply-chain/failure-5.html","output/playwright/full-menu-write-batches/supply-chain/failure-5.png","output/playwright/full-menu-write-batches/supply-chain/failure-6.html","output/playwright/full-menu-write-batches/supply-chain/failure-6.png","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773633901574.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773633905434.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773633903472.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773633907354.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773633897130.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773633898566.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773633882907.json","output/playwright/full-menu-write-batches/synergy/action-coverage-report.json","output/playwright/full-menu-write-batches/synergy/probes/-departments-1773633979244.json","output/playwright/full-menu-write-batches/synergy/probes/-knowledge-1773633919146.json","output/playwright/full-menu-write-batches/synergy/probes/-stage-knowledge-1773633921148.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773634434163.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773634420132.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773634396344.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773634394393.json"],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/inventory/inventory.controller.ts","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/templates/governance/module-acceptance-card.md","e2e/playwright-report/index.html","e2e/scripts/run-visible-write-batches.mjs","e2e/tests/crud/01-visible-menu-write-runner.spec.ts","e2e/tests/crud/module-catalog.overrides.ts","e2e/tests/crud/types.ts","e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/views/leads/Index.vue","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.json","output/playwright/full-menu-write-batches/batch-summary.json","output/playwright/full-menu-write-batches/batch-summary.md","output/playwright/full-menu-write-batches/finance/action-coverage-report.json","output/playwright/full-menu-write-batches/finance/failure-1.html","output/playwright/full-menu-write-batches/finance/failure-1.png","output/playwright/full-menu-write-batches/finance/failure-2.html","output/playwright/full-menu-write-batches/finance/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.md","output/playwright/full-menu-write-batches/supply-chain/blocked-unmapped-pages.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/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":1162552,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-17T15:30:33+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
1
|
3
|
1773735332
|
1773735332
|
0
|
1773735332
|
1773735332
|
NULL
|
|
0
|
Edit
Delete
|
|
6367
|
feat: 同步治理文档与 Playwright 可见菜单写批次运行产物
|
6
|
5
|
health-check.yml
|
6301
|
-2
|
58
|
refs/heads/main
|
c1da50f2974fe9552f40dde68ec34df656ddca22
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e5a2f5ba8d6442be07c490ec77c734dbe317bfd5","after":"c1da50f2974fe9552f40dde68ec34df656ddca22","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e5a2f5ba8d6442be07c490ec77c734dbe317bfd5...c1da50f2974fe9552f40dde68ec34df656ddca22","commits":[{"id":"c1da50f2974fe9552f40dde68ec34df656ddca22","message":"feat: 同步治理文档与 Playwright 可见菜单写批次运行产物\n\n- 更新四份核心文档(AGENTS/CLAUDE/GEMINI/README)菜单深交互基线治理经验\n- 补充 module-governance-acceptance-checklist.md 新模板\n- 更新 module-acceptance-card.md 验收卡与 runbook 运行手册\n- 刷新 inventory.controller.ts 出库模块控制器\n- 同步前端 leads/Index.vue 线索列表页\n- 更新可见菜单写批次:ai-acquisition-content / finance / supply-chain /\n growth-sales-stores-service / synergy / system-infra / hr 域新一轮\n probe JSON、failure 截图与 action-coverage-report\n- 新增 sales-leads / outbound / sales / supply 治理复查产物目录\n- 更新 e2e 测试脚本与 CRUD catalog 配置\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c1da50f2974fe9552f40dde68ec34df656ddca22","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T15:28:33+08:00","added":["docs/templates/governance/module-governance-acceptance-checklist.md","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v1/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.html","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.png","e2e/output/playwright/outbound-governance-recheck-v1/probes/-outbound-1773728392272.json","e2e/output/playwright/outbound-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v2/probes/-outbound-1773729291584.json","e2e/output/playwright/outbound-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/sales-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/sales-governance-recheck-v2/failure-1.html","e2e/output/playwright/sales-governance-recheck-v2/failure-1.png","e2e/output/playwright/sales-governance-recheck-v2/failure-2.html","e2e/output/playwright/sales-governance-recheck-v2/failure-2.png","e2e/output/playwright/sales-governance-recheck-v2/probes/-leads-1773730807935.json","e2e/output/playwright/sales-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/sales-leads-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/sales-leads-governance-recheck-v4/probes/-leads-1773728044474.json","e2e/output/playwright/sales-leads-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v5/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-bom-1773730659592.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-issues-1773730663321.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-orders-1773730661365.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-receipts-1773730665247.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assets-1773730671300.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-devices-1773730673579.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-outbound-1773730655235.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-product-categories-1773730669828.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-products-1773730667766.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-serial-numbers-1773730656634.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-suppliers-1773730630707.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-supply-chain-1773730628780.json","e2e/output/playwright/supply-governance-recheck-v5/visible-menu-snapshot.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.png","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773730293426.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773730346930.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773730265455.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773730339395.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773730342218.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773730348434.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-leads-1773730376023.json","output/playwright/full-menu-write-batches/finance/action-coverage-report.md","output/playwright/full-menu-write-batches/finance/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/finance/failure-3.html","output/playwright/full-menu-write-batches/finance/failure-3.png","output/playwright/full-menu-write-batches/finance/failure-4.html","output/playwright/full-menu-write-batches/finance/failure-4.png","output/playwright/full-menu-write-batches/finance/failure-5.html","output/playwright/full-menu-write-batches/finance/failure-5.png","output/playwright/full-menu-write-batches/finance/failure-6.html","output/playwright/full-menu-write-batches/finance/failure-6.png","output/playwright/full-menu-write-batches/finance/failure-7.html","output/playwright/full-menu-write-batches/finance/failure-7.png","output/playwright/full-menu-write-batches/finance/failure-8.html","output/playwright/full-menu-write-batches/finance/failure-8.png","output/playwright/full-menu-write-batches/finance/failure-9.html","output/playwright/full-menu-write-batches/finance/failure-9.png","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773730815434.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773730746198.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773730747838.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-accounts-1773730566774.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-audiences-1773730561615.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-biddings-1773730569333.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-campaigns-1773730556834.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-creatives-1773730559313.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-reports-1773730564152.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaign-library-1773730532757.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaigns-1773730528728.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-activities-1773730587398.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-bots-1773730600826.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-groups-1773730571925.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-members-1773730573486.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-points-1773730577188.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-tasks-1773730579980.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customer-marketing-1773730531325.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-journey-orchestration-1773730578554.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-automation-1773730583244.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-chatbot-1773730574929.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-predictive-analytics-1773730586008.json","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773731255349.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773731072621.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773731076369.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773731074407.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773731078283.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assets-1773731084301.json","output/playwright/full-menu-write-batches/supply-chain/probes/-devices-1773731086563.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773731068258.json","output/playwright/full-menu-write-batches/supply-chain/probes/-product-categories-1773731082834.json","output/playwright/full-menu-write-batches/supply-chain/probes/-products-1773731080800.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773731069659.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773731043692.json","output/playwright/full-menu-write-batches/supply-chain/probes/-supply-chain-1773731041756.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773731295866.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773731281925.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773731268383.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773731266376.json"],"removed":["e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773632942127.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773632995925.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773632916088.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773632988219.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773632991102.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773632997429.json","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773633734328.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773633664730.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773633666424.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.png","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773634383805.json","output/playwright/full-menu-write-batches/supply-chain/failure-1.html","output/playwright/full-menu-write-batches/supply-chain/failure-1.png","output/playwright/full-menu-write-batches/supply-chain/failure-2.html","output/playwright/full-menu-write-batches/supply-chain/failure-2.png","output/playwright/full-menu-write-batches/supply-chain/failure-3.html","output/playwright/full-menu-write-batches/supply-chain/failure-3.png","output/playwright/full-menu-write-batches/supply-chain/failure-4.html","output/playwright/full-menu-write-batches/supply-chain/failure-4.png","output/playwright/full-menu-write-batches/supply-chain/failure-5.html","output/playwright/full-menu-write-batches/supply-chain/failure-5.png","output/playwright/full-menu-write-batches/supply-chain/failure-6.html","output/playwright/full-menu-write-batches/supply-chain/failure-6.png","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773633901574.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773633905434.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773633903472.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773633907354.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773633897130.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773633898566.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773633882907.json","output/playwright/full-menu-write-batches/synergy/action-coverage-report.json","output/playwright/full-menu-write-batches/synergy/probes/-departments-1773633979244.json","output/playwright/full-menu-write-batches/synergy/probes/-knowledge-1773633919146.json","output/playwright/full-menu-write-batches/synergy/probes/-stage-knowledge-1773633921148.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773634434163.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773634420132.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773634396344.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773634394393.json"],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/inventory/inventory.controller.ts","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/templates/governance/module-acceptance-card.md","e2e/playwright-report/index.html","e2e/scripts/run-visible-write-batches.mjs","e2e/tests/crud/01-visible-menu-write-runner.spec.ts","e2e/tests/crud/module-catalog.overrides.ts","e2e/tests/crud/types.ts","e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/views/leads/Index.vue","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.json","output/playwright/full-menu-write-batches/batch-summary.json","output/playwright/full-menu-write-batches/batch-summary.md","output/playwright/full-menu-write-batches/finance/action-coverage-report.json","output/playwright/full-menu-write-batches/finance/failure-1.html","output/playwright/full-menu-write-batches/finance/failure-1.png","output/playwright/full-menu-write-batches/finance/failure-2.html","output/playwright/full-menu-write-batches/finance/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.md","output/playwright/full-menu-write-batches/supply-chain/blocked-unmapped-pages.json"]},{"id":"9d26d79a0e913f59f095f5770c349ada3eb290e6","message":"Sync governance docs with repo triage guidance\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9d26d79a0e913f59f095f5770c349ada3eb290e6","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:59:58+08:00","added":[],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","docs/contract-governance-3.0.md","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/reports/governance-experience-2026-03-07.md"]},{"id":"90763866bd7d7302b2fd963c80971c0c980e2a40","message":"Add visible menu snapshot for sales leads governance recheck\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/90763866bd7d7302b2fd963c80971c0c980e2a40","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:52:59+08:00","added":["e2e/output/playwright/sales-leads-governance-recheck-v2/visible-menu-snapshot.json"],"removed":[],"modified":[]},{"id":"37491f5183c3793b77913e9fa046090fd3e2140e","message":"Fix visible-menu action contracts and refresh Playwright artifacts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/37491f5183c3793b77913e9fa046090fd3e2140e","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:49:50+08:00","added":["e2e/output/playwright/growth-governance-recheck-v6/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v6/failure-1.html","e2e/output/playwright/growth-governance-recheck-v6/failure-1.png","e2e/output/playwright/growth-governance-recheck-v6/failure-2.html","e2e/output/playwright/growth-governance-recheck-v6/failure-2.png","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-accounts-1773724659044.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-audiences-1773724653884.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-biddings-1773724661639.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-campaigns-1773724649143.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-creatives-1773724651605.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-reports-1773724656426.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-campaign-library-1773724625404.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-campaigns-1773724621356.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-activities-1773724679469.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-bots-1773724692868.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-groups-1773724663988.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-members-1773724665547.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-points-1773724669207.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-tasks-1773724672014.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-customer-marketing-1773724623985.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-journey-orchestration-1773724670573.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-marketing-automation-1773724675311.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-marketing-chatbot-1773724666974.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-predictive-analytics-1773724678072.json","e2e/output/playwright/growth-governance-recheck-v6/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v7/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v7/failure-1.html","e2e/output/playwright/growth-governance-recheck-v7/failure-1.png","e2e/output/playwright/growth-governance-recheck-v7/failure-2.html","e2e/output/playwright/growth-governance-recheck-v7/failure-2.png","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-audiences-1773725119348.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-biddings-1773725144948.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-campaigns-1773725114561.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-creatives-1773725117027.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-reports-1773725121927.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-campaign-library-1773725090781.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-campaigns-1773725086648.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-activities-1773725163012.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-bots-1773725176355.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-groups-1773725147556.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-members-1773725149129.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-points-1773725152767.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-tasks-1773725155559.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-customer-marketing-1773725089355.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-journey-orchestration-1773725154125.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-marketing-automation-1773725158850.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-marketing-chatbot-1773725150561.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-predictive-analytics-1773725161612.json","e2e/output/playwright/growth-governance-recheck-v7/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v8/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-accounts-1773725331287.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-audiences-1773725326038.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-biddings-1773725333878.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-campaigns-1773725321263.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-creatives-1773725323743.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-reports-1773725328622.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-campaign-library-1773725297280.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-campaigns-1773725293257.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-activities-1773725352012.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-bots-1773725365518.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-groups-1773725336490.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-members-1773725338048.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-points-1773725341744.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-tasks-1773725344573.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-customer-marketing-1773725295883.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-journey-orchestration-1773725343111.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-marketing-automation-1773725347852.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-marketing-chatbot-1773725339499.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-predictive-analytics-1773725350608.json","e2e/output/playwright/growth-governance-recheck-v8/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v1-page1/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/sales-stores-service-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v3/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v3/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v3/failure-1.html","e2e/output/playwright/supply-governance-recheck-v3/failure-1.png","e2e/output/playwright/supply-governance-recheck-v3/failure-2.html","e2e/output/playwright/supply-governance-recheck-v3/failure-2.png","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-bom-1773724804766.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-issues-1773724808526.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-orders-1773724806554.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-receipts-1773724810440.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assets-1773724816442.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-devices-1773724818721.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-outbound-1773724800429.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-product-categories-1773724814983.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-products-1773724812923.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-serial-numbers-1773724801816.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-suppliers-1773724776440.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-supply-chain-1773724774524.json","e2e/output/playwright/supply-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v4/failure-1.html","e2e/output/playwright/supply-governance-recheck-v4/failure-1.png","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-bom-1773724908303.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-issues-1773724912024.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-orders-1773724910085.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-receipts-1773724913947.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assets-1773724920008.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-devices-1773724922280.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-outbound-1773724903876.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-product-categories-1773724918547.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-products-1773724916486.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-serial-numbers-1773724905275.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-suppliers-1773724890016.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-supply-chain-1773724888101.json","e2e/output/playwright/supply-governance-recheck-v4/visible-menu-snapshot.json","e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md"],"removed":["e2e/playwright-report/data/2bb2f2c3e1d82fa9325fdd6b5f4669df159db17a.md","e2e/playwright-report/data/92afb63601a0131a016d16a554bdb89a648849de.png","e2e/test-results/.last-run.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","e2e/test-results/results.json"],"modified":["backend/src/modules/ad-campaigns/ad-campaigns.service.ts","backend/src/modules/community-groups/community-group.contract.routes.ts","backend/src/shared/process-core/default-workflow-definitions.ts","e2e/playwright-report/index.html","e2e/tests/crud/module-catalog.overrides.ts"]},{"id":"46e5f097ea53c593ee709803d6679b5520a6b271","message":"Fix growth module write contracts and governance probes\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/46e5f097ea53c593ee709803d6679b5520a6b271","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:14:33+08:00","added":[".claude/worktrees/vibrant-mestorf","e2e/output/playwright/growth-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v2/failure-1.html","e2e/output/playwright/growth-governance-recheck-v2/failure-1.png","e2e/output/playwright/growth-governance-recheck-v2/failure-2.html","e2e/output/playwright/growth-governance-recheck-v2/failure-2.png","e2e/output/playwright/growth-governance-recheck-v2/failure-3.html","e2e/output/playwright/growth-governance-recheck-v2/failure-3.png","e2e/output/playwright/growth-governance-recheck-v2/failure-4.html","e2e/output/playwright/growth-governance-recheck-v2/failure-4.png","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-accounts-1773637103428.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-audiences-1773637097919.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-biddings-1773637106233.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-campaigns-1773637092737.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-creatives-1773637095413.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-reports-1773637100574.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-campaign-library-1773637068728.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-campaigns-1773637064334.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-activities-1773637125231.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-bots-1773637138800.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-groups-1773637108862.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-members-1773637110559.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-points-1773637114159.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-tasks-1773637117170.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-customer-marketing-1773637067192.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-journey-orchestration-1773637115613.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-marketing-automation-1773637120849.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-marketing-chatbot-1773637111690.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-predictive-analytics-1773637123749.json","e2e/output/playwright/growth-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v3/failure-1.html","e2e/output/playwright/growth-governance-recheck-v3/failure-1.png","e2e/output/playwright/growth-governance-recheck-v3/failure-2.html","e2e/output/playwright/growth-governance-recheck-v3/failure-2.png","e2e/output/playwright/growth-governance-recheck-v3/failure-3.html","e2e/output/playwright/growth-governance-recheck-v3/failure-3.png","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-accounts-1773637290819.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-audiences-1773637285318.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-biddings-1773637293641.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-campaigns-1773637280219.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-creatives-1773637282870.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-reports-1773637287997.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-campaign-library-1773637256300.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-campaigns-1773637252140.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-activities-1773637312007.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-bots-1773637315094.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-groups-1773637296205.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-members-1773637297858.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-points-1773637301326.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-tasks-1773637304221.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-customer-marketing-1773637254826.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-journey-orchestration-1773637302713.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-marketing-automation-1773637307735.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-marketing-chatbot-1773637298900.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-predictive-analytics-1773637310596.json","e2e/output/playwright/growth-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v4/failure-1.html","e2e/output/playwright/growth-governance-recheck-v4/failure-1.png","e2e/output/playwright/growth-governance-recheck-v4/failure-2.html","e2e/output/playwright/growth-governance-recheck-v4/failure-2.png","e2e/output/playwright/growth-governance-recheck-v4/failure-3.html","e2e/output/playwright/growth-governance-recheck-v4/failure-3.png","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-accounts-1773637580471.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-audiences-1773637574939.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-biddings-1773637583127.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-campaigns-1773637569798.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-creatives-1773637572491.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-reports-1773637577693.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-campaign-library-1773637545837.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-campaigns-1773637541347.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-activities-1773637601885.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-bots-1773637615595.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-groups-1773637585737.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-members-1773637587440.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-points-1773637590954.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-tasks-1773637593940.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-customer-marketing-1773637544263.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-journey-orchestration-1773637592404.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-marketing-automation-1773637597490.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-marketing-chatbot-1773637588564.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-predictive-analytics-1773637600359.json","e2e/output/playwright/growth-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v5/failure-1.html","e2e/output/playwright/growth-governance-recheck-v5/failure-1.png","e2e/output/playwright/growth-governance-recheck-v5/failure-2.html","e2e/output/playwright/growth-governance-recheck-v5/failure-2.png","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-accounts-1773637856277.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-audiences-1773637850560.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-biddings-1773637859067.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-campaigns-1773637845354.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-creatives-1773637848041.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-reports-1773637853256.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-campaign-library-1773637842008.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-campaigns-1773637837583.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-activities-1773637878336.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-bots-1773637891983.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-groups-1773637861569.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-members-1773637863254.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-points-1773637867326.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-tasks-1773637870372.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-customer-marketing-1773637840454.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-journey-orchestration-1773637868795.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-marketing-automation-1773637874004.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-marketing-chatbot-1773637864856.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-predictive-analytics-1773637876874.json","e2e/output/playwright/growth-governance-recheck-v5/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck/failure-1.html","e2e/output/playwright/growth-governance-recheck/failure-1.png","e2e/output/playwright/growth-governance-recheck/failure-10.html","e2e/output/playwright/growth-governance-recheck/failure-10.png","e2e/output/playwright/growth-governance-recheck/failure-11.html","e2e/output/playwright/growth-governance-recheck/failure-11.png","e2e/output/playwright/growth-governance-recheck/failure-12.html","e2e/output/playwright/growth-governance-recheck/failure-12.png","e2e/output/playwright/growth-governance-recheck/failure-13.html","e2e/output/playwright/growth-governance-recheck/failure-13.png","e2e/output/playwright/growth-governance-recheck/failure-2.html","e2e/output/playwright/growth-governance-recheck/failure-2.png","e2e/output/playwright/growth-governance-recheck/failure-3.html","e2e/output/playwright/growth-governance-recheck/failure-3.png","e2e/output/playwright/growth-governance-recheck/failure-4.html","e2e/output/playwright/growth-governance-recheck/failure-4.png","e2e/output/playwright/growth-governance-recheck/failure-5.html","e2e/output/playwright/growth-governance-recheck/failure-5.png","e2e/output/playwright/growth-governance-recheck/failure-6.html","e2e/output/playwright/growth-governance-recheck/failure-6.png","e2e/output/playwright/growth-governance-recheck/failure-7.html","e2e/output/playwright/growth-governance-recheck/failure-7.png","e2e/output/playwright/growth-governance-recheck/failure-8.html","e2e/output/playwright/growth-governance-recheck/failure-8.png","e2e/output/playwright/growth-governance-recheck/failure-9.html","e2e/output/playwright/growth-governance-recheck/failure-9.png","e2e/output/playwright/growth-governance-recheck/probes/-ad-accounts-1773636279090.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-audiences-1773636274572.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-biddings-1773636281658.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-campaigns-1773636269396.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-creatives-1773636272040.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-reports-1773636276435.json","e2e/output/playwright/growth-governance-recheck/probes/-campaign-library-1773636266028.json","e2e/output/playwright/growth-governance-recheck/probes/-campaigns-1773636262465.json","e2e/output/playwright/growth-governance-recheck/probes/-community-activities-1773636296839.json","e2e/output/playwright/growth-governance-recheck/probes/-community-bots-1773636309301.json","e2e/output/playwright/growth-governance-recheck/probes/-community-groups-1773636282678.json","e2e/output/playwright/growth-governance-recheck/probes/-community-members-1773636283728.json","e2e/output/playwright/growth-governance-recheck/probes/-community-points-1773636287173.json","e2e/output/playwright/growth-governance-recheck/probes/-community-tasks-1773636289789.json","e2e/output/playwright/growth-governance-recheck/probes/-customer-marketing-1773636264449.json","e2e/output/playwright/growth-governance-recheck/probes/-journey-orchestration-1773636288630.json","e2e/output/playwright/growth-governance-recheck/probes/-marketing-automation-1773636292934.json","e2e/output/playwright/growth-governance-recheck/probes/-marketing-chatbot-1773636284766.json","e2e/output/playwright/growth-governance-recheck/probes/-predictive-analytics-1773636295835.json","e2e/output/playwright/growth-governance-recheck/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v2/failure-1.html","e2e/output/playwright/supply-governance-recheck-v2/failure-1.png","e2e/output/playwright/supply-governance-recheck-v2/failure-2.html","e2e/output/playwright/supply-governance-recheck-v2/failure-2.png","e2e/output/playwright/supply-governance-recheck-v2/failure-3.html","e2e/output/playwright/supply-governance-recheck-v2/failure-3.png","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-bom-1773638085569.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-issues-1773638089294.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-orders-1773638087361.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-receipts-1773638091237.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assets-1773638096600.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-devices-1773638098927.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-outbound-1773638081116.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-product-categories-1773638095076.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-products-1773638093780.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-serial-numbers-1773638082543.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-suppliers-1773638056945.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-supply-chain-1773638054946.json","e2e/output/playwright/supply-governance-recheck-v2/visible-menu-snapshot.json","e2e/playwright-report/data/2bb2f2c3e1d82fa9325fdd6b5f4669df159db17a.md","e2e/playwright-report/data/92afb63601a0131a016d16a554bdb89a648849de.png","e2e/test-results/.last-run.json","e2e/test-results/results.json"],"removed":[],"modified":["backend/src/modules/ad-accounts/ad-account.controller.ts","backend/src/modules/ad-biddings/ad-bidding.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/shared/utils/biz-code.ts","e2e/playwright-report/index.html","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","e2e/tests/crud/module-catalog.overrides.ts"]}],"total_commits":0,"head_commit":{"id":"c1da50f2974fe9552f40dde68ec34df656ddca22","message":"feat: 同步治理文档与 Playwright 可见菜单写批次运行产物\n\n- 更新四份核心文档(AGENTS/CLAUDE/GEMINI/README)菜单深交互基线治理经验\n- 补充 module-governance-acceptance-checklist.md 新模板\n- 更新 module-acceptance-card.md 验收卡与 runbook 运行手册\n- 刷新 inventory.controller.ts 出库模块控制器\n- 同步前端 leads/Index.vue 线索列表页\n- 更新可见菜单写批次:ai-acquisition-content / finance / supply-chain /\n growth-sales-stores-service / synergy / system-infra / hr 域新一轮\n probe JSON、failure 截图与 action-coverage-report\n- 新增 sales-leads / outbound / sales / supply 治理复查产物目录\n- 更新 e2e 测试脚本与 CRUD catalog 配置\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c1da50f2974fe9552f40dde68ec34df656ddca22","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T15:28:33+08:00","added":["docs/templates/governance/module-governance-acceptance-checklist.md","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v1/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.html","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.png","e2e/output/playwright/outbound-governance-recheck-v1/probes/-outbound-1773728392272.json","e2e/output/playwright/outbound-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v2/probes/-outbound-1773729291584.json","e2e/output/playwright/outbound-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/sales-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/sales-governance-recheck-v2/failure-1.html","e2e/output/playwright/sales-governance-recheck-v2/failure-1.png","e2e/output/playwright/sales-governance-recheck-v2/failure-2.html","e2e/output/playwright/sales-governance-recheck-v2/failure-2.png","e2e/output/playwright/sales-governance-recheck-v2/probes/-leads-1773730807935.json","e2e/output/playwright/sales-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/sales-leads-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/sales-leads-governance-recheck-v4/probes/-leads-1773728044474.json","e2e/output/playwright/sales-leads-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v5/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-bom-1773730659592.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-issues-1773730663321.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-orders-1773730661365.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-receipts-1773730665247.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assets-1773730671300.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-devices-1773730673579.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-outbound-1773730655235.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-product-categories-1773730669828.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-products-1773730667766.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-serial-numbers-1773730656634.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-suppliers-1773730630707.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-supply-chain-1773730628780.json","e2e/output/playwright/supply-governance-recheck-v5/visible-menu-snapshot.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.png","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773730293426.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773730346930.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773730265455.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773730339395.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773730342218.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773730348434.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-leads-1773730376023.json","output/playwright/full-menu-write-batches/finance/action-coverage-report.md","output/playwright/full-menu-write-batches/finance/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/finance/failure-3.html","output/playwright/full-menu-write-batches/finance/failure-3.png","output/playwright/full-menu-write-batches/finance/failure-4.html","output/playwright/full-menu-write-batches/finance/failure-4.png","output/playwright/full-menu-write-batches/finance/failure-5.html","output/playwright/full-menu-write-batches/finance/failure-5.png","output/playwright/full-menu-write-batches/finance/failure-6.html","output/playwright/full-menu-write-batches/finance/failure-6.png","output/playwright/full-menu-write-batches/finance/failure-7.html","output/playwright/full-menu-write-batches/finance/failure-7.png","output/playwright/full-menu-write-batches/finance/failure-8.html","output/playwright/full-menu-write-batches/finance/failure-8.png","output/playwright/full-menu-write-batches/finance/failure-9.html","output/playwright/full-menu-write-batches/finance/failure-9.png","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773730815434.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773730746198.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773730747838.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-accounts-1773730566774.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-audiences-1773730561615.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-biddings-1773730569333.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-campaigns-1773730556834.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-creatives-1773730559313.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-reports-1773730564152.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaign-library-1773730532757.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaigns-1773730528728.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-activities-1773730587398.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-bots-1773730600826.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-groups-1773730571925.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-members-1773730573486.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-points-1773730577188.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-tasks-1773730579980.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customer-marketing-1773730531325.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-journey-orchestration-1773730578554.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-automation-1773730583244.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-chatbot-1773730574929.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-predictive-analytics-1773730586008.json","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773731255349.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773731072621.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773731076369.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773731074407.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773731078283.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assets-1773731084301.json","output/playwright/full-menu-write-batches/supply-chain/probes/-devices-1773731086563.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773731068258.json","output/playwright/full-menu-write-batches/supply-chain/probes/-product-categories-1773731082834.json","output/playwright/full-menu-write-batches/supply-chain/probes/-products-1773731080800.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773731069659.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773731043692.json","output/playwright/full-menu-write-batches/supply-chain/probes/-supply-chain-1773731041756.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773731295866.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773731281925.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773731268383.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773731266376.json"],"removed":["e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773632942127.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773632995925.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773632916088.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773632988219.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773632991102.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773632997429.json","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773633734328.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773633664730.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773633666424.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.png","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773634383805.json","output/playwright/full-menu-write-batches/supply-chain/failure-1.html","output/playwright/full-menu-write-batches/supply-chain/failure-1.png","output/playwright/full-menu-write-batches/supply-chain/failure-2.html","output/playwright/full-menu-write-batches/supply-chain/failure-2.png","output/playwright/full-menu-write-batches/supply-chain/failure-3.html","output/playwright/full-menu-write-batches/supply-chain/failure-3.png","output/playwright/full-menu-write-batches/supply-chain/failure-4.html","output/playwright/full-menu-write-batches/supply-chain/failure-4.png","output/playwright/full-menu-write-batches/supply-chain/failure-5.html","output/playwright/full-menu-write-batches/supply-chain/failure-5.png","output/playwright/full-menu-write-batches/supply-chain/failure-6.html","output/playwright/full-menu-write-batches/supply-chain/failure-6.png","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773633901574.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773633905434.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773633903472.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773633907354.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773633897130.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773633898566.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773633882907.json","output/playwright/full-menu-write-batches/synergy/action-coverage-report.json","output/playwright/full-menu-write-batches/synergy/probes/-departments-1773633979244.json","output/playwright/full-menu-write-batches/synergy/probes/-knowledge-1773633919146.json","output/playwright/full-menu-write-batches/synergy/probes/-stage-knowledge-1773633921148.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773634434163.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773634420132.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773634396344.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773634394393.json"],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/inventory/inventory.controller.ts","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/templates/governance/module-acceptance-card.md","e2e/playwright-report/index.html","e2e/scripts/run-visible-write-batches.mjs","e2e/tests/crud/01-visible-menu-write-runner.spec.ts","e2e/tests/crud/module-catalog.overrides.ts","e2e/tests/crud/types.ts","e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/views/leads/Index.vue","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.json","output/playwright/full-menu-write-batches/batch-summary.json","output/playwright/full-menu-write-batches/batch-summary.md","output/playwright/full-menu-write-batches/finance/action-coverage-report.json","output/playwright/full-menu-write-batches/finance/failure-1.html","output/playwright/full-menu-write-batches/finance/failure-1.png","output/playwright/full-menu-write-batches/finance/failure-2.html","output/playwright/full-menu-write-batches/finance/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.md","output/playwright/full-menu-write-batches/supply-chain/blocked-unmapped-pages.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/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":1162552,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-17T15:30:33+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
1
|
3
|
1773735632
|
1773735632
|
0
|
1773735632
|
1773735632
|
NULL
|
|
0
|
Edit
Delete
|
|
6368
|
feat: 同步治理文档与 Playwright 可见菜单写批次运行产物
|
6
|
5
|
health-check.yml
|
6302
|
-2
|
58
|
refs/heads/main
|
c1da50f2974fe9552f40dde68ec34df656ddca22
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e5a2f5ba8d6442be07c490ec77c734dbe317bfd5","after":"c1da50f2974fe9552f40dde68ec34df656ddca22","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e5a2f5ba8d6442be07c490ec77c734dbe317bfd5...c1da50f2974fe9552f40dde68ec34df656ddca22","commits":[{"id":"c1da50f2974fe9552f40dde68ec34df656ddca22","message":"feat: 同步治理文档与 Playwright 可见菜单写批次运行产物\n\n- 更新四份核心文档(AGENTS/CLAUDE/GEMINI/README)菜单深交互基线治理经验\n- 补充 module-governance-acceptance-checklist.md 新模板\n- 更新 module-acceptance-card.md 验收卡与 runbook 运行手册\n- 刷新 inventory.controller.ts 出库模块控制器\n- 同步前端 leads/Index.vue 线索列表页\n- 更新可见菜单写批次:ai-acquisition-content / finance / supply-chain /\n growth-sales-stores-service / synergy / system-infra / hr 域新一轮\n probe JSON、failure 截图与 action-coverage-report\n- 新增 sales-leads / outbound / sales / supply 治理复查产物目录\n- 更新 e2e 测试脚本与 CRUD catalog 配置\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c1da50f2974fe9552f40dde68ec34df656ddca22","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T15:28:33+08:00","added":["docs/templates/governance/module-governance-acceptance-checklist.md","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v1/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.html","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.png","e2e/output/playwright/outbound-governance-recheck-v1/probes/-outbound-1773728392272.json","e2e/output/playwright/outbound-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v2/probes/-outbound-1773729291584.json","e2e/output/playwright/outbound-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/sales-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/sales-governance-recheck-v2/failure-1.html","e2e/output/playwright/sales-governance-recheck-v2/failure-1.png","e2e/output/playwright/sales-governance-recheck-v2/failure-2.html","e2e/output/playwright/sales-governance-recheck-v2/failure-2.png","e2e/output/playwright/sales-governance-recheck-v2/probes/-leads-1773730807935.json","e2e/output/playwright/sales-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/sales-leads-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/sales-leads-governance-recheck-v4/probes/-leads-1773728044474.json","e2e/output/playwright/sales-leads-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v5/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-bom-1773730659592.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-issues-1773730663321.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-orders-1773730661365.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-receipts-1773730665247.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assets-1773730671300.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-devices-1773730673579.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-outbound-1773730655235.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-product-categories-1773730669828.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-products-1773730667766.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-serial-numbers-1773730656634.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-suppliers-1773730630707.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-supply-chain-1773730628780.json","e2e/output/playwright/supply-governance-recheck-v5/visible-menu-snapshot.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.png","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773730293426.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773730346930.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773730265455.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773730339395.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773730342218.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773730348434.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-leads-1773730376023.json","output/playwright/full-menu-write-batches/finance/action-coverage-report.md","output/playwright/full-menu-write-batches/finance/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/finance/failure-3.html","output/playwright/full-menu-write-batches/finance/failure-3.png","output/playwright/full-menu-write-batches/finance/failure-4.html","output/playwright/full-menu-write-batches/finance/failure-4.png","output/playwright/full-menu-write-batches/finance/failure-5.html","output/playwright/full-menu-write-batches/finance/failure-5.png","output/playwright/full-menu-write-batches/finance/failure-6.html","output/playwright/full-menu-write-batches/finance/failure-6.png","output/playwright/full-menu-write-batches/finance/failure-7.html","output/playwright/full-menu-write-batches/finance/failure-7.png","output/playwright/full-menu-write-batches/finance/failure-8.html","output/playwright/full-menu-write-batches/finance/failure-8.png","output/playwright/full-menu-write-batches/finance/failure-9.html","output/playwright/full-menu-write-batches/finance/failure-9.png","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773730815434.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773730746198.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773730747838.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-accounts-1773730566774.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-audiences-1773730561615.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-biddings-1773730569333.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-campaigns-1773730556834.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-creatives-1773730559313.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-reports-1773730564152.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaign-library-1773730532757.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaigns-1773730528728.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-activities-1773730587398.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-bots-1773730600826.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-groups-1773730571925.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-members-1773730573486.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-points-1773730577188.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-tasks-1773730579980.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customer-marketing-1773730531325.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-journey-orchestration-1773730578554.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-automation-1773730583244.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-chatbot-1773730574929.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-predictive-analytics-1773730586008.json","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773731255349.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773731072621.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773731076369.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773731074407.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773731078283.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assets-1773731084301.json","output/playwright/full-menu-write-batches/supply-chain/probes/-devices-1773731086563.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773731068258.json","output/playwright/full-menu-write-batches/supply-chain/probes/-product-categories-1773731082834.json","output/playwright/full-menu-write-batches/supply-chain/probes/-products-1773731080800.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773731069659.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773731043692.json","output/playwright/full-menu-write-batches/supply-chain/probes/-supply-chain-1773731041756.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773731295866.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773731281925.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773731268383.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773731266376.json"],"removed":["e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773632942127.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773632995925.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773632916088.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773632988219.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773632991102.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773632997429.json","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773633734328.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773633664730.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773633666424.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.png","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773634383805.json","output/playwright/full-menu-write-batches/supply-chain/failure-1.html","output/playwright/full-menu-write-batches/supply-chain/failure-1.png","output/playwright/full-menu-write-batches/supply-chain/failure-2.html","output/playwright/full-menu-write-batches/supply-chain/failure-2.png","output/playwright/full-menu-write-batches/supply-chain/failure-3.html","output/playwright/full-menu-write-batches/supply-chain/failure-3.png","output/playwright/full-menu-write-batches/supply-chain/failure-4.html","output/playwright/full-menu-write-batches/supply-chain/failure-4.png","output/playwright/full-menu-write-batches/supply-chain/failure-5.html","output/playwright/full-menu-write-batches/supply-chain/failure-5.png","output/playwright/full-menu-write-batches/supply-chain/failure-6.html","output/playwright/full-menu-write-batches/supply-chain/failure-6.png","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773633901574.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773633905434.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773633903472.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773633907354.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773633897130.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773633898566.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773633882907.json","output/playwright/full-menu-write-batches/synergy/action-coverage-report.json","output/playwright/full-menu-write-batches/synergy/probes/-departments-1773633979244.json","output/playwright/full-menu-write-batches/synergy/probes/-knowledge-1773633919146.json","output/playwright/full-menu-write-batches/synergy/probes/-stage-knowledge-1773633921148.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773634434163.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773634420132.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773634396344.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773634394393.json"],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/inventory/inventory.controller.ts","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/templates/governance/module-acceptance-card.md","e2e/playwright-report/index.html","e2e/scripts/run-visible-write-batches.mjs","e2e/tests/crud/01-visible-menu-write-runner.spec.ts","e2e/tests/crud/module-catalog.overrides.ts","e2e/tests/crud/types.ts","e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/views/leads/Index.vue","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.json","output/playwright/full-menu-write-batches/batch-summary.json","output/playwright/full-menu-write-batches/batch-summary.md","output/playwright/full-menu-write-batches/finance/action-coverage-report.json","output/playwright/full-menu-write-batches/finance/failure-1.html","output/playwright/full-menu-write-batches/finance/failure-1.png","output/playwright/full-menu-write-batches/finance/failure-2.html","output/playwright/full-menu-write-batches/finance/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.md","output/playwright/full-menu-write-batches/supply-chain/blocked-unmapped-pages.json"]},{"id":"9d26d79a0e913f59f095f5770c349ada3eb290e6","message":"Sync governance docs with repo triage guidance\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9d26d79a0e913f59f095f5770c349ada3eb290e6","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:59:58+08:00","added":[],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","docs/contract-governance-3.0.md","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/reports/governance-experience-2026-03-07.md"]},{"id":"90763866bd7d7302b2fd963c80971c0c980e2a40","message":"Add visible menu snapshot for sales leads governance recheck\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/90763866bd7d7302b2fd963c80971c0c980e2a40","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:52:59+08:00","added":["e2e/output/playwright/sales-leads-governance-recheck-v2/visible-menu-snapshot.json"],"removed":[],"modified":[]},{"id":"37491f5183c3793b77913e9fa046090fd3e2140e","message":"Fix visible-menu action contracts and refresh Playwright artifacts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/37491f5183c3793b77913e9fa046090fd3e2140e","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:49:50+08:00","added":["e2e/output/playwright/growth-governance-recheck-v6/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v6/failure-1.html","e2e/output/playwright/growth-governance-recheck-v6/failure-1.png","e2e/output/playwright/growth-governance-recheck-v6/failure-2.html","e2e/output/playwright/growth-governance-recheck-v6/failure-2.png","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-accounts-1773724659044.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-audiences-1773724653884.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-biddings-1773724661639.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-campaigns-1773724649143.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-creatives-1773724651605.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-reports-1773724656426.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-campaign-library-1773724625404.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-campaigns-1773724621356.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-activities-1773724679469.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-bots-1773724692868.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-groups-1773724663988.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-members-1773724665547.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-points-1773724669207.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-tasks-1773724672014.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-customer-marketing-1773724623985.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-journey-orchestration-1773724670573.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-marketing-automation-1773724675311.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-marketing-chatbot-1773724666974.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-predictive-analytics-1773724678072.json","e2e/output/playwright/growth-governance-recheck-v6/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v7/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v7/failure-1.html","e2e/output/playwright/growth-governance-recheck-v7/failure-1.png","e2e/output/playwright/growth-governance-recheck-v7/failure-2.html","e2e/output/playwright/growth-governance-recheck-v7/failure-2.png","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-audiences-1773725119348.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-biddings-1773725144948.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-campaigns-1773725114561.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-creatives-1773725117027.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-reports-1773725121927.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-campaign-library-1773725090781.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-campaigns-1773725086648.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-activities-1773725163012.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-bots-1773725176355.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-groups-1773725147556.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-members-1773725149129.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-points-1773725152767.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-tasks-1773725155559.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-customer-marketing-1773725089355.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-journey-orchestration-1773725154125.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-marketing-automation-1773725158850.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-marketing-chatbot-1773725150561.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-predictive-analytics-1773725161612.json","e2e/output/playwright/growth-governance-recheck-v7/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v8/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-accounts-1773725331287.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-audiences-1773725326038.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-biddings-1773725333878.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-campaigns-1773725321263.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-creatives-1773725323743.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-reports-1773725328622.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-campaign-library-1773725297280.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-campaigns-1773725293257.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-activities-1773725352012.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-bots-1773725365518.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-groups-1773725336490.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-members-1773725338048.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-points-1773725341744.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-tasks-1773725344573.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-customer-marketing-1773725295883.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-journey-orchestration-1773725343111.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-marketing-automation-1773725347852.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-marketing-chatbot-1773725339499.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-predictive-analytics-1773725350608.json","e2e/output/playwright/growth-governance-recheck-v8/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v1-page1/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/sales-stores-service-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v3/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v3/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v3/failure-1.html","e2e/output/playwright/supply-governance-recheck-v3/failure-1.png","e2e/output/playwright/supply-governance-recheck-v3/failure-2.html","e2e/output/playwright/supply-governance-recheck-v3/failure-2.png","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-bom-1773724804766.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-issues-1773724808526.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-orders-1773724806554.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-receipts-1773724810440.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assets-1773724816442.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-devices-1773724818721.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-outbound-1773724800429.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-product-categories-1773724814983.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-products-1773724812923.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-serial-numbers-1773724801816.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-suppliers-1773724776440.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-supply-chain-1773724774524.json","e2e/output/playwright/supply-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v4/failure-1.html","e2e/output/playwright/supply-governance-recheck-v4/failure-1.png","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-bom-1773724908303.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-issues-1773724912024.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-orders-1773724910085.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-receipts-1773724913947.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assets-1773724920008.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-devices-1773724922280.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-outbound-1773724903876.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-product-categories-1773724918547.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-products-1773724916486.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-serial-numbers-1773724905275.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-suppliers-1773724890016.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-supply-chain-1773724888101.json","e2e/output/playwright/supply-governance-recheck-v4/visible-menu-snapshot.json","e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md"],"removed":["e2e/playwright-report/data/2bb2f2c3e1d82fa9325fdd6b5f4669df159db17a.md","e2e/playwright-report/data/92afb63601a0131a016d16a554bdb89a648849de.png","e2e/test-results/.last-run.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","e2e/test-results/results.json"],"modified":["backend/src/modules/ad-campaigns/ad-campaigns.service.ts","backend/src/modules/community-groups/community-group.contract.routes.ts","backend/src/shared/process-core/default-workflow-definitions.ts","e2e/playwright-report/index.html","e2e/tests/crud/module-catalog.overrides.ts"]},{"id":"46e5f097ea53c593ee709803d6679b5520a6b271","message":"Fix growth module write contracts and governance probes\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/46e5f097ea53c593ee709803d6679b5520a6b271","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:14:33+08:00","added":[".claude/worktrees/vibrant-mestorf","e2e/output/playwright/growth-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v2/failure-1.html","e2e/output/playwright/growth-governance-recheck-v2/failure-1.png","e2e/output/playwright/growth-governance-recheck-v2/failure-2.html","e2e/output/playwright/growth-governance-recheck-v2/failure-2.png","e2e/output/playwright/growth-governance-recheck-v2/failure-3.html","e2e/output/playwright/growth-governance-recheck-v2/failure-3.png","e2e/output/playwright/growth-governance-recheck-v2/failure-4.html","e2e/output/playwright/growth-governance-recheck-v2/failure-4.png","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-accounts-1773637103428.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-audiences-1773637097919.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-biddings-1773637106233.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-campaigns-1773637092737.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-creatives-1773637095413.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-reports-1773637100574.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-campaign-library-1773637068728.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-campaigns-1773637064334.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-activities-1773637125231.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-bots-1773637138800.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-groups-1773637108862.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-members-1773637110559.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-points-1773637114159.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-tasks-1773637117170.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-customer-marketing-1773637067192.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-journey-orchestration-1773637115613.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-marketing-automation-1773637120849.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-marketing-chatbot-1773637111690.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-predictive-analytics-1773637123749.json","e2e/output/playwright/growth-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v3/failure-1.html","e2e/output/playwright/growth-governance-recheck-v3/failure-1.png","e2e/output/playwright/growth-governance-recheck-v3/failure-2.html","e2e/output/playwright/growth-governance-recheck-v3/failure-2.png","e2e/output/playwright/growth-governance-recheck-v3/failure-3.html","e2e/output/playwright/growth-governance-recheck-v3/failure-3.png","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-accounts-1773637290819.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-audiences-1773637285318.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-biddings-1773637293641.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-campaigns-1773637280219.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-creatives-1773637282870.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-reports-1773637287997.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-campaign-library-1773637256300.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-campaigns-1773637252140.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-activities-1773637312007.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-bots-1773637315094.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-groups-1773637296205.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-members-1773637297858.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-points-1773637301326.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-tasks-1773637304221.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-customer-marketing-1773637254826.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-journey-orchestration-1773637302713.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-marketing-automation-1773637307735.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-marketing-chatbot-1773637298900.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-predictive-analytics-1773637310596.json","e2e/output/playwright/growth-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v4/failure-1.html","e2e/output/playwright/growth-governance-recheck-v4/failure-1.png","e2e/output/playwright/growth-governance-recheck-v4/failure-2.html","e2e/output/playwright/growth-governance-recheck-v4/failure-2.png","e2e/output/playwright/growth-governance-recheck-v4/failure-3.html","e2e/output/playwright/growth-governance-recheck-v4/failure-3.png","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-accounts-1773637580471.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-audiences-1773637574939.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-biddings-1773637583127.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-campaigns-1773637569798.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-creatives-1773637572491.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-reports-1773637577693.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-campaign-library-1773637545837.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-campaigns-1773637541347.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-activities-1773637601885.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-bots-1773637615595.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-groups-1773637585737.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-members-1773637587440.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-points-1773637590954.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-tasks-1773637593940.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-customer-marketing-1773637544263.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-journey-orchestration-1773637592404.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-marketing-automation-1773637597490.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-marketing-chatbot-1773637588564.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-predictive-analytics-1773637600359.json","e2e/output/playwright/growth-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v5/failure-1.html","e2e/output/playwright/growth-governance-recheck-v5/failure-1.png","e2e/output/playwright/growth-governance-recheck-v5/failure-2.html","e2e/output/playwright/growth-governance-recheck-v5/failure-2.png","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-accounts-1773637856277.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-audiences-1773637850560.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-biddings-1773637859067.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-campaigns-1773637845354.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-creatives-1773637848041.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-reports-1773637853256.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-campaign-library-1773637842008.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-campaigns-1773637837583.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-activities-1773637878336.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-bots-1773637891983.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-groups-1773637861569.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-members-1773637863254.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-points-1773637867326.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-tasks-1773637870372.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-customer-marketing-1773637840454.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-journey-orchestration-1773637868795.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-marketing-automation-1773637874004.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-marketing-chatbot-1773637864856.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-predictive-analytics-1773637876874.json","e2e/output/playwright/growth-governance-recheck-v5/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck/failure-1.html","e2e/output/playwright/growth-governance-recheck/failure-1.png","e2e/output/playwright/growth-governance-recheck/failure-10.html","e2e/output/playwright/growth-governance-recheck/failure-10.png","e2e/output/playwright/growth-governance-recheck/failure-11.html","e2e/output/playwright/growth-governance-recheck/failure-11.png","e2e/output/playwright/growth-governance-recheck/failure-12.html","e2e/output/playwright/growth-governance-recheck/failure-12.png","e2e/output/playwright/growth-governance-recheck/failure-13.html","e2e/output/playwright/growth-governance-recheck/failure-13.png","e2e/output/playwright/growth-governance-recheck/failure-2.html","e2e/output/playwright/growth-governance-recheck/failure-2.png","e2e/output/playwright/growth-governance-recheck/failure-3.html","e2e/output/playwright/growth-governance-recheck/failure-3.png","e2e/output/playwright/growth-governance-recheck/failure-4.html","e2e/output/playwright/growth-governance-recheck/failure-4.png","e2e/output/playwright/growth-governance-recheck/failure-5.html","e2e/output/playwright/growth-governance-recheck/failure-5.png","e2e/output/playwright/growth-governance-recheck/failure-6.html","e2e/output/playwright/growth-governance-recheck/failure-6.png","e2e/output/playwright/growth-governance-recheck/failure-7.html","e2e/output/playwright/growth-governance-recheck/failure-7.png","e2e/output/playwright/growth-governance-recheck/failure-8.html","e2e/output/playwright/growth-governance-recheck/failure-8.png","e2e/output/playwright/growth-governance-recheck/failure-9.html","e2e/output/playwright/growth-governance-recheck/failure-9.png","e2e/output/playwright/growth-governance-recheck/probes/-ad-accounts-1773636279090.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-audiences-1773636274572.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-biddings-1773636281658.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-campaigns-1773636269396.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-creatives-1773636272040.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-reports-1773636276435.json","e2e/output/playwright/growth-governance-recheck/probes/-campaign-library-1773636266028.json","e2e/output/playwright/growth-governance-recheck/probes/-campaigns-1773636262465.json","e2e/output/playwright/growth-governance-recheck/probes/-community-activities-1773636296839.json","e2e/output/playwright/growth-governance-recheck/probes/-community-bots-1773636309301.json","e2e/output/playwright/growth-governance-recheck/probes/-community-groups-1773636282678.json","e2e/output/playwright/growth-governance-recheck/probes/-community-members-1773636283728.json","e2e/output/playwright/growth-governance-recheck/probes/-community-points-1773636287173.json","e2e/output/playwright/growth-governance-recheck/probes/-community-tasks-1773636289789.json","e2e/output/playwright/growth-governance-recheck/probes/-customer-marketing-1773636264449.json","e2e/output/playwright/growth-governance-recheck/probes/-journey-orchestration-1773636288630.json","e2e/output/playwright/growth-governance-recheck/probes/-marketing-automation-1773636292934.json","e2e/output/playwright/growth-governance-recheck/probes/-marketing-chatbot-1773636284766.json","e2e/output/playwright/growth-governance-recheck/probes/-predictive-analytics-1773636295835.json","e2e/output/playwright/growth-governance-recheck/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v2/failure-1.html","e2e/output/playwright/supply-governance-recheck-v2/failure-1.png","e2e/output/playwright/supply-governance-recheck-v2/failure-2.html","e2e/output/playwright/supply-governance-recheck-v2/failure-2.png","e2e/output/playwright/supply-governance-recheck-v2/failure-3.html","e2e/output/playwright/supply-governance-recheck-v2/failure-3.png","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-bom-1773638085569.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-issues-1773638089294.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-orders-1773638087361.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-receipts-1773638091237.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assets-1773638096600.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-devices-1773638098927.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-outbound-1773638081116.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-product-categories-1773638095076.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-products-1773638093780.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-serial-numbers-1773638082543.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-suppliers-1773638056945.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-supply-chain-1773638054946.json","e2e/output/playwright/supply-governance-recheck-v2/visible-menu-snapshot.json","e2e/playwright-report/data/2bb2f2c3e1d82fa9325fdd6b5f4669df159db17a.md","e2e/playwright-report/data/92afb63601a0131a016d16a554bdb89a648849de.png","e2e/test-results/.last-run.json","e2e/test-results/results.json"],"removed":[],"modified":["backend/src/modules/ad-accounts/ad-account.controller.ts","backend/src/modules/ad-biddings/ad-bidding.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/shared/utils/biz-code.ts","e2e/playwright-report/index.html","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","e2e/tests/crud/module-catalog.overrides.ts"]}],"total_commits":0,"head_commit":{"id":"c1da50f2974fe9552f40dde68ec34df656ddca22","message":"feat: 同步治理文档与 Playwright 可见菜单写批次运行产物\n\n- 更新四份核心文档(AGENTS/CLAUDE/GEMINI/README)菜单深交互基线治理经验\n- 补充 module-governance-acceptance-checklist.md 新模板\n- 更新 module-acceptance-card.md 验收卡与 runbook 运行手册\n- 刷新 inventory.controller.ts 出库模块控制器\n- 同步前端 leads/Index.vue 线索列表页\n- 更新可见菜单写批次:ai-acquisition-content / finance / supply-chain /\n growth-sales-stores-service / synergy / system-infra / hr 域新一轮\n probe JSON、failure 截图与 action-coverage-report\n- 新增 sales-leads / outbound / sales / supply 治理复查产物目录\n- 更新 e2e 测试脚本与 CRUD catalog 配置\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c1da50f2974fe9552f40dde68ec34df656ddca22","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T15:28:33+08:00","added":["docs/templates/governance/module-governance-acceptance-checklist.md","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v1/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.html","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.png","e2e/output/playwright/outbound-governance-recheck-v1/probes/-outbound-1773728392272.json","e2e/output/playwright/outbound-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v2/probes/-outbound-1773729291584.json","e2e/output/playwright/outbound-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/sales-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/sales-governance-recheck-v2/failure-1.html","e2e/output/playwright/sales-governance-recheck-v2/failure-1.png","e2e/output/playwright/sales-governance-recheck-v2/failure-2.html","e2e/output/playwright/sales-governance-recheck-v2/failure-2.png","e2e/output/playwright/sales-governance-recheck-v2/probes/-leads-1773730807935.json","e2e/output/playwright/sales-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/sales-leads-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/sales-leads-governance-recheck-v4/probes/-leads-1773728044474.json","e2e/output/playwright/sales-leads-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v5/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-bom-1773730659592.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-issues-1773730663321.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-orders-1773730661365.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-receipts-1773730665247.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assets-1773730671300.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-devices-1773730673579.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-outbound-1773730655235.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-product-categories-1773730669828.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-products-1773730667766.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-serial-numbers-1773730656634.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-suppliers-1773730630707.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-supply-chain-1773730628780.json","e2e/output/playwright/supply-governance-recheck-v5/visible-menu-snapshot.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.png","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773730293426.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773730346930.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773730265455.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773730339395.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773730342218.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773730348434.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-leads-1773730376023.json","output/playwright/full-menu-write-batches/finance/action-coverage-report.md","output/playwright/full-menu-write-batches/finance/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/finance/failure-3.html","output/playwright/full-menu-write-batches/finance/failure-3.png","output/playwright/full-menu-write-batches/finance/failure-4.html","output/playwright/full-menu-write-batches/finance/failure-4.png","output/playwright/full-menu-write-batches/finance/failure-5.html","output/playwright/full-menu-write-batches/finance/failure-5.png","output/playwright/full-menu-write-batches/finance/failure-6.html","output/playwright/full-menu-write-batches/finance/failure-6.png","output/playwright/full-menu-write-batches/finance/failure-7.html","output/playwright/full-menu-write-batches/finance/failure-7.png","output/playwright/full-menu-write-batches/finance/failure-8.html","output/playwright/full-menu-write-batches/finance/failure-8.png","output/playwright/full-menu-write-batches/finance/failure-9.html","output/playwright/full-menu-write-batches/finance/failure-9.png","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773730815434.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773730746198.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773730747838.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-accounts-1773730566774.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-audiences-1773730561615.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-biddings-1773730569333.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-campaigns-1773730556834.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-creatives-1773730559313.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-reports-1773730564152.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaign-library-1773730532757.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaigns-1773730528728.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-activities-1773730587398.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-bots-1773730600826.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-groups-1773730571925.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-members-1773730573486.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-points-1773730577188.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-tasks-1773730579980.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customer-marketing-1773730531325.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-journey-orchestration-1773730578554.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-automation-1773730583244.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-chatbot-1773730574929.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-predictive-analytics-1773730586008.json","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773731255349.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773731072621.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773731076369.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773731074407.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773731078283.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assets-1773731084301.json","output/playwright/full-menu-write-batches/supply-chain/probes/-devices-1773731086563.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773731068258.json","output/playwright/full-menu-write-batches/supply-chain/probes/-product-categories-1773731082834.json","output/playwright/full-menu-write-batches/supply-chain/probes/-products-1773731080800.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773731069659.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773731043692.json","output/playwright/full-menu-write-batches/supply-chain/probes/-supply-chain-1773731041756.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773731295866.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773731281925.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773731268383.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773731266376.json"],"removed":["e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773632942127.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773632995925.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773632916088.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773632988219.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773632991102.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773632997429.json","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773633734328.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773633664730.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773633666424.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.png","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773634383805.json","output/playwright/full-menu-write-batches/supply-chain/failure-1.html","output/playwright/full-menu-write-batches/supply-chain/failure-1.png","output/playwright/full-menu-write-batches/supply-chain/failure-2.html","output/playwright/full-menu-write-batches/supply-chain/failure-2.png","output/playwright/full-menu-write-batches/supply-chain/failure-3.html","output/playwright/full-menu-write-batches/supply-chain/failure-3.png","output/playwright/full-menu-write-batches/supply-chain/failure-4.html","output/playwright/full-menu-write-batches/supply-chain/failure-4.png","output/playwright/full-menu-write-batches/supply-chain/failure-5.html","output/playwright/full-menu-write-batches/supply-chain/failure-5.png","output/playwright/full-menu-write-batches/supply-chain/failure-6.html","output/playwright/full-menu-write-batches/supply-chain/failure-6.png","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773633901574.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773633905434.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773633903472.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773633907354.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773633897130.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773633898566.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773633882907.json","output/playwright/full-menu-write-batches/synergy/action-coverage-report.json","output/playwright/full-menu-write-batches/synergy/probes/-departments-1773633979244.json","output/playwright/full-menu-write-batches/synergy/probes/-knowledge-1773633919146.json","output/playwright/full-menu-write-batches/synergy/probes/-stage-knowledge-1773633921148.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773634434163.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773634420132.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773634396344.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773634394393.json"],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/inventory/inventory.controller.ts","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/templates/governance/module-acceptance-card.md","e2e/playwright-report/index.html","e2e/scripts/run-visible-write-batches.mjs","e2e/tests/crud/01-visible-menu-write-runner.spec.ts","e2e/tests/crud/module-catalog.overrides.ts","e2e/tests/crud/types.ts","e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/views/leads/Index.vue","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.json","output/playwright/full-menu-write-batches/batch-summary.json","output/playwright/full-menu-write-batches/batch-summary.md","output/playwright/full-menu-write-batches/finance/action-coverage-report.json","output/playwright/full-menu-write-batches/finance/failure-1.html","output/playwright/full-menu-write-batches/finance/failure-1.png","output/playwright/full-menu-write-batches/finance/failure-2.html","output/playwright/full-menu-write-batches/finance/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.md","output/playwright/full-menu-write-batches/supply-chain/blocked-unmapped-pages.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/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":1162552,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-17T15:30:33+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
1
|
3
|
1773735932
|
1773735932
|
0
|
1773735932
|
1773735932
|
NULL
|
|
0
|
Edit
Delete
|
|
6369
|
feat: 同步治理文档与 Playwright 可见菜单写批次运行产物
|
6
|
5
|
health-check.yml
|
6303
|
-2
|
58
|
refs/heads/main
|
c1da50f2974fe9552f40dde68ec34df656ddca22
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e5a2f5ba8d6442be07c490ec77c734dbe317bfd5","after":"c1da50f2974fe9552f40dde68ec34df656ddca22","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e5a2f5ba8d6442be07c490ec77c734dbe317bfd5...c1da50f2974fe9552f40dde68ec34df656ddca22","commits":[{"id":"c1da50f2974fe9552f40dde68ec34df656ddca22","message":"feat: 同步治理文档与 Playwright 可见菜单写批次运行产物\n\n- 更新四份核心文档(AGENTS/CLAUDE/GEMINI/README)菜单深交互基线治理经验\n- 补充 module-governance-acceptance-checklist.md 新模板\n- 更新 module-acceptance-card.md 验收卡与 runbook 运行手册\n- 刷新 inventory.controller.ts 出库模块控制器\n- 同步前端 leads/Index.vue 线索列表页\n- 更新可见菜单写批次:ai-acquisition-content / finance / supply-chain /\n growth-sales-stores-service / synergy / system-infra / hr 域新一轮\n probe JSON、failure 截图与 action-coverage-report\n- 新增 sales-leads / outbound / sales / supply 治理复查产物目录\n- 更新 e2e 测试脚本与 CRUD catalog 配置\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c1da50f2974fe9552f40dde68ec34df656ddca22","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T15:28:33+08:00","added":["docs/templates/governance/module-governance-acceptance-checklist.md","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v1/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.html","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.png","e2e/output/playwright/outbound-governance-recheck-v1/probes/-outbound-1773728392272.json","e2e/output/playwright/outbound-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v2/probes/-outbound-1773729291584.json","e2e/output/playwright/outbound-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/sales-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/sales-governance-recheck-v2/failure-1.html","e2e/output/playwright/sales-governance-recheck-v2/failure-1.png","e2e/output/playwright/sales-governance-recheck-v2/failure-2.html","e2e/output/playwright/sales-governance-recheck-v2/failure-2.png","e2e/output/playwright/sales-governance-recheck-v2/probes/-leads-1773730807935.json","e2e/output/playwright/sales-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/sales-leads-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/sales-leads-governance-recheck-v4/probes/-leads-1773728044474.json","e2e/output/playwright/sales-leads-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v5/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-bom-1773730659592.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-issues-1773730663321.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-orders-1773730661365.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-receipts-1773730665247.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assets-1773730671300.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-devices-1773730673579.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-outbound-1773730655235.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-product-categories-1773730669828.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-products-1773730667766.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-serial-numbers-1773730656634.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-suppliers-1773730630707.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-supply-chain-1773730628780.json","e2e/output/playwright/supply-governance-recheck-v5/visible-menu-snapshot.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.png","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773730293426.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773730346930.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773730265455.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773730339395.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773730342218.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773730348434.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-leads-1773730376023.json","output/playwright/full-menu-write-batches/finance/action-coverage-report.md","output/playwright/full-menu-write-batches/finance/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/finance/failure-3.html","output/playwright/full-menu-write-batches/finance/failure-3.png","output/playwright/full-menu-write-batches/finance/failure-4.html","output/playwright/full-menu-write-batches/finance/failure-4.png","output/playwright/full-menu-write-batches/finance/failure-5.html","output/playwright/full-menu-write-batches/finance/failure-5.png","output/playwright/full-menu-write-batches/finance/failure-6.html","output/playwright/full-menu-write-batches/finance/failure-6.png","output/playwright/full-menu-write-batches/finance/failure-7.html","output/playwright/full-menu-write-batches/finance/failure-7.png","output/playwright/full-menu-write-batches/finance/failure-8.html","output/playwright/full-menu-write-batches/finance/failure-8.png","output/playwright/full-menu-write-batches/finance/failure-9.html","output/playwright/full-menu-write-batches/finance/failure-9.png","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773730815434.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773730746198.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773730747838.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-accounts-1773730566774.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-audiences-1773730561615.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-biddings-1773730569333.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-campaigns-1773730556834.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-creatives-1773730559313.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-reports-1773730564152.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaign-library-1773730532757.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaigns-1773730528728.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-activities-1773730587398.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-bots-1773730600826.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-groups-1773730571925.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-members-1773730573486.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-points-1773730577188.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-tasks-1773730579980.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customer-marketing-1773730531325.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-journey-orchestration-1773730578554.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-automation-1773730583244.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-chatbot-1773730574929.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-predictive-analytics-1773730586008.json","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773731255349.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773731072621.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773731076369.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773731074407.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773731078283.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assets-1773731084301.json","output/playwright/full-menu-write-batches/supply-chain/probes/-devices-1773731086563.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773731068258.json","output/playwright/full-menu-write-batches/supply-chain/probes/-product-categories-1773731082834.json","output/playwright/full-menu-write-batches/supply-chain/probes/-products-1773731080800.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773731069659.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773731043692.json","output/playwright/full-menu-write-batches/supply-chain/probes/-supply-chain-1773731041756.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773731295866.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773731281925.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773731268383.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773731266376.json"],"removed":["e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773632942127.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773632995925.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773632916088.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773632988219.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773632991102.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773632997429.json","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773633734328.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773633664730.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773633666424.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.png","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773634383805.json","output/playwright/full-menu-write-batches/supply-chain/failure-1.html","output/playwright/full-menu-write-batches/supply-chain/failure-1.png","output/playwright/full-menu-write-batches/supply-chain/failure-2.html","output/playwright/full-menu-write-batches/supply-chain/failure-2.png","output/playwright/full-menu-write-batches/supply-chain/failure-3.html","output/playwright/full-menu-write-batches/supply-chain/failure-3.png","output/playwright/full-menu-write-batches/supply-chain/failure-4.html","output/playwright/full-menu-write-batches/supply-chain/failure-4.png","output/playwright/full-menu-write-batches/supply-chain/failure-5.html","output/playwright/full-menu-write-batches/supply-chain/failure-5.png","output/playwright/full-menu-write-batches/supply-chain/failure-6.html","output/playwright/full-menu-write-batches/supply-chain/failure-6.png","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773633901574.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773633905434.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773633903472.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773633907354.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773633897130.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773633898566.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773633882907.json","output/playwright/full-menu-write-batches/synergy/action-coverage-report.json","output/playwright/full-menu-write-batches/synergy/probes/-departments-1773633979244.json","output/playwright/full-menu-write-batches/synergy/probes/-knowledge-1773633919146.json","output/playwright/full-menu-write-batches/synergy/probes/-stage-knowledge-1773633921148.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773634434163.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773634420132.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773634396344.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773634394393.json"],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/inventory/inventory.controller.ts","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/templates/governance/module-acceptance-card.md","e2e/playwright-report/index.html","e2e/scripts/run-visible-write-batches.mjs","e2e/tests/crud/01-visible-menu-write-runner.spec.ts","e2e/tests/crud/module-catalog.overrides.ts","e2e/tests/crud/types.ts","e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/views/leads/Index.vue","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.json","output/playwright/full-menu-write-batches/batch-summary.json","output/playwright/full-menu-write-batches/batch-summary.md","output/playwright/full-menu-write-batches/finance/action-coverage-report.json","output/playwright/full-menu-write-batches/finance/failure-1.html","output/playwright/full-menu-write-batches/finance/failure-1.png","output/playwright/full-menu-write-batches/finance/failure-2.html","output/playwright/full-menu-write-batches/finance/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.md","output/playwright/full-menu-write-batches/supply-chain/blocked-unmapped-pages.json"]},{"id":"9d26d79a0e913f59f095f5770c349ada3eb290e6","message":"Sync governance docs with repo triage guidance\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9d26d79a0e913f59f095f5770c349ada3eb290e6","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:59:58+08:00","added":[],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","docs/contract-governance-3.0.md","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/reports/governance-experience-2026-03-07.md"]},{"id":"90763866bd7d7302b2fd963c80971c0c980e2a40","message":"Add visible menu snapshot for sales leads governance recheck\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/90763866bd7d7302b2fd963c80971c0c980e2a40","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:52:59+08:00","added":["e2e/output/playwright/sales-leads-governance-recheck-v2/visible-menu-snapshot.json"],"removed":[],"modified":[]},{"id":"37491f5183c3793b77913e9fa046090fd3e2140e","message":"Fix visible-menu action contracts and refresh Playwright artifacts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/37491f5183c3793b77913e9fa046090fd3e2140e","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:49:50+08:00","added":["e2e/output/playwright/growth-governance-recheck-v6/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v6/failure-1.html","e2e/output/playwright/growth-governance-recheck-v6/failure-1.png","e2e/output/playwright/growth-governance-recheck-v6/failure-2.html","e2e/output/playwright/growth-governance-recheck-v6/failure-2.png","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-accounts-1773724659044.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-audiences-1773724653884.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-biddings-1773724661639.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-campaigns-1773724649143.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-creatives-1773724651605.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-reports-1773724656426.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-campaign-library-1773724625404.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-campaigns-1773724621356.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-activities-1773724679469.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-bots-1773724692868.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-groups-1773724663988.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-members-1773724665547.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-points-1773724669207.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-tasks-1773724672014.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-customer-marketing-1773724623985.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-journey-orchestration-1773724670573.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-marketing-automation-1773724675311.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-marketing-chatbot-1773724666974.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-predictive-analytics-1773724678072.json","e2e/output/playwright/growth-governance-recheck-v6/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v7/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v7/failure-1.html","e2e/output/playwright/growth-governance-recheck-v7/failure-1.png","e2e/output/playwright/growth-governance-recheck-v7/failure-2.html","e2e/output/playwright/growth-governance-recheck-v7/failure-2.png","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-audiences-1773725119348.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-biddings-1773725144948.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-campaigns-1773725114561.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-creatives-1773725117027.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-reports-1773725121927.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-campaign-library-1773725090781.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-campaigns-1773725086648.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-activities-1773725163012.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-bots-1773725176355.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-groups-1773725147556.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-members-1773725149129.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-points-1773725152767.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-tasks-1773725155559.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-customer-marketing-1773725089355.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-journey-orchestration-1773725154125.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-marketing-automation-1773725158850.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-marketing-chatbot-1773725150561.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-predictive-analytics-1773725161612.json","e2e/output/playwright/growth-governance-recheck-v7/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v8/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-accounts-1773725331287.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-audiences-1773725326038.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-biddings-1773725333878.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-campaigns-1773725321263.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-creatives-1773725323743.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-reports-1773725328622.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-campaign-library-1773725297280.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-campaigns-1773725293257.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-activities-1773725352012.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-bots-1773725365518.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-groups-1773725336490.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-members-1773725338048.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-points-1773725341744.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-tasks-1773725344573.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-customer-marketing-1773725295883.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-journey-orchestration-1773725343111.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-marketing-automation-1773725347852.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-marketing-chatbot-1773725339499.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-predictive-analytics-1773725350608.json","e2e/output/playwright/growth-governance-recheck-v8/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v1-page1/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/sales-stores-service-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v3/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v3/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v3/failure-1.html","e2e/output/playwright/supply-governance-recheck-v3/failure-1.png","e2e/output/playwright/supply-governance-recheck-v3/failure-2.html","e2e/output/playwright/supply-governance-recheck-v3/failure-2.png","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-bom-1773724804766.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-issues-1773724808526.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-orders-1773724806554.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-receipts-1773724810440.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assets-1773724816442.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-devices-1773724818721.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-outbound-1773724800429.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-product-categories-1773724814983.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-products-1773724812923.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-serial-numbers-1773724801816.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-suppliers-1773724776440.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-supply-chain-1773724774524.json","e2e/output/playwright/supply-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v4/failure-1.html","e2e/output/playwright/supply-governance-recheck-v4/failure-1.png","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-bom-1773724908303.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-issues-1773724912024.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-orders-1773724910085.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-receipts-1773724913947.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assets-1773724920008.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-devices-1773724922280.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-outbound-1773724903876.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-product-categories-1773724918547.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-products-1773724916486.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-serial-numbers-1773724905275.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-suppliers-1773724890016.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-supply-chain-1773724888101.json","e2e/output/playwright/supply-governance-recheck-v4/visible-menu-snapshot.json","e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md"],"removed":["e2e/playwright-report/data/2bb2f2c3e1d82fa9325fdd6b5f4669df159db17a.md","e2e/playwright-report/data/92afb63601a0131a016d16a554bdb89a648849de.png","e2e/test-results/.last-run.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","e2e/test-results/results.json"],"modified":["backend/src/modules/ad-campaigns/ad-campaigns.service.ts","backend/src/modules/community-groups/community-group.contract.routes.ts","backend/src/shared/process-core/default-workflow-definitions.ts","e2e/playwright-report/index.html","e2e/tests/crud/module-catalog.overrides.ts"]},{"id":"46e5f097ea53c593ee709803d6679b5520a6b271","message":"Fix growth module write contracts and governance probes\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/46e5f097ea53c593ee709803d6679b5520a6b271","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:14:33+08:00","added":[".claude/worktrees/vibrant-mestorf","e2e/output/playwright/growth-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v2/failure-1.html","e2e/output/playwright/growth-governance-recheck-v2/failure-1.png","e2e/output/playwright/growth-governance-recheck-v2/failure-2.html","e2e/output/playwright/growth-governance-recheck-v2/failure-2.png","e2e/output/playwright/growth-governance-recheck-v2/failure-3.html","e2e/output/playwright/growth-governance-recheck-v2/failure-3.png","e2e/output/playwright/growth-governance-recheck-v2/failure-4.html","e2e/output/playwright/growth-governance-recheck-v2/failure-4.png","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-accounts-1773637103428.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-audiences-1773637097919.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-biddings-1773637106233.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-campaigns-1773637092737.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-creatives-1773637095413.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-reports-1773637100574.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-campaign-library-1773637068728.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-campaigns-1773637064334.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-activities-1773637125231.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-bots-1773637138800.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-groups-1773637108862.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-members-1773637110559.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-points-1773637114159.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-tasks-1773637117170.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-customer-marketing-1773637067192.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-journey-orchestration-1773637115613.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-marketing-automation-1773637120849.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-marketing-chatbot-1773637111690.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-predictive-analytics-1773637123749.json","e2e/output/playwright/growth-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v3/failure-1.html","e2e/output/playwright/growth-governance-recheck-v3/failure-1.png","e2e/output/playwright/growth-governance-recheck-v3/failure-2.html","e2e/output/playwright/growth-governance-recheck-v3/failure-2.png","e2e/output/playwright/growth-governance-recheck-v3/failure-3.html","e2e/output/playwright/growth-governance-recheck-v3/failure-3.png","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-accounts-1773637290819.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-audiences-1773637285318.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-biddings-1773637293641.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-campaigns-1773637280219.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-creatives-1773637282870.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-reports-1773637287997.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-campaign-library-1773637256300.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-campaigns-1773637252140.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-activities-1773637312007.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-bots-1773637315094.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-groups-1773637296205.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-members-1773637297858.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-points-1773637301326.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-tasks-1773637304221.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-customer-marketing-1773637254826.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-journey-orchestration-1773637302713.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-marketing-automation-1773637307735.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-marketing-chatbot-1773637298900.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-predictive-analytics-1773637310596.json","e2e/output/playwright/growth-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v4/failure-1.html","e2e/output/playwright/growth-governance-recheck-v4/failure-1.png","e2e/output/playwright/growth-governance-recheck-v4/failure-2.html","e2e/output/playwright/growth-governance-recheck-v4/failure-2.png","e2e/output/playwright/growth-governance-recheck-v4/failure-3.html","e2e/output/playwright/growth-governance-recheck-v4/failure-3.png","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-accounts-1773637580471.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-audiences-1773637574939.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-biddings-1773637583127.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-campaigns-1773637569798.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-creatives-1773637572491.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-reports-1773637577693.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-campaign-library-1773637545837.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-campaigns-1773637541347.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-activities-1773637601885.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-bots-1773637615595.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-groups-1773637585737.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-members-1773637587440.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-points-1773637590954.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-tasks-1773637593940.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-customer-marketing-1773637544263.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-journey-orchestration-1773637592404.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-marketing-automation-1773637597490.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-marketing-chatbot-1773637588564.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-predictive-analytics-1773637600359.json","e2e/output/playwright/growth-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v5/failure-1.html","e2e/output/playwright/growth-governance-recheck-v5/failure-1.png","e2e/output/playwright/growth-governance-recheck-v5/failure-2.html","e2e/output/playwright/growth-governance-recheck-v5/failure-2.png","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-accounts-1773637856277.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-audiences-1773637850560.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-biddings-1773637859067.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-campaigns-1773637845354.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-creatives-1773637848041.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-reports-1773637853256.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-campaign-library-1773637842008.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-campaigns-1773637837583.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-activities-1773637878336.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-bots-1773637891983.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-groups-1773637861569.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-members-1773637863254.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-points-1773637867326.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-tasks-1773637870372.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-customer-marketing-1773637840454.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-journey-orchestration-1773637868795.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-marketing-automation-1773637874004.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-marketing-chatbot-1773637864856.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-predictive-analytics-1773637876874.json","e2e/output/playwright/growth-governance-recheck-v5/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck/failure-1.html","e2e/output/playwright/growth-governance-recheck/failure-1.png","e2e/output/playwright/growth-governance-recheck/failure-10.html","e2e/output/playwright/growth-governance-recheck/failure-10.png","e2e/output/playwright/growth-governance-recheck/failure-11.html","e2e/output/playwright/growth-governance-recheck/failure-11.png","e2e/output/playwright/growth-governance-recheck/failure-12.html","e2e/output/playwright/growth-governance-recheck/failure-12.png","e2e/output/playwright/growth-governance-recheck/failure-13.html","e2e/output/playwright/growth-governance-recheck/failure-13.png","e2e/output/playwright/growth-governance-recheck/failure-2.html","e2e/output/playwright/growth-governance-recheck/failure-2.png","e2e/output/playwright/growth-governance-recheck/failure-3.html","e2e/output/playwright/growth-governance-recheck/failure-3.png","e2e/output/playwright/growth-governance-recheck/failure-4.html","e2e/output/playwright/growth-governance-recheck/failure-4.png","e2e/output/playwright/growth-governance-recheck/failure-5.html","e2e/output/playwright/growth-governance-recheck/failure-5.png","e2e/output/playwright/growth-governance-recheck/failure-6.html","e2e/output/playwright/growth-governance-recheck/failure-6.png","e2e/output/playwright/growth-governance-recheck/failure-7.html","e2e/output/playwright/growth-governance-recheck/failure-7.png","e2e/output/playwright/growth-governance-recheck/failure-8.html","e2e/output/playwright/growth-governance-recheck/failure-8.png","e2e/output/playwright/growth-governance-recheck/failure-9.html","e2e/output/playwright/growth-governance-recheck/failure-9.png","e2e/output/playwright/growth-governance-recheck/probes/-ad-accounts-1773636279090.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-audiences-1773636274572.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-biddings-1773636281658.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-campaigns-1773636269396.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-creatives-1773636272040.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-reports-1773636276435.json","e2e/output/playwright/growth-governance-recheck/probes/-campaign-library-1773636266028.json","e2e/output/playwright/growth-governance-recheck/probes/-campaigns-1773636262465.json","e2e/output/playwright/growth-governance-recheck/probes/-community-activities-1773636296839.json","e2e/output/playwright/growth-governance-recheck/probes/-community-bots-1773636309301.json","e2e/output/playwright/growth-governance-recheck/probes/-community-groups-1773636282678.json","e2e/output/playwright/growth-governance-recheck/probes/-community-members-1773636283728.json","e2e/output/playwright/growth-governance-recheck/probes/-community-points-1773636287173.json","e2e/output/playwright/growth-governance-recheck/probes/-community-tasks-1773636289789.json","e2e/output/playwright/growth-governance-recheck/probes/-customer-marketing-1773636264449.json","e2e/output/playwright/growth-governance-recheck/probes/-journey-orchestration-1773636288630.json","e2e/output/playwright/growth-governance-recheck/probes/-marketing-automation-1773636292934.json","e2e/output/playwright/growth-governance-recheck/probes/-marketing-chatbot-1773636284766.json","e2e/output/playwright/growth-governance-recheck/probes/-predictive-analytics-1773636295835.json","e2e/output/playwright/growth-governance-recheck/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v2/failure-1.html","e2e/output/playwright/supply-governance-recheck-v2/failure-1.png","e2e/output/playwright/supply-governance-recheck-v2/failure-2.html","e2e/output/playwright/supply-governance-recheck-v2/failure-2.png","e2e/output/playwright/supply-governance-recheck-v2/failure-3.html","e2e/output/playwright/supply-governance-recheck-v2/failure-3.png","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-bom-1773638085569.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-issues-1773638089294.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-orders-1773638087361.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-receipts-1773638091237.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assets-1773638096600.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-devices-1773638098927.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-outbound-1773638081116.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-product-categories-1773638095076.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-products-1773638093780.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-serial-numbers-1773638082543.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-suppliers-1773638056945.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-supply-chain-1773638054946.json","e2e/output/playwright/supply-governance-recheck-v2/visible-menu-snapshot.json","e2e/playwright-report/data/2bb2f2c3e1d82fa9325fdd6b5f4669df159db17a.md","e2e/playwright-report/data/92afb63601a0131a016d16a554bdb89a648849de.png","e2e/test-results/.last-run.json","e2e/test-results/results.json"],"removed":[],"modified":["backend/src/modules/ad-accounts/ad-account.controller.ts","backend/src/modules/ad-biddings/ad-bidding.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/shared/utils/biz-code.ts","e2e/playwright-report/index.html","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","e2e/tests/crud/module-catalog.overrides.ts"]}],"total_commits":0,"head_commit":{"id":"c1da50f2974fe9552f40dde68ec34df656ddca22","message":"feat: 同步治理文档与 Playwright 可见菜单写批次运行产物\n\n- 更新四份核心文档(AGENTS/CLAUDE/GEMINI/README)菜单深交互基线治理经验\n- 补充 module-governance-acceptance-checklist.md 新模板\n- 更新 module-acceptance-card.md 验收卡与 runbook 运行手册\n- 刷新 inventory.controller.ts 出库模块控制器\n- 同步前端 leads/Index.vue 线索列表页\n- 更新可见菜单写批次:ai-acquisition-content / finance / supply-chain /\n growth-sales-stores-service / synergy / system-infra / hr 域新一轮\n probe JSON、failure 截图与 action-coverage-report\n- 新增 sales-leads / outbound / sales / supply 治理复查产物目录\n- 更新 e2e 测试脚本与 CRUD catalog 配置\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c1da50f2974fe9552f40dde68ec34df656ddca22","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T15:28:33+08:00","added":["docs/templates/governance/module-governance-acceptance-checklist.md","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v1/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.html","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.png","e2e/output/playwright/outbound-governance-recheck-v1/probes/-outbound-1773728392272.json","e2e/output/playwright/outbound-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v2/probes/-outbound-1773729291584.json","e2e/output/playwright/outbound-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/sales-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/sales-governance-recheck-v2/failure-1.html","e2e/output/playwright/sales-governance-recheck-v2/failure-1.png","e2e/output/playwright/sales-governance-recheck-v2/failure-2.html","e2e/output/playwright/sales-governance-recheck-v2/failure-2.png","e2e/output/playwright/sales-governance-recheck-v2/probes/-leads-1773730807935.json","e2e/output/playwright/sales-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/sales-leads-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/sales-leads-governance-recheck-v4/probes/-leads-1773728044474.json","e2e/output/playwright/sales-leads-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v5/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-bom-1773730659592.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-issues-1773730663321.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-orders-1773730661365.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-receipts-1773730665247.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assets-1773730671300.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-devices-1773730673579.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-outbound-1773730655235.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-product-categories-1773730669828.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-products-1773730667766.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-serial-numbers-1773730656634.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-suppliers-1773730630707.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-supply-chain-1773730628780.json","e2e/output/playwright/supply-governance-recheck-v5/visible-menu-snapshot.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.png","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773730293426.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773730346930.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773730265455.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773730339395.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773730342218.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773730348434.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-leads-1773730376023.json","output/playwright/full-menu-write-batches/finance/action-coverage-report.md","output/playwright/full-menu-write-batches/finance/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/finance/failure-3.html","output/playwright/full-menu-write-batches/finance/failure-3.png","output/playwright/full-menu-write-batches/finance/failure-4.html","output/playwright/full-menu-write-batches/finance/failure-4.png","output/playwright/full-menu-write-batches/finance/failure-5.html","output/playwright/full-menu-write-batches/finance/failure-5.png","output/playwright/full-menu-write-batches/finance/failure-6.html","output/playwright/full-menu-write-batches/finance/failure-6.png","output/playwright/full-menu-write-batches/finance/failure-7.html","output/playwright/full-menu-write-batches/finance/failure-7.png","output/playwright/full-menu-write-batches/finance/failure-8.html","output/playwright/full-menu-write-batches/finance/failure-8.png","output/playwright/full-menu-write-batches/finance/failure-9.html","output/playwright/full-menu-write-batches/finance/failure-9.png","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773730815434.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773730746198.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773730747838.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-accounts-1773730566774.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-audiences-1773730561615.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-biddings-1773730569333.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-campaigns-1773730556834.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-creatives-1773730559313.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-reports-1773730564152.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaign-library-1773730532757.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaigns-1773730528728.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-activities-1773730587398.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-bots-1773730600826.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-groups-1773730571925.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-members-1773730573486.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-points-1773730577188.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-tasks-1773730579980.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customer-marketing-1773730531325.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-journey-orchestration-1773730578554.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-automation-1773730583244.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-chatbot-1773730574929.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-predictive-analytics-1773730586008.json","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773731255349.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773731072621.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773731076369.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773731074407.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773731078283.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assets-1773731084301.json","output/playwright/full-menu-write-batches/supply-chain/probes/-devices-1773731086563.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773731068258.json","output/playwright/full-menu-write-batches/supply-chain/probes/-product-categories-1773731082834.json","output/playwright/full-menu-write-batches/supply-chain/probes/-products-1773731080800.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773731069659.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773731043692.json","output/playwright/full-menu-write-batches/supply-chain/probes/-supply-chain-1773731041756.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773731295866.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773731281925.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773731268383.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773731266376.json"],"removed":["e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773632942127.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773632995925.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773632916088.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773632988219.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773632991102.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773632997429.json","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773633734328.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773633664730.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773633666424.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.png","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773634383805.json","output/playwright/full-menu-write-batches/supply-chain/failure-1.html","output/playwright/full-menu-write-batches/supply-chain/failure-1.png","output/playwright/full-menu-write-batches/supply-chain/failure-2.html","output/playwright/full-menu-write-batches/supply-chain/failure-2.png","output/playwright/full-menu-write-batches/supply-chain/failure-3.html","output/playwright/full-menu-write-batches/supply-chain/failure-3.png","output/playwright/full-menu-write-batches/supply-chain/failure-4.html","output/playwright/full-menu-write-batches/supply-chain/failure-4.png","output/playwright/full-menu-write-batches/supply-chain/failure-5.html","output/playwright/full-menu-write-batches/supply-chain/failure-5.png","output/playwright/full-menu-write-batches/supply-chain/failure-6.html","output/playwright/full-menu-write-batches/supply-chain/failure-6.png","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773633901574.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773633905434.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773633903472.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773633907354.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773633897130.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773633898566.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773633882907.json","output/playwright/full-menu-write-batches/synergy/action-coverage-report.json","output/playwright/full-menu-write-batches/synergy/probes/-departments-1773633979244.json","output/playwright/full-menu-write-batches/synergy/probes/-knowledge-1773633919146.json","output/playwright/full-menu-write-batches/synergy/probes/-stage-knowledge-1773633921148.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773634434163.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773634420132.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773634396344.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773634394393.json"],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/inventory/inventory.controller.ts","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/templates/governance/module-acceptance-card.md","e2e/playwright-report/index.html","e2e/scripts/run-visible-write-batches.mjs","e2e/tests/crud/01-visible-menu-write-runner.spec.ts","e2e/tests/crud/module-catalog.overrides.ts","e2e/tests/crud/types.ts","e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/views/leads/Index.vue","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.json","output/playwright/full-menu-write-batches/batch-summary.json","output/playwright/full-menu-write-batches/batch-summary.md","output/playwright/full-menu-write-batches/finance/action-coverage-report.json","output/playwright/full-menu-write-batches/finance/failure-1.html","output/playwright/full-menu-write-batches/finance/failure-1.png","output/playwright/full-menu-write-batches/finance/failure-2.html","output/playwright/full-menu-write-batches/finance/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.md","output/playwright/full-menu-write-batches/supply-chain/blocked-unmapped-pages.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/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":1162552,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-17T15:30:33+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
1
|
3
|
1773736232
|
1773736232
|
0
|
1773736232
|
1773736232
|
NULL
|
|
0
|
Edit
Delete
|
|
6371
|
feat: 同步治理文档与 Playwright 可见菜单写批次运行产物
|
6
|
5
|
health-check.yml
|
6304
|
-2
|
58
|
refs/heads/main
|
c1da50f2974fe9552f40dde68ec34df656ddca22
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e5a2f5ba8d6442be07c490ec77c734dbe317bfd5","after":"c1da50f2974fe9552f40dde68ec34df656ddca22","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e5a2f5ba8d6442be07c490ec77c734dbe317bfd5...c1da50f2974fe9552f40dde68ec34df656ddca22","commits":[{"id":"c1da50f2974fe9552f40dde68ec34df656ddca22","message":"feat: 同步治理文档与 Playwright 可见菜单写批次运行产物\n\n- 更新四份核心文档(AGENTS/CLAUDE/GEMINI/README)菜单深交互基线治理经验\n- 补充 module-governance-acceptance-checklist.md 新模板\n- 更新 module-acceptance-card.md 验收卡与 runbook 运行手册\n- 刷新 inventory.controller.ts 出库模块控制器\n- 同步前端 leads/Index.vue 线索列表页\n- 更新可见菜单写批次:ai-acquisition-content / finance / supply-chain /\n growth-sales-stores-service / synergy / system-infra / hr 域新一轮\n probe JSON、failure 截图与 action-coverage-report\n- 新增 sales-leads / outbound / sales / supply 治理复查产物目录\n- 更新 e2e 测试脚本与 CRUD catalog 配置\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c1da50f2974fe9552f40dde68ec34df656ddca22","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T15:28:33+08:00","added":["docs/templates/governance/module-governance-acceptance-checklist.md","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v1/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.html","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.png","e2e/output/playwright/outbound-governance-recheck-v1/probes/-outbound-1773728392272.json","e2e/output/playwright/outbound-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v2/probes/-outbound-1773729291584.json","e2e/output/playwright/outbound-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/sales-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/sales-governance-recheck-v2/failure-1.html","e2e/output/playwright/sales-governance-recheck-v2/failure-1.png","e2e/output/playwright/sales-governance-recheck-v2/failure-2.html","e2e/output/playwright/sales-governance-recheck-v2/failure-2.png","e2e/output/playwright/sales-governance-recheck-v2/probes/-leads-1773730807935.json","e2e/output/playwright/sales-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/sales-leads-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/sales-leads-governance-recheck-v4/probes/-leads-1773728044474.json","e2e/output/playwright/sales-leads-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v5/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-bom-1773730659592.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-issues-1773730663321.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-orders-1773730661365.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-receipts-1773730665247.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assets-1773730671300.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-devices-1773730673579.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-outbound-1773730655235.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-product-categories-1773730669828.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-products-1773730667766.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-serial-numbers-1773730656634.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-suppliers-1773730630707.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-supply-chain-1773730628780.json","e2e/output/playwright/supply-governance-recheck-v5/visible-menu-snapshot.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.png","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773730293426.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773730346930.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773730265455.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773730339395.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773730342218.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773730348434.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-leads-1773730376023.json","output/playwright/full-menu-write-batches/finance/action-coverage-report.md","output/playwright/full-menu-write-batches/finance/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/finance/failure-3.html","output/playwright/full-menu-write-batches/finance/failure-3.png","output/playwright/full-menu-write-batches/finance/failure-4.html","output/playwright/full-menu-write-batches/finance/failure-4.png","output/playwright/full-menu-write-batches/finance/failure-5.html","output/playwright/full-menu-write-batches/finance/failure-5.png","output/playwright/full-menu-write-batches/finance/failure-6.html","output/playwright/full-menu-write-batches/finance/failure-6.png","output/playwright/full-menu-write-batches/finance/failure-7.html","output/playwright/full-menu-write-batches/finance/failure-7.png","output/playwright/full-menu-write-batches/finance/failure-8.html","output/playwright/full-menu-write-batches/finance/failure-8.png","output/playwright/full-menu-write-batches/finance/failure-9.html","output/playwright/full-menu-write-batches/finance/failure-9.png","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773730815434.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773730746198.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773730747838.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-accounts-1773730566774.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-audiences-1773730561615.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-biddings-1773730569333.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-campaigns-1773730556834.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-creatives-1773730559313.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-reports-1773730564152.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaign-library-1773730532757.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaigns-1773730528728.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-activities-1773730587398.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-bots-1773730600826.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-groups-1773730571925.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-members-1773730573486.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-points-1773730577188.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-tasks-1773730579980.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customer-marketing-1773730531325.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-journey-orchestration-1773730578554.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-automation-1773730583244.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-chatbot-1773730574929.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-predictive-analytics-1773730586008.json","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773731255349.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773731072621.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773731076369.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773731074407.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773731078283.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assets-1773731084301.json","output/playwright/full-menu-write-batches/supply-chain/probes/-devices-1773731086563.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773731068258.json","output/playwright/full-menu-write-batches/supply-chain/probes/-product-categories-1773731082834.json","output/playwright/full-menu-write-batches/supply-chain/probes/-products-1773731080800.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773731069659.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773731043692.json","output/playwright/full-menu-write-batches/supply-chain/probes/-supply-chain-1773731041756.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773731295866.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773731281925.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773731268383.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773731266376.json"],"removed":["e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773632942127.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773632995925.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773632916088.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773632988219.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773632991102.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773632997429.json","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773633734328.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773633664730.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773633666424.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.png","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773634383805.json","output/playwright/full-menu-write-batches/supply-chain/failure-1.html","output/playwright/full-menu-write-batches/supply-chain/failure-1.png","output/playwright/full-menu-write-batches/supply-chain/failure-2.html","output/playwright/full-menu-write-batches/supply-chain/failure-2.png","output/playwright/full-menu-write-batches/supply-chain/failure-3.html","output/playwright/full-menu-write-batches/supply-chain/failure-3.png","output/playwright/full-menu-write-batches/supply-chain/failure-4.html","output/playwright/full-menu-write-batches/supply-chain/failure-4.png","output/playwright/full-menu-write-batches/supply-chain/failure-5.html","output/playwright/full-menu-write-batches/supply-chain/failure-5.png","output/playwright/full-menu-write-batches/supply-chain/failure-6.html","output/playwright/full-menu-write-batches/supply-chain/failure-6.png","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773633901574.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773633905434.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773633903472.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773633907354.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773633897130.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773633898566.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773633882907.json","output/playwright/full-menu-write-batches/synergy/action-coverage-report.json","output/playwright/full-menu-write-batches/synergy/probes/-departments-1773633979244.json","output/playwright/full-menu-write-batches/synergy/probes/-knowledge-1773633919146.json","output/playwright/full-menu-write-batches/synergy/probes/-stage-knowledge-1773633921148.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773634434163.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773634420132.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773634396344.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773634394393.json"],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/inventory/inventory.controller.ts","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/templates/governance/module-acceptance-card.md","e2e/playwright-report/index.html","e2e/scripts/run-visible-write-batches.mjs","e2e/tests/crud/01-visible-menu-write-runner.spec.ts","e2e/tests/crud/module-catalog.overrides.ts","e2e/tests/crud/types.ts","e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/views/leads/Index.vue","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.json","output/playwright/full-menu-write-batches/batch-summary.json","output/playwright/full-menu-write-batches/batch-summary.md","output/playwright/full-menu-write-batches/finance/action-coverage-report.json","output/playwright/full-menu-write-batches/finance/failure-1.html","output/playwright/full-menu-write-batches/finance/failure-1.png","output/playwright/full-menu-write-batches/finance/failure-2.html","output/playwright/full-menu-write-batches/finance/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.md","output/playwright/full-menu-write-batches/supply-chain/blocked-unmapped-pages.json"]},{"id":"9d26d79a0e913f59f095f5770c349ada3eb290e6","message":"Sync governance docs with repo triage guidance\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9d26d79a0e913f59f095f5770c349ada3eb290e6","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:59:58+08:00","added":[],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","docs/contract-governance-3.0.md","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/reports/governance-experience-2026-03-07.md"]},{"id":"90763866bd7d7302b2fd963c80971c0c980e2a40","message":"Add visible menu snapshot for sales leads governance recheck\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/90763866bd7d7302b2fd963c80971c0c980e2a40","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:52:59+08:00","added":["e2e/output/playwright/sales-leads-governance-recheck-v2/visible-menu-snapshot.json"],"removed":[],"modified":[]},{"id":"37491f5183c3793b77913e9fa046090fd3e2140e","message":"Fix visible-menu action contracts and refresh Playwright artifacts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/37491f5183c3793b77913e9fa046090fd3e2140e","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:49:50+08:00","added":["e2e/output/playwright/growth-governance-recheck-v6/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v6/failure-1.html","e2e/output/playwright/growth-governance-recheck-v6/failure-1.png","e2e/output/playwright/growth-governance-recheck-v6/failure-2.html","e2e/output/playwright/growth-governance-recheck-v6/failure-2.png","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-accounts-1773724659044.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-audiences-1773724653884.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-biddings-1773724661639.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-campaigns-1773724649143.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-creatives-1773724651605.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-reports-1773724656426.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-campaign-library-1773724625404.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-campaigns-1773724621356.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-activities-1773724679469.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-bots-1773724692868.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-groups-1773724663988.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-members-1773724665547.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-points-1773724669207.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-tasks-1773724672014.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-customer-marketing-1773724623985.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-journey-orchestration-1773724670573.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-marketing-automation-1773724675311.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-marketing-chatbot-1773724666974.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-predictive-analytics-1773724678072.json","e2e/output/playwright/growth-governance-recheck-v6/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v7/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v7/failure-1.html","e2e/output/playwright/growth-governance-recheck-v7/failure-1.png","e2e/output/playwright/growth-governance-recheck-v7/failure-2.html","e2e/output/playwright/growth-governance-recheck-v7/failure-2.png","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-audiences-1773725119348.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-biddings-1773725144948.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-campaigns-1773725114561.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-creatives-1773725117027.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-reports-1773725121927.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-campaign-library-1773725090781.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-campaigns-1773725086648.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-activities-1773725163012.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-bots-1773725176355.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-groups-1773725147556.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-members-1773725149129.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-points-1773725152767.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-tasks-1773725155559.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-customer-marketing-1773725089355.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-journey-orchestration-1773725154125.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-marketing-automation-1773725158850.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-marketing-chatbot-1773725150561.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-predictive-analytics-1773725161612.json","e2e/output/playwright/growth-governance-recheck-v7/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v8/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-accounts-1773725331287.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-audiences-1773725326038.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-biddings-1773725333878.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-campaigns-1773725321263.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-creatives-1773725323743.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-reports-1773725328622.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-campaign-library-1773725297280.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-campaigns-1773725293257.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-activities-1773725352012.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-bots-1773725365518.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-groups-1773725336490.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-members-1773725338048.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-points-1773725341744.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-tasks-1773725344573.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-customer-marketing-1773725295883.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-journey-orchestration-1773725343111.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-marketing-automation-1773725347852.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-marketing-chatbot-1773725339499.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-predictive-analytics-1773725350608.json","e2e/output/playwright/growth-governance-recheck-v8/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v1-page1/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/sales-stores-service-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v3/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v3/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v3/failure-1.html","e2e/output/playwright/supply-governance-recheck-v3/failure-1.png","e2e/output/playwright/supply-governance-recheck-v3/failure-2.html","e2e/output/playwright/supply-governance-recheck-v3/failure-2.png","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-bom-1773724804766.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-issues-1773724808526.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-orders-1773724806554.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-receipts-1773724810440.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assets-1773724816442.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-devices-1773724818721.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-outbound-1773724800429.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-product-categories-1773724814983.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-products-1773724812923.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-serial-numbers-1773724801816.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-suppliers-1773724776440.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-supply-chain-1773724774524.json","e2e/output/playwright/supply-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v4/failure-1.html","e2e/output/playwright/supply-governance-recheck-v4/failure-1.png","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-bom-1773724908303.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-issues-1773724912024.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-orders-1773724910085.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-receipts-1773724913947.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assets-1773724920008.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-devices-1773724922280.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-outbound-1773724903876.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-product-categories-1773724918547.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-products-1773724916486.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-serial-numbers-1773724905275.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-suppliers-1773724890016.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-supply-chain-1773724888101.json","e2e/output/playwright/supply-governance-recheck-v4/visible-menu-snapshot.json","e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md"],"removed":["e2e/playwright-report/data/2bb2f2c3e1d82fa9325fdd6b5f4669df159db17a.md","e2e/playwright-report/data/92afb63601a0131a016d16a554bdb89a648849de.png","e2e/test-results/.last-run.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","e2e/test-results/results.json"],"modified":["backend/src/modules/ad-campaigns/ad-campaigns.service.ts","backend/src/modules/community-groups/community-group.contract.routes.ts","backend/src/shared/process-core/default-workflow-definitions.ts","e2e/playwright-report/index.html","e2e/tests/crud/module-catalog.overrides.ts"]},{"id":"46e5f097ea53c593ee709803d6679b5520a6b271","message":"Fix growth module write contracts and governance probes\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/46e5f097ea53c593ee709803d6679b5520a6b271","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:14:33+08:00","added":[".claude/worktrees/vibrant-mestorf","e2e/output/playwright/growth-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v2/failure-1.html","e2e/output/playwright/growth-governance-recheck-v2/failure-1.png","e2e/output/playwright/growth-governance-recheck-v2/failure-2.html","e2e/output/playwright/growth-governance-recheck-v2/failure-2.png","e2e/output/playwright/growth-governance-recheck-v2/failure-3.html","e2e/output/playwright/growth-governance-recheck-v2/failure-3.png","e2e/output/playwright/growth-governance-recheck-v2/failure-4.html","e2e/output/playwright/growth-governance-recheck-v2/failure-4.png","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-accounts-1773637103428.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-audiences-1773637097919.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-biddings-1773637106233.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-campaigns-1773637092737.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-creatives-1773637095413.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-reports-1773637100574.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-campaign-library-1773637068728.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-campaigns-1773637064334.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-activities-1773637125231.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-bots-1773637138800.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-groups-1773637108862.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-members-1773637110559.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-points-1773637114159.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-tasks-1773637117170.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-customer-marketing-1773637067192.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-journey-orchestration-1773637115613.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-marketing-automation-1773637120849.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-marketing-chatbot-1773637111690.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-predictive-analytics-1773637123749.json","e2e/output/playwright/growth-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v3/failure-1.html","e2e/output/playwright/growth-governance-recheck-v3/failure-1.png","e2e/output/playwright/growth-governance-recheck-v3/failure-2.html","e2e/output/playwright/growth-governance-recheck-v3/failure-2.png","e2e/output/playwright/growth-governance-recheck-v3/failure-3.html","e2e/output/playwright/growth-governance-recheck-v3/failure-3.png","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-accounts-1773637290819.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-audiences-1773637285318.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-biddings-1773637293641.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-campaigns-1773637280219.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-creatives-1773637282870.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-reports-1773637287997.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-campaign-library-1773637256300.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-campaigns-1773637252140.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-activities-1773637312007.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-bots-1773637315094.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-groups-1773637296205.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-members-1773637297858.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-points-1773637301326.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-tasks-1773637304221.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-customer-marketing-1773637254826.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-journey-orchestration-1773637302713.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-marketing-automation-1773637307735.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-marketing-chatbot-1773637298900.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-predictive-analytics-1773637310596.json","e2e/output/playwright/growth-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v4/failure-1.html","e2e/output/playwright/growth-governance-recheck-v4/failure-1.png","e2e/output/playwright/growth-governance-recheck-v4/failure-2.html","e2e/output/playwright/growth-governance-recheck-v4/failure-2.png","e2e/output/playwright/growth-governance-recheck-v4/failure-3.html","e2e/output/playwright/growth-governance-recheck-v4/failure-3.png","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-accounts-1773637580471.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-audiences-1773637574939.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-biddings-1773637583127.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-campaigns-1773637569798.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-creatives-1773637572491.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-reports-1773637577693.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-campaign-library-1773637545837.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-campaigns-1773637541347.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-activities-1773637601885.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-bots-1773637615595.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-groups-1773637585737.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-members-1773637587440.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-points-1773637590954.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-tasks-1773637593940.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-customer-marketing-1773637544263.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-journey-orchestration-1773637592404.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-marketing-automation-1773637597490.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-marketing-chatbot-1773637588564.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-predictive-analytics-1773637600359.json","e2e/output/playwright/growth-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v5/failure-1.html","e2e/output/playwright/growth-governance-recheck-v5/failure-1.png","e2e/output/playwright/growth-governance-recheck-v5/failure-2.html","e2e/output/playwright/growth-governance-recheck-v5/failure-2.png","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-accounts-1773637856277.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-audiences-1773637850560.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-biddings-1773637859067.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-campaigns-1773637845354.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-creatives-1773637848041.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-reports-1773637853256.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-campaign-library-1773637842008.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-campaigns-1773637837583.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-activities-1773637878336.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-bots-1773637891983.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-groups-1773637861569.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-members-1773637863254.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-points-1773637867326.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-tasks-1773637870372.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-customer-marketing-1773637840454.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-journey-orchestration-1773637868795.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-marketing-automation-1773637874004.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-marketing-chatbot-1773637864856.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-predictive-analytics-1773637876874.json","e2e/output/playwright/growth-governance-recheck-v5/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck/failure-1.html","e2e/output/playwright/growth-governance-recheck/failure-1.png","e2e/output/playwright/growth-governance-recheck/failure-10.html","e2e/output/playwright/growth-governance-recheck/failure-10.png","e2e/output/playwright/growth-governance-recheck/failure-11.html","e2e/output/playwright/growth-governance-recheck/failure-11.png","e2e/output/playwright/growth-governance-recheck/failure-12.html","e2e/output/playwright/growth-governance-recheck/failure-12.png","e2e/output/playwright/growth-governance-recheck/failure-13.html","e2e/output/playwright/growth-governance-recheck/failure-13.png","e2e/output/playwright/growth-governance-recheck/failure-2.html","e2e/output/playwright/growth-governance-recheck/failure-2.png","e2e/output/playwright/growth-governance-recheck/failure-3.html","e2e/output/playwright/growth-governance-recheck/failure-3.png","e2e/output/playwright/growth-governance-recheck/failure-4.html","e2e/output/playwright/growth-governance-recheck/failure-4.png","e2e/output/playwright/growth-governance-recheck/failure-5.html","e2e/output/playwright/growth-governance-recheck/failure-5.png","e2e/output/playwright/growth-governance-recheck/failure-6.html","e2e/output/playwright/growth-governance-recheck/failure-6.png","e2e/output/playwright/growth-governance-recheck/failure-7.html","e2e/output/playwright/growth-governance-recheck/failure-7.png","e2e/output/playwright/growth-governance-recheck/failure-8.html","e2e/output/playwright/growth-governance-recheck/failure-8.png","e2e/output/playwright/growth-governance-recheck/failure-9.html","e2e/output/playwright/growth-governance-recheck/failure-9.png","e2e/output/playwright/growth-governance-recheck/probes/-ad-accounts-1773636279090.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-audiences-1773636274572.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-biddings-1773636281658.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-campaigns-1773636269396.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-creatives-1773636272040.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-reports-1773636276435.json","e2e/output/playwright/growth-governance-recheck/probes/-campaign-library-1773636266028.json","e2e/output/playwright/growth-governance-recheck/probes/-campaigns-1773636262465.json","e2e/output/playwright/growth-governance-recheck/probes/-community-activities-1773636296839.json","e2e/output/playwright/growth-governance-recheck/probes/-community-bots-1773636309301.json","e2e/output/playwright/growth-governance-recheck/probes/-community-groups-1773636282678.json","e2e/output/playwright/growth-governance-recheck/probes/-community-members-1773636283728.json","e2e/output/playwright/growth-governance-recheck/probes/-community-points-1773636287173.json","e2e/output/playwright/growth-governance-recheck/probes/-community-tasks-1773636289789.json","e2e/output/playwright/growth-governance-recheck/probes/-customer-marketing-1773636264449.json","e2e/output/playwright/growth-governance-recheck/probes/-journey-orchestration-1773636288630.json","e2e/output/playwright/growth-governance-recheck/probes/-marketing-automation-1773636292934.json","e2e/output/playwright/growth-governance-recheck/probes/-marketing-chatbot-1773636284766.json","e2e/output/playwright/growth-governance-recheck/probes/-predictive-analytics-1773636295835.json","e2e/output/playwright/growth-governance-recheck/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v2/failure-1.html","e2e/output/playwright/supply-governance-recheck-v2/failure-1.png","e2e/output/playwright/supply-governance-recheck-v2/failure-2.html","e2e/output/playwright/supply-governance-recheck-v2/failure-2.png","e2e/output/playwright/supply-governance-recheck-v2/failure-3.html","e2e/output/playwright/supply-governance-recheck-v2/failure-3.png","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-bom-1773638085569.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-issues-1773638089294.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-orders-1773638087361.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-receipts-1773638091237.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assets-1773638096600.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-devices-1773638098927.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-outbound-1773638081116.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-product-categories-1773638095076.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-products-1773638093780.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-serial-numbers-1773638082543.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-suppliers-1773638056945.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-supply-chain-1773638054946.json","e2e/output/playwright/supply-governance-recheck-v2/visible-menu-snapshot.json","e2e/playwright-report/data/2bb2f2c3e1d82fa9325fdd6b5f4669df159db17a.md","e2e/playwright-report/data/92afb63601a0131a016d16a554bdb89a648849de.png","e2e/test-results/.last-run.json","e2e/test-results/results.json"],"removed":[],"modified":["backend/src/modules/ad-accounts/ad-account.controller.ts","backend/src/modules/ad-biddings/ad-bidding.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/shared/utils/biz-code.ts","e2e/playwright-report/index.html","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","e2e/tests/crud/module-catalog.overrides.ts"]}],"total_commits":0,"head_commit":{"id":"c1da50f2974fe9552f40dde68ec34df656ddca22","message":"feat: 同步治理文档与 Playwright 可见菜单写批次运行产物\n\n- 更新四份核心文档(AGENTS/CLAUDE/GEMINI/README)菜单深交互基线治理经验\n- 补充 module-governance-acceptance-checklist.md 新模板\n- 更新 module-acceptance-card.md 验收卡与 runbook 运行手册\n- 刷新 inventory.controller.ts 出库模块控制器\n- 同步前端 leads/Index.vue 线索列表页\n- 更新可见菜单写批次:ai-acquisition-content / finance / supply-chain /\n growth-sales-stores-service / synergy / system-infra / hr 域新一轮\n probe JSON、failure 截图与 action-coverage-report\n- 新增 sales-leads / outbound / sales / supply 治理复查产物目录\n- 更新 e2e 测试脚本与 CRUD catalog 配置\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c1da50f2974fe9552f40dde68ec34df656ddca22","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T15:28:33+08:00","added":["docs/templates/governance/module-governance-acceptance-checklist.md","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v1/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.html","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.png","e2e/output/playwright/outbound-governance-recheck-v1/probes/-outbound-1773728392272.json","e2e/output/playwright/outbound-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v2/probes/-outbound-1773729291584.json","e2e/output/playwright/outbound-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/sales-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/sales-governance-recheck-v2/failure-1.html","e2e/output/playwright/sales-governance-recheck-v2/failure-1.png","e2e/output/playwright/sales-governance-recheck-v2/failure-2.html","e2e/output/playwright/sales-governance-recheck-v2/failure-2.png","e2e/output/playwright/sales-governance-recheck-v2/probes/-leads-1773730807935.json","e2e/output/playwright/sales-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/sales-leads-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/sales-leads-governance-recheck-v4/probes/-leads-1773728044474.json","e2e/output/playwright/sales-leads-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v5/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-bom-1773730659592.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-issues-1773730663321.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-orders-1773730661365.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-receipts-1773730665247.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assets-1773730671300.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-devices-1773730673579.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-outbound-1773730655235.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-product-categories-1773730669828.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-products-1773730667766.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-serial-numbers-1773730656634.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-suppliers-1773730630707.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-supply-chain-1773730628780.json","e2e/output/playwright/supply-governance-recheck-v5/visible-menu-snapshot.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.png","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773730293426.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773730346930.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773730265455.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773730339395.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773730342218.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773730348434.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-leads-1773730376023.json","output/playwright/full-menu-write-batches/finance/action-coverage-report.md","output/playwright/full-menu-write-batches/finance/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/finance/failure-3.html","output/playwright/full-menu-write-batches/finance/failure-3.png","output/playwright/full-menu-write-batches/finance/failure-4.html","output/playwright/full-menu-write-batches/finance/failure-4.png","output/playwright/full-menu-write-batches/finance/failure-5.html","output/playwright/full-menu-write-batches/finance/failure-5.png","output/playwright/full-menu-write-batches/finance/failure-6.html","output/playwright/full-menu-write-batches/finance/failure-6.png","output/playwright/full-menu-write-batches/finance/failure-7.html","output/playwright/full-menu-write-batches/finance/failure-7.png","output/playwright/full-menu-write-batches/finance/failure-8.html","output/playwright/full-menu-write-batches/finance/failure-8.png","output/playwright/full-menu-write-batches/finance/failure-9.html","output/playwright/full-menu-write-batches/finance/failure-9.png","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773730815434.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773730746198.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773730747838.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-accounts-1773730566774.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-audiences-1773730561615.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-biddings-1773730569333.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-campaigns-1773730556834.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-creatives-1773730559313.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-reports-1773730564152.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaign-library-1773730532757.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaigns-1773730528728.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-activities-1773730587398.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-bots-1773730600826.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-groups-1773730571925.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-members-1773730573486.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-points-1773730577188.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-tasks-1773730579980.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customer-marketing-1773730531325.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-journey-orchestration-1773730578554.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-automation-1773730583244.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-chatbot-1773730574929.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-predictive-analytics-1773730586008.json","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773731255349.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773731072621.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773731076369.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773731074407.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773731078283.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assets-1773731084301.json","output/playwright/full-menu-write-batches/supply-chain/probes/-devices-1773731086563.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773731068258.json","output/playwright/full-menu-write-batches/supply-chain/probes/-product-categories-1773731082834.json","output/playwright/full-menu-write-batches/supply-chain/probes/-products-1773731080800.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773731069659.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773731043692.json","output/playwright/full-menu-write-batches/supply-chain/probes/-supply-chain-1773731041756.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773731295866.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773731281925.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773731268383.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773731266376.json"],"removed":["e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773632942127.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773632995925.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773632916088.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773632988219.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773632991102.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773632997429.json","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773633734328.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773633664730.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773633666424.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.png","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773634383805.json","output/playwright/full-menu-write-batches/supply-chain/failure-1.html","output/playwright/full-menu-write-batches/supply-chain/failure-1.png","output/playwright/full-menu-write-batches/supply-chain/failure-2.html","output/playwright/full-menu-write-batches/supply-chain/failure-2.png","output/playwright/full-menu-write-batches/supply-chain/failure-3.html","output/playwright/full-menu-write-batches/supply-chain/failure-3.png","output/playwright/full-menu-write-batches/supply-chain/failure-4.html","output/playwright/full-menu-write-batches/supply-chain/failure-4.png","output/playwright/full-menu-write-batches/supply-chain/failure-5.html","output/playwright/full-menu-write-batches/supply-chain/failure-5.png","output/playwright/full-menu-write-batches/supply-chain/failure-6.html","output/playwright/full-menu-write-batches/supply-chain/failure-6.png","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773633901574.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773633905434.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773633903472.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773633907354.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773633897130.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773633898566.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773633882907.json","output/playwright/full-menu-write-batches/synergy/action-coverage-report.json","output/playwright/full-menu-write-batches/synergy/probes/-departments-1773633979244.json","output/playwright/full-menu-write-batches/synergy/probes/-knowledge-1773633919146.json","output/playwright/full-menu-write-batches/synergy/probes/-stage-knowledge-1773633921148.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773634434163.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773634420132.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773634396344.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773634394393.json"],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/inventory/inventory.controller.ts","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/templates/governance/module-acceptance-card.md","e2e/playwright-report/index.html","e2e/scripts/run-visible-write-batches.mjs","e2e/tests/crud/01-visible-menu-write-runner.spec.ts","e2e/tests/crud/module-catalog.overrides.ts","e2e/tests/crud/types.ts","e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/views/leads/Index.vue","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.json","output/playwright/full-menu-write-batches/batch-summary.json","output/playwright/full-menu-write-batches/batch-summary.md","output/playwright/full-menu-write-batches/finance/action-coverage-report.json","output/playwright/full-menu-write-batches/finance/failure-1.html","output/playwright/full-menu-write-batches/finance/failure-1.png","output/playwright/full-menu-write-batches/finance/failure-2.html","output/playwright/full-menu-write-batches/finance/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.md","output/playwright/full-menu-write-batches/supply-chain/blocked-unmapped-pages.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/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":1162552,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-17T15:30:33+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
1
|
3
|
1773736532
|
1773736533
|
0
|
1773736532
|
1773736533
|
NULL
|
|
0
|
Edit
Delete
|
|
6372
|
feat: 同步治理文档与 Playwright 可见菜单写批次运行产物
|
6
|
5
|
health-check.yml
|
6305
|
-2
|
58
|
refs/heads/main
|
c1da50f2974fe9552f40dde68ec34df656ddca22
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e5a2f5ba8d6442be07c490ec77c734dbe317bfd5","after":"c1da50f2974fe9552f40dde68ec34df656ddca22","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e5a2f5ba8d6442be07c490ec77c734dbe317bfd5...c1da50f2974fe9552f40dde68ec34df656ddca22","commits":[{"id":"c1da50f2974fe9552f40dde68ec34df656ddca22","message":"feat: 同步治理文档与 Playwright 可见菜单写批次运行产物\n\n- 更新四份核心文档(AGENTS/CLAUDE/GEMINI/README)菜单深交互基线治理经验\n- 补充 module-governance-acceptance-checklist.md 新模板\n- 更新 module-acceptance-card.md 验收卡与 runbook 运行手册\n- 刷新 inventory.controller.ts 出库模块控制器\n- 同步前端 leads/Index.vue 线索列表页\n- 更新可见菜单写批次:ai-acquisition-content / finance / supply-chain /\n growth-sales-stores-service / synergy / system-infra / hr 域新一轮\n probe JSON、failure 截图与 action-coverage-report\n- 新增 sales-leads / outbound / sales / supply 治理复查产物目录\n- 更新 e2e 测试脚本与 CRUD catalog 配置\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c1da50f2974fe9552f40dde68ec34df656ddca22","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T15:28:33+08:00","added":["docs/templates/governance/module-governance-acceptance-checklist.md","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v1/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.html","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.png","e2e/output/playwright/outbound-governance-recheck-v1/probes/-outbound-1773728392272.json","e2e/output/playwright/outbound-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v2/probes/-outbound-1773729291584.json","e2e/output/playwright/outbound-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/sales-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/sales-governance-recheck-v2/failure-1.html","e2e/output/playwright/sales-governance-recheck-v2/failure-1.png","e2e/output/playwright/sales-governance-recheck-v2/failure-2.html","e2e/output/playwright/sales-governance-recheck-v2/failure-2.png","e2e/output/playwright/sales-governance-recheck-v2/probes/-leads-1773730807935.json","e2e/output/playwright/sales-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/sales-leads-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/sales-leads-governance-recheck-v4/probes/-leads-1773728044474.json","e2e/output/playwright/sales-leads-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v5/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-bom-1773730659592.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-issues-1773730663321.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-orders-1773730661365.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-receipts-1773730665247.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assets-1773730671300.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-devices-1773730673579.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-outbound-1773730655235.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-product-categories-1773730669828.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-products-1773730667766.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-serial-numbers-1773730656634.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-suppliers-1773730630707.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-supply-chain-1773730628780.json","e2e/output/playwright/supply-governance-recheck-v5/visible-menu-snapshot.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.png","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773730293426.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773730346930.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773730265455.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773730339395.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773730342218.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773730348434.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-leads-1773730376023.json","output/playwright/full-menu-write-batches/finance/action-coverage-report.md","output/playwright/full-menu-write-batches/finance/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/finance/failure-3.html","output/playwright/full-menu-write-batches/finance/failure-3.png","output/playwright/full-menu-write-batches/finance/failure-4.html","output/playwright/full-menu-write-batches/finance/failure-4.png","output/playwright/full-menu-write-batches/finance/failure-5.html","output/playwright/full-menu-write-batches/finance/failure-5.png","output/playwright/full-menu-write-batches/finance/failure-6.html","output/playwright/full-menu-write-batches/finance/failure-6.png","output/playwright/full-menu-write-batches/finance/failure-7.html","output/playwright/full-menu-write-batches/finance/failure-7.png","output/playwright/full-menu-write-batches/finance/failure-8.html","output/playwright/full-menu-write-batches/finance/failure-8.png","output/playwright/full-menu-write-batches/finance/failure-9.html","output/playwright/full-menu-write-batches/finance/failure-9.png","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773730815434.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773730746198.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773730747838.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-accounts-1773730566774.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-audiences-1773730561615.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-biddings-1773730569333.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-campaigns-1773730556834.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-creatives-1773730559313.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-reports-1773730564152.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaign-library-1773730532757.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaigns-1773730528728.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-activities-1773730587398.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-bots-1773730600826.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-groups-1773730571925.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-members-1773730573486.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-points-1773730577188.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-tasks-1773730579980.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customer-marketing-1773730531325.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-journey-orchestration-1773730578554.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-automation-1773730583244.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-chatbot-1773730574929.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-predictive-analytics-1773730586008.json","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773731255349.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773731072621.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773731076369.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773731074407.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773731078283.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assets-1773731084301.json","output/playwright/full-menu-write-batches/supply-chain/probes/-devices-1773731086563.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773731068258.json","output/playwright/full-menu-write-batches/supply-chain/probes/-product-categories-1773731082834.json","output/playwright/full-menu-write-batches/supply-chain/probes/-products-1773731080800.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773731069659.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773731043692.json","output/playwright/full-menu-write-batches/supply-chain/probes/-supply-chain-1773731041756.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773731295866.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773731281925.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773731268383.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773731266376.json"],"removed":["e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773632942127.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773632995925.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773632916088.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773632988219.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773632991102.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773632997429.json","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773633734328.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773633664730.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773633666424.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.png","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773634383805.json","output/playwright/full-menu-write-batches/supply-chain/failure-1.html","output/playwright/full-menu-write-batches/supply-chain/failure-1.png","output/playwright/full-menu-write-batches/supply-chain/failure-2.html","output/playwright/full-menu-write-batches/supply-chain/failure-2.png","output/playwright/full-menu-write-batches/supply-chain/failure-3.html","output/playwright/full-menu-write-batches/supply-chain/failure-3.png","output/playwright/full-menu-write-batches/supply-chain/failure-4.html","output/playwright/full-menu-write-batches/supply-chain/failure-4.png","output/playwright/full-menu-write-batches/supply-chain/failure-5.html","output/playwright/full-menu-write-batches/supply-chain/failure-5.png","output/playwright/full-menu-write-batches/supply-chain/failure-6.html","output/playwright/full-menu-write-batches/supply-chain/failure-6.png","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773633901574.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773633905434.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773633903472.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773633907354.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773633897130.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773633898566.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773633882907.json","output/playwright/full-menu-write-batches/synergy/action-coverage-report.json","output/playwright/full-menu-write-batches/synergy/probes/-departments-1773633979244.json","output/playwright/full-menu-write-batches/synergy/probes/-knowledge-1773633919146.json","output/playwright/full-menu-write-batches/synergy/probes/-stage-knowledge-1773633921148.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773634434163.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773634420132.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773634396344.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773634394393.json"],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/inventory/inventory.controller.ts","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/templates/governance/module-acceptance-card.md","e2e/playwright-report/index.html","e2e/scripts/run-visible-write-batches.mjs","e2e/tests/crud/01-visible-menu-write-runner.spec.ts","e2e/tests/crud/module-catalog.overrides.ts","e2e/tests/crud/types.ts","e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/views/leads/Index.vue","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.json","output/playwright/full-menu-write-batches/batch-summary.json","output/playwright/full-menu-write-batches/batch-summary.md","output/playwright/full-menu-write-batches/finance/action-coverage-report.json","output/playwright/full-menu-write-batches/finance/failure-1.html","output/playwright/full-menu-write-batches/finance/failure-1.png","output/playwright/full-menu-write-batches/finance/failure-2.html","output/playwright/full-menu-write-batches/finance/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.md","output/playwright/full-menu-write-batches/supply-chain/blocked-unmapped-pages.json"]},{"id":"9d26d79a0e913f59f095f5770c349ada3eb290e6","message":"Sync governance docs with repo triage guidance\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9d26d79a0e913f59f095f5770c349ada3eb290e6","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:59:58+08:00","added":[],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","docs/contract-governance-3.0.md","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/reports/governance-experience-2026-03-07.md"]},{"id":"90763866bd7d7302b2fd963c80971c0c980e2a40","message":"Add visible menu snapshot for sales leads governance recheck\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/90763866bd7d7302b2fd963c80971c0c980e2a40","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:52:59+08:00","added":["e2e/output/playwright/sales-leads-governance-recheck-v2/visible-menu-snapshot.json"],"removed":[],"modified":[]},{"id":"37491f5183c3793b77913e9fa046090fd3e2140e","message":"Fix visible-menu action contracts and refresh Playwright artifacts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/37491f5183c3793b77913e9fa046090fd3e2140e","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:49:50+08:00","added":["e2e/output/playwright/growth-governance-recheck-v6/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v6/failure-1.html","e2e/output/playwright/growth-governance-recheck-v6/failure-1.png","e2e/output/playwright/growth-governance-recheck-v6/failure-2.html","e2e/output/playwright/growth-governance-recheck-v6/failure-2.png","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-accounts-1773724659044.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-audiences-1773724653884.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-biddings-1773724661639.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-campaigns-1773724649143.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-creatives-1773724651605.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-reports-1773724656426.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-campaign-library-1773724625404.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-campaigns-1773724621356.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-activities-1773724679469.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-bots-1773724692868.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-groups-1773724663988.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-members-1773724665547.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-points-1773724669207.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-tasks-1773724672014.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-customer-marketing-1773724623985.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-journey-orchestration-1773724670573.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-marketing-automation-1773724675311.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-marketing-chatbot-1773724666974.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-predictive-analytics-1773724678072.json","e2e/output/playwright/growth-governance-recheck-v6/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v7/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v7/failure-1.html","e2e/output/playwright/growth-governance-recheck-v7/failure-1.png","e2e/output/playwright/growth-governance-recheck-v7/failure-2.html","e2e/output/playwright/growth-governance-recheck-v7/failure-2.png","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-audiences-1773725119348.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-biddings-1773725144948.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-campaigns-1773725114561.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-creatives-1773725117027.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-reports-1773725121927.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-campaign-library-1773725090781.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-campaigns-1773725086648.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-activities-1773725163012.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-bots-1773725176355.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-groups-1773725147556.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-members-1773725149129.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-points-1773725152767.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-tasks-1773725155559.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-customer-marketing-1773725089355.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-journey-orchestration-1773725154125.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-marketing-automation-1773725158850.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-marketing-chatbot-1773725150561.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-predictive-analytics-1773725161612.json","e2e/output/playwright/growth-governance-recheck-v7/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v8/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-accounts-1773725331287.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-audiences-1773725326038.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-biddings-1773725333878.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-campaigns-1773725321263.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-creatives-1773725323743.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-reports-1773725328622.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-campaign-library-1773725297280.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-campaigns-1773725293257.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-activities-1773725352012.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-bots-1773725365518.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-groups-1773725336490.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-members-1773725338048.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-points-1773725341744.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-tasks-1773725344573.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-customer-marketing-1773725295883.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-journey-orchestration-1773725343111.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-marketing-automation-1773725347852.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-marketing-chatbot-1773725339499.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-predictive-analytics-1773725350608.json","e2e/output/playwright/growth-governance-recheck-v8/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v1-page1/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/sales-stores-service-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v3/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v3/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v3/failure-1.html","e2e/output/playwright/supply-governance-recheck-v3/failure-1.png","e2e/output/playwright/supply-governance-recheck-v3/failure-2.html","e2e/output/playwright/supply-governance-recheck-v3/failure-2.png","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-bom-1773724804766.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-issues-1773724808526.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-orders-1773724806554.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-receipts-1773724810440.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assets-1773724816442.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-devices-1773724818721.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-outbound-1773724800429.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-product-categories-1773724814983.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-products-1773724812923.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-serial-numbers-1773724801816.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-suppliers-1773724776440.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-supply-chain-1773724774524.json","e2e/output/playwright/supply-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v4/failure-1.html","e2e/output/playwright/supply-governance-recheck-v4/failure-1.png","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-bom-1773724908303.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-issues-1773724912024.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-orders-1773724910085.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-receipts-1773724913947.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assets-1773724920008.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-devices-1773724922280.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-outbound-1773724903876.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-product-categories-1773724918547.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-products-1773724916486.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-serial-numbers-1773724905275.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-suppliers-1773724890016.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-supply-chain-1773724888101.json","e2e/output/playwright/supply-governance-recheck-v4/visible-menu-snapshot.json","e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md"],"removed":["e2e/playwright-report/data/2bb2f2c3e1d82fa9325fdd6b5f4669df159db17a.md","e2e/playwright-report/data/92afb63601a0131a016d16a554bdb89a648849de.png","e2e/test-results/.last-run.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","e2e/test-results/results.json"],"modified":["backend/src/modules/ad-campaigns/ad-campaigns.service.ts","backend/src/modules/community-groups/community-group.contract.routes.ts","backend/src/shared/process-core/default-workflow-definitions.ts","e2e/playwright-report/index.html","e2e/tests/crud/module-catalog.overrides.ts"]},{"id":"46e5f097ea53c593ee709803d6679b5520a6b271","message":"Fix growth module write contracts and governance probes\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/46e5f097ea53c593ee709803d6679b5520a6b271","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:14:33+08:00","added":[".claude/worktrees/vibrant-mestorf","e2e/output/playwright/growth-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v2/failure-1.html","e2e/output/playwright/growth-governance-recheck-v2/failure-1.png","e2e/output/playwright/growth-governance-recheck-v2/failure-2.html","e2e/output/playwright/growth-governance-recheck-v2/failure-2.png","e2e/output/playwright/growth-governance-recheck-v2/failure-3.html","e2e/output/playwright/growth-governance-recheck-v2/failure-3.png","e2e/output/playwright/growth-governance-recheck-v2/failure-4.html","e2e/output/playwright/growth-governance-recheck-v2/failure-4.png","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-accounts-1773637103428.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-audiences-1773637097919.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-biddings-1773637106233.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-campaigns-1773637092737.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-creatives-1773637095413.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-reports-1773637100574.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-campaign-library-1773637068728.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-campaigns-1773637064334.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-activities-1773637125231.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-bots-1773637138800.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-groups-1773637108862.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-members-1773637110559.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-points-1773637114159.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-tasks-1773637117170.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-customer-marketing-1773637067192.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-journey-orchestration-1773637115613.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-marketing-automation-1773637120849.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-marketing-chatbot-1773637111690.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-predictive-analytics-1773637123749.json","e2e/output/playwright/growth-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v3/failure-1.html","e2e/output/playwright/growth-governance-recheck-v3/failure-1.png","e2e/output/playwright/growth-governance-recheck-v3/failure-2.html","e2e/output/playwright/growth-governance-recheck-v3/failure-2.png","e2e/output/playwright/growth-governance-recheck-v3/failure-3.html","e2e/output/playwright/growth-governance-recheck-v3/failure-3.png","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-accounts-1773637290819.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-audiences-1773637285318.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-biddings-1773637293641.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-campaigns-1773637280219.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-creatives-1773637282870.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-reports-1773637287997.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-campaign-library-1773637256300.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-campaigns-1773637252140.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-activities-1773637312007.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-bots-1773637315094.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-groups-1773637296205.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-members-1773637297858.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-points-1773637301326.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-tasks-1773637304221.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-customer-marketing-1773637254826.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-journey-orchestration-1773637302713.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-marketing-automation-1773637307735.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-marketing-chatbot-1773637298900.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-predictive-analytics-1773637310596.json","e2e/output/playwright/growth-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v4/failure-1.html","e2e/output/playwright/growth-governance-recheck-v4/failure-1.png","e2e/output/playwright/growth-governance-recheck-v4/failure-2.html","e2e/output/playwright/growth-governance-recheck-v4/failure-2.png","e2e/output/playwright/growth-governance-recheck-v4/failure-3.html","e2e/output/playwright/growth-governance-recheck-v4/failure-3.png","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-accounts-1773637580471.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-audiences-1773637574939.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-biddings-1773637583127.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-campaigns-1773637569798.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-creatives-1773637572491.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-reports-1773637577693.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-campaign-library-1773637545837.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-campaigns-1773637541347.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-activities-1773637601885.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-bots-1773637615595.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-groups-1773637585737.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-members-1773637587440.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-points-1773637590954.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-tasks-1773637593940.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-customer-marketing-1773637544263.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-journey-orchestration-1773637592404.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-marketing-automation-1773637597490.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-marketing-chatbot-1773637588564.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-predictive-analytics-1773637600359.json","e2e/output/playwright/growth-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v5/failure-1.html","e2e/output/playwright/growth-governance-recheck-v5/failure-1.png","e2e/output/playwright/growth-governance-recheck-v5/failure-2.html","e2e/output/playwright/growth-governance-recheck-v5/failure-2.png","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-accounts-1773637856277.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-audiences-1773637850560.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-biddings-1773637859067.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-campaigns-1773637845354.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-creatives-1773637848041.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-reports-1773637853256.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-campaign-library-1773637842008.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-campaigns-1773637837583.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-activities-1773637878336.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-bots-1773637891983.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-groups-1773637861569.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-members-1773637863254.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-points-1773637867326.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-tasks-1773637870372.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-customer-marketing-1773637840454.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-journey-orchestration-1773637868795.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-marketing-automation-1773637874004.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-marketing-chatbot-1773637864856.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-predictive-analytics-1773637876874.json","e2e/output/playwright/growth-governance-recheck-v5/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck/failure-1.html","e2e/output/playwright/growth-governance-recheck/failure-1.png","e2e/output/playwright/growth-governance-recheck/failure-10.html","e2e/output/playwright/growth-governance-recheck/failure-10.png","e2e/output/playwright/growth-governance-recheck/failure-11.html","e2e/output/playwright/growth-governance-recheck/failure-11.png","e2e/output/playwright/growth-governance-recheck/failure-12.html","e2e/output/playwright/growth-governance-recheck/failure-12.png","e2e/output/playwright/growth-governance-recheck/failure-13.html","e2e/output/playwright/growth-governance-recheck/failure-13.png","e2e/output/playwright/growth-governance-recheck/failure-2.html","e2e/output/playwright/growth-governance-recheck/failure-2.png","e2e/output/playwright/growth-governance-recheck/failure-3.html","e2e/output/playwright/growth-governance-recheck/failure-3.png","e2e/output/playwright/growth-governance-recheck/failure-4.html","e2e/output/playwright/growth-governance-recheck/failure-4.png","e2e/output/playwright/growth-governance-recheck/failure-5.html","e2e/output/playwright/growth-governance-recheck/failure-5.png","e2e/output/playwright/growth-governance-recheck/failure-6.html","e2e/output/playwright/growth-governance-recheck/failure-6.png","e2e/output/playwright/growth-governance-recheck/failure-7.html","e2e/output/playwright/growth-governance-recheck/failure-7.png","e2e/output/playwright/growth-governance-recheck/failure-8.html","e2e/output/playwright/growth-governance-recheck/failure-8.png","e2e/output/playwright/growth-governance-recheck/failure-9.html","e2e/output/playwright/growth-governance-recheck/failure-9.png","e2e/output/playwright/growth-governance-recheck/probes/-ad-accounts-1773636279090.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-audiences-1773636274572.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-biddings-1773636281658.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-campaigns-1773636269396.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-creatives-1773636272040.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-reports-1773636276435.json","e2e/output/playwright/growth-governance-recheck/probes/-campaign-library-1773636266028.json","e2e/output/playwright/growth-governance-recheck/probes/-campaigns-1773636262465.json","e2e/output/playwright/growth-governance-recheck/probes/-community-activities-1773636296839.json","e2e/output/playwright/growth-governance-recheck/probes/-community-bots-1773636309301.json","e2e/output/playwright/growth-governance-recheck/probes/-community-groups-1773636282678.json","e2e/output/playwright/growth-governance-recheck/probes/-community-members-1773636283728.json","e2e/output/playwright/growth-governance-recheck/probes/-community-points-1773636287173.json","e2e/output/playwright/growth-governance-recheck/probes/-community-tasks-1773636289789.json","e2e/output/playwright/growth-governance-recheck/probes/-customer-marketing-1773636264449.json","e2e/output/playwright/growth-governance-recheck/probes/-journey-orchestration-1773636288630.json","e2e/output/playwright/growth-governance-recheck/probes/-marketing-automation-1773636292934.json","e2e/output/playwright/growth-governance-recheck/probes/-marketing-chatbot-1773636284766.json","e2e/output/playwright/growth-governance-recheck/probes/-predictive-analytics-1773636295835.json","e2e/output/playwright/growth-governance-recheck/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v2/failure-1.html","e2e/output/playwright/supply-governance-recheck-v2/failure-1.png","e2e/output/playwright/supply-governance-recheck-v2/failure-2.html","e2e/output/playwright/supply-governance-recheck-v2/failure-2.png","e2e/output/playwright/supply-governance-recheck-v2/failure-3.html","e2e/output/playwright/supply-governance-recheck-v2/failure-3.png","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-bom-1773638085569.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-issues-1773638089294.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-orders-1773638087361.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-receipts-1773638091237.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assets-1773638096600.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-devices-1773638098927.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-outbound-1773638081116.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-product-categories-1773638095076.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-products-1773638093780.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-serial-numbers-1773638082543.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-suppliers-1773638056945.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-supply-chain-1773638054946.json","e2e/output/playwright/supply-governance-recheck-v2/visible-menu-snapshot.json","e2e/playwright-report/data/2bb2f2c3e1d82fa9325fdd6b5f4669df159db17a.md","e2e/playwright-report/data/92afb63601a0131a016d16a554bdb89a648849de.png","e2e/test-results/.last-run.json","e2e/test-results/results.json"],"removed":[],"modified":["backend/src/modules/ad-accounts/ad-account.controller.ts","backend/src/modules/ad-biddings/ad-bidding.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/shared/utils/biz-code.ts","e2e/playwright-report/index.html","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","e2e/tests/crud/module-catalog.overrides.ts"]}],"total_commits":0,"head_commit":{"id":"c1da50f2974fe9552f40dde68ec34df656ddca22","message":"feat: 同步治理文档与 Playwright 可见菜单写批次运行产物\n\n- 更新四份核心文档(AGENTS/CLAUDE/GEMINI/README)菜单深交互基线治理经验\n- 补充 module-governance-acceptance-checklist.md 新模板\n- 更新 module-acceptance-card.md 验收卡与 runbook 运行手册\n- 刷新 inventory.controller.ts 出库模块控制器\n- 同步前端 leads/Index.vue 线索列表页\n- 更新可见菜单写批次:ai-acquisition-content / finance / supply-chain /\n growth-sales-stores-service / synergy / system-infra / hr 域新一轮\n probe JSON、failure 截图与 action-coverage-report\n- 新增 sales-leads / outbound / sales / supply 治理复查产物目录\n- 更新 e2e 测试脚本与 CRUD catalog 配置\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c1da50f2974fe9552f40dde68ec34df656ddca22","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T15:28:33+08:00","added":["docs/templates/governance/module-governance-acceptance-checklist.md","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v1/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.html","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.png","e2e/output/playwright/outbound-governance-recheck-v1/probes/-outbound-1773728392272.json","e2e/output/playwright/outbound-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v2/probes/-outbound-1773729291584.json","e2e/output/playwright/outbound-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/sales-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/sales-governance-recheck-v2/failure-1.html","e2e/output/playwright/sales-governance-recheck-v2/failure-1.png","e2e/output/playwright/sales-governance-recheck-v2/failure-2.html","e2e/output/playwright/sales-governance-recheck-v2/failure-2.png","e2e/output/playwright/sales-governance-recheck-v2/probes/-leads-1773730807935.json","e2e/output/playwright/sales-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/sales-leads-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/sales-leads-governance-recheck-v4/probes/-leads-1773728044474.json","e2e/output/playwright/sales-leads-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v5/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-bom-1773730659592.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-issues-1773730663321.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-orders-1773730661365.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-receipts-1773730665247.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assets-1773730671300.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-devices-1773730673579.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-outbound-1773730655235.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-product-categories-1773730669828.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-products-1773730667766.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-serial-numbers-1773730656634.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-suppliers-1773730630707.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-supply-chain-1773730628780.json","e2e/output/playwright/supply-governance-recheck-v5/visible-menu-snapshot.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.png","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773730293426.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773730346930.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773730265455.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773730339395.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773730342218.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773730348434.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-leads-1773730376023.json","output/playwright/full-menu-write-batches/finance/action-coverage-report.md","output/playwright/full-menu-write-batches/finance/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/finance/failure-3.html","output/playwright/full-menu-write-batches/finance/failure-3.png","output/playwright/full-menu-write-batches/finance/failure-4.html","output/playwright/full-menu-write-batches/finance/failure-4.png","output/playwright/full-menu-write-batches/finance/failure-5.html","output/playwright/full-menu-write-batches/finance/failure-5.png","output/playwright/full-menu-write-batches/finance/failure-6.html","output/playwright/full-menu-write-batches/finance/failure-6.png","output/playwright/full-menu-write-batches/finance/failure-7.html","output/playwright/full-menu-write-batches/finance/failure-7.png","output/playwright/full-menu-write-batches/finance/failure-8.html","output/playwright/full-menu-write-batches/finance/failure-8.png","output/playwright/full-menu-write-batches/finance/failure-9.html","output/playwright/full-menu-write-batches/finance/failure-9.png","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773730815434.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773730746198.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773730747838.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-accounts-1773730566774.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-audiences-1773730561615.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-biddings-1773730569333.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-campaigns-1773730556834.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-creatives-1773730559313.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-reports-1773730564152.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaign-library-1773730532757.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaigns-1773730528728.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-activities-1773730587398.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-bots-1773730600826.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-groups-1773730571925.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-members-1773730573486.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-points-1773730577188.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-tasks-1773730579980.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customer-marketing-1773730531325.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-journey-orchestration-1773730578554.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-automation-1773730583244.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-chatbot-1773730574929.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-predictive-analytics-1773730586008.json","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773731255349.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773731072621.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773731076369.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773731074407.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773731078283.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assets-1773731084301.json","output/playwright/full-menu-write-batches/supply-chain/probes/-devices-1773731086563.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773731068258.json","output/playwright/full-menu-write-batches/supply-chain/probes/-product-categories-1773731082834.json","output/playwright/full-menu-write-batches/supply-chain/probes/-products-1773731080800.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773731069659.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773731043692.json","output/playwright/full-menu-write-batches/supply-chain/probes/-supply-chain-1773731041756.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773731295866.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773731281925.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773731268383.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773731266376.json"],"removed":["e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773632942127.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773632995925.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773632916088.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773632988219.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773632991102.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773632997429.json","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773633734328.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773633664730.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773633666424.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.png","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773634383805.json","output/playwright/full-menu-write-batches/supply-chain/failure-1.html","output/playwright/full-menu-write-batches/supply-chain/failure-1.png","output/playwright/full-menu-write-batches/supply-chain/failure-2.html","output/playwright/full-menu-write-batches/supply-chain/failure-2.png","output/playwright/full-menu-write-batches/supply-chain/failure-3.html","output/playwright/full-menu-write-batches/supply-chain/failure-3.png","output/playwright/full-menu-write-batches/supply-chain/failure-4.html","output/playwright/full-menu-write-batches/supply-chain/failure-4.png","output/playwright/full-menu-write-batches/supply-chain/failure-5.html","output/playwright/full-menu-write-batches/supply-chain/failure-5.png","output/playwright/full-menu-write-batches/supply-chain/failure-6.html","output/playwright/full-menu-write-batches/supply-chain/failure-6.png","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773633901574.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773633905434.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773633903472.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773633907354.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773633897130.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773633898566.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773633882907.json","output/playwright/full-menu-write-batches/synergy/action-coverage-report.json","output/playwright/full-menu-write-batches/synergy/probes/-departments-1773633979244.json","output/playwright/full-menu-write-batches/synergy/probes/-knowledge-1773633919146.json","output/playwright/full-menu-write-batches/synergy/probes/-stage-knowledge-1773633921148.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773634434163.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773634420132.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773634396344.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773634394393.json"],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/inventory/inventory.controller.ts","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/templates/governance/module-acceptance-card.md","e2e/playwright-report/index.html","e2e/scripts/run-visible-write-batches.mjs","e2e/tests/crud/01-visible-menu-write-runner.spec.ts","e2e/tests/crud/module-catalog.overrides.ts","e2e/tests/crud/types.ts","e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/views/leads/Index.vue","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.json","output/playwright/full-menu-write-batches/batch-summary.json","output/playwright/full-menu-write-batches/batch-summary.md","output/playwright/full-menu-write-batches/finance/action-coverage-report.json","output/playwright/full-menu-write-batches/finance/failure-1.html","output/playwright/full-menu-write-batches/finance/failure-1.png","output/playwright/full-menu-write-batches/finance/failure-2.html","output/playwright/full-menu-write-batches/finance/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.md","output/playwright/full-menu-write-batches/supply-chain/blocked-unmapped-pages.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/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":1162552,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-17T15:30:33+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
1
|
3
|
1773736832
|
1773736833
|
0
|
1773736832
|
1773736833
|
NULL
|
|
0
|
Edit
Delete
|
|
6373
|
feat: 同步治理文档与 Playwright 可见菜单写批次运行产物
|
6
|
5
|
health-check.yml
|
6306
|
-2
|
58
|
refs/heads/main
|
c1da50f2974fe9552f40dde68ec34df656ddca22
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e5a2f5ba8d6442be07c490ec77c734dbe317bfd5","after":"c1da50f2974fe9552f40dde68ec34df656ddca22","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e5a2f5ba8d6442be07c490ec77c734dbe317bfd5...c1da50f2974fe9552f40dde68ec34df656ddca22","commits":[{"id":"c1da50f2974fe9552f40dde68ec34df656ddca22","message":"feat: 同步治理文档与 Playwright 可见菜单写批次运行产物\n\n- 更新四份核心文档(AGENTS/CLAUDE/GEMINI/README)菜单深交互基线治理经验\n- 补充 module-governance-acceptance-checklist.md 新模板\n- 更新 module-acceptance-card.md 验收卡与 runbook 运行手册\n- 刷新 inventory.controller.ts 出库模块控制器\n- 同步前端 leads/Index.vue 线索列表页\n- 更新可见菜单写批次:ai-acquisition-content / finance / supply-chain /\n growth-sales-stores-service / synergy / system-infra / hr 域新一轮\n probe JSON、failure 截图与 action-coverage-report\n- 新增 sales-leads / outbound / sales / supply 治理复查产物目录\n- 更新 e2e 测试脚本与 CRUD catalog 配置\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c1da50f2974fe9552f40dde68ec34df656ddca22","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T15:28:33+08:00","added":["docs/templates/governance/module-governance-acceptance-checklist.md","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v1/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.html","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.png","e2e/output/playwright/outbound-governance-recheck-v1/probes/-outbound-1773728392272.json","e2e/output/playwright/outbound-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v2/probes/-outbound-1773729291584.json","e2e/output/playwright/outbound-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/sales-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/sales-governance-recheck-v2/failure-1.html","e2e/output/playwright/sales-governance-recheck-v2/failure-1.png","e2e/output/playwright/sales-governance-recheck-v2/failure-2.html","e2e/output/playwright/sales-governance-recheck-v2/failure-2.png","e2e/output/playwright/sales-governance-recheck-v2/probes/-leads-1773730807935.json","e2e/output/playwright/sales-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/sales-leads-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/sales-leads-governance-recheck-v4/probes/-leads-1773728044474.json","e2e/output/playwright/sales-leads-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v5/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-bom-1773730659592.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-issues-1773730663321.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-orders-1773730661365.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-receipts-1773730665247.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assets-1773730671300.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-devices-1773730673579.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-outbound-1773730655235.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-product-categories-1773730669828.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-products-1773730667766.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-serial-numbers-1773730656634.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-suppliers-1773730630707.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-supply-chain-1773730628780.json","e2e/output/playwright/supply-governance-recheck-v5/visible-menu-snapshot.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.png","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773730293426.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773730346930.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773730265455.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773730339395.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773730342218.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773730348434.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-leads-1773730376023.json","output/playwright/full-menu-write-batches/finance/action-coverage-report.md","output/playwright/full-menu-write-batches/finance/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/finance/failure-3.html","output/playwright/full-menu-write-batches/finance/failure-3.png","output/playwright/full-menu-write-batches/finance/failure-4.html","output/playwright/full-menu-write-batches/finance/failure-4.png","output/playwright/full-menu-write-batches/finance/failure-5.html","output/playwright/full-menu-write-batches/finance/failure-5.png","output/playwright/full-menu-write-batches/finance/failure-6.html","output/playwright/full-menu-write-batches/finance/failure-6.png","output/playwright/full-menu-write-batches/finance/failure-7.html","output/playwright/full-menu-write-batches/finance/failure-7.png","output/playwright/full-menu-write-batches/finance/failure-8.html","output/playwright/full-menu-write-batches/finance/failure-8.png","output/playwright/full-menu-write-batches/finance/failure-9.html","output/playwright/full-menu-write-batches/finance/failure-9.png","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773730815434.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773730746198.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773730747838.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-accounts-1773730566774.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-audiences-1773730561615.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-biddings-1773730569333.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-campaigns-1773730556834.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-creatives-1773730559313.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-reports-1773730564152.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaign-library-1773730532757.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaigns-1773730528728.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-activities-1773730587398.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-bots-1773730600826.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-groups-1773730571925.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-members-1773730573486.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-points-1773730577188.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-tasks-1773730579980.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customer-marketing-1773730531325.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-journey-orchestration-1773730578554.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-automation-1773730583244.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-chatbot-1773730574929.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-predictive-analytics-1773730586008.json","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773731255349.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773731072621.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773731076369.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773731074407.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773731078283.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assets-1773731084301.json","output/playwright/full-menu-write-batches/supply-chain/probes/-devices-1773731086563.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773731068258.json","output/playwright/full-menu-write-batches/supply-chain/probes/-product-categories-1773731082834.json","output/playwright/full-menu-write-batches/supply-chain/probes/-products-1773731080800.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773731069659.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773731043692.json","output/playwright/full-menu-write-batches/supply-chain/probes/-supply-chain-1773731041756.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773731295866.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773731281925.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773731268383.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773731266376.json"],"removed":["e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773632942127.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773632995925.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773632916088.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773632988219.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773632991102.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773632997429.json","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773633734328.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773633664730.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773633666424.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.png","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773634383805.json","output/playwright/full-menu-write-batches/supply-chain/failure-1.html","output/playwright/full-menu-write-batches/supply-chain/failure-1.png","output/playwright/full-menu-write-batches/supply-chain/failure-2.html","output/playwright/full-menu-write-batches/supply-chain/failure-2.png","output/playwright/full-menu-write-batches/supply-chain/failure-3.html","output/playwright/full-menu-write-batches/supply-chain/failure-3.png","output/playwright/full-menu-write-batches/supply-chain/failure-4.html","output/playwright/full-menu-write-batches/supply-chain/failure-4.png","output/playwright/full-menu-write-batches/supply-chain/failure-5.html","output/playwright/full-menu-write-batches/supply-chain/failure-5.png","output/playwright/full-menu-write-batches/supply-chain/failure-6.html","output/playwright/full-menu-write-batches/supply-chain/failure-6.png","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773633901574.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773633905434.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773633903472.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773633907354.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773633897130.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773633898566.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773633882907.json","output/playwright/full-menu-write-batches/synergy/action-coverage-report.json","output/playwright/full-menu-write-batches/synergy/probes/-departments-1773633979244.json","output/playwright/full-menu-write-batches/synergy/probes/-knowledge-1773633919146.json","output/playwright/full-menu-write-batches/synergy/probes/-stage-knowledge-1773633921148.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773634434163.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773634420132.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773634396344.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773634394393.json"],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/inventory/inventory.controller.ts","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/templates/governance/module-acceptance-card.md","e2e/playwright-report/index.html","e2e/scripts/run-visible-write-batches.mjs","e2e/tests/crud/01-visible-menu-write-runner.spec.ts","e2e/tests/crud/module-catalog.overrides.ts","e2e/tests/crud/types.ts","e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/views/leads/Index.vue","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.json","output/playwright/full-menu-write-batches/batch-summary.json","output/playwright/full-menu-write-batches/batch-summary.md","output/playwright/full-menu-write-batches/finance/action-coverage-report.json","output/playwright/full-menu-write-batches/finance/failure-1.html","output/playwright/full-menu-write-batches/finance/failure-1.png","output/playwright/full-menu-write-batches/finance/failure-2.html","output/playwright/full-menu-write-batches/finance/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.md","output/playwright/full-menu-write-batches/supply-chain/blocked-unmapped-pages.json"]},{"id":"9d26d79a0e913f59f095f5770c349ada3eb290e6","message":"Sync governance docs with repo triage guidance\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9d26d79a0e913f59f095f5770c349ada3eb290e6","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:59:58+08:00","added":[],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","docs/contract-governance-3.0.md","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/reports/governance-experience-2026-03-07.md"]},{"id":"90763866bd7d7302b2fd963c80971c0c980e2a40","message":"Add visible menu snapshot for sales leads governance recheck\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/90763866bd7d7302b2fd963c80971c0c980e2a40","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:52:59+08:00","added":["e2e/output/playwright/sales-leads-governance-recheck-v2/visible-menu-snapshot.json"],"removed":[],"modified":[]},{"id":"37491f5183c3793b77913e9fa046090fd3e2140e","message":"Fix visible-menu action contracts and refresh Playwright artifacts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/37491f5183c3793b77913e9fa046090fd3e2140e","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:49:50+08:00","added":["e2e/output/playwright/growth-governance-recheck-v6/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v6/failure-1.html","e2e/output/playwright/growth-governance-recheck-v6/failure-1.png","e2e/output/playwright/growth-governance-recheck-v6/failure-2.html","e2e/output/playwright/growth-governance-recheck-v6/failure-2.png","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-accounts-1773724659044.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-audiences-1773724653884.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-biddings-1773724661639.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-campaigns-1773724649143.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-creatives-1773724651605.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-reports-1773724656426.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-campaign-library-1773724625404.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-campaigns-1773724621356.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-activities-1773724679469.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-bots-1773724692868.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-groups-1773724663988.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-members-1773724665547.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-points-1773724669207.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-tasks-1773724672014.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-customer-marketing-1773724623985.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-journey-orchestration-1773724670573.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-marketing-automation-1773724675311.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-marketing-chatbot-1773724666974.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-predictive-analytics-1773724678072.json","e2e/output/playwright/growth-governance-recheck-v6/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v7/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v7/failure-1.html","e2e/output/playwright/growth-governance-recheck-v7/failure-1.png","e2e/output/playwright/growth-governance-recheck-v7/failure-2.html","e2e/output/playwright/growth-governance-recheck-v7/failure-2.png","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-audiences-1773725119348.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-biddings-1773725144948.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-campaigns-1773725114561.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-creatives-1773725117027.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-reports-1773725121927.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-campaign-library-1773725090781.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-campaigns-1773725086648.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-activities-1773725163012.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-bots-1773725176355.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-groups-1773725147556.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-members-1773725149129.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-points-1773725152767.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-tasks-1773725155559.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-customer-marketing-1773725089355.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-journey-orchestration-1773725154125.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-marketing-automation-1773725158850.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-marketing-chatbot-1773725150561.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-predictive-analytics-1773725161612.json","e2e/output/playwright/growth-governance-recheck-v7/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v8/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-accounts-1773725331287.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-audiences-1773725326038.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-biddings-1773725333878.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-campaigns-1773725321263.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-creatives-1773725323743.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-reports-1773725328622.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-campaign-library-1773725297280.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-campaigns-1773725293257.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-activities-1773725352012.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-bots-1773725365518.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-groups-1773725336490.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-members-1773725338048.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-points-1773725341744.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-tasks-1773725344573.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-customer-marketing-1773725295883.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-journey-orchestration-1773725343111.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-marketing-automation-1773725347852.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-marketing-chatbot-1773725339499.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-predictive-analytics-1773725350608.json","e2e/output/playwright/growth-governance-recheck-v8/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v1-page1/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/sales-stores-service-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v3/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v3/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v3/failure-1.html","e2e/output/playwright/supply-governance-recheck-v3/failure-1.png","e2e/output/playwright/supply-governance-recheck-v3/failure-2.html","e2e/output/playwright/supply-governance-recheck-v3/failure-2.png","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-bom-1773724804766.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-issues-1773724808526.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-orders-1773724806554.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-receipts-1773724810440.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assets-1773724816442.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-devices-1773724818721.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-outbound-1773724800429.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-product-categories-1773724814983.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-products-1773724812923.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-serial-numbers-1773724801816.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-suppliers-1773724776440.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-supply-chain-1773724774524.json","e2e/output/playwright/supply-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v4/failure-1.html","e2e/output/playwright/supply-governance-recheck-v4/failure-1.png","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-bom-1773724908303.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-issues-1773724912024.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-orders-1773724910085.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-receipts-1773724913947.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assets-1773724920008.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-devices-1773724922280.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-outbound-1773724903876.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-product-categories-1773724918547.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-products-1773724916486.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-serial-numbers-1773724905275.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-suppliers-1773724890016.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-supply-chain-1773724888101.json","e2e/output/playwright/supply-governance-recheck-v4/visible-menu-snapshot.json","e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md"],"removed":["e2e/playwright-report/data/2bb2f2c3e1d82fa9325fdd6b5f4669df159db17a.md","e2e/playwright-report/data/92afb63601a0131a016d16a554bdb89a648849de.png","e2e/test-results/.last-run.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","e2e/test-results/results.json"],"modified":["backend/src/modules/ad-campaigns/ad-campaigns.service.ts","backend/src/modules/community-groups/community-group.contract.routes.ts","backend/src/shared/process-core/default-workflow-definitions.ts","e2e/playwright-report/index.html","e2e/tests/crud/module-catalog.overrides.ts"]},{"id":"46e5f097ea53c593ee709803d6679b5520a6b271","message":"Fix growth module write contracts and governance probes\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/46e5f097ea53c593ee709803d6679b5520a6b271","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:14:33+08:00","added":[".claude/worktrees/vibrant-mestorf","e2e/output/playwright/growth-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v2/failure-1.html","e2e/output/playwright/growth-governance-recheck-v2/failure-1.png","e2e/output/playwright/growth-governance-recheck-v2/failure-2.html","e2e/output/playwright/growth-governance-recheck-v2/failure-2.png","e2e/output/playwright/growth-governance-recheck-v2/failure-3.html","e2e/output/playwright/growth-governance-recheck-v2/failure-3.png","e2e/output/playwright/growth-governance-recheck-v2/failure-4.html","e2e/output/playwright/growth-governance-recheck-v2/failure-4.png","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-accounts-1773637103428.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-audiences-1773637097919.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-biddings-1773637106233.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-campaigns-1773637092737.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-creatives-1773637095413.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-reports-1773637100574.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-campaign-library-1773637068728.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-campaigns-1773637064334.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-activities-1773637125231.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-bots-1773637138800.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-groups-1773637108862.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-members-1773637110559.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-points-1773637114159.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-tasks-1773637117170.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-customer-marketing-1773637067192.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-journey-orchestration-1773637115613.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-marketing-automation-1773637120849.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-marketing-chatbot-1773637111690.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-predictive-analytics-1773637123749.json","e2e/output/playwright/growth-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v3/failure-1.html","e2e/output/playwright/growth-governance-recheck-v3/failure-1.png","e2e/output/playwright/growth-governance-recheck-v3/failure-2.html","e2e/output/playwright/growth-governance-recheck-v3/failure-2.png","e2e/output/playwright/growth-governance-recheck-v3/failure-3.html","e2e/output/playwright/growth-governance-recheck-v3/failure-3.png","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-accounts-1773637290819.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-audiences-1773637285318.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-biddings-1773637293641.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-campaigns-1773637280219.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-creatives-1773637282870.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-reports-1773637287997.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-campaign-library-1773637256300.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-campaigns-1773637252140.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-activities-1773637312007.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-bots-1773637315094.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-groups-1773637296205.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-members-1773637297858.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-points-1773637301326.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-tasks-1773637304221.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-customer-marketing-1773637254826.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-journey-orchestration-1773637302713.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-marketing-automation-1773637307735.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-marketing-chatbot-1773637298900.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-predictive-analytics-1773637310596.json","e2e/output/playwright/growth-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v4/failure-1.html","e2e/output/playwright/growth-governance-recheck-v4/failure-1.png","e2e/output/playwright/growth-governance-recheck-v4/failure-2.html","e2e/output/playwright/growth-governance-recheck-v4/failure-2.png","e2e/output/playwright/growth-governance-recheck-v4/failure-3.html","e2e/output/playwright/growth-governance-recheck-v4/failure-3.png","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-accounts-1773637580471.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-audiences-1773637574939.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-biddings-1773637583127.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-campaigns-1773637569798.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-creatives-1773637572491.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-reports-1773637577693.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-campaign-library-1773637545837.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-campaigns-1773637541347.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-activities-1773637601885.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-bots-1773637615595.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-groups-1773637585737.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-members-1773637587440.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-points-1773637590954.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-tasks-1773637593940.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-customer-marketing-1773637544263.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-journey-orchestration-1773637592404.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-marketing-automation-1773637597490.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-marketing-chatbot-1773637588564.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-predictive-analytics-1773637600359.json","e2e/output/playwright/growth-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v5/failure-1.html","e2e/output/playwright/growth-governance-recheck-v5/failure-1.png","e2e/output/playwright/growth-governance-recheck-v5/failure-2.html","e2e/output/playwright/growth-governance-recheck-v5/failure-2.png","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-accounts-1773637856277.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-audiences-1773637850560.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-biddings-1773637859067.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-campaigns-1773637845354.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-creatives-1773637848041.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-reports-1773637853256.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-campaign-library-1773637842008.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-campaigns-1773637837583.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-activities-1773637878336.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-bots-1773637891983.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-groups-1773637861569.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-members-1773637863254.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-points-1773637867326.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-tasks-1773637870372.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-customer-marketing-1773637840454.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-journey-orchestration-1773637868795.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-marketing-automation-1773637874004.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-marketing-chatbot-1773637864856.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-predictive-analytics-1773637876874.json","e2e/output/playwright/growth-governance-recheck-v5/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck/failure-1.html","e2e/output/playwright/growth-governance-recheck/failure-1.png","e2e/output/playwright/growth-governance-recheck/failure-10.html","e2e/output/playwright/growth-governance-recheck/failure-10.png","e2e/output/playwright/growth-governance-recheck/failure-11.html","e2e/output/playwright/growth-governance-recheck/failure-11.png","e2e/output/playwright/growth-governance-recheck/failure-12.html","e2e/output/playwright/growth-governance-recheck/failure-12.png","e2e/output/playwright/growth-governance-recheck/failure-13.html","e2e/output/playwright/growth-governance-recheck/failure-13.png","e2e/output/playwright/growth-governance-recheck/failure-2.html","e2e/output/playwright/growth-governance-recheck/failure-2.png","e2e/output/playwright/growth-governance-recheck/failure-3.html","e2e/output/playwright/growth-governance-recheck/failure-3.png","e2e/output/playwright/growth-governance-recheck/failure-4.html","e2e/output/playwright/growth-governance-recheck/failure-4.png","e2e/output/playwright/growth-governance-recheck/failure-5.html","e2e/output/playwright/growth-governance-recheck/failure-5.png","e2e/output/playwright/growth-governance-recheck/failure-6.html","e2e/output/playwright/growth-governance-recheck/failure-6.png","e2e/output/playwright/growth-governance-recheck/failure-7.html","e2e/output/playwright/growth-governance-recheck/failure-7.png","e2e/output/playwright/growth-governance-recheck/failure-8.html","e2e/output/playwright/growth-governance-recheck/failure-8.png","e2e/output/playwright/growth-governance-recheck/failure-9.html","e2e/output/playwright/growth-governance-recheck/failure-9.png","e2e/output/playwright/growth-governance-recheck/probes/-ad-accounts-1773636279090.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-audiences-1773636274572.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-biddings-1773636281658.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-campaigns-1773636269396.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-creatives-1773636272040.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-reports-1773636276435.json","e2e/output/playwright/growth-governance-recheck/probes/-campaign-library-1773636266028.json","e2e/output/playwright/growth-governance-recheck/probes/-campaigns-1773636262465.json","e2e/output/playwright/growth-governance-recheck/probes/-community-activities-1773636296839.json","e2e/output/playwright/growth-governance-recheck/probes/-community-bots-1773636309301.json","e2e/output/playwright/growth-governance-recheck/probes/-community-groups-1773636282678.json","e2e/output/playwright/growth-governance-recheck/probes/-community-members-1773636283728.json","e2e/output/playwright/growth-governance-recheck/probes/-community-points-1773636287173.json","e2e/output/playwright/growth-governance-recheck/probes/-community-tasks-1773636289789.json","e2e/output/playwright/growth-governance-recheck/probes/-customer-marketing-1773636264449.json","e2e/output/playwright/growth-governance-recheck/probes/-journey-orchestration-1773636288630.json","e2e/output/playwright/growth-governance-recheck/probes/-marketing-automation-1773636292934.json","e2e/output/playwright/growth-governance-recheck/probes/-marketing-chatbot-1773636284766.json","e2e/output/playwright/growth-governance-recheck/probes/-predictive-analytics-1773636295835.json","e2e/output/playwright/growth-governance-recheck/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v2/failure-1.html","e2e/output/playwright/supply-governance-recheck-v2/failure-1.png","e2e/output/playwright/supply-governance-recheck-v2/failure-2.html","e2e/output/playwright/supply-governance-recheck-v2/failure-2.png","e2e/output/playwright/supply-governance-recheck-v2/failure-3.html","e2e/output/playwright/supply-governance-recheck-v2/failure-3.png","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-bom-1773638085569.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-issues-1773638089294.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-orders-1773638087361.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-receipts-1773638091237.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assets-1773638096600.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-devices-1773638098927.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-outbound-1773638081116.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-product-categories-1773638095076.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-products-1773638093780.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-serial-numbers-1773638082543.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-suppliers-1773638056945.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-supply-chain-1773638054946.json","e2e/output/playwright/supply-governance-recheck-v2/visible-menu-snapshot.json","e2e/playwright-report/data/2bb2f2c3e1d82fa9325fdd6b5f4669df159db17a.md","e2e/playwright-report/data/92afb63601a0131a016d16a554bdb89a648849de.png","e2e/test-results/.last-run.json","e2e/test-results/results.json"],"removed":[],"modified":["backend/src/modules/ad-accounts/ad-account.controller.ts","backend/src/modules/ad-biddings/ad-bidding.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/shared/utils/biz-code.ts","e2e/playwright-report/index.html","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","e2e/tests/crud/module-catalog.overrides.ts"]}],"total_commits":0,"head_commit":{"id":"c1da50f2974fe9552f40dde68ec34df656ddca22","message":"feat: 同步治理文档与 Playwright 可见菜单写批次运行产物\n\n- 更新四份核心文档(AGENTS/CLAUDE/GEMINI/README)菜单深交互基线治理经验\n- 补充 module-governance-acceptance-checklist.md 新模板\n- 更新 module-acceptance-card.md 验收卡与 runbook 运行手册\n- 刷新 inventory.controller.ts 出库模块控制器\n- 同步前端 leads/Index.vue 线索列表页\n- 更新可见菜单写批次:ai-acquisition-content / finance / supply-chain /\n growth-sales-stores-service / synergy / system-infra / hr 域新一轮\n probe JSON、failure 截图与 action-coverage-report\n- 新增 sales-leads / outbound / sales / supply 治理复查产物目录\n- 更新 e2e 测试脚本与 CRUD catalog 配置\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c1da50f2974fe9552f40dde68ec34df656ddca22","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T15:28:33+08:00","added":["docs/templates/governance/module-governance-acceptance-checklist.md","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v1/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.html","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.png","e2e/output/playwright/outbound-governance-recheck-v1/probes/-outbound-1773728392272.json","e2e/output/playwright/outbound-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v2/probes/-outbound-1773729291584.json","e2e/output/playwright/outbound-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/sales-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/sales-governance-recheck-v2/failure-1.html","e2e/output/playwright/sales-governance-recheck-v2/failure-1.png","e2e/output/playwright/sales-governance-recheck-v2/failure-2.html","e2e/output/playwright/sales-governance-recheck-v2/failure-2.png","e2e/output/playwright/sales-governance-recheck-v2/probes/-leads-1773730807935.json","e2e/output/playwright/sales-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/sales-leads-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/sales-leads-governance-recheck-v4/probes/-leads-1773728044474.json","e2e/output/playwright/sales-leads-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v5/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-bom-1773730659592.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-issues-1773730663321.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-orders-1773730661365.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-receipts-1773730665247.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assets-1773730671300.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-devices-1773730673579.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-outbound-1773730655235.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-product-categories-1773730669828.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-products-1773730667766.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-serial-numbers-1773730656634.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-suppliers-1773730630707.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-supply-chain-1773730628780.json","e2e/output/playwright/supply-governance-recheck-v5/visible-menu-snapshot.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.png","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773730293426.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773730346930.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773730265455.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773730339395.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773730342218.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773730348434.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-leads-1773730376023.json","output/playwright/full-menu-write-batches/finance/action-coverage-report.md","output/playwright/full-menu-write-batches/finance/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/finance/failure-3.html","output/playwright/full-menu-write-batches/finance/failure-3.png","output/playwright/full-menu-write-batches/finance/failure-4.html","output/playwright/full-menu-write-batches/finance/failure-4.png","output/playwright/full-menu-write-batches/finance/failure-5.html","output/playwright/full-menu-write-batches/finance/failure-5.png","output/playwright/full-menu-write-batches/finance/failure-6.html","output/playwright/full-menu-write-batches/finance/failure-6.png","output/playwright/full-menu-write-batches/finance/failure-7.html","output/playwright/full-menu-write-batches/finance/failure-7.png","output/playwright/full-menu-write-batches/finance/failure-8.html","output/playwright/full-menu-write-batches/finance/failure-8.png","output/playwright/full-menu-write-batches/finance/failure-9.html","output/playwright/full-menu-write-batches/finance/failure-9.png","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773730815434.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773730746198.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773730747838.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-accounts-1773730566774.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-audiences-1773730561615.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-biddings-1773730569333.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-campaigns-1773730556834.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-creatives-1773730559313.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-reports-1773730564152.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaign-library-1773730532757.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaigns-1773730528728.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-activities-1773730587398.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-bots-1773730600826.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-groups-1773730571925.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-members-1773730573486.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-points-1773730577188.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-tasks-1773730579980.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customer-marketing-1773730531325.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-journey-orchestration-1773730578554.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-automation-1773730583244.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-chatbot-1773730574929.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-predictive-analytics-1773730586008.json","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773731255349.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773731072621.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773731076369.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773731074407.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773731078283.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assets-1773731084301.json","output/playwright/full-menu-write-batches/supply-chain/probes/-devices-1773731086563.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773731068258.json","output/playwright/full-menu-write-batches/supply-chain/probes/-product-categories-1773731082834.json","output/playwright/full-menu-write-batches/supply-chain/probes/-products-1773731080800.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773731069659.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773731043692.json","output/playwright/full-menu-write-batches/supply-chain/probes/-supply-chain-1773731041756.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773731295866.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773731281925.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773731268383.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773731266376.json"],"removed":["e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773632942127.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773632995925.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773632916088.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773632988219.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773632991102.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773632997429.json","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773633734328.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773633664730.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773633666424.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.png","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773634383805.json","output/playwright/full-menu-write-batches/supply-chain/failure-1.html","output/playwright/full-menu-write-batches/supply-chain/failure-1.png","output/playwright/full-menu-write-batches/supply-chain/failure-2.html","output/playwright/full-menu-write-batches/supply-chain/failure-2.png","output/playwright/full-menu-write-batches/supply-chain/failure-3.html","output/playwright/full-menu-write-batches/supply-chain/failure-3.png","output/playwright/full-menu-write-batches/supply-chain/failure-4.html","output/playwright/full-menu-write-batches/supply-chain/failure-4.png","output/playwright/full-menu-write-batches/supply-chain/failure-5.html","output/playwright/full-menu-write-batches/supply-chain/failure-5.png","output/playwright/full-menu-write-batches/supply-chain/failure-6.html","output/playwright/full-menu-write-batches/supply-chain/failure-6.png","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773633901574.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773633905434.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773633903472.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773633907354.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773633897130.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773633898566.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773633882907.json","output/playwright/full-menu-write-batches/synergy/action-coverage-report.json","output/playwright/full-menu-write-batches/synergy/probes/-departments-1773633979244.json","output/playwright/full-menu-write-batches/synergy/probes/-knowledge-1773633919146.json","output/playwright/full-menu-write-batches/synergy/probes/-stage-knowledge-1773633921148.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773634434163.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773634420132.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773634396344.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773634394393.json"],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/inventory/inventory.controller.ts","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/templates/governance/module-acceptance-card.md","e2e/playwright-report/index.html","e2e/scripts/run-visible-write-batches.mjs","e2e/tests/crud/01-visible-menu-write-runner.spec.ts","e2e/tests/crud/module-catalog.overrides.ts","e2e/tests/crud/types.ts","e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/views/leads/Index.vue","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.json","output/playwright/full-menu-write-batches/batch-summary.json","output/playwright/full-menu-write-batches/batch-summary.md","output/playwright/full-menu-write-batches/finance/action-coverage-report.json","output/playwright/full-menu-write-batches/finance/failure-1.html","output/playwright/full-menu-write-batches/finance/failure-1.png","output/playwright/full-menu-write-batches/finance/failure-2.html","output/playwright/full-menu-write-batches/finance/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.md","output/playwright/full-menu-write-batches/supply-chain/blocked-unmapped-pages.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/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":1162552,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-17T15:30:33+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
1
|
3
|
1773737132
|
1773737133
|
0
|
1773737132
|
1773737133
|
NULL
|
|
0
|
Edit
Delete
|
|
6374
|
feat: 同步治理文档与 Playwright 可见菜单写批次运行产物
|
6
|
5
|
health-check.yml
|
6307
|
-2
|
58
|
refs/heads/main
|
c1da50f2974fe9552f40dde68ec34df656ddca22
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e5a2f5ba8d6442be07c490ec77c734dbe317bfd5","after":"c1da50f2974fe9552f40dde68ec34df656ddca22","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e5a2f5ba8d6442be07c490ec77c734dbe317bfd5...c1da50f2974fe9552f40dde68ec34df656ddca22","commits":[{"id":"c1da50f2974fe9552f40dde68ec34df656ddca22","message":"feat: 同步治理文档与 Playwright 可见菜单写批次运行产物\n\n- 更新四份核心文档(AGENTS/CLAUDE/GEMINI/README)菜单深交互基线治理经验\n- 补充 module-governance-acceptance-checklist.md 新模板\n- 更新 module-acceptance-card.md 验收卡与 runbook 运行手册\n- 刷新 inventory.controller.ts 出库模块控制器\n- 同步前端 leads/Index.vue 线索列表页\n- 更新可见菜单写批次:ai-acquisition-content / finance / supply-chain /\n growth-sales-stores-service / synergy / system-infra / hr 域新一轮\n probe JSON、failure 截图与 action-coverage-report\n- 新增 sales-leads / outbound / sales / supply 治理复查产物目录\n- 更新 e2e 测试脚本与 CRUD catalog 配置\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c1da50f2974fe9552f40dde68ec34df656ddca22","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T15:28:33+08:00","added":["docs/templates/governance/module-governance-acceptance-checklist.md","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v1/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.html","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.png","e2e/output/playwright/outbound-governance-recheck-v1/probes/-outbound-1773728392272.json","e2e/output/playwright/outbound-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v2/probes/-outbound-1773729291584.json","e2e/output/playwright/outbound-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/sales-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/sales-governance-recheck-v2/failure-1.html","e2e/output/playwright/sales-governance-recheck-v2/failure-1.png","e2e/output/playwright/sales-governance-recheck-v2/failure-2.html","e2e/output/playwright/sales-governance-recheck-v2/failure-2.png","e2e/output/playwright/sales-governance-recheck-v2/probes/-leads-1773730807935.json","e2e/output/playwright/sales-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/sales-leads-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/sales-leads-governance-recheck-v4/probes/-leads-1773728044474.json","e2e/output/playwright/sales-leads-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v5/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-bom-1773730659592.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-issues-1773730663321.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-orders-1773730661365.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-receipts-1773730665247.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assets-1773730671300.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-devices-1773730673579.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-outbound-1773730655235.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-product-categories-1773730669828.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-products-1773730667766.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-serial-numbers-1773730656634.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-suppliers-1773730630707.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-supply-chain-1773730628780.json","e2e/output/playwright/supply-governance-recheck-v5/visible-menu-snapshot.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.png","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773730293426.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773730346930.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773730265455.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773730339395.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773730342218.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773730348434.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-leads-1773730376023.json","output/playwright/full-menu-write-batches/finance/action-coverage-report.md","output/playwright/full-menu-write-batches/finance/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/finance/failure-3.html","output/playwright/full-menu-write-batches/finance/failure-3.png","output/playwright/full-menu-write-batches/finance/failure-4.html","output/playwright/full-menu-write-batches/finance/failure-4.png","output/playwright/full-menu-write-batches/finance/failure-5.html","output/playwright/full-menu-write-batches/finance/failure-5.png","output/playwright/full-menu-write-batches/finance/failure-6.html","output/playwright/full-menu-write-batches/finance/failure-6.png","output/playwright/full-menu-write-batches/finance/failure-7.html","output/playwright/full-menu-write-batches/finance/failure-7.png","output/playwright/full-menu-write-batches/finance/failure-8.html","output/playwright/full-menu-write-batches/finance/failure-8.png","output/playwright/full-menu-write-batches/finance/failure-9.html","output/playwright/full-menu-write-batches/finance/failure-9.png","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773730815434.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773730746198.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773730747838.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-accounts-1773730566774.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-audiences-1773730561615.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-biddings-1773730569333.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-campaigns-1773730556834.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-creatives-1773730559313.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-reports-1773730564152.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaign-library-1773730532757.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaigns-1773730528728.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-activities-1773730587398.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-bots-1773730600826.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-groups-1773730571925.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-members-1773730573486.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-points-1773730577188.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-tasks-1773730579980.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customer-marketing-1773730531325.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-journey-orchestration-1773730578554.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-automation-1773730583244.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-chatbot-1773730574929.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-predictive-analytics-1773730586008.json","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773731255349.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773731072621.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773731076369.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773731074407.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773731078283.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assets-1773731084301.json","output/playwright/full-menu-write-batches/supply-chain/probes/-devices-1773731086563.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773731068258.json","output/playwright/full-menu-write-batches/supply-chain/probes/-product-categories-1773731082834.json","output/playwright/full-menu-write-batches/supply-chain/probes/-products-1773731080800.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773731069659.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773731043692.json","output/playwright/full-menu-write-batches/supply-chain/probes/-supply-chain-1773731041756.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773731295866.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773731281925.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773731268383.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773731266376.json"],"removed":["e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773632942127.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773632995925.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773632916088.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773632988219.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773632991102.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773632997429.json","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773633734328.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773633664730.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773633666424.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.png","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773634383805.json","output/playwright/full-menu-write-batches/supply-chain/failure-1.html","output/playwright/full-menu-write-batches/supply-chain/failure-1.png","output/playwright/full-menu-write-batches/supply-chain/failure-2.html","output/playwright/full-menu-write-batches/supply-chain/failure-2.png","output/playwright/full-menu-write-batches/supply-chain/failure-3.html","output/playwright/full-menu-write-batches/supply-chain/failure-3.png","output/playwright/full-menu-write-batches/supply-chain/failure-4.html","output/playwright/full-menu-write-batches/supply-chain/failure-4.png","output/playwright/full-menu-write-batches/supply-chain/failure-5.html","output/playwright/full-menu-write-batches/supply-chain/failure-5.png","output/playwright/full-menu-write-batches/supply-chain/failure-6.html","output/playwright/full-menu-write-batches/supply-chain/failure-6.png","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773633901574.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773633905434.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773633903472.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773633907354.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773633897130.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773633898566.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773633882907.json","output/playwright/full-menu-write-batches/synergy/action-coverage-report.json","output/playwright/full-menu-write-batches/synergy/probes/-departments-1773633979244.json","output/playwright/full-menu-write-batches/synergy/probes/-knowledge-1773633919146.json","output/playwright/full-menu-write-batches/synergy/probes/-stage-knowledge-1773633921148.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773634434163.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773634420132.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773634396344.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773634394393.json"],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/inventory/inventory.controller.ts","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/templates/governance/module-acceptance-card.md","e2e/playwright-report/index.html","e2e/scripts/run-visible-write-batches.mjs","e2e/tests/crud/01-visible-menu-write-runner.spec.ts","e2e/tests/crud/module-catalog.overrides.ts","e2e/tests/crud/types.ts","e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/views/leads/Index.vue","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.json","output/playwright/full-menu-write-batches/batch-summary.json","output/playwright/full-menu-write-batches/batch-summary.md","output/playwright/full-menu-write-batches/finance/action-coverage-report.json","output/playwright/full-menu-write-batches/finance/failure-1.html","output/playwright/full-menu-write-batches/finance/failure-1.png","output/playwright/full-menu-write-batches/finance/failure-2.html","output/playwright/full-menu-write-batches/finance/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.md","output/playwright/full-menu-write-batches/supply-chain/blocked-unmapped-pages.json"]},{"id":"9d26d79a0e913f59f095f5770c349ada3eb290e6","message":"Sync governance docs with repo triage guidance\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9d26d79a0e913f59f095f5770c349ada3eb290e6","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:59:58+08:00","added":[],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","docs/contract-governance-3.0.md","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/reports/governance-experience-2026-03-07.md"]},{"id":"90763866bd7d7302b2fd963c80971c0c980e2a40","message":"Add visible menu snapshot for sales leads governance recheck\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/90763866bd7d7302b2fd963c80971c0c980e2a40","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:52:59+08:00","added":["e2e/output/playwright/sales-leads-governance-recheck-v2/visible-menu-snapshot.json"],"removed":[],"modified":[]},{"id":"37491f5183c3793b77913e9fa046090fd3e2140e","message":"Fix visible-menu action contracts and refresh Playwright artifacts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/37491f5183c3793b77913e9fa046090fd3e2140e","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:49:50+08:00","added":["e2e/output/playwright/growth-governance-recheck-v6/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v6/failure-1.html","e2e/output/playwright/growth-governance-recheck-v6/failure-1.png","e2e/output/playwright/growth-governance-recheck-v6/failure-2.html","e2e/output/playwright/growth-governance-recheck-v6/failure-2.png","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-accounts-1773724659044.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-audiences-1773724653884.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-biddings-1773724661639.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-campaigns-1773724649143.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-creatives-1773724651605.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-reports-1773724656426.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-campaign-library-1773724625404.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-campaigns-1773724621356.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-activities-1773724679469.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-bots-1773724692868.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-groups-1773724663988.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-members-1773724665547.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-points-1773724669207.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-tasks-1773724672014.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-customer-marketing-1773724623985.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-journey-orchestration-1773724670573.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-marketing-automation-1773724675311.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-marketing-chatbot-1773724666974.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-predictive-analytics-1773724678072.json","e2e/output/playwright/growth-governance-recheck-v6/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v7/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v7/failure-1.html","e2e/output/playwright/growth-governance-recheck-v7/failure-1.png","e2e/output/playwright/growth-governance-recheck-v7/failure-2.html","e2e/output/playwright/growth-governance-recheck-v7/failure-2.png","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-audiences-1773725119348.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-biddings-1773725144948.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-campaigns-1773725114561.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-creatives-1773725117027.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-reports-1773725121927.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-campaign-library-1773725090781.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-campaigns-1773725086648.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-activities-1773725163012.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-bots-1773725176355.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-groups-1773725147556.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-members-1773725149129.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-points-1773725152767.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-tasks-1773725155559.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-customer-marketing-1773725089355.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-journey-orchestration-1773725154125.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-marketing-automation-1773725158850.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-marketing-chatbot-1773725150561.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-predictive-analytics-1773725161612.json","e2e/output/playwright/growth-governance-recheck-v7/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v8/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-accounts-1773725331287.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-audiences-1773725326038.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-biddings-1773725333878.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-campaigns-1773725321263.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-creatives-1773725323743.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-reports-1773725328622.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-campaign-library-1773725297280.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-campaigns-1773725293257.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-activities-1773725352012.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-bots-1773725365518.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-groups-1773725336490.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-members-1773725338048.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-points-1773725341744.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-tasks-1773725344573.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-customer-marketing-1773725295883.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-journey-orchestration-1773725343111.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-marketing-automation-1773725347852.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-marketing-chatbot-1773725339499.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-predictive-analytics-1773725350608.json","e2e/output/playwright/growth-governance-recheck-v8/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v1-page1/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/sales-stores-service-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v3/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v3/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v3/failure-1.html","e2e/output/playwright/supply-governance-recheck-v3/failure-1.png","e2e/output/playwright/supply-governance-recheck-v3/failure-2.html","e2e/output/playwright/supply-governance-recheck-v3/failure-2.png","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-bom-1773724804766.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-issues-1773724808526.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-orders-1773724806554.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-receipts-1773724810440.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assets-1773724816442.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-devices-1773724818721.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-outbound-1773724800429.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-product-categories-1773724814983.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-products-1773724812923.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-serial-numbers-1773724801816.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-suppliers-1773724776440.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-supply-chain-1773724774524.json","e2e/output/playwright/supply-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v4/failure-1.html","e2e/output/playwright/supply-governance-recheck-v4/failure-1.png","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-bom-1773724908303.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-issues-1773724912024.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-orders-1773724910085.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-receipts-1773724913947.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assets-1773724920008.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-devices-1773724922280.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-outbound-1773724903876.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-product-categories-1773724918547.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-products-1773724916486.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-serial-numbers-1773724905275.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-suppliers-1773724890016.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-supply-chain-1773724888101.json","e2e/output/playwright/supply-governance-recheck-v4/visible-menu-snapshot.json","e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md"],"removed":["e2e/playwright-report/data/2bb2f2c3e1d82fa9325fdd6b5f4669df159db17a.md","e2e/playwright-report/data/92afb63601a0131a016d16a554bdb89a648849de.png","e2e/test-results/.last-run.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","e2e/test-results/results.json"],"modified":["backend/src/modules/ad-campaigns/ad-campaigns.service.ts","backend/src/modules/community-groups/community-group.contract.routes.ts","backend/src/shared/process-core/default-workflow-definitions.ts","e2e/playwright-report/index.html","e2e/tests/crud/module-catalog.overrides.ts"]},{"id":"46e5f097ea53c593ee709803d6679b5520a6b271","message":"Fix growth module write contracts and governance probes\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/46e5f097ea53c593ee709803d6679b5520a6b271","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:14:33+08:00","added":[".claude/worktrees/vibrant-mestorf","e2e/output/playwright/growth-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v2/failure-1.html","e2e/output/playwright/growth-governance-recheck-v2/failure-1.png","e2e/output/playwright/growth-governance-recheck-v2/failure-2.html","e2e/output/playwright/growth-governance-recheck-v2/failure-2.png","e2e/output/playwright/growth-governance-recheck-v2/failure-3.html","e2e/output/playwright/growth-governance-recheck-v2/failure-3.png","e2e/output/playwright/growth-governance-recheck-v2/failure-4.html","e2e/output/playwright/growth-governance-recheck-v2/failure-4.png","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-accounts-1773637103428.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-audiences-1773637097919.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-biddings-1773637106233.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-campaigns-1773637092737.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-creatives-1773637095413.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-reports-1773637100574.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-campaign-library-1773637068728.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-campaigns-1773637064334.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-activities-1773637125231.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-bots-1773637138800.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-groups-1773637108862.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-members-1773637110559.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-points-1773637114159.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-tasks-1773637117170.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-customer-marketing-1773637067192.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-journey-orchestration-1773637115613.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-marketing-automation-1773637120849.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-marketing-chatbot-1773637111690.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-predictive-analytics-1773637123749.json","e2e/output/playwright/growth-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v3/failure-1.html","e2e/output/playwright/growth-governance-recheck-v3/failure-1.png","e2e/output/playwright/growth-governance-recheck-v3/failure-2.html","e2e/output/playwright/growth-governance-recheck-v3/failure-2.png","e2e/output/playwright/growth-governance-recheck-v3/failure-3.html","e2e/output/playwright/growth-governance-recheck-v3/failure-3.png","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-accounts-1773637290819.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-audiences-1773637285318.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-biddings-1773637293641.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-campaigns-1773637280219.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-creatives-1773637282870.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-reports-1773637287997.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-campaign-library-1773637256300.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-campaigns-1773637252140.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-activities-1773637312007.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-bots-1773637315094.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-groups-1773637296205.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-members-1773637297858.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-points-1773637301326.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-tasks-1773637304221.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-customer-marketing-1773637254826.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-journey-orchestration-1773637302713.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-marketing-automation-1773637307735.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-marketing-chatbot-1773637298900.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-predictive-analytics-1773637310596.json","e2e/output/playwright/growth-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v4/failure-1.html","e2e/output/playwright/growth-governance-recheck-v4/failure-1.png","e2e/output/playwright/growth-governance-recheck-v4/failure-2.html","e2e/output/playwright/growth-governance-recheck-v4/failure-2.png","e2e/output/playwright/growth-governance-recheck-v4/failure-3.html","e2e/output/playwright/growth-governance-recheck-v4/failure-3.png","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-accounts-1773637580471.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-audiences-1773637574939.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-biddings-1773637583127.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-campaigns-1773637569798.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-creatives-1773637572491.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-reports-1773637577693.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-campaign-library-1773637545837.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-campaigns-1773637541347.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-activities-1773637601885.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-bots-1773637615595.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-groups-1773637585737.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-members-1773637587440.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-points-1773637590954.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-tasks-1773637593940.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-customer-marketing-1773637544263.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-journey-orchestration-1773637592404.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-marketing-automation-1773637597490.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-marketing-chatbot-1773637588564.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-predictive-analytics-1773637600359.json","e2e/output/playwright/growth-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v5/failure-1.html","e2e/output/playwright/growth-governance-recheck-v5/failure-1.png","e2e/output/playwright/growth-governance-recheck-v5/failure-2.html","e2e/output/playwright/growth-governance-recheck-v5/failure-2.png","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-accounts-1773637856277.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-audiences-1773637850560.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-biddings-1773637859067.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-campaigns-1773637845354.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-creatives-1773637848041.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-reports-1773637853256.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-campaign-library-1773637842008.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-campaigns-1773637837583.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-activities-1773637878336.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-bots-1773637891983.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-groups-1773637861569.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-members-1773637863254.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-points-1773637867326.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-tasks-1773637870372.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-customer-marketing-1773637840454.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-journey-orchestration-1773637868795.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-marketing-automation-1773637874004.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-marketing-chatbot-1773637864856.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-predictive-analytics-1773637876874.json","e2e/output/playwright/growth-governance-recheck-v5/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck/failure-1.html","e2e/output/playwright/growth-governance-recheck/failure-1.png","e2e/output/playwright/growth-governance-recheck/failure-10.html","e2e/output/playwright/growth-governance-recheck/failure-10.png","e2e/output/playwright/growth-governance-recheck/failure-11.html","e2e/output/playwright/growth-governance-recheck/failure-11.png","e2e/output/playwright/growth-governance-recheck/failure-12.html","e2e/output/playwright/growth-governance-recheck/failure-12.png","e2e/output/playwright/growth-governance-recheck/failure-13.html","e2e/output/playwright/growth-governance-recheck/failure-13.png","e2e/output/playwright/growth-governance-recheck/failure-2.html","e2e/output/playwright/growth-governance-recheck/failure-2.png","e2e/output/playwright/growth-governance-recheck/failure-3.html","e2e/output/playwright/growth-governance-recheck/failure-3.png","e2e/output/playwright/growth-governance-recheck/failure-4.html","e2e/output/playwright/growth-governance-recheck/failure-4.png","e2e/output/playwright/growth-governance-recheck/failure-5.html","e2e/output/playwright/growth-governance-recheck/failure-5.png","e2e/output/playwright/growth-governance-recheck/failure-6.html","e2e/output/playwright/growth-governance-recheck/failure-6.png","e2e/output/playwright/growth-governance-recheck/failure-7.html","e2e/output/playwright/growth-governance-recheck/failure-7.png","e2e/output/playwright/growth-governance-recheck/failure-8.html","e2e/output/playwright/growth-governance-recheck/failure-8.png","e2e/output/playwright/growth-governance-recheck/failure-9.html","e2e/output/playwright/growth-governance-recheck/failure-9.png","e2e/output/playwright/growth-governance-recheck/probes/-ad-accounts-1773636279090.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-audiences-1773636274572.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-biddings-1773636281658.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-campaigns-1773636269396.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-creatives-1773636272040.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-reports-1773636276435.json","e2e/output/playwright/growth-governance-recheck/probes/-campaign-library-1773636266028.json","e2e/output/playwright/growth-governance-recheck/probes/-campaigns-1773636262465.json","e2e/output/playwright/growth-governance-recheck/probes/-community-activities-1773636296839.json","e2e/output/playwright/growth-governance-recheck/probes/-community-bots-1773636309301.json","e2e/output/playwright/growth-governance-recheck/probes/-community-groups-1773636282678.json","e2e/output/playwright/growth-governance-recheck/probes/-community-members-1773636283728.json","e2e/output/playwright/growth-governance-recheck/probes/-community-points-1773636287173.json","e2e/output/playwright/growth-governance-recheck/probes/-community-tasks-1773636289789.json","e2e/output/playwright/growth-governance-recheck/probes/-customer-marketing-1773636264449.json","e2e/output/playwright/growth-governance-recheck/probes/-journey-orchestration-1773636288630.json","e2e/output/playwright/growth-governance-recheck/probes/-marketing-automation-1773636292934.json","e2e/output/playwright/growth-governance-recheck/probes/-marketing-chatbot-1773636284766.json","e2e/output/playwright/growth-governance-recheck/probes/-predictive-analytics-1773636295835.json","e2e/output/playwright/growth-governance-recheck/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v2/failure-1.html","e2e/output/playwright/supply-governance-recheck-v2/failure-1.png","e2e/output/playwright/supply-governance-recheck-v2/failure-2.html","e2e/output/playwright/supply-governance-recheck-v2/failure-2.png","e2e/output/playwright/supply-governance-recheck-v2/failure-3.html","e2e/output/playwright/supply-governance-recheck-v2/failure-3.png","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-bom-1773638085569.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-issues-1773638089294.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-orders-1773638087361.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-receipts-1773638091237.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assets-1773638096600.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-devices-1773638098927.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-outbound-1773638081116.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-product-categories-1773638095076.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-products-1773638093780.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-serial-numbers-1773638082543.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-suppliers-1773638056945.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-supply-chain-1773638054946.json","e2e/output/playwright/supply-governance-recheck-v2/visible-menu-snapshot.json","e2e/playwright-report/data/2bb2f2c3e1d82fa9325fdd6b5f4669df159db17a.md","e2e/playwright-report/data/92afb63601a0131a016d16a554bdb89a648849de.png","e2e/test-results/.last-run.json","e2e/test-results/results.json"],"removed":[],"modified":["backend/src/modules/ad-accounts/ad-account.controller.ts","backend/src/modules/ad-biddings/ad-bidding.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/shared/utils/biz-code.ts","e2e/playwright-report/index.html","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","e2e/tests/crud/module-catalog.overrides.ts"]}],"total_commits":0,"head_commit":{"id":"c1da50f2974fe9552f40dde68ec34df656ddca22","message":"feat: 同步治理文档与 Playwright 可见菜单写批次运行产物\n\n- 更新四份核心文档(AGENTS/CLAUDE/GEMINI/README)菜单深交互基线治理经验\n- 补充 module-governance-acceptance-checklist.md 新模板\n- 更新 module-acceptance-card.md 验收卡与 runbook 运行手册\n- 刷新 inventory.controller.ts 出库模块控制器\n- 同步前端 leads/Index.vue 线索列表页\n- 更新可见菜单写批次:ai-acquisition-content / finance / supply-chain /\n growth-sales-stores-service / synergy / system-infra / hr 域新一轮\n probe JSON、failure 截图与 action-coverage-report\n- 新增 sales-leads / outbound / sales / supply 治理复查产物目录\n- 更新 e2e 测试脚本与 CRUD catalog 配置\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c1da50f2974fe9552f40dde68ec34df656ddca22","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T15:28:33+08:00","added":["docs/templates/governance/module-governance-acceptance-checklist.md","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v1/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.html","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.png","e2e/output/playwright/outbound-governance-recheck-v1/probes/-outbound-1773728392272.json","e2e/output/playwright/outbound-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v2/probes/-outbound-1773729291584.json","e2e/output/playwright/outbound-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/sales-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/sales-governance-recheck-v2/failure-1.html","e2e/output/playwright/sales-governance-recheck-v2/failure-1.png","e2e/output/playwright/sales-governance-recheck-v2/failure-2.html","e2e/output/playwright/sales-governance-recheck-v2/failure-2.png","e2e/output/playwright/sales-governance-recheck-v2/probes/-leads-1773730807935.json","e2e/output/playwright/sales-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/sales-leads-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/sales-leads-governance-recheck-v4/probes/-leads-1773728044474.json","e2e/output/playwright/sales-leads-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v5/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-bom-1773730659592.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-issues-1773730663321.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-orders-1773730661365.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-receipts-1773730665247.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assets-1773730671300.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-devices-1773730673579.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-outbound-1773730655235.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-product-categories-1773730669828.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-products-1773730667766.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-serial-numbers-1773730656634.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-suppliers-1773730630707.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-supply-chain-1773730628780.json","e2e/output/playwright/supply-governance-recheck-v5/visible-menu-snapshot.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.png","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773730293426.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773730346930.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773730265455.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773730339395.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773730342218.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773730348434.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-leads-1773730376023.json","output/playwright/full-menu-write-batches/finance/action-coverage-report.md","output/playwright/full-menu-write-batches/finance/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/finance/failure-3.html","output/playwright/full-menu-write-batches/finance/failure-3.png","output/playwright/full-menu-write-batches/finance/failure-4.html","output/playwright/full-menu-write-batches/finance/failure-4.png","output/playwright/full-menu-write-batches/finance/failure-5.html","output/playwright/full-menu-write-batches/finance/failure-5.png","output/playwright/full-menu-write-batches/finance/failure-6.html","output/playwright/full-menu-write-batches/finance/failure-6.png","output/playwright/full-menu-write-batches/finance/failure-7.html","output/playwright/full-menu-write-batches/finance/failure-7.png","output/playwright/full-menu-write-batches/finance/failure-8.html","output/playwright/full-menu-write-batches/finance/failure-8.png","output/playwright/full-menu-write-batches/finance/failure-9.html","output/playwright/full-menu-write-batches/finance/failure-9.png","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773730815434.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773730746198.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773730747838.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-accounts-1773730566774.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-audiences-1773730561615.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-biddings-1773730569333.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-campaigns-1773730556834.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-creatives-1773730559313.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-reports-1773730564152.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaign-library-1773730532757.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaigns-1773730528728.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-activities-1773730587398.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-bots-1773730600826.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-groups-1773730571925.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-members-1773730573486.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-points-1773730577188.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-tasks-1773730579980.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customer-marketing-1773730531325.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-journey-orchestration-1773730578554.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-automation-1773730583244.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-chatbot-1773730574929.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-predictive-analytics-1773730586008.json","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773731255349.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773731072621.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773731076369.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773731074407.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773731078283.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assets-1773731084301.json","output/playwright/full-menu-write-batches/supply-chain/probes/-devices-1773731086563.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773731068258.json","output/playwright/full-menu-write-batches/supply-chain/probes/-product-categories-1773731082834.json","output/playwright/full-menu-write-batches/supply-chain/probes/-products-1773731080800.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773731069659.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773731043692.json","output/playwright/full-menu-write-batches/supply-chain/probes/-supply-chain-1773731041756.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773731295866.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773731281925.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773731268383.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773731266376.json"],"removed":["e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773632942127.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773632995925.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773632916088.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773632988219.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773632991102.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773632997429.json","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773633734328.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773633664730.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773633666424.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.png","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773634383805.json","output/playwright/full-menu-write-batches/supply-chain/failure-1.html","output/playwright/full-menu-write-batches/supply-chain/failure-1.png","output/playwright/full-menu-write-batches/supply-chain/failure-2.html","output/playwright/full-menu-write-batches/supply-chain/failure-2.png","output/playwright/full-menu-write-batches/supply-chain/failure-3.html","output/playwright/full-menu-write-batches/supply-chain/failure-3.png","output/playwright/full-menu-write-batches/supply-chain/failure-4.html","output/playwright/full-menu-write-batches/supply-chain/failure-4.png","output/playwright/full-menu-write-batches/supply-chain/failure-5.html","output/playwright/full-menu-write-batches/supply-chain/failure-5.png","output/playwright/full-menu-write-batches/supply-chain/failure-6.html","output/playwright/full-menu-write-batches/supply-chain/failure-6.png","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773633901574.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773633905434.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773633903472.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773633907354.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773633897130.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773633898566.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773633882907.json","output/playwright/full-menu-write-batches/synergy/action-coverage-report.json","output/playwright/full-menu-write-batches/synergy/probes/-departments-1773633979244.json","output/playwright/full-menu-write-batches/synergy/probes/-knowledge-1773633919146.json","output/playwright/full-menu-write-batches/synergy/probes/-stage-knowledge-1773633921148.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773634434163.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773634420132.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773634396344.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773634394393.json"],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/inventory/inventory.controller.ts","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/templates/governance/module-acceptance-card.md","e2e/playwright-report/index.html","e2e/scripts/run-visible-write-batches.mjs","e2e/tests/crud/01-visible-menu-write-runner.spec.ts","e2e/tests/crud/module-catalog.overrides.ts","e2e/tests/crud/types.ts","e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/views/leads/Index.vue","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.json","output/playwright/full-menu-write-batches/batch-summary.json","output/playwright/full-menu-write-batches/batch-summary.md","output/playwright/full-menu-write-batches/finance/action-coverage-report.json","output/playwright/full-menu-write-batches/finance/failure-1.html","output/playwright/full-menu-write-batches/finance/failure-1.png","output/playwright/full-menu-write-batches/finance/failure-2.html","output/playwright/full-menu-write-batches/finance/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.md","output/playwright/full-menu-write-batches/supply-chain/blocked-unmapped-pages.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/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":1162552,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-17T15:30:33+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
1
|
3
|
1773737432
|
1773737433
|
0
|
1773737432
|
1773737433
|
NULL
|
|
0
|
Edit
Delete
|
|
6375
|
feat: 同步治理文档与 Playwright 可见菜单写批次运行产物
|
6
|
5
|
health-check.yml
|
6308
|
-2
|
58
|
refs/heads/main
|
c1da50f2974fe9552f40dde68ec34df656ddca22
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e5a2f5ba8d6442be07c490ec77c734dbe317bfd5","after":"c1da50f2974fe9552f40dde68ec34df656ddca22","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e5a2f5ba8d6442be07c490ec77c734dbe317bfd5...c1da50f2974fe9552f40dde68ec34df656ddca22","commits":[{"id":"c1da50f2974fe9552f40dde68ec34df656ddca22","message":"feat: 同步治理文档与 Playwright 可见菜单写批次运行产物\n\n- 更新四份核心文档(AGENTS/CLAUDE/GEMINI/README)菜单深交互基线治理经验\n- 补充 module-governance-acceptance-checklist.md 新模板\n- 更新 module-acceptance-card.md 验收卡与 runbook 运行手册\n- 刷新 inventory.controller.ts 出库模块控制器\n- 同步前端 leads/Index.vue 线索列表页\n- 更新可见菜单写批次:ai-acquisition-content / finance / supply-chain /\n growth-sales-stores-service / synergy / system-infra / hr 域新一轮\n probe JSON、failure 截图与 action-coverage-report\n- 新增 sales-leads / outbound / sales / supply 治理复查产物目录\n- 更新 e2e 测试脚本与 CRUD catalog 配置\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c1da50f2974fe9552f40dde68ec34df656ddca22","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T15:28:33+08:00","added":["docs/templates/governance/module-governance-acceptance-checklist.md","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v1/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.html","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.png","e2e/output/playwright/outbound-governance-recheck-v1/probes/-outbound-1773728392272.json","e2e/output/playwright/outbound-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v2/probes/-outbound-1773729291584.json","e2e/output/playwright/outbound-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/sales-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/sales-governance-recheck-v2/failure-1.html","e2e/output/playwright/sales-governance-recheck-v2/failure-1.png","e2e/output/playwright/sales-governance-recheck-v2/failure-2.html","e2e/output/playwright/sales-governance-recheck-v2/failure-2.png","e2e/output/playwright/sales-governance-recheck-v2/probes/-leads-1773730807935.json","e2e/output/playwright/sales-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/sales-leads-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/sales-leads-governance-recheck-v4/probes/-leads-1773728044474.json","e2e/output/playwright/sales-leads-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v5/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-bom-1773730659592.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-issues-1773730663321.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-orders-1773730661365.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-receipts-1773730665247.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assets-1773730671300.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-devices-1773730673579.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-outbound-1773730655235.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-product-categories-1773730669828.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-products-1773730667766.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-serial-numbers-1773730656634.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-suppliers-1773730630707.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-supply-chain-1773730628780.json","e2e/output/playwright/supply-governance-recheck-v5/visible-menu-snapshot.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.png","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773730293426.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773730346930.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773730265455.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773730339395.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773730342218.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773730348434.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-leads-1773730376023.json","output/playwright/full-menu-write-batches/finance/action-coverage-report.md","output/playwright/full-menu-write-batches/finance/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/finance/failure-3.html","output/playwright/full-menu-write-batches/finance/failure-3.png","output/playwright/full-menu-write-batches/finance/failure-4.html","output/playwright/full-menu-write-batches/finance/failure-4.png","output/playwright/full-menu-write-batches/finance/failure-5.html","output/playwright/full-menu-write-batches/finance/failure-5.png","output/playwright/full-menu-write-batches/finance/failure-6.html","output/playwright/full-menu-write-batches/finance/failure-6.png","output/playwright/full-menu-write-batches/finance/failure-7.html","output/playwright/full-menu-write-batches/finance/failure-7.png","output/playwright/full-menu-write-batches/finance/failure-8.html","output/playwright/full-menu-write-batches/finance/failure-8.png","output/playwright/full-menu-write-batches/finance/failure-9.html","output/playwright/full-menu-write-batches/finance/failure-9.png","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773730815434.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773730746198.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773730747838.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-accounts-1773730566774.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-audiences-1773730561615.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-biddings-1773730569333.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-campaigns-1773730556834.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-creatives-1773730559313.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-reports-1773730564152.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaign-library-1773730532757.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaigns-1773730528728.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-activities-1773730587398.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-bots-1773730600826.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-groups-1773730571925.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-members-1773730573486.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-points-1773730577188.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-tasks-1773730579980.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customer-marketing-1773730531325.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-journey-orchestration-1773730578554.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-automation-1773730583244.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-chatbot-1773730574929.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-predictive-analytics-1773730586008.json","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773731255349.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773731072621.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773731076369.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773731074407.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773731078283.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assets-1773731084301.json","output/playwright/full-menu-write-batches/supply-chain/probes/-devices-1773731086563.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773731068258.json","output/playwright/full-menu-write-batches/supply-chain/probes/-product-categories-1773731082834.json","output/playwright/full-menu-write-batches/supply-chain/probes/-products-1773731080800.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773731069659.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773731043692.json","output/playwright/full-menu-write-batches/supply-chain/probes/-supply-chain-1773731041756.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773731295866.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773731281925.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773731268383.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773731266376.json"],"removed":["e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773632942127.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773632995925.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773632916088.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773632988219.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773632991102.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773632997429.json","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773633734328.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773633664730.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773633666424.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.png","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773634383805.json","output/playwright/full-menu-write-batches/supply-chain/failure-1.html","output/playwright/full-menu-write-batches/supply-chain/failure-1.png","output/playwright/full-menu-write-batches/supply-chain/failure-2.html","output/playwright/full-menu-write-batches/supply-chain/failure-2.png","output/playwright/full-menu-write-batches/supply-chain/failure-3.html","output/playwright/full-menu-write-batches/supply-chain/failure-3.png","output/playwright/full-menu-write-batches/supply-chain/failure-4.html","output/playwright/full-menu-write-batches/supply-chain/failure-4.png","output/playwright/full-menu-write-batches/supply-chain/failure-5.html","output/playwright/full-menu-write-batches/supply-chain/failure-5.png","output/playwright/full-menu-write-batches/supply-chain/failure-6.html","output/playwright/full-menu-write-batches/supply-chain/failure-6.png","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773633901574.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773633905434.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773633903472.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773633907354.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773633897130.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773633898566.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773633882907.json","output/playwright/full-menu-write-batches/synergy/action-coverage-report.json","output/playwright/full-menu-write-batches/synergy/probes/-departments-1773633979244.json","output/playwright/full-menu-write-batches/synergy/probes/-knowledge-1773633919146.json","output/playwright/full-menu-write-batches/synergy/probes/-stage-knowledge-1773633921148.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773634434163.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773634420132.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773634396344.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773634394393.json"],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/inventory/inventory.controller.ts","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/templates/governance/module-acceptance-card.md","e2e/playwright-report/index.html","e2e/scripts/run-visible-write-batches.mjs","e2e/tests/crud/01-visible-menu-write-runner.spec.ts","e2e/tests/crud/module-catalog.overrides.ts","e2e/tests/crud/types.ts","e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/views/leads/Index.vue","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.json","output/playwright/full-menu-write-batches/batch-summary.json","output/playwright/full-menu-write-batches/batch-summary.md","output/playwright/full-menu-write-batches/finance/action-coverage-report.json","output/playwright/full-menu-write-batches/finance/failure-1.html","output/playwright/full-menu-write-batches/finance/failure-1.png","output/playwright/full-menu-write-batches/finance/failure-2.html","output/playwright/full-menu-write-batches/finance/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.md","output/playwright/full-menu-write-batches/supply-chain/blocked-unmapped-pages.json"]},{"id":"9d26d79a0e913f59f095f5770c349ada3eb290e6","message":"Sync governance docs with repo triage guidance\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9d26d79a0e913f59f095f5770c349ada3eb290e6","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:59:58+08:00","added":[],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","docs/contract-governance-3.0.md","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/reports/governance-experience-2026-03-07.md"]},{"id":"90763866bd7d7302b2fd963c80971c0c980e2a40","message":"Add visible menu snapshot for sales leads governance recheck\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/90763866bd7d7302b2fd963c80971c0c980e2a40","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:52:59+08:00","added":["e2e/output/playwright/sales-leads-governance-recheck-v2/visible-menu-snapshot.json"],"removed":[],"modified":[]},{"id":"37491f5183c3793b77913e9fa046090fd3e2140e","message":"Fix visible-menu action contracts and refresh Playwright artifacts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/37491f5183c3793b77913e9fa046090fd3e2140e","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:49:50+08:00","added":["e2e/output/playwright/growth-governance-recheck-v6/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v6/failure-1.html","e2e/output/playwright/growth-governance-recheck-v6/failure-1.png","e2e/output/playwright/growth-governance-recheck-v6/failure-2.html","e2e/output/playwright/growth-governance-recheck-v6/failure-2.png","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-accounts-1773724659044.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-audiences-1773724653884.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-biddings-1773724661639.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-campaigns-1773724649143.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-creatives-1773724651605.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-reports-1773724656426.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-campaign-library-1773724625404.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-campaigns-1773724621356.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-activities-1773724679469.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-bots-1773724692868.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-groups-1773724663988.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-members-1773724665547.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-points-1773724669207.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-tasks-1773724672014.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-customer-marketing-1773724623985.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-journey-orchestration-1773724670573.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-marketing-automation-1773724675311.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-marketing-chatbot-1773724666974.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-predictive-analytics-1773724678072.json","e2e/output/playwright/growth-governance-recheck-v6/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v7/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v7/failure-1.html","e2e/output/playwright/growth-governance-recheck-v7/failure-1.png","e2e/output/playwright/growth-governance-recheck-v7/failure-2.html","e2e/output/playwright/growth-governance-recheck-v7/failure-2.png","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-audiences-1773725119348.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-biddings-1773725144948.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-campaigns-1773725114561.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-creatives-1773725117027.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-reports-1773725121927.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-campaign-library-1773725090781.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-campaigns-1773725086648.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-activities-1773725163012.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-bots-1773725176355.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-groups-1773725147556.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-members-1773725149129.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-points-1773725152767.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-tasks-1773725155559.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-customer-marketing-1773725089355.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-journey-orchestration-1773725154125.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-marketing-automation-1773725158850.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-marketing-chatbot-1773725150561.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-predictive-analytics-1773725161612.json","e2e/output/playwright/growth-governance-recheck-v7/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v8/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-accounts-1773725331287.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-audiences-1773725326038.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-biddings-1773725333878.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-campaigns-1773725321263.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-creatives-1773725323743.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-reports-1773725328622.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-campaign-library-1773725297280.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-campaigns-1773725293257.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-activities-1773725352012.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-bots-1773725365518.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-groups-1773725336490.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-members-1773725338048.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-points-1773725341744.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-tasks-1773725344573.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-customer-marketing-1773725295883.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-journey-orchestration-1773725343111.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-marketing-automation-1773725347852.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-marketing-chatbot-1773725339499.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-predictive-analytics-1773725350608.json","e2e/output/playwright/growth-governance-recheck-v8/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v1-page1/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/sales-stores-service-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v3/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v3/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v3/failure-1.html","e2e/output/playwright/supply-governance-recheck-v3/failure-1.png","e2e/output/playwright/supply-governance-recheck-v3/failure-2.html","e2e/output/playwright/supply-governance-recheck-v3/failure-2.png","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-bom-1773724804766.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-issues-1773724808526.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-orders-1773724806554.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-receipts-1773724810440.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assets-1773724816442.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-devices-1773724818721.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-outbound-1773724800429.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-product-categories-1773724814983.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-products-1773724812923.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-serial-numbers-1773724801816.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-suppliers-1773724776440.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-supply-chain-1773724774524.json","e2e/output/playwright/supply-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v4/failure-1.html","e2e/output/playwright/supply-governance-recheck-v4/failure-1.png","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-bom-1773724908303.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-issues-1773724912024.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-orders-1773724910085.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-receipts-1773724913947.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assets-1773724920008.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-devices-1773724922280.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-outbound-1773724903876.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-product-categories-1773724918547.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-products-1773724916486.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-serial-numbers-1773724905275.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-suppliers-1773724890016.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-supply-chain-1773724888101.json","e2e/output/playwright/supply-governance-recheck-v4/visible-menu-snapshot.json","e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md"],"removed":["e2e/playwright-report/data/2bb2f2c3e1d82fa9325fdd6b5f4669df159db17a.md","e2e/playwright-report/data/92afb63601a0131a016d16a554bdb89a648849de.png","e2e/test-results/.last-run.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","e2e/test-results/results.json"],"modified":["backend/src/modules/ad-campaigns/ad-campaigns.service.ts","backend/src/modules/community-groups/community-group.contract.routes.ts","backend/src/shared/process-core/default-workflow-definitions.ts","e2e/playwright-report/index.html","e2e/tests/crud/module-catalog.overrides.ts"]},{"id":"46e5f097ea53c593ee709803d6679b5520a6b271","message":"Fix growth module write contracts and governance probes\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/46e5f097ea53c593ee709803d6679b5520a6b271","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:14:33+08:00","added":[".claude/worktrees/vibrant-mestorf","e2e/output/playwright/growth-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v2/failure-1.html","e2e/output/playwright/growth-governance-recheck-v2/failure-1.png","e2e/output/playwright/growth-governance-recheck-v2/failure-2.html","e2e/output/playwright/growth-governance-recheck-v2/failure-2.png","e2e/output/playwright/growth-governance-recheck-v2/failure-3.html","e2e/output/playwright/growth-governance-recheck-v2/failure-3.png","e2e/output/playwright/growth-governance-recheck-v2/failure-4.html","e2e/output/playwright/growth-governance-recheck-v2/failure-4.png","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-accounts-1773637103428.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-audiences-1773637097919.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-biddings-1773637106233.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-campaigns-1773637092737.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-creatives-1773637095413.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-reports-1773637100574.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-campaign-library-1773637068728.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-campaigns-1773637064334.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-activities-1773637125231.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-bots-1773637138800.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-groups-1773637108862.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-members-1773637110559.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-points-1773637114159.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-tasks-1773637117170.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-customer-marketing-1773637067192.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-journey-orchestration-1773637115613.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-marketing-automation-1773637120849.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-marketing-chatbot-1773637111690.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-predictive-analytics-1773637123749.json","e2e/output/playwright/growth-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v3/failure-1.html","e2e/output/playwright/growth-governance-recheck-v3/failure-1.png","e2e/output/playwright/growth-governance-recheck-v3/failure-2.html","e2e/output/playwright/growth-governance-recheck-v3/failure-2.png","e2e/output/playwright/growth-governance-recheck-v3/failure-3.html","e2e/output/playwright/growth-governance-recheck-v3/failure-3.png","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-accounts-1773637290819.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-audiences-1773637285318.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-biddings-1773637293641.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-campaigns-1773637280219.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-creatives-1773637282870.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-reports-1773637287997.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-campaign-library-1773637256300.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-campaigns-1773637252140.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-activities-1773637312007.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-bots-1773637315094.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-groups-1773637296205.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-members-1773637297858.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-points-1773637301326.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-tasks-1773637304221.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-customer-marketing-1773637254826.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-journey-orchestration-1773637302713.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-marketing-automation-1773637307735.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-marketing-chatbot-1773637298900.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-predictive-analytics-1773637310596.json","e2e/output/playwright/growth-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v4/failure-1.html","e2e/output/playwright/growth-governance-recheck-v4/failure-1.png","e2e/output/playwright/growth-governance-recheck-v4/failure-2.html","e2e/output/playwright/growth-governance-recheck-v4/failure-2.png","e2e/output/playwright/growth-governance-recheck-v4/failure-3.html","e2e/output/playwright/growth-governance-recheck-v4/failure-3.png","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-accounts-1773637580471.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-audiences-1773637574939.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-biddings-1773637583127.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-campaigns-1773637569798.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-creatives-1773637572491.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-reports-1773637577693.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-campaign-library-1773637545837.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-campaigns-1773637541347.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-activities-1773637601885.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-bots-1773637615595.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-groups-1773637585737.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-members-1773637587440.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-points-1773637590954.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-tasks-1773637593940.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-customer-marketing-1773637544263.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-journey-orchestration-1773637592404.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-marketing-automation-1773637597490.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-marketing-chatbot-1773637588564.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-predictive-analytics-1773637600359.json","e2e/output/playwright/growth-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v5/failure-1.html","e2e/output/playwright/growth-governance-recheck-v5/failure-1.png","e2e/output/playwright/growth-governance-recheck-v5/failure-2.html","e2e/output/playwright/growth-governance-recheck-v5/failure-2.png","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-accounts-1773637856277.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-audiences-1773637850560.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-biddings-1773637859067.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-campaigns-1773637845354.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-creatives-1773637848041.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-reports-1773637853256.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-campaign-library-1773637842008.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-campaigns-1773637837583.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-activities-1773637878336.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-bots-1773637891983.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-groups-1773637861569.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-members-1773637863254.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-points-1773637867326.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-tasks-1773637870372.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-customer-marketing-1773637840454.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-journey-orchestration-1773637868795.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-marketing-automation-1773637874004.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-marketing-chatbot-1773637864856.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-predictive-analytics-1773637876874.json","e2e/output/playwright/growth-governance-recheck-v5/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck/failure-1.html","e2e/output/playwright/growth-governance-recheck/failure-1.png","e2e/output/playwright/growth-governance-recheck/failure-10.html","e2e/output/playwright/growth-governance-recheck/failure-10.png","e2e/output/playwright/growth-governance-recheck/failure-11.html","e2e/output/playwright/growth-governance-recheck/failure-11.png","e2e/output/playwright/growth-governance-recheck/failure-12.html","e2e/output/playwright/growth-governance-recheck/failure-12.png","e2e/output/playwright/growth-governance-recheck/failure-13.html","e2e/output/playwright/growth-governance-recheck/failure-13.png","e2e/output/playwright/growth-governance-recheck/failure-2.html","e2e/output/playwright/growth-governance-recheck/failure-2.png","e2e/output/playwright/growth-governance-recheck/failure-3.html","e2e/output/playwright/growth-governance-recheck/failure-3.png","e2e/output/playwright/growth-governance-recheck/failure-4.html","e2e/output/playwright/growth-governance-recheck/failure-4.png","e2e/output/playwright/growth-governance-recheck/failure-5.html","e2e/output/playwright/growth-governance-recheck/failure-5.png","e2e/output/playwright/growth-governance-recheck/failure-6.html","e2e/output/playwright/growth-governance-recheck/failure-6.png","e2e/output/playwright/growth-governance-recheck/failure-7.html","e2e/output/playwright/growth-governance-recheck/failure-7.png","e2e/output/playwright/growth-governance-recheck/failure-8.html","e2e/output/playwright/growth-governance-recheck/failure-8.png","e2e/output/playwright/growth-governance-recheck/failure-9.html","e2e/output/playwright/growth-governance-recheck/failure-9.png","e2e/output/playwright/growth-governance-recheck/probes/-ad-accounts-1773636279090.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-audiences-1773636274572.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-biddings-1773636281658.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-campaigns-1773636269396.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-creatives-1773636272040.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-reports-1773636276435.json","e2e/output/playwright/growth-governance-recheck/probes/-campaign-library-1773636266028.json","e2e/output/playwright/growth-governance-recheck/probes/-campaigns-1773636262465.json","e2e/output/playwright/growth-governance-recheck/probes/-community-activities-1773636296839.json","e2e/output/playwright/growth-governance-recheck/probes/-community-bots-1773636309301.json","e2e/output/playwright/growth-governance-recheck/probes/-community-groups-1773636282678.json","e2e/output/playwright/growth-governance-recheck/probes/-community-members-1773636283728.json","e2e/output/playwright/growth-governance-recheck/probes/-community-points-1773636287173.json","e2e/output/playwright/growth-governance-recheck/probes/-community-tasks-1773636289789.json","e2e/output/playwright/growth-governance-recheck/probes/-customer-marketing-1773636264449.json","e2e/output/playwright/growth-governance-recheck/probes/-journey-orchestration-1773636288630.json","e2e/output/playwright/growth-governance-recheck/probes/-marketing-automation-1773636292934.json","e2e/output/playwright/growth-governance-recheck/probes/-marketing-chatbot-1773636284766.json","e2e/output/playwright/growth-governance-recheck/probes/-predictive-analytics-1773636295835.json","e2e/output/playwright/growth-governance-recheck/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v2/failure-1.html","e2e/output/playwright/supply-governance-recheck-v2/failure-1.png","e2e/output/playwright/supply-governance-recheck-v2/failure-2.html","e2e/output/playwright/supply-governance-recheck-v2/failure-2.png","e2e/output/playwright/supply-governance-recheck-v2/failure-3.html","e2e/output/playwright/supply-governance-recheck-v2/failure-3.png","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-bom-1773638085569.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-issues-1773638089294.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-orders-1773638087361.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-receipts-1773638091237.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assets-1773638096600.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-devices-1773638098927.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-outbound-1773638081116.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-product-categories-1773638095076.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-products-1773638093780.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-serial-numbers-1773638082543.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-suppliers-1773638056945.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-supply-chain-1773638054946.json","e2e/output/playwright/supply-governance-recheck-v2/visible-menu-snapshot.json","e2e/playwright-report/data/2bb2f2c3e1d82fa9325fdd6b5f4669df159db17a.md","e2e/playwright-report/data/92afb63601a0131a016d16a554bdb89a648849de.png","e2e/test-results/.last-run.json","e2e/test-results/results.json"],"removed":[],"modified":["backend/src/modules/ad-accounts/ad-account.controller.ts","backend/src/modules/ad-biddings/ad-bidding.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/shared/utils/biz-code.ts","e2e/playwright-report/index.html","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","e2e/tests/crud/module-catalog.overrides.ts"]}],"total_commits":0,"head_commit":{"id":"c1da50f2974fe9552f40dde68ec34df656ddca22","message":"feat: 同步治理文档与 Playwright 可见菜单写批次运行产物\n\n- 更新四份核心文档(AGENTS/CLAUDE/GEMINI/README)菜单深交互基线治理经验\n- 补充 module-governance-acceptance-checklist.md 新模板\n- 更新 module-acceptance-card.md 验收卡与 runbook 运行手册\n- 刷新 inventory.controller.ts 出库模块控制器\n- 同步前端 leads/Index.vue 线索列表页\n- 更新可见菜单写批次:ai-acquisition-content / finance / supply-chain /\n growth-sales-stores-service / synergy / system-infra / hr 域新一轮\n probe JSON、failure 截图与 action-coverage-report\n- 新增 sales-leads / outbound / sales / supply 治理复查产物目录\n- 更新 e2e 测试脚本与 CRUD catalog 配置\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c1da50f2974fe9552f40dde68ec34df656ddca22","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T15:28:33+08:00","added":["docs/templates/governance/module-governance-acceptance-checklist.md","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v1/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.html","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.png","e2e/output/playwright/outbound-governance-recheck-v1/probes/-outbound-1773728392272.json","e2e/output/playwright/outbound-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v2/probes/-outbound-1773729291584.json","e2e/output/playwright/outbound-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/sales-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/sales-governance-recheck-v2/failure-1.html","e2e/output/playwright/sales-governance-recheck-v2/failure-1.png","e2e/output/playwright/sales-governance-recheck-v2/failure-2.html","e2e/output/playwright/sales-governance-recheck-v2/failure-2.png","e2e/output/playwright/sales-governance-recheck-v2/probes/-leads-1773730807935.json","e2e/output/playwright/sales-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/sales-leads-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/sales-leads-governance-recheck-v4/probes/-leads-1773728044474.json","e2e/output/playwright/sales-leads-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v5/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-bom-1773730659592.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-issues-1773730663321.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-orders-1773730661365.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-receipts-1773730665247.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assets-1773730671300.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-devices-1773730673579.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-outbound-1773730655235.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-product-categories-1773730669828.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-products-1773730667766.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-serial-numbers-1773730656634.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-suppliers-1773730630707.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-supply-chain-1773730628780.json","e2e/output/playwright/supply-governance-recheck-v5/visible-menu-snapshot.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.png","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773730293426.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773730346930.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773730265455.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773730339395.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773730342218.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773730348434.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-leads-1773730376023.json","output/playwright/full-menu-write-batches/finance/action-coverage-report.md","output/playwright/full-menu-write-batches/finance/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/finance/failure-3.html","output/playwright/full-menu-write-batches/finance/failure-3.png","output/playwright/full-menu-write-batches/finance/failure-4.html","output/playwright/full-menu-write-batches/finance/failure-4.png","output/playwright/full-menu-write-batches/finance/failure-5.html","output/playwright/full-menu-write-batches/finance/failure-5.png","output/playwright/full-menu-write-batches/finance/failure-6.html","output/playwright/full-menu-write-batches/finance/failure-6.png","output/playwright/full-menu-write-batches/finance/failure-7.html","output/playwright/full-menu-write-batches/finance/failure-7.png","output/playwright/full-menu-write-batches/finance/failure-8.html","output/playwright/full-menu-write-batches/finance/failure-8.png","output/playwright/full-menu-write-batches/finance/failure-9.html","output/playwright/full-menu-write-batches/finance/failure-9.png","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773730815434.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773730746198.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773730747838.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-accounts-1773730566774.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-audiences-1773730561615.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-biddings-1773730569333.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-campaigns-1773730556834.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-creatives-1773730559313.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-reports-1773730564152.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaign-library-1773730532757.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaigns-1773730528728.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-activities-1773730587398.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-bots-1773730600826.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-groups-1773730571925.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-members-1773730573486.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-points-1773730577188.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-tasks-1773730579980.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customer-marketing-1773730531325.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-journey-orchestration-1773730578554.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-automation-1773730583244.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-chatbot-1773730574929.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-predictive-analytics-1773730586008.json","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773731255349.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773731072621.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773731076369.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773731074407.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773731078283.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assets-1773731084301.json","output/playwright/full-menu-write-batches/supply-chain/probes/-devices-1773731086563.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773731068258.json","output/playwright/full-menu-write-batches/supply-chain/probes/-product-categories-1773731082834.json","output/playwright/full-menu-write-batches/supply-chain/probes/-products-1773731080800.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773731069659.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773731043692.json","output/playwright/full-menu-write-batches/supply-chain/probes/-supply-chain-1773731041756.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773731295866.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773731281925.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773731268383.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773731266376.json"],"removed":["e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773632942127.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773632995925.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773632916088.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773632988219.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773632991102.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773632997429.json","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773633734328.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773633664730.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773633666424.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.png","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773634383805.json","output/playwright/full-menu-write-batches/supply-chain/failure-1.html","output/playwright/full-menu-write-batches/supply-chain/failure-1.png","output/playwright/full-menu-write-batches/supply-chain/failure-2.html","output/playwright/full-menu-write-batches/supply-chain/failure-2.png","output/playwright/full-menu-write-batches/supply-chain/failure-3.html","output/playwright/full-menu-write-batches/supply-chain/failure-3.png","output/playwright/full-menu-write-batches/supply-chain/failure-4.html","output/playwright/full-menu-write-batches/supply-chain/failure-4.png","output/playwright/full-menu-write-batches/supply-chain/failure-5.html","output/playwright/full-menu-write-batches/supply-chain/failure-5.png","output/playwright/full-menu-write-batches/supply-chain/failure-6.html","output/playwright/full-menu-write-batches/supply-chain/failure-6.png","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773633901574.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773633905434.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773633903472.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773633907354.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773633897130.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773633898566.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773633882907.json","output/playwright/full-menu-write-batches/synergy/action-coverage-report.json","output/playwright/full-menu-write-batches/synergy/probes/-departments-1773633979244.json","output/playwright/full-menu-write-batches/synergy/probes/-knowledge-1773633919146.json","output/playwright/full-menu-write-batches/synergy/probes/-stage-knowledge-1773633921148.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773634434163.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773634420132.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773634396344.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773634394393.json"],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/inventory/inventory.controller.ts","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/templates/governance/module-acceptance-card.md","e2e/playwright-report/index.html","e2e/scripts/run-visible-write-batches.mjs","e2e/tests/crud/01-visible-menu-write-runner.spec.ts","e2e/tests/crud/module-catalog.overrides.ts","e2e/tests/crud/types.ts","e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/views/leads/Index.vue","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.json","output/playwright/full-menu-write-batches/batch-summary.json","output/playwright/full-menu-write-batches/batch-summary.md","output/playwright/full-menu-write-batches/finance/action-coverage-report.json","output/playwright/full-menu-write-batches/finance/failure-1.html","output/playwright/full-menu-write-batches/finance/failure-1.png","output/playwright/full-menu-write-batches/finance/failure-2.html","output/playwright/full-menu-write-batches/finance/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.md","output/playwright/full-menu-write-batches/supply-chain/blocked-unmapped-pages.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/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":1162552,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-17T15:30:33+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
1
|
3
|
1773737732
|
1773737733
|
0
|
1773737732
|
1773737733
|
NULL
|
|
0
|
Edit
Delete
|
|
6376
|
feat: 同步治理文档与 Playwright 可见菜单写批次运行产物
|
6
|
5
|
health-check.yml
|
6309
|
-2
|
58
|
refs/heads/main
|
c1da50f2974fe9552f40dde68ec34df656ddca22
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e5a2f5ba8d6442be07c490ec77c734dbe317bfd5","after":"c1da50f2974fe9552f40dde68ec34df656ddca22","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e5a2f5ba8d6442be07c490ec77c734dbe317bfd5...c1da50f2974fe9552f40dde68ec34df656ddca22","commits":[{"id":"c1da50f2974fe9552f40dde68ec34df656ddca22","message":"feat: 同步治理文档与 Playwright 可见菜单写批次运行产物\n\n- 更新四份核心文档(AGENTS/CLAUDE/GEMINI/README)菜单深交互基线治理经验\n- 补充 module-governance-acceptance-checklist.md 新模板\n- 更新 module-acceptance-card.md 验收卡与 runbook 运行手册\n- 刷新 inventory.controller.ts 出库模块控制器\n- 同步前端 leads/Index.vue 线索列表页\n- 更新可见菜单写批次:ai-acquisition-content / finance / supply-chain /\n growth-sales-stores-service / synergy / system-infra / hr 域新一轮\n probe JSON、failure 截图与 action-coverage-report\n- 新增 sales-leads / outbound / sales / supply 治理复查产物目录\n- 更新 e2e 测试脚本与 CRUD catalog 配置\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c1da50f2974fe9552f40dde68ec34df656ddca22","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T15:28:33+08:00","added":["docs/templates/governance/module-governance-acceptance-checklist.md","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v1/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.html","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.png","e2e/output/playwright/outbound-governance-recheck-v1/probes/-outbound-1773728392272.json","e2e/output/playwright/outbound-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v2/probes/-outbound-1773729291584.json","e2e/output/playwright/outbound-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/sales-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/sales-governance-recheck-v2/failure-1.html","e2e/output/playwright/sales-governance-recheck-v2/failure-1.png","e2e/output/playwright/sales-governance-recheck-v2/failure-2.html","e2e/output/playwright/sales-governance-recheck-v2/failure-2.png","e2e/output/playwright/sales-governance-recheck-v2/probes/-leads-1773730807935.json","e2e/output/playwright/sales-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/sales-leads-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/sales-leads-governance-recheck-v4/probes/-leads-1773728044474.json","e2e/output/playwright/sales-leads-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v5/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-bom-1773730659592.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-issues-1773730663321.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-orders-1773730661365.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-receipts-1773730665247.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assets-1773730671300.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-devices-1773730673579.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-outbound-1773730655235.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-product-categories-1773730669828.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-products-1773730667766.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-serial-numbers-1773730656634.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-suppliers-1773730630707.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-supply-chain-1773730628780.json","e2e/output/playwright/supply-governance-recheck-v5/visible-menu-snapshot.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.png","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773730293426.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773730346930.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773730265455.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773730339395.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773730342218.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773730348434.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-leads-1773730376023.json","output/playwright/full-menu-write-batches/finance/action-coverage-report.md","output/playwright/full-menu-write-batches/finance/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/finance/failure-3.html","output/playwright/full-menu-write-batches/finance/failure-3.png","output/playwright/full-menu-write-batches/finance/failure-4.html","output/playwright/full-menu-write-batches/finance/failure-4.png","output/playwright/full-menu-write-batches/finance/failure-5.html","output/playwright/full-menu-write-batches/finance/failure-5.png","output/playwright/full-menu-write-batches/finance/failure-6.html","output/playwright/full-menu-write-batches/finance/failure-6.png","output/playwright/full-menu-write-batches/finance/failure-7.html","output/playwright/full-menu-write-batches/finance/failure-7.png","output/playwright/full-menu-write-batches/finance/failure-8.html","output/playwright/full-menu-write-batches/finance/failure-8.png","output/playwright/full-menu-write-batches/finance/failure-9.html","output/playwright/full-menu-write-batches/finance/failure-9.png","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773730815434.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773730746198.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773730747838.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-accounts-1773730566774.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-audiences-1773730561615.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-biddings-1773730569333.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-campaigns-1773730556834.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-creatives-1773730559313.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-reports-1773730564152.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaign-library-1773730532757.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaigns-1773730528728.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-activities-1773730587398.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-bots-1773730600826.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-groups-1773730571925.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-members-1773730573486.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-points-1773730577188.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-tasks-1773730579980.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customer-marketing-1773730531325.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-journey-orchestration-1773730578554.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-automation-1773730583244.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-chatbot-1773730574929.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-predictive-analytics-1773730586008.json","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773731255349.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773731072621.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773731076369.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773731074407.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773731078283.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assets-1773731084301.json","output/playwright/full-menu-write-batches/supply-chain/probes/-devices-1773731086563.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773731068258.json","output/playwright/full-menu-write-batches/supply-chain/probes/-product-categories-1773731082834.json","output/playwright/full-menu-write-batches/supply-chain/probes/-products-1773731080800.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773731069659.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773731043692.json","output/playwright/full-menu-write-batches/supply-chain/probes/-supply-chain-1773731041756.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773731295866.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773731281925.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773731268383.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773731266376.json"],"removed":["e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773632942127.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773632995925.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773632916088.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773632988219.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773632991102.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773632997429.json","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773633734328.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773633664730.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773633666424.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.png","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773634383805.json","output/playwright/full-menu-write-batches/supply-chain/failure-1.html","output/playwright/full-menu-write-batches/supply-chain/failure-1.png","output/playwright/full-menu-write-batches/supply-chain/failure-2.html","output/playwright/full-menu-write-batches/supply-chain/failure-2.png","output/playwright/full-menu-write-batches/supply-chain/failure-3.html","output/playwright/full-menu-write-batches/supply-chain/failure-3.png","output/playwright/full-menu-write-batches/supply-chain/failure-4.html","output/playwright/full-menu-write-batches/supply-chain/failure-4.png","output/playwright/full-menu-write-batches/supply-chain/failure-5.html","output/playwright/full-menu-write-batches/supply-chain/failure-5.png","output/playwright/full-menu-write-batches/supply-chain/failure-6.html","output/playwright/full-menu-write-batches/supply-chain/failure-6.png","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773633901574.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773633905434.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773633903472.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773633907354.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773633897130.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773633898566.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773633882907.json","output/playwright/full-menu-write-batches/synergy/action-coverage-report.json","output/playwright/full-menu-write-batches/synergy/probes/-departments-1773633979244.json","output/playwright/full-menu-write-batches/synergy/probes/-knowledge-1773633919146.json","output/playwright/full-menu-write-batches/synergy/probes/-stage-knowledge-1773633921148.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773634434163.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773634420132.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773634396344.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773634394393.json"],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/inventory/inventory.controller.ts","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/templates/governance/module-acceptance-card.md","e2e/playwright-report/index.html","e2e/scripts/run-visible-write-batches.mjs","e2e/tests/crud/01-visible-menu-write-runner.spec.ts","e2e/tests/crud/module-catalog.overrides.ts","e2e/tests/crud/types.ts","e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/views/leads/Index.vue","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.json","output/playwright/full-menu-write-batches/batch-summary.json","output/playwright/full-menu-write-batches/batch-summary.md","output/playwright/full-menu-write-batches/finance/action-coverage-report.json","output/playwright/full-menu-write-batches/finance/failure-1.html","output/playwright/full-menu-write-batches/finance/failure-1.png","output/playwright/full-menu-write-batches/finance/failure-2.html","output/playwright/full-menu-write-batches/finance/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.md","output/playwright/full-menu-write-batches/supply-chain/blocked-unmapped-pages.json"]},{"id":"9d26d79a0e913f59f095f5770c349ada3eb290e6","message":"Sync governance docs with repo triage guidance\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9d26d79a0e913f59f095f5770c349ada3eb290e6","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:59:58+08:00","added":[],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","docs/contract-governance-3.0.md","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/reports/governance-experience-2026-03-07.md"]},{"id":"90763866bd7d7302b2fd963c80971c0c980e2a40","message":"Add visible menu snapshot for sales leads governance recheck\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/90763866bd7d7302b2fd963c80971c0c980e2a40","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:52:59+08:00","added":["e2e/output/playwright/sales-leads-governance-recheck-v2/visible-menu-snapshot.json"],"removed":[],"modified":[]},{"id":"37491f5183c3793b77913e9fa046090fd3e2140e","message":"Fix visible-menu action contracts and refresh Playwright artifacts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/37491f5183c3793b77913e9fa046090fd3e2140e","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:49:50+08:00","added":["e2e/output/playwright/growth-governance-recheck-v6/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v6/failure-1.html","e2e/output/playwright/growth-governance-recheck-v6/failure-1.png","e2e/output/playwright/growth-governance-recheck-v6/failure-2.html","e2e/output/playwright/growth-governance-recheck-v6/failure-2.png","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-accounts-1773724659044.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-audiences-1773724653884.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-biddings-1773724661639.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-campaigns-1773724649143.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-creatives-1773724651605.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-reports-1773724656426.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-campaign-library-1773724625404.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-campaigns-1773724621356.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-activities-1773724679469.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-bots-1773724692868.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-groups-1773724663988.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-members-1773724665547.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-points-1773724669207.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-tasks-1773724672014.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-customer-marketing-1773724623985.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-journey-orchestration-1773724670573.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-marketing-automation-1773724675311.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-marketing-chatbot-1773724666974.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-predictive-analytics-1773724678072.json","e2e/output/playwright/growth-governance-recheck-v6/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v7/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v7/failure-1.html","e2e/output/playwright/growth-governance-recheck-v7/failure-1.png","e2e/output/playwright/growth-governance-recheck-v7/failure-2.html","e2e/output/playwright/growth-governance-recheck-v7/failure-2.png","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-audiences-1773725119348.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-biddings-1773725144948.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-campaigns-1773725114561.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-creatives-1773725117027.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-reports-1773725121927.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-campaign-library-1773725090781.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-campaigns-1773725086648.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-activities-1773725163012.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-bots-1773725176355.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-groups-1773725147556.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-members-1773725149129.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-points-1773725152767.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-tasks-1773725155559.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-customer-marketing-1773725089355.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-journey-orchestration-1773725154125.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-marketing-automation-1773725158850.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-marketing-chatbot-1773725150561.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-predictive-analytics-1773725161612.json","e2e/output/playwright/growth-governance-recheck-v7/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v8/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-accounts-1773725331287.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-audiences-1773725326038.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-biddings-1773725333878.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-campaigns-1773725321263.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-creatives-1773725323743.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-reports-1773725328622.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-campaign-library-1773725297280.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-campaigns-1773725293257.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-activities-1773725352012.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-bots-1773725365518.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-groups-1773725336490.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-members-1773725338048.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-points-1773725341744.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-tasks-1773725344573.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-customer-marketing-1773725295883.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-journey-orchestration-1773725343111.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-marketing-automation-1773725347852.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-marketing-chatbot-1773725339499.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-predictive-analytics-1773725350608.json","e2e/output/playwright/growth-governance-recheck-v8/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v1-page1/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/sales-stores-service-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v3/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v3/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v3/failure-1.html","e2e/output/playwright/supply-governance-recheck-v3/failure-1.png","e2e/output/playwright/supply-governance-recheck-v3/failure-2.html","e2e/output/playwright/supply-governance-recheck-v3/failure-2.png","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-bom-1773724804766.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-issues-1773724808526.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-orders-1773724806554.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-receipts-1773724810440.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assets-1773724816442.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-devices-1773724818721.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-outbound-1773724800429.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-product-categories-1773724814983.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-products-1773724812923.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-serial-numbers-1773724801816.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-suppliers-1773724776440.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-supply-chain-1773724774524.json","e2e/output/playwright/supply-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v4/failure-1.html","e2e/output/playwright/supply-governance-recheck-v4/failure-1.png","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-bom-1773724908303.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-issues-1773724912024.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-orders-1773724910085.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-receipts-1773724913947.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assets-1773724920008.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-devices-1773724922280.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-outbound-1773724903876.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-product-categories-1773724918547.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-products-1773724916486.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-serial-numbers-1773724905275.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-suppliers-1773724890016.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-supply-chain-1773724888101.json","e2e/output/playwright/supply-governance-recheck-v4/visible-menu-snapshot.json","e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md"],"removed":["e2e/playwright-report/data/2bb2f2c3e1d82fa9325fdd6b5f4669df159db17a.md","e2e/playwright-report/data/92afb63601a0131a016d16a554bdb89a648849de.png","e2e/test-results/.last-run.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","e2e/test-results/results.json"],"modified":["backend/src/modules/ad-campaigns/ad-campaigns.service.ts","backend/src/modules/community-groups/community-group.contract.routes.ts","backend/src/shared/process-core/default-workflow-definitions.ts","e2e/playwright-report/index.html","e2e/tests/crud/module-catalog.overrides.ts"]},{"id":"46e5f097ea53c593ee709803d6679b5520a6b271","message":"Fix growth module write contracts and governance probes\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/46e5f097ea53c593ee709803d6679b5520a6b271","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:14:33+08:00","added":[".claude/worktrees/vibrant-mestorf","e2e/output/playwright/growth-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v2/failure-1.html","e2e/output/playwright/growth-governance-recheck-v2/failure-1.png","e2e/output/playwright/growth-governance-recheck-v2/failure-2.html","e2e/output/playwright/growth-governance-recheck-v2/failure-2.png","e2e/output/playwright/growth-governance-recheck-v2/failure-3.html","e2e/output/playwright/growth-governance-recheck-v2/failure-3.png","e2e/output/playwright/growth-governance-recheck-v2/failure-4.html","e2e/output/playwright/growth-governance-recheck-v2/failure-4.png","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-accounts-1773637103428.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-audiences-1773637097919.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-biddings-1773637106233.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-campaigns-1773637092737.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-creatives-1773637095413.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-reports-1773637100574.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-campaign-library-1773637068728.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-campaigns-1773637064334.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-activities-1773637125231.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-bots-1773637138800.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-groups-1773637108862.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-members-1773637110559.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-points-1773637114159.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-tasks-1773637117170.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-customer-marketing-1773637067192.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-journey-orchestration-1773637115613.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-marketing-automation-1773637120849.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-marketing-chatbot-1773637111690.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-predictive-analytics-1773637123749.json","e2e/output/playwright/growth-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v3/failure-1.html","e2e/output/playwright/growth-governance-recheck-v3/failure-1.png","e2e/output/playwright/growth-governance-recheck-v3/failure-2.html","e2e/output/playwright/growth-governance-recheck-v3/failure-2.png","e2e/output/playwright/growth-governance-recheck-v3/failure-3.html","e2e/output/playwright/growth-governance-recheck-v3/failure-3.png","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-accounts-1773637290819.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-audiences-1773637285318.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-biddings-1773637293641.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-campaigns-1773637280219.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-creatives-1773637282870.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-reports-1773637287997.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-campaign-library-1773637256300.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-campaigns-1773637252140.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-activities-1773637312007.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-bots-1773637315094.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-groups-1773637296205.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-members-1773637297858.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-points-1773637301326.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-tasks-1773637304221.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-customer-marketing-1773637254826.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-journey-orchestration-1773637302713.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-marketing-automation-1773637307735.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-marketing-chatbot-1773637298900.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-predictive-analytics-1773637310596.json","e2e/output/playwright/growth-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v4/failure-1.html","e2e/output/playwright/growth-governance-recheck-v4/failure-1.png","e2e/output/playwright/growth-governance-recheck-v4/failure-2.html","e2e/output/playwright/growth-governance-recheck-v4/failure-2.png","e2e/output/playwright/growth-governance-recheck-v4/failure-3.html","e2e/output/playwright/growth-governance-recheck-v4/failure-3.png","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-accounts-1773637580471.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-audiences-1773637574939.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-biddings-1773637583127.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-campaigns-1773637569798.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-creatives-1773637572491.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-reports-1773637577693.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-campaign-library-1773637545837.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-campaigns-1773637541347.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-activities-1773637601885.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-bots-1773637615595.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-groups-1773637585737.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-members-1773637587440.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-points-1773637590954.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-tasks-1773637593940.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-customer-marketing-1773637544263.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-journey-orchestration-1773637592404.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-marketing-automation-1773637597490.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-marketing-chatbot-1773637588564.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-predictive-analytics-1773637600359.json","e2e/output/playwright/growth-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v5/failure-1.html","e2e/output/playwright/growth-governance-recheck-v5/failure-1.png","e2e/output/playwright/growth-governance-recheck-v5/failure-2.html","e2e/output/playwright/growth-governance-recheck-v5/failure-2.png","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-accounts-1773637856277.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-audiences-1773637850560.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-biddings-1773637859067.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-campaigns-1773637845354.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-creatives-1773637848041.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-reports-1773637853256.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-campaign-library-1773637842008.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-campaigns-1773637837583.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-activities-1773637878336.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-bots-1773637891983.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-groups-1773637861569.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-members-1773637863254.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-points-1773637867326.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-tasks-1773637870372.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-customer-marketing-1773637840454.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-journey-orchestration-1773637868795.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-marketing-automation-1773637874004.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-marketing-chatbot-1773637864856.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-predictive-analytics-1773637876874.json","e2e/output/playwright/growth-governance-recheck-v5/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck/failure-1.html","e2e/output/playwright/growth-governance-recheck/failure-1.png","e2e/output/playwright/growth-governance-recheck/failure-10.html","e2e/output/playwright/growth-governance-recheck/failure-10.png","e2e/output/playwright/growth-governance-recheck/failure-11.html","e2e/output/playwright/growth-governance-recheck/failure-11.png","e2e/output/playwright/growth-governance-recheck/failure-12.html","e2e/output/playwright/growth-governance-recheck/failure-12.png","e2e/output/playwright/growth-governance-recheck/failure-13.html","e2e/output/playwright/growth-governance-recheck/failure-13.png","e2e/output/playwright/growth-governance-recheck/failure-2.html","e2e/output/playwright/growth-governance-recheck/failure-2.png","e2e/output/playwright/growth-governance-recheck/failure-3.html","e2e/output/playwright/growth-governance-recheck/failure-3.png","e2e/output/playwright/growth-governance-recheck/failure-4.html","e2e/output/playwright/growth-governance-recheck/failure-4.png","e2e/output/playwright/growth-governance-recheck/failure-5.html","e2e/output/playwright/growth-governance-recheck/failure-5.png","e2e/output/playwright/growth-governance-recheck/failure-6.html","e2e/output/playwright/growth-governance-recheck/failure-6.png","e2e/output/playwright/growth-governance-recheck/failure-7.html","e2e/output/playwright/growth-governance-recheck/failure-7.png","e2e/output/playwright/growth-governance-recheck/failure-8.html","e2e/output/playwright/growth-governance-recheck/failure-8.png","e2e/output/playwright/growth-governance-recheck/failure-9.html","e2e/output/playwright/growth-governance-recheck/failure-9.png","e2e/output/playwright/growth-governance-recheck/probes/-ad-accounts-1773636279090.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-audiences-1773636274572.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-biddings-1773636281658.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-campaigns-1773636269396.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-creatives-1773636272040.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-reports-1773636276435.json","e2e/output/playwright/growth-governance-recheck/probes/-campaign-library-1773636266028.json","e2e/output/playwright/growth-governance-recheck/probes/-campaigns-1773636262465.json","e2e/output/playwright/growth-governance-recheck/probes/-community-activities-1773636296839.json","e2e/output/playwright/growth-governance-recheck/probes/-community-bots-1773636309301.json","e2e/output/playwright/growth-governance-recheck/probes/-community-groups-1773636282678.json","e2e/output/playwright/growth-governance-recheck/probes/-community-members-1773636283728.json","e2e/output/playwright/growth-governance-recheck/probes/-community-points-1773636287173.json","e2e/output/playwright/growth-governance-recheck/probes/-community-tasks-1773636289789.json","e2e/output/playwright/growth-governance-recheck/probes/-customer-marketing-1773636264449.json","e2e/output/playwright/growth-governance-recheck/probes/-journey-orchestration-1773636288630.json","e2e/output/playwright/growth-governance-recheck/probes/-marketing-automation-1773636292934.json","e2e/output/playwright/growth-governance-recheck/probes/-marketing-chatbot-1773636284766.json","e2e/output/playwright/growth-governance-recheck/probes/-predictive-analytics-1773636295835.json","e2e/output/playwright/growth-governance-recheck/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v2/failure-1.html","e2e/output/playwright/supply-governance-recheck-v2/failure-1.png","e2e/output/playwright/supply-governance-recheck-v2/failure-2.html","e2e/output/playwright/supply-governance-recheck-v2/failure-2.png","e2e/output/playwright/supply-governance-recheck-v2/failure-3.html","e2e/output/playwright/supply-governance-recheck-v2/failure-3.png","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-bom-1773638085569.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-issues-1773638089294.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-orders-1773638087361.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-receipts-1773638091237.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assets-1773638096600.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-devices-1773638098927.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-outbound-1773638081116.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-product-categories-1773638095076.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-products-1773638093780.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-serial-numbers-1773638082543.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-suppliers-1773638056945.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-supply-chain-1773638054946.json","e2e/output/playwright/supply-governance-recheck-v2/visible-menu-snapshot.json","e2e/playwright-report/data/2bb2f2c3e1d82fa9325fdd6b5f4669df159db17a.md","e2e/playwright-report/data/92afb63601a0131a016d16a554bdb89a648849de.png","e2e/test-results/.last-run.json","e2e/test-results/results.json"],"removed":[],"modified":["backend/src/modules/ad-accounts/ad-account.controller.ts","backend/src/modules/ad-biddings/ad-bidding.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/shared/utils/biz-code.ts","e2e/playwright-report/index.html","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","e2e/tests/crud/module-catalog.overrides.ts"]}],"total_commits":0,"head_commit":{"id":"c1da50f2974fe9552f40dde68ec34df656ddca22","message":"feat: 同步治理文档与 Playwright 可见菜单写批次运行产物\n\n- 更新四份核心文档(AGENTS/CLAUDE/GEMINI/README)菜单深交互基线治理经验\n- 补充 module-governance-acceptance-checklist.md 新模板\n- 更新 module-acceptance-card.md 验收卡与 runbook 运行手册\n- 刷新 inventory.controller.ts 出库模块控制器\n- 同步前端 leads/Index.vue 线索列表页\n- 更新可见菜单写批次:ai-acquisition-content / finance / supply-chain /\n growth-sales-stores-service / synergy / system-infra / hr 域新一轮\n probe JSON、failure 截图与 action-coverage-report\n- 新增 sales-leads / outbound / sales / supply 治理复查产物目录\n- 更新 e2e 测试脚本与 CRUD catalog 配置\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c1da50f2974fe9552f40dde68ec34df656ddca22","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T15:28:33+08:00","added":["docs/templates/governance/module-governance-acceptance-checklist.md","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v1/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.html","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.png","e2e/output/playwright/outbound-governance-recheck-v1/probes/-outbound-1773728392272.json","e2e/output/playwright/outbound-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v2/probes/-outbound-1773729291584.json","e2e/output/playwright/outbound-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/sales-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/sales-governance-recheck-v2/failure-1.html","e2e/output/playwright/sales-governance-recheck-v2/failure-1.png","e2e/output/playwright/sales-governance-recheck-v2/failure-2.html","e2e/output/playwright/sales-governance-recheck-v2/failure-2.png","e2e/output/playwright/sales-governance-recheck-v2/probes/-leads-1773730807935.json","e2e/output/playwright/sales-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/sales-leads-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/sales-leads-governance-recheck-v4/probes/-leads-1773728044474.json","e2e/output/playwright/sales-leads-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v5/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-bom-1773730659592.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-issues-1773730663321.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-orders-1773730661365.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-receipts-1773730665247.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assets-1773730671300.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-devices-1773730673579.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-outbound-1773730655235.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-product-categories-1773730669828.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-products-1773730667766.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-serial-numbers-1773730656634.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-suppliers-1773730630707.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-supply-chain-1773730628780.json","e2e/output/playwright/supply-governance-recheck-v5/visible-menu-snapshot.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.png","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773730293426.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773730346930.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773730265455.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773730339395.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773730342218.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773730348434.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-leads-1773730376023.json","output/playwright/full-menu-write-batches/finance/action-coverage-report.md","output/playwright/full-menu-write-batches/finance/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/finance/failure-3.html","output/playwright/full-menu-write-batches/finance/failure-3.png","output/playwright/full-menu-write-batches/finance/failure-4.html","output/playwright/full-menu-write-batches/finance/failure-4.png","output/playwright/full-menu-write-batches/finance/failure-5.html","output/playwright/full-menu-write-batches/finance/failure-5.png","output/playwright/full-menu-write-batches/finance/failure-6.html","output/playwright/full-menu-write-batches/finance/failure-6.png","output/playwright/full-menu-write-batches/finance/failure-7.html","output/playwright/full-menu-write-batches/finance/failure-7.png","output/playwright/full-menu-write-batches/finance/failure-8.html","output/playwright/full-menu-write-batches/finance/failure-8.png","output/playwright/full-menu-write-batches/finance/failure-9.html","output/playwright/full-menu-write-batches/finance/failure-9.png","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773730815434.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773730746198.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773730747838.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-accounts-1773730566774.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-audiences-1773730561615.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-biddings-1773730569333.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-campaigns-1773730556834.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-creatives-1773730559313.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-reports-1773730564152.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaign-library-1773730532757.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaigns-1773730528728.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-activities-1773730587398.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-bots-1773730600826.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-groups-1773730571925.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-members-1773730573486.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-points-1773730577188.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-tasks-1773730579980.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customer-marketing-1773730531325.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-journey-orchestration-1773730578554.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-automation-1773730583244.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-chatbot-1773730574929.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-predictive-analytics-1773730586008.json","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773731255349.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773731072621.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773731076369.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773731074407.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773731078283.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assets-1773731084301.json","output/playwright/full-menu-write-batches/supply-chain/probes/-devices-1773731086563.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773731068258.json","output/playwright/full-menu-write-batches/supply-chain/probes/-product-categories-1773731082834.json","output/playwright/full-menu-write-batches/supply-chain/probes/-products-1773731080800.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773731069659.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773731043692.json","output/playwright/full-menu-write-batches/supply-chain/probes/-supply-chain-1773731041756.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773731295866.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773731281925.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773731268383.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773731266376.json"],"removed":["e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773632942127.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773632995925.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773632916088.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773632988219.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773632991102.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773632997429.json","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773633734328.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773633664730.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773633666424.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.png","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773634383805.json","output/playwright/full-menu-write-batches/supply-chain/failure-1.html","output/playwright/full-menu-write-batches/supply-chain/failure-1.png","output/playwright/full-menu-write-batches/supply-chain/failure-2.html","output/playwright/full-menu-write-batches/supply-chain/failure-2.png","output/playwright/full-menu-write-batches/supply-chain/failure-3.html","output/playwright/full-menu-write-batches/supply-chain/failure-3.png","output/playwright/full-menu-write-batches/supply-chain/failure-4.html","output/playwright/full-menu-write-batches/supply-chain/failure-4.png","output/playwright/full-menu-write-batches/supply-chain/failure-5.html","output/playwright/full-menu-write-batches/supply-chain/failure-5.png","output/playwright/full-menu-write-batches/supply-chain/failure-6.html","output/playwright/full-menu-write-batches/supply-chain/failure-6.png","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773633901574.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773633905434.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773633903472.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773633907354.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773633897130.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773633898566.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773633882907.json","output/playwright/full-menu-write-batches/synergy/action-coverage-report.json","output/playwright/full-menu-write-batches/synergy/probes/-departments-1773633979244.json","output/playwright/full-menu-write-batches/synergy/probes/-knowledge-1773633919146.json","output/playwright/full-menu-write-batches/synergy/probes/-stage-knowledge-1773633921148.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773634434163.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773634420132.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773634396344.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773634394393.json"],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/inventory/inventory.controller.ts","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/templates/governance/module-acceptance-card.md","e2e/playwright-report/index.html","e2e/scripts/run-visible-write-batches.mjs","e2e/tests/crud/01-visible-menu-write-runner.spec.ts","e2e/tests/crud/module-catalog.overrides.ts","e2e/tests/crud/types.ts","e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/views/leads/Index.vue","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.json","output/playwright/full-menu-write-batches/batch-summary.json","output/playwright/full-menu-write-batches/batch-summary.md","output/playwright/full-menu-write-batches/finance/action-coverage-report.json","output/playwright/full-menu-write-batches/finance/failure-1.html","output/playwright/full-menu-write-batches/finance/failure-1.png","output/playwright/full-menu-write-batches/finance/failure-2.html","output/playwright/full-menu-write-batches/finance/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.md","output/playwright/full-menu-write-batches/supply-chain/blocked-unmapped-pages.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/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":1162552,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-17T15:30:33+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
1
|
3
|
1773738032
|
1773738033
|
0
|
1773738032
|
1773738033
|
NULL
|
|
0
|
Edit
Delete
|
|
6377
|
feat: 同步治理文档与 Playwright 可见菜单写批次运行产物
|
6
|
5
|
health-check.yml
|
6310
|
-2
|
58
|
refs/heads/main
|
c1da50f2974fe9552f40dde68ec34df656ddca22
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e5a2f5ba8d6442be07c490ec77c734dbe317bfd5","after":"c1da50f2974fe9552f40dde68ec34df656ddca22","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e5a2f5ba8d6442be07c490ec77c734dbe317bfd5...c1da50f2974fe9552f40dde68ec34df656ddca22","commits":[{"id":"c1da50f2974fe9552f40dde68ec34df656ddca22","message":"feat: 同步治理文档与 Playwright 可见菜单写批次运行产物\n\n- 更新四份核心文档(AGENTS/CLAUDE/GEMINI/README)菜单深交互基线治理经验\n- 补充 module-governance-acceptance-checklist.md 新模板\n- 更新 module-acceptance-card.md 验收卡与 runbook 运行手册\n- 刷新 inventory.controller.ts 出库模块控制器\n- 同步前端 leads/Index.vue 线索列表页\n- 更新可见菜单写批次:ai-acquisition-content / finance / supply-chain /\n growth-sales-stores-service / synergy / system-infra / hr 域新一轮\n probe JSON、failure 截图与 action-coverage-report\n- 新增 sales-leads / outbound / sales / supply 治理复查产物目录\n- 更新 e2e 测试脚本与 CRUD catalog 配置\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c1da50f2974fe9552f40dde68ec34df656ddca22","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T15:28:33+08:00","added":["docs/templates/governance/module-governance-acceptance-checklist.md","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v1/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.html","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.png","e2e/output/playwright/outbound-governance-recheck-v1/probes/-outbound-1773728392272.json","e2e/output/playwright/outbound-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v2/probes/-outbound-1773729291584.json","e2e/output/playwright/outbound-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/sales-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/sales-governance-recheck-v2/failure-1.html","e2e/output/playwright/sales-governance-recheck-v2/failure-1.png","e2e/output/playwright/sales-governance-recheck-v2/failure-2.html","e2e/output/playwright/sales-governance-recheck-v2/failure-2.png","e2e/output/playwright/sales-governance-recheck-v2/probes/-leads-1773730807935.json","e2e/output/playwright/sales-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/sales-leads-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/sales-leads-governance-recheck-v4/probes/-leads-1773728044474.json","e2e/output/playwright/sales-leads-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v5/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-bom-1773730659592.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-issues-1773730663321.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-orders-1773730661365.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-receipts-1773730665247.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assets-1773730671300.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-devices-1773730673579.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-outbound-1773730655235.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-product-categories-1773730669828.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-products-1773730667766.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-serial-numbers-1773730656634.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-suppliers-1773730630707.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-supply-chain-1773730628780.json","e2e/output/playwright/supply-governance-recheck-v5/visible-menu-snapshot.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.png","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773730293426.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773730346930.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773730265455.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773730339395.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773730342218.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773730348434.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-leads-1773730376023.json","output/playwright/full-menu-write-batches/finance/action-coverage-report.md","output/playwright/full-menu-write-batches/finance/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/finance/failure-3.html","output/playwright/full-menu-write-batches/finance/failure-3.png","output/playwright/full-menu-write-batches/finance/failure-4.html","output/playwright/full-menu-write-batches/finance/failure-4.png","output/playwright/full-menu-write-batches/finance/failure-5.html","output/playwright/full-menu-write-batches/finance/failure-5.png","output/playwright/full-menu-write-batches/finance/failure-6.html","output/playwright/full-menu-write-batches/finance/failure-6.png","output/playwright/full-menu-write-batches/finance/failure-7.html","output/playwright/full-menu-write-batches/finance/failure-7.png","output/playwright/full-menu-write-batches/finance/failure-8.html","output/playwright/full-menu-write-batches/finance/failure-8.png","output/playwright/full-menu-write-batches/finance/failure-9.html","output/playwright/full-menu-write-batches/finance/failure-9.png","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773730815434.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773730746198.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773730747838.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-accounts-1773730566774.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-audiences-1773730561615.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-biddings-1773730569333.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-campaigns-1773730556834.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-creatives-1773730559313.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-reports-1773730564152.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaign-library-1773730532757.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaigns-1773730528728.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-activities-1773730587398.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-bots-1773730600826.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-groups-1773730571925.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-members-1773730573486.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-points-1773730577188.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-tasks-1773730579980.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customer-marketing-1773730531325.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-journey-orchestration-1773730578554.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-automation-1773730583244.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-chatbot-1773730574929.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-predictive-analytics-1773730586008.json","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773731255349.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773731072621.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773731076369.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773731074407.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773731078283.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assets-1773731084301.json","output/playwright/full-menu-write-batches/supply-chain/probes/-devices-1773731086563.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773731068258.json","output/playwright/full-menu-write-batches/supply-chain/probes/-product-categories-1773731082834.json","output/playwright/full-menu-write-batches/supply-chain/probes/-products-1773731080800.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773731069659.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773731043692.json","output/playwright/full-menu-write-batches/supply-chain/probes/-supply-chain-1773731041756.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773731295866.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773731281925.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773731268383.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773731266376.json"],"removed":["e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773632942127.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773632995925.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773632916088.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773632988219.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773632991102.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773632997429.json","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773633734328.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773633664730.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773633666424.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.png","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773634383805.json","output/playwright/full-menu-write-batches/supply-chain/failure-1.html","output/playwright/full-menu-write-batches/supply-chain/failure-1.png","output/playwright/full-menu-write-batches/supply-chain/failure-2.html","output/playwright/full-menu-write-batches/supply-chain/failure-2.png","output/playwright/full-menu-write-batches/supply-chain/failure-3.html","output/playwright/full-menu-write-batches/supply-chain/failure-3.png","output/playwright/full-menu-write-batches/supply-chain/failure-4.html","output/playwright/full-menu-write-batches/supply-chain/failure-4.png","output/playwright/full-menu-write-batches/supply-chain/failure-5.html","output/playwright/full-menu-write-batches/supply-chain/failure-5.png","output/playwright/full-menu-write-batches/supply-chain/failure-6.html","output/playwright/full-menu-write-batches/supply-chain/failure-6.png","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773633901574.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773633905434.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773633903472.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773633907354.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773633897130.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773633898566.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773633882907.json","output/playwright/full-menu-write-batches/synergy/action-coverage-report.json","output/playwright/full-menu-write-batches/synergy/probes/-departments-1773633979244.json","output/playwright/full-menu-write-batches/synergy/probes/-knowledge-1773633919146.json","output/playwright/full-menu-write-batches/synergy/probes/-stage-knowledge-1773633921148.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773634434163.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773634420132.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773634396344.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773634394393.json"],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/inventory/inventory.controller.ts","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/templates/governance/module-acceptance-card.md","e2e/playwright-report/index.html","e2e/scripts/run-visible-write-batches.mjs","e2e/tests/crud/01-visible-menu-write-runner.spec.ts","e2e/tests/crud/module-catalog.overrides.ts","e2e/tests/crud/types.ts","e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/views/leads/Index.vue","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.json","output/playwright/full-menu-write-batches/batch-summary.json","output/playwright/full-menu-write-batches/batch-summary.md","output/playwright/full-menu-write-batches/finance/action-coverage-report.json","output/playwright/full-menu-write-batches/finance/failure-1.html","output/playwright/full-menu-write-batches/finance/failure-1.png","output/playwright/full-menu-write-batches/finance/failure-2.html","output/playwright/full-menu-write-batches/finance/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.md","output/playwright/full-menu-write-batches/supply-chain/blocked-unmapped-pages.json"]},{"id":"9d26d79a0e913f59f095f5770c349ada3eb290e6","message":"Sync governance docs with repo triage guidance\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9d26d79a0e913f59f095f5770c349ada3eb290e6","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:59:58+08:00","added":[],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","docs/contract-governance-3.0.md","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/reports/governance-experience-2026-03-07.md"]},{"id":"90763866bd7d7302b2fd963c80971c0c980e2a40","message":"Add visible menu snapshot for sales leads governance recheck\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/90763866bd7d7302b2fd963c80971c0c980e2a40","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:52:59+08:00","added":["e2e/output/playwright/sales-leads-governance-recheck-v2/visible-menu-snapshot.json"],"removed":[],"modified":[]},{"id":"37491f5183c3793b77913e9fa046090fd3e2140e","message":"Fix visible-menu action contracts and refresh Playwright artifacts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/37491f5183c3793b77913e9fa046090fd3e2140e","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:49:50+08:00","added":["e2e/output/playwright/growth-governance-recheck-v6/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v6/failure-1.html","e2e/output/playwright/growth-governance-recheck-v6/failure-1.png","e2e/output/playwright/growth-governance-recheck-v6/failure-2.html","e2e/output/playwright/growth-governance-recheck-v6/failure-2.png","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-accounts-1773724659044.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-audiences-1773724653884.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-biddings-1773724661639.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-campaigns-1773724649143.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-creatives-1773724651605.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-reports-1773724656426.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-campaign-library-1773724625404.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-campaigns-1773724621356.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-activities-1773724679469.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-bots-1773724692868.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-groups-1773724663988.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-members-1773724665547.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-points-1773724669207.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-tasks-1773724672014.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-customer-marketing-1773724623985.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-journey-orchestration-1773724670573.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-marketing-automation-1773724675311.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-marketing-chatbot-1773724666974.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-predictive-analytics-1773724678072.json","e2e/output/playwright/growth-governance-recheck-v6/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v7/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v7/failure-1.html","e2e/output/playwright/growth-governance-recheck-v7/failure-1.png","e2e/output/playwright/growth-governance-recheck-v7/failure-2.html","e2e/output/playwright/growth-governance-recheck-v7/failure-2.png","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-audiences-1773725119348.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-biddings-1773725144948.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-campaigns-1773725114561.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-creatives-1773725117027.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-reports-1773725121927.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-campaign-library-1773725090781.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-campaigns-1773725086648.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-activities-1773725163012.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-bots-1773725176355.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-groups-1773725147556.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-members-1773725149129.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-points-1773725152767.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-tasks-1773725155559.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-customer-marketing-1773725089355.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-journey-orchestration-1773725154125.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-marketing-automation-1773725158850.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-marketing-chatbot-1773725150561.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-predictive-analytics-1773725161612.json","e2e/output/playwright/growth-governance-recheck-v7/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v8/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-accounts-1773725331287.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-audiences-1773725326038.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-biddings-1773725333878.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-campaigns-1773725321263.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-creatives-1773725323743.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-reports-1773725328622.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-campaign-library-1773725297280.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-campaigns-1773725293257.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-activities-1773725352012.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-bots-1773725365518.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-groups-1773725336490.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-members-1773725338048.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-points-1773725341744.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-tasks-1773725344573.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-customer-marketing-1773725295883.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-journey-orchestration-1773725343111.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-marketing-automation-1773725347852.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-marketing-chatbot-1773725339499.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-predictive-analytics-1773725350608.json","e2e/output/playwright/growth-governance-recheck-v8/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v1-page1/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/sales-stores-service-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v3/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v3/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v3/failure-1.html","e2e/output/playwright/supply-governance-recheck-v3/failure-1.png","e2e/output/playwright/supply-governance-recheck-v3/failure-2.html","e2e/output/playwright/supply-governance-recheck-v3/failure-2.png","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-bom-1773724804766.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-issues-1773724808526.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-orders-1773724806554.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-receipts-1773724810440.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assets-1773724816442.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-devices-1773724818721.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-outbound-1773724800429.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-product-categories-1773724814983.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-products-1773724812923.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-serial-numbers-1773724801816.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-suppliers-1773724776440.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-supply-chain-1773724774524.json","e2e/output/playwright/supply-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v4/failure-1.html","e2e/output/playwright/supply-governance-recheck-v4/failure-1.png","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-bom-1773724908303.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-issues-1773724912024.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-orders-1773724910085.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-receipts-1773724913947.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assets-1773724920008.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-devices-1773724922280.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-outbound-1773724903876.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-product-categories-1773724918547.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-products-1773724916486.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-serial-numbers-1773724905275.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-suppliers-1773724890016.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-supply-chain-1773724888101.json","e2e/output/playwright/supply-governance-recheck-v4/visible-menu-snapshot.json","e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md"],"removed":["e2e/playwright-report/data/2bb2f2c3e1d82fa9325fdd6b5f4669df159db17a.md","e2e/playwright-report/data/92afb63601a0131a016d16a554bdb89a648849de.png","e2e/test-results/.last-run.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","e2e/test-results/results.json"],"modified":["backend/src/modules/ad-campaigns/ad-campaigns.service.ts","backend/src/modules/community-groups/community-group.contract.routes.ts","backend/src/shared/process-core/default-workflow-definitions.ts","e2e/playwright-report/index.html","e2e/tests/crud/module-catalog.overrides.ts"]},{"id":"46e5f097ea53c593ee709803d6679b5520a6b271","message":"Fix growth module write contracts and governance probes\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/46e5f097ea53c593ee709803d6679b5520a6b271","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:14:33+08:00","added":[".claude/worktrees/vibrant-mestorf","e2e/output/playwright/growth-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v2/failure-1.html","e2e/output/playwright/growth-governance-recheck-v2/failure-1.png","e2e/output/playwright/growth-governance-recheck-v2/failure-2.html","e2e/output/playwright/growth-governance-recheck-v2/failure-2.png","e2e/output/playwright/growth-governance-recheck-v2/failure-3.html","e2e/output/playwright/growth-governance-recheck-v2/failure-3.png","e2e/output/playwright/growth-governance-recheck-v2/failure-4.html","e2e/output/playwright/growth-governance-recheck-v2/failure-4.png","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-accounts-1773637103428.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-audiences-1773637097919.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-biddings-1773637106233.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-campaigns-1773637092737.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-creatives-1773637095413.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-reports-1773637100574.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-campaign-library-1773637068728.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-campaigns-1773637064334.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-activities-1773637125231.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-bots-1773637138800.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-groups-1773637108862.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-members-1773637110559.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-points-1773637114159.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-tasks-1773637117170.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-customer-marketing-1773637067192.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-journey-orchestration-1773637115613.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-marketing-automation-1773637120849.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-marketing-chatbot-1773637111690.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-predictive-analytics-1773637123749.json","e2e/output/playwright/growth-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v3/failure-1.html","e2e/output/playwright/growth-governance-recheck-v3/failure-1.png","e2e/output/playwright/growth-governance-recheck-v3/failure-2.html","e2e/output/playwright/growth-governance-recheck-v3/failure-2.png","e2e/output/playwright/growth-governance-recheck-v3/failure-3.html","e2e/output/playwright/growth-governance-recheck-v3/failure-3.png","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-accounts-1773637290819.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-audiences-1773637285318.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-biddings-1773637293641.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-campaigns-1773637280219.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-creatives-1773637282870.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-reports-1773637287997.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-campaign-library-1773637256300.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-campaigns-1773637252140.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-activities-1773637312007.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-bots-1773637315094.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-groups-1773637296205.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-members-1773637297858.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-points-1773637301326.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-tasks-1773637304221.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-customer-marketing-1773637254826.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-journey-orchestration-1773637302713.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-marketing-automation-1773637307735.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-marketing-chatbot-1773637298900.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-predictive-analytics-1773637310596.json","e2e/output/playwright/growth-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v4/failure-1.html","e2e/output/playwright/growth-governance-recheck-v4/failure-1.png","e2e/output/playwright/growth-governance-recheck-v4/failure-2.html","e2e/output/playwright/growth-governance-recheck-v4/failure-2.png","e2e/output/playwright/growth-governance-recheck-v4/failure-3.html","e2e/output/playwright/growth-governance-recheck-v4/failure-3.png","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-accounts-1773637580471.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-audiences-1773637574939.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-biddings-1773637583127.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-campaigns-1773637569798.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-creatives-1773637572491.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-reports-1773637577693.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-campaign-library-1773637545837.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-campaigns-1773637541347.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-activities-1773637601885.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-bots-1773637615595.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-groups-1773637585737.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-members-1773637587440.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-points-1773637590954.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-tasks-1773637593940.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-customer-marketing-1773637544263.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-journey-orchestration-1773637592404.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-marketing-automation-1773637597490.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-marketing-chatbot-1773637588564.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-predictive-analytics-1773637600359.json","e2e/output/playwright/growth-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v5/failure-1.html","e2e/output/playwright/growth-governance-recheck-v5/failure-1.png","e2e/output/playwright/growth-governance-recheck-v5/failure-2.html","e2e/output/playwright/growth-governance-recheck-v5/failure-2.png","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-accounts-1773637856277.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-audiences-1773637850560.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-biddings-1773637859067.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-campaigns-1773637845354.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-creatives-1773637848041.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-reports-1773637853256.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-campaign-library-1773637842008.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-campaigns-1773637837583.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-activities-1773637878336.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-bots-1773637891983.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-groups-1773637861569.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-members-1773637863254.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-points-1773637867326.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-tasks-1773637870372.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-customer-marketing-1773637840454.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-journey-orchestration-1773637868795.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-marketing-automation-1773637874004.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-marketing-chatbot-1773637864856.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-predictive-analytics-1773637876874.json","e2e/output/playwright/growth-governance-recheck-v5/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck/failure-1.html","e2e/output/playwright/growth-governance-recheck/failure-1.png","e2e/output/playwright/growth-governance-recheck/failure-10.html","e2e/output/playwright/growth-governance-recheck/failure-10.png","e2e/output/playwright/growth-governance-recheck/failure-11.html","e2e/output/playwright/growth-governance-recheck/failure-11.png","e2e/output/playwright/growth-governance-recheck/failure-12.html","e2e/output/playwright/growth-governance-recheck/failure-12.png","e2e/output/playwright/growth-governance-recheck/failure-13.html","e2e/output/playwright/growth-governance-recheck/failure-13.png","e2e/output/playwright/growth-governance-recheck/failure-2.html","e2e/output/playwright/growth-governance-recheck/failure-2.png","e2e/output/playwright/growth-governance-recheck/failure-3.html","e2e/output/playwright/growth-governance-recheck/failure-3.png","e2e/output/playwright/growth-governance-recheck/failure-4.html","e2e/output/playwright/growth-governance-recheck/failure-4.png","e2e/output/playwright/growth-governance-recheck/failure-5.html","e2e/output/playwright/growth-governance-recheck/failure-5.png","e2e/output/playwright/growth-governance-recheck/failure-6.html","e2e/output/playwright/growth-governance-recheck/failure-6.png","e2e/output/playwright/growth-governance-recheck/failure-7.html","e2e/output/playwright/growth-governance-recheck/failure-7.png","e2e/output/playwright/growth-governance-recheck/failure-8.html","e2e/output/playwright/growth-governance-recheck/failure-8.png","e2e/output/playwright/growth-governance-recheck/failure-9.html","e2e/output/playwright/growth-governance-recheck/failure-9.png","e2e/output/playwright/growth-governance-recheck/probes/-ad-accounts-1773636279090.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-audiences-1773636274572.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-biddings-1773636281658.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-campaigns-1773636269396.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-creatives-1773636272040.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-reports-1773636276435.json","e2e/output/playwright/growth-governance-recheck/probes/-campaign-library-1773636266028.json","e2e/output/playwright/growth-governance-recheck/probes/-campaigns-1773636262465.json","e2e/output/playwright/growth-governance-recheck/probes/-community-activities-1773636296839.json","e2e/output/playwright/growth-governance-recheck/probes/-community-bots-1773636309301.json","e2e/output/playwright/growth-governance-recheck/probes/-community-groups-1773636282678.json","e2e/output/playwright/growth-governance-recheck/probes/-community-members-1773636283728.json","e2e/output/playwright/growth-governance-recheck/probes/-community-points-1773636287173.json","e2e/output/playwright/growth-governance-recheck/probes/-community-tasks-1773636289789.json","e2e/output/playwright/growth-governance-recheck/probes/-customer-marketing-1773636264449.json","e2e/output/playwright/growth-governance-recheck/probes/-journey-orchestration-1773636288630.json","e2e/output/playwright/growth-governance-recheck/probes/-marketing-automation-1773636292934.json","e2e/output/playwright/growth-governance-recheck/probes/-marketing-chatbot-1773636284766.json","e2e/output/playwright/growth-governance-recheck/probes/-predictive-analytics-1773636295835.json","e2e/output/playwright/growth-governance-recheck/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v2/failure-1.html","e2e/output/playwright/supply-governance-recheck-v2/failure-1.png","e2e/output/playwright/supply-governance-recheck-v2/failure-2.html","e2e/output/playwright/supply-governance-recheck-v2/failure-2.png","e2e/output/playwright/supply-governance-recheck-v2/failure-3.html","e2e/output/playwright/supply-governance-recheck-v2/failure-3.png","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-bom-1773638085569.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-issues-1773638089294.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-orders-1773638087361.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-receipts-1773638091237.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assets-1773638096600.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-devices-1773638098927.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-outbound-1773638081116.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-product-categories-1773638095076.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-products-1773638093780.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-serial-numbers-1773638082543.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-suppliers-1773638056945.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-supply-chain-1773638054946.json","e2e/output/playwright/supply-governance-recheck-v2/visible-menu-snapshot.json","e2e/playwright-report/data/2bb2f2c3e1d82fa9325fdd6b5f4669df159db17a.md","e2e/playwright-report/data/92afb63601a0131a016d16a554bdb89a648849de.png","e2e/test-results/.last-run.json","e2e/test-results/results.json"],"removed":[],"modified":["backend/src/modules/ad-accounts/ad-account.controller.ts","backend/src/modules/ad-biddings/ad-bidding.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/shared/utils/biz-code.ts","e2e/playwright-report/index.html","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","e2e/tests/crud/module-catalog.overrides.ts"]}],"total_commits":0,"head_commit":{"id":"c1da50f2974fe9552f40dde68ec34df656ddca22","message":"feat: 同步治理文档与 Playwright 可见菜单写批次运行产物\n\n- 更新四份核心文档(AGENTS/CLAUDE/GEMINI/README)菜单深交互基线治理经验\n- 补充 module-governance-acceptance-checklist.md 新模板\n- 更新 module-acceptance-card.md 验收卡与 runbook 运行手册\n- 刷新 inventory.controller.ts 出库模块控制器\n- 同步前端 leads/Index.vue 线索列表页\n- 更新可见菜单写批次:ai-acquisition-content / finance / supply-chain /\n growth-sales-stores-service / synergy / system-infra / hr 域新一轮\n probe JSON、failure 截图与 action-coverage-report\n- 新增 sales-leads / outbound / sales / supply 治理复查产物目录\n- 更新 e2e 测试脚本与 CRUD catalog 配置\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c1da50f2974fe9552f40dde68ec34df656ddca22","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T15:28:33+08:00","added":["docs/templates/governance/module-governance-acceptance-checklist.md","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v1/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.html","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.png","e2e/output/playwright/outbound-governance-recheck-v1/probes/-outbound-1773728392272.json","e2e/output/playwright/outbound-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v2/probes/-outbound-1773729291584.json","e2e/output/playwright/outbound-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/sales-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/sales-governance-recheck-v2/failure-1.html","e2e/output/playwright/sales-governance-recheck-v2/failure-1.png","e2e/output/playwright/sales-governance-recheck-v2/failure-2.html","e2e/output/playwright/sales-governance-recheck-v2/failure-2.png","e2e/output/playwright/sales-governance-recheck-v2/probes/-leads-1773730807935.json","e2e/output/playwright/sales-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/sales-leads-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/sales-leads-governance-recheck-v4/probes/-leads-1773728044474.json","e2e/output/playwright/sales-leads-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v5/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-bom-1773730659592.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-issues-1773730663321.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-orders-1773730661365.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-receipts-1773730665247.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assets-1773730671300.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-devices-1773730673579.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-outbound-1773730655235.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-product-categories-1773730669828.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-products-1773730667766.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-serial-numbers-1773730656634.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-suppliers-1773730630707.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-supply-chain-1773730628780.json","e2e/output/playwright/supply-governance-recheck-v5/visible-menu-snapshot.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.png","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773730293426.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773730346930.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773730265455.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773730339395.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773730342218.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773730348434.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-leads-1773730376023.json","output/playwright/full-menu-write-batches/finance/action-coverage-report.md","output/playwright/full-menu-write-batches/finance/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/finance/failure-3.html","output/playwright/full-menu-write-batches/finance/failure-3.png","output/playwright/full-menu-write-batches/finance/failure-4.html","output/playwright/full-menu-write-batches/finance/failure-4.png","output/playwright/full-menu-write-batches/finance/failure-5.html","output/playwright/full-menu-write-batches/finance/failure-5.png","output/playwright/full-menu-write-batches/finance/failure-6.html","output/playwright/full-menu-write-batches/finance/failure-6.png","output/playwright/full-menu-write-batches/finance/failure-7.html","output/playwright/full-menu-write-batches/finance/failure-7.png","output/playwright/full-menu-write-batches/finance/failure-8.html","output/playwright/full-menu-write-batches/finance/failure-8.png","output/playwright/full-menu-write-batches/finance/failure-9.html","output/playwright/full-menu-write-batches/finance/failure-9.png","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773730815434.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773730746198.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773730747838.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-accounts-1773730566774.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-audiences-1773730561615.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-biddings-1773730569333.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-campaigns-1773730556834.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-creatives-1773730559313.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-reports-1773730564152.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaign-library-1773730532757.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaigns-1773730528728.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-activities-1773730587398.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-bots-1773730600826.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-groups-1773730571925.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-members-1773730573486.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-points-1773730577188.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-tasks-1773730579980.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customer-marketing-1773730531325.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-journey-orchestration-1773730578554.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-automation-1773730583244.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-chatbot-1773730574929.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-predictive-analytics-1773730586008.json","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773731255349.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773731072621.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773731076369.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773731074407.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773731078283.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assets-1773731084301.json","output/playwright/full-menu-write-batches/supply-chain/probes/-devices-1773731086563.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773731068258.json","output/playwright/full-menu-write-batches/supply-chain/probes/-product-categories-1773731082834.json","output/playwright/full-menu-write-batches/supply-chain/probes/-products-1773731080800.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773731069659.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773731043692.json","output/playwright/full-menu-write-batches/supply-chain/probes/-supply-chain-1773731041756.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773731295866.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773731281925.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773731268383.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773731266376.json"],"removed":["e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773632942127.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773632995925.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773632916088.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773632988219.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773632991102.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773632997429.json","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773633734328.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773633664730.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773633666424.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.png","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773634383805.json","output/playwright/full-menu-write-batches/supply-chain/failure-1.html","output/playwright/full-menu-write-batches/supply-chain/failure-1.png","output/playwright/full-menu-write-batches/supply-chain/failure-2.html","output/playwright/full-menu-write-batches/supply-chain/failure-2.png","output/playwright/full-menu-write-batches/supply-chain/failure-3.html","output/playwright/full-menu-write-batches/supply-chain/failure-3.png","output/playwright/full-menu-write-batches/supply-chain/failure-4.html","output/playwright/full-menu-write-batches/supply-chain/failure-4.png","output/playwright/full-menu-write-batches/supply-chain/failure-5.html","output/playwright/full-menu-write-batches/supply-chain/failure-5.png","output/playwright/full-menu-write-batches/supply-chain/failure-6.html","output/playwright/full-menu-write-batches/supply-chain/failure-6.png","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773633901574.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773633905434.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773633903472.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773633907354.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773633897130.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773633898566.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773633882907.json","output/playwright/full-menu-write-batches/synergy/action-coverage-report.json","output/playwright/full-menu-write-batches/synergy/probes/-departments-1773633979244.json","output/playwright/full-menu-write-batches/synergy/probes/-knowledge-1773633919146.json","output/playwright/full-menu-write-batches/synergy/probes/-stage-knowledge-1773633921148.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773634434163.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773634420132.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773634396344.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773634394393.json"],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/inventory/inventory.controller.ts","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/templates/governance/module-acceptance-card.md","e2e/playwright-report/index.html","e2e/scripts/run-visible-write-batches.mjs","e2e/tests/crud/01-visible-menu-write-runner.spec.ts","e2e/tests/crud/module-catalog.overrides.ts","e2e/tests/crud/types.ts","e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/views/leads/Index.vue","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.json","output/playwright/full-menu-write-batches/batch-summary.json","output/playwright/full-menu-write-batches/batch-summary.md","output/playwright/full-menu-write-batches/finance/action-coverage-report.json","output/playwright/full-menu-write-batches/finance/failure-1.html","output/playwright/full-menu-write-batches/finance/failure-1.png","output/playwright/full-menu-write-batches/finance/failure-2.html","output/playwright/full-menu-write-batches/finance/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.md","output/playwright/full-menu-write-batches/supply-chain/blocked-unmapped-pages.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/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":1162552,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-17T15:30:33+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
1
|
3
|
1773738332
|
1773738332
|
0
|
1773738332
|
1773738332
|
NULL
|
|
0
|
Edit
Delete
|
|
6378
|
feat: 同步治理文档与 Playwright 可见菜单写批次运行产物
|
6
|
5
|
health-check.yml
|
6311
|
-2
|
58
|
refs/heads/main
|
c1da50f2974fe9552f40dde68ec34df656ddca22
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e5a2f5ba8d6442be07c490ec77c734dbe317bfd5","after":"c1da50f2974fe9552f40dde68ec34df656ddca22","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e5a2f5ba8d6442be07c490ec77c734dbe317bfd5...c1da50f2974fe9552f40dde68ec34df656ddca22","commits":[{"id":"c1da50f2974fe9552f40dde68ec34df656ddca22","message":"feat: 同步治理文档与 Playwright 可见菜单写批次运行产物\n\n- 更新四份核心文档(AGENTS/CLAUDE/GEMINI/README)菜单深交互基线治理经验\n- 补充 module-governance-acceptance-checklist.md 新模板\n- 更新 module-acceptance-card.md 验收卡与 runbook 运行手册\n- 刷新 inventory.controller.ts 出库模块控制器\n- 同步前端 leads/Index.vue 线索列表页\n- 更新可见菜单写批次:ai-acquisition-content / finance / supply-chain /\n growth-sales-stores-service / synergy / system-infra / hr 域新一轮\n probe JSON、failure 截图与 action-coverage-report\n- 新增 sales-leads / outbound / sales / supply 治理复查产物目录\n- 更新 e2e 测试脚本与 CRUD catalog 配置\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c1da50f2974fe9552f40dde68ec34df656ddca22","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T15:28:33+08:00","added":["docs/templates/governance/module-governance-acceptance-checklist.md","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v1/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.html","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.png","e2e/output/playwright/outbound-governance-recheck-v1/probes/-outbound-1773728392272.json","e2e/output/playwright/outbound-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v2/probes/-outbound-1773729291584.json","e2e/output/playwright/outbound-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/sales-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/sales-governance-recheck-v2/failure-1.html","e2e/output/playwright/sales-governance-recheck-v2/failure-1.png","e2e/output/playwright/sales-governance-recheck-v2/failure-2.html","e2e/output/playwright/sales-governance-recheck-v2/failure-2.png","e2e/output/playwright/sales-governance-recheck-v2/probes/-leads-1773730807935.json","e2e/output/playwright/sales-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/sales-leads-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/sales-leads-governance-recheck-v4/probes/-leads-1773728044474.json","e2e/output/playwright/sales-leads-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v5/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-bom-1773730659592.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-issues-1773730663321.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-orders-1773730661365.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-receipts-1773730665247.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assets-1773730671300.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-devices-1773730673579.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-outbound-1773730655235.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-product-categories-1773730669828.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-products-1773730667766.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-serial-numbers-1773730656634.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-suppliers-1773730630707.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-supply-chain-1773730628780.json","e2e/output/playwright/supply-governance-recheck-v5/visible-menu-snapshot.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.png","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773730293426.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773730346930.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773730265455.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773730339395.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773730342218.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773730348434.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-leads-1773730376023.json","output/playwright/full-menu-write-batches/finance/action-coverage-report.md","output/playwright/full-menu-write-batches/finance/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/finance/failure-3.html","output/playwright/full-menu-write-batches/finance/failure-3.png","output/playwright/full-menu-write-batches/finance/failure-4.html","output/playwright/full-menu-write-batches/finance/failure-4.png","output/playwright/full-menu-write-batches/finance/failure-5.html","output/playwright/full-menu-write-batches/finance/failure-5.png","output/playwright/full-menu-write-batches/finance/failure-6.html","output/playwright/full-menu-write-batches/finance/failure-6.png","output/playwright/full-menu-write-batches/finance/failure-7.html","output/playwright/full-menu-write-batches/finance/failure-7.png","output/playwright/full-menu-write-batches/finance/failure-8.html","output/playwright/full-menu-write-batches/finance/failure-8.png","output/playwright/full-menu-write-batches/finance/failure-9.html","output/playwright/full-menu-write-batches/finance/failure-9.png","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773730815434.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773730746198.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773730747838.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-accounts-1773730566774.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-audiences-1773730561615.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-biddings-1773730569333.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-campaigns-1773730556834.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-creatives-1773730559313.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-reports-1773730564152.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaign-library-1773730532757.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaigns-1773730528728.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-activities-1773730587398.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-bots-1773730600826.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-groups-1773730571925.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-members-1773730573486.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-points-1773730577188.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-tasks-1773730579980.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customer-marketing-1773730531325.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-journey-orchestration-1773730578554.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-automation-1773730583244.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-chatbot-1773730574929.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-predictive-analytics-1773730586008.json","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773731255349.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773731072621.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773731076369.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773731074407.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773731078283.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assets-1773731084301.json","output/playwright/full-menu-write-batches/supply-chain/probes/-devices-1773731086563.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773731068258.json","output/playwright/full-menu-write-batches/supply-chain/probes/-product-categories-1773731082834.json","output/playwright/full-menu-write-batches/supply-chain/probes/-products-1773731080800.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773731069659.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773731043692.json","output/playwright/full-menu-write-batches/supply-chain/probes/-supply-chain-1773731041756.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773731295866.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773731281925.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773731268383.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773731266376.json"],"removed":["e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773632942127.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773632995925.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773632916088.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773632988219.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773632991102.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773632997429.json","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773633734328.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773633664730.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773633666424.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.png","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773634383805.json","output/playwright/full-menu-write-batches/supply-chain/failure-1.html","output/playwright/full-menu-write-batches/supply-chain/failure-1.png","output/playwright/full-menu-write-batches/supply-chain/failure-2.html","output/playwright/full-menu-write-batches/supply-chain/failure-2.png","output/playwright/full-menu-write-batches/supply-chain/failure-3.html","output/playwright/full-menu-write-batches/supply-chain/failure-3.png","output/playwright/full-menu-write-batches/supply-chain/failure-4.html","output/playwright/full-menu-write-batches/supply-chain/failure-4.png","output/playwright/full-menu-write-batches/supply-chain/failure-5.html","output/playwright/full-menu-write-batches/supply-chain/failure-5.png","output/playwright/full-menu-write-batches/supply-chain/failure-6.html","output/playwright/full-menu-write-batches/supply-chain/failure-6.png","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773633901574.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773633905434.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773633903472.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773633907354.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773633897130.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773633898566.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773633882907.json","output/playwright/full-menu-write-batches/synergy/action-coverage-report.json","output/playwright/full-menu-write-batches/synergy/probes/-departments-1773633979244.json","output/playwright/full-menu-write-batches/synergy/probes/-knowledge-1773633919146.json","output/playwright/full-menu-write-batches/synergy/probes/-stage-knowledge-1773633921148.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773634434163.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773634420132.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773634396344.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773634394393.json"],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/inventory/inventory.controller.ts","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/templates/governance/module-acceptance-card.md","e2e/playwright-report/index.html","e2e/scripts/run-visible-write-batches.mjs","e2e/tests/crud/01-visible-menu-write-runner.spec.ts","e2e/tests/crud/module-catalog.overrides.ts","e2e/tests/crud/types.ts","e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/views/leads/Index.vue","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.json","output/playwright/full-menu-write-batches/batch-summary.json","output/playwright/full-menu-write-batches/batch-summary.md","output/playwright/full-menu-write-batches/finance/action-coverage-report.json","output/playwright/full-menu-write-batches/finance/failure-1.html","output/playwright/full-menu-write-batches/finance/failure-1.png","output/playwright/full-menu-write-batches/finance/failure-2.html","output/playwright/full-menu-write-batches/finance/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.md","output/playwright/full-menu-write-batches/supply-chain/blocked-unmapped-pages.json"]},{"id":"9d26d79a0e913f59f095f5770c349ada3eb290e6","message":"Sync governance docs with repo triage guidance\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9d26d79a0e913f59f095f5770c349ada3eb290e6","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:59:58+08:00","added":[],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","docs/contract-governance-3.0.md","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/reports/governance-experience-2026-03-07.md"]},{"id":"90763866bd7d7302b2fd963c80971c0c980e2a40","message":"Add visible menu snapshot for sales leads governance recheck\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/90763866bd7d7302b2fd963c80971c0c980e2a40","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:52:59+08:00","added":["e2e/output/playwright/sales-leads-governance-recheck-v2/visible-menu-snapshot.json"],"removed":[],"modified":[]},{"id":"37491f5183c3793b77913e9fa046090fd3e2140e","message":"Fix visible-menu action contracts and refresh Playwright artifacts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/37491f5183c3793b77913e9fa046090fd3e2140e","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:49:50+08:00","added":["e2e/output/playwright/growth-governance-recheck-v6/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v6/failure-1.html","e2e/output/playwright/growth-governance-recheck-v6/failure-1.png","e2e/output/playwright/growth-governance-recheck-v6/failure-2.html","e2e/output/playwright/growth-governance-recheck-v6/failure-2.png","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-accounts-1773724659044.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-audiences-1773724653884.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-biddings-1773724661639.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-campaigns-1773724649143.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-creatives-1773724651605.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-reports-1773724656426.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-campaign-library-1773724625404.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-campaigns-1773724621356.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-activities-1773724679469.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-bots-1773724692868.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-groups-1773724663988.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-members-1773724665547.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-points-1773724669207.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-tasks-1773724672014.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-customer-marketing-1773724623985.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-journey-orchestration-1773724670573.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-marketing-automation-1773724675311.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-marketing-chatbot-1773724666974.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-predictive-analytics-1773724678072.json","e2e/output/playwright/growth-governance-recheck-v6/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v7/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v7/failure-1.html","e2e/output/playwright/growth-governance-recheck-v7/failure-1.png","e2e/output/playwright/growth-governance-recheck-v7/failure-2.html","e2e/output/playwright/growth-governance-recheck-v7/failure-2.png","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-audiences-1773725119348.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-biddings-1773725144948.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-campaigns-1773725114561.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-creatives-1773725117027.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-reports-1773725121927.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-campaign-library-1773725090781.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-campaigns-1773725086648.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-activities-1773725163012.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-bots-1773725176355.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-groups-1773725147556.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-members-1773725149129.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-points-1773725152767.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-tasks-1773725155559.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-customer-marketing-1773725089355.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-journey-orchestration-1773725154125.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-marketing-automation-1773725158850.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-marketing-chatbot-1773725150561.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-predictive-analytics-1773725161612.json","e2e/output/playwright/growth-governance-recheck-v7/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v8/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-accounts-1773725331287.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-audiences-1773725326038.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-biddings-1773725333878.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-campaigns-1773725321263.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-creatives-1773725323743.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-reports-1773725328622.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-campaign-library-1773725297280.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-campaigns-1773725293257.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-activities-1773725352012.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-bots-1773725365518.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-groups-1773725336490.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-members-1773725338048.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-points-1773725341744.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-tasks-1773725344573.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-customer-marketing-1773725295883.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-journey-orchestration-1773725343111.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-marketing-automation-1773725347852.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-marketing-chatbot-1773725339499.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-predictive-analytics-1773725350608.json","e2e/output/playwright/growth-governance-recheck-v8/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v1-page1/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/sales-stores-service-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v3/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v3/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v3/failure-1.html","e2e/output/playwright/supply-governance-recheck-v3/failure-1.png","e2e/output/playwright/supply-governance-recheck-v3/failure-2.html","e2e/output/playwright/supply-governance-recheck-v3/failure-2.png","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-bom-1773724804766.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-issues-1773724808526.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-orders-1773724806554.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-receipts-1773724810440.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assets-1773724816442.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-devices-1773724818721.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-outbound-1773724800429.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-product-categories-1773724814983.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-products-1773724812923.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-serial-numbers-1773724801816.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-suppliers-1773724776440.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-supply-chain-1773724774524.json","e2e/output/playwright/supply-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v4/failure-1.html","e2e/output/playwright/supply-governance-recheck-v4/failure-1.png","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-bom-1773724908303.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-issues-1773724912024.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-orders-1773724910085.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-receipts-1773724913947.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assets-1773724920008.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-devices-1773724922280.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-outbound-1773724903876.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-product-categories-1773724918547.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-products-1773724916486.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-serial-numbers-1773724905275.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-suppliers-1773724890016.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-supply-chain-1773724888101.json","e2e/output/playwright/supply-governance-recheck-v4/visible-menu-snapshot.json","e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md"],"removed":["e2e/playwright-report/data/2bb2f2c3e1d82fa9325fdd6b5f4669df159db17a.md","e2e/playwright-report/data/92afb63601a0131a016d16a554bdb89a648849de.png","e2e/test-results/.last-run.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","e2e/test-results/results.json"],"modified":["backend/src/modules/ad-campaigns/ad-campaigns.service.ts","backend/src/modules/community-groups/community-group.contract.routes.ts","backend/src/shared/process-core/default-workflow-definitions.ts","e2e/playwright-report/index.html","e2e/tests/crud/module-catalog.overrides.ts"]},{"id":"46e5f097ea53c593ee709803d6679b5520a6b271","message":"Fix growth module write contracts and governance probes\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/46e5f097ea53c593ee709803d6679b5520a6b271","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:14:33+08:00","added":[".claude/worktrees/vibrant-mestorf","e2e/output/playwright/growth-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v2/failure-1.html","e2e/output/playwright/growth-governance-recheck-v2/failure-1.png","e2e/output/playwright/growth-governance-recheck-v2/failure-2.html","e2e/output/playwright/growth-governance-recheck-v2/failure-2.png","e2e/output/playwright/growth-governance-recheck-v2/failure-3.html","e2e/output/playwright/growth-governance-recheck-v2/failure-3.png","e2e/output/playwright/growth-governance-recheck-v2/failure-4.html","e2e/output/playwright/growth-governance-recheck-v2/failure-4.png","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-accounts-1773637103428.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-audiences-1773637097919.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-biddings-1773637106233.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-campaigns-1773637092737.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-creatives-1773637095413.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-reports-1773637100574.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-campaign-library-1773637068728.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-campaigns-1773637064334.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-activities-1773637125231.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-bots-1773637138800.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-groups-1773637108862.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-members-1773637110559.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-points-1773637114159.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-tasks-1773637117170.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-customer-marketing-1773637067192.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-journey-orchestration-1773637115613.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-marketing-automation-1773637120849.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-marketing-chatbot-1773637111690.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-predictive-analytics-1773637123749.json","e2e/output/playwright/growth-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v3/failure-1.html","e2e/output/playwright/growth-governance-recheck-v3/failure-1.png","e2e/output/playwright/growth-governance-recheck-v3/failure-2.html","e2e/output/playwright/growth-governance-recheck-v3/failure-2.png","e2e/output/playwright/growth-governance-recheck-v3/failure-3.html","e2e/output/playwright/growth-governance-recheck-v3/failure-3.png","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-accounts-1773637290819.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-audiences-1773637285318.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-biddings-1773637293641.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-campaigns-1773637280219.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-creatives-1773637282870.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-reports-1773637287997.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-campaign-library-1773637256300.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-campaigns-1773637252140.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-activities-1773637312007.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-bots-1773637315094.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-groups-1773637296205.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-members-1773637297858.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-points-1773637301326.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-tasks-1773637304221.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-customer-marketing-1773637254826.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-journey-orchestration-1773637302713.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-marketing-automation-1773637307735.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-marketing-chatbot-1773637298900.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-predictive-analytics-1773637310596.json","e2e/output/playwright/growth-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v4/failure-1.html","e2e/output/playwright/growth-governance-recheck-v4/failure-1.png","e2e/output/playwright/growth-governance-recheck-v4/failure-2.html","e2e/output/playwright/growth-governance-recheck-v4/failure-2.png","e2e/output/playwright/growth-governance-recheck-v4/failure-3.html","e2e/output/playwright/growth-governance-recheck-v4/failure-3.png","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-accounts-1773637580471.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-audiences-1773637574939.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-biddings-1773637583127.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-campaigns-1773637569798.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-creatives-1773637572491.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-reports-1773637577693.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-campaign-library-1773637545837.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-campaigns-1773637541347.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-activities-1773637601885.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-bots-1773637615595.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-groups-1773637585737.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-members-1773637587440.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-points-1773637590954.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-tasks-1773637593940.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-customer-marketing-1773637544263.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-journey-orchestration-1773637592404.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-marketing-automation-1773637597490.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-marketing-chatbot-1773637588564.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-predictive-analytics-1773637600359.json","e2e/output/playwright/growth-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v5/failure-1.html","e2e/output/playwright/growth-governance-recheck-v5/failure-1.png","e2e/output/playwright/growth-governance-recheck-v5/failure-2.html","e2e/output/playwright/growth-governance-recheck-v5/failure-2.png","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-accounts-1773637856277.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-audiences-1773637850560.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-biddings-1773637859067.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-campaigns-1773637845354.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-creatives-1773637848041.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-reports-1773637853256.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-campaign-library-1773637842008.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-campaigns-1773637837583.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-activities-1773637878336.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-bots-1773637891983.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-groups-1773637861569.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-members-1773637863254.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-points-1773637867326.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-tasks-1773637870372.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-customer-marketing-1773637840454.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-journey-orchestration-1773637868795.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-marketing-automation-1773637874004.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-marketing-chatbot-1773637864856.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-predictive-analytics-1773637876874.json","e2e/output/playwright/growth-governance-recheck-v5/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck/failure-1.html","e2e/output/playwright/growth-governance-recheck/failure-1.png","e2e/output/playwright/growth-governance-recheck/failure-10.html","e2e/output/playwright/growth-governance-recheck/failure-10.png","e2e/output/playwright/growth-governance-recheck/failure-11.html","e2e/output/playwright/growth-governance-recheck/failure-11.png","e2e/output/playwright/growth-governance-recheck/failure-12.html","e2e/output/playwright/growth-governance-recheck/failure-12.png","e2e/output/playwright/growth-governance-recheck/failure-13.html","e2e/output/playwright/growth-governance-recheck/failure-13.png","e2e/output/playwright/growth-governance-recheck/failure-2.html","e2e/output/playwright/growth-governance-recheck/failure-2.png","e2e/output/playwright/growth-governance-recheck/failure-3.html","e2e/output/playwright/growth-governance-recheck/failure-3.png","e2e/output/playwright/growth-governance-recheck/failure-4.html","e2e/output/playwright/growth-governance-recheck/failure-4.png","e2e/output/playwright/growth-governance-recheck/failure-5.html","e2e/output/playwright/growth-governance-recheck/failure-5.png","e2e/output/playwright/growth-governance-recheck/failure-6.html","e2e/output/playwright/growth-governance-recheck/failure-6.png","e2e/output/playwright/growth-governance-recheck/failure-7.html","e2e/output/playwright/growth-governance-recheck/failure-7.png","e2e/output/playwright/growth-governance-recheck/failure-8.html","e2e/output/playwright/growth-governance-recheck/failure-8.png","e2e/output/playwright/growth-governance-recheck/failure-9.html","e2e/output/playwright/growth-governance-recheck/failure-9.png","e2e/output/playwright/growth-governance-recheck/probes/-ad-accounts-1773636279090.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-audiences-1773636274572.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-biddings-1773636281658.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-campaigns-1773636269396.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-creatives-1773636272040.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-reports-1773636276435.json","e2e/output/playwright/growth-governance-recheck/probes/-campaign-library-1773636266028.json","e2e/output/playwright/growth-governance-recheck/probes/-campaigns-1773636262465.json","e2e/output/playwright/growth-governance-recheck/probes/-community-activities-1773636296839.json","e2e/output/playwright/growth-governance-recheck/probes/-community-bots-1773636309301.json","e2e/output/playwright/growth-governance-recheck/probes/-community-groups-1773636282678.json","e2e/output/playwright/growth-governance-recheck/probes/-community-members-1773636283728.json","e2e/output/playwright/growth-governance-recheck/probes/-community-points-1773636287173.json","e2e/output/playwright/growth-governance-recheck/probes/-community-tasks-1773636289789.json","e2e/output/playwright/growth-governance-recheck/probes/-customer-marketing-1773636264449.json","e2e/output/playwright/growth-governance-recheck/probes/-journey-orchestration-1773636288630.json","e2e/output/playwright/growth-governance-recheck/probes/-marketing-automation-1773636292934.json","e2e/output/playwright/growth-governance-recheck/probes/-marketing-chatbot-1773636284766.json","e2e/output/playwright/growth-governance-recheck/probes/-predictive-analytics-1773636295835.json","e2e/output/playwright/growth-governance-recheck/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v2/failure-1.html","e2e/output/playwright/supply-governance-recheck-v2/failure-1.png","e2e/output/playwright/supply-governance-recheck-v2/failure-2.html","e2e/output/playwright/supply-governance-recheck-v2/failure-2.png","e2e/output/playwright/supply-governance-recheck-v2/failure-3.html","e2e/output/playwright/supply-governance-recheck-v2/failure-3.png","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-bom-1773638085569.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-issues-1773638089294.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-orders-1773638087361.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-receipts-1773638091237.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assets-1773638096600.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-devices-1773638098927.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-outbound-1773638081116.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-product-categories-1773638095076.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-products-1773638093780.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-serial-numbers-1773638082543.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-suppliers-1773638056945.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-supply-chain-1773638054946.json","e2e/output/playwright/supply-governance-recheck-v2/visible-menu-snapshot.json","e2e/playwright-report/data/2bb2f2c3e1d82fa9325fdd6b5f4669df159db17a.md","e2e/playwright-report/data/92afb63601a0131a016d16a554bdb89a648849de.png","e2e/test-results/.last-run.json","e2e/test-results/results.json"],"removed":[],"modified":["backend/src/modules/ad-accounts/ad-account.controller.ts","backend/src/modules/ad-biddings/ad-bidding.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/shared/utils/biz-code.ts","e2e/playwright-report/index.html","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","e2e/tests/crud/module-catalog.overrides.ts"]}],"total_commits":0,"head_commit":{"id":"c1da50f2974fe9552f40dde68ec34df656ddca22","message":"feat: 同步治理文档与 Playwright 可见菜单写批次运行产物\n\n- 更新四份核心文档(AGENTS/CLAUDE/GEMINI/README)菜单深交互基线治理经验\n- 补充 module-governance-acceptance-checklist.md 新模板\n- 更新 module-acceptance-card.md 验收卡与 runbook 运行手册\n- 刷新 inventory.controller.ts 出库模块控制器\n- 同步前端 leads/Index.vue 线索列表页\n- 更新可见菜单写批次:ai-acquisition-content / finance / supply-chain /\n growth-sales-stores-service / synergy / system-infra / hr 域新一轮\n probe JSON、failure 截图与 action-coverage-report\n- 新增 sales-leads / outbound / sales / supply 治理复查产物目录\n- 更新 e2e 测试脚本与 CRUD catalog 配置\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c1da50f2974fe9552f40dde68ec34df656ddca22","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T15:28:33+08:00","added":["docs/templates/governance/module-governance-acceptance-checklist.md","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v1/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.html","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.png","e2e/output/playwright/outbound-governance-recheck-v1/probes/-outbound-1773728392272.json","e2e/output/playwright/outbound-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v2/probes/-outbound-1773729291584.json","e2e/output/playwright/outbound-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/sales-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/sales-governance-recheck-v2/failure-1.html","e2e/output/playwright/sales-governance-recheck-v2/failure-1.png","e2e/output/playwright/sales-governance-recheck-v2/failure-2.html","e2e/output/playwright/sales-governance-recheck-v2/failure-2.png","e2e/output/playwright/sales-governance-recheck-v2/probes/-leads-1773730807935.json","e2e/output/playwright/sales-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/sales-leads-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/sales-leads-governance-recheck-v4/probes/-leads-1773728044474.json","e2e/output/playwright/sales-leads-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v5/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-bom-1773730659592.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-issues-1773730663321.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-orders-1773730661365.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-receipts-1773730665247.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assets-1773730671300.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-devices-1773730673579.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-outbound-1773730655235.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-product-categories-1773730669828.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-products-1773730667766.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-serial-numbers-1773730656634.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-suppliers-1773730630707.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-supply-chain-1773730628780.json","e2e/output/playwright/supply-governance-recheck-v5/visible-menu-snapshot.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.png","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773730293426.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773730346930.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773730265455.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773730339395.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773730342218.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773730348434.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-leads-1773730376023.json","output/playwright/full-menu-write-batches/finance/action-coverage-report.md","output/playwright/full-menu-write-batches/finance/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/finance/failure-3.html","output/playwright/full-menu-write-batches/finance/failure-3.png","output/playwright/full-menu-write-batches/finance/failure-4.html","output/playwright/full-menu-write-batches/finance/failure-4.png","output/playwright/full-menu-write-batches/finance/failure-5.html","output/playwright/full-menu-write-batches/finance/failure-5.png","output/playwright/full-menu-write-batches/finance/failure-6.html","output/playwright/full-menu-write-batches/finance/failure-6.png","output/playwright/full-menu-write-batches/finance/failure-7.html","output/playwright/full-menu-write-batches/finance/failure-7.png","output/playwright/full-menu-write-batches/finance/failure-8.html","output/playwright/full-menu-write-batches/finance/failure-8.png","output/playwright/full-menu-write-batches/finance/failure-9.html","output/playwright/full-menu-write-batches/finance/failure-9.png","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773730815434.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773730746198.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773730747838.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-accounts-1773730566774.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-audiences-1773730561615.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-biddings-1773730569333.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-campaigns-1773730556834.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-creatives-1773730559313.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-reports-1773730564152.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaign-library-1773730532757.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaigns-1773730528728.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-activities-1773730587398.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-bots-1773730600826.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-groups-1773730571925.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-members-1773730573486.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-points-1773730577188.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-tasks-1773730579980.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customer-marketing-1773730531325.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-journey-orchestration-1773730578554.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-automation-1773730583244.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-chatbot-1773730574929.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-predictive-analytics-1773730586008.json","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773731255349.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773731072621.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773731076369.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773731074407.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773731078283.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assets-1773731084301.json","output/playwright/full-menu-write-batches/supply-chain/probes/-devices-1773731086563.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773731068258.json","output/playwright/full-menu-write-batches/supply-chain/probes/-product-categories-1773731082834.json","output/playwright/full-menu-write-batches/supply-chain/probes/-products-1773731080800.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773731069659.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773731043692.json","output/playwright/full-menu-write-batches/supply-chain/probes/-supply-chain-1773731041756.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773731295866.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773731281925.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773731268383.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773731266376.json"],"removed":["e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773632942127.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773632995925.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773632916088.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773632988219.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773632991102.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773632997429.json","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773633734328.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773633664730.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773633666424.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.png","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773634383805.json","output/playwright/full-menu-write-batches/supply-chain/failure-1.html","output/playwright/full-menu-write-batches/supply-chain/failure-1.png","output/playwright/full-menu-write-batches/supply-chain/failure-2.html","output/playwright/full-menu-write-batches/supply-chain/failure-2.png","output/playwright/full-menu-write-batches/supply-chain/failure-3.html","output/playwright/full-menu-write-batches/supply-chain/failure-3.png","output/playwright/full-menu-write-batches/supply-chain/failure-4.html","output/playwright/full-menu-write-batches/supply-chain/failure-4.png","output/playwright/full-menu-write-batches/supply-chain/failure-5.html","output/playwright/full-menu-write-batches/supply-chain/failure-5.png","output/playwright/full-menu-write-batches/supply-chain/failure-6.html","output/playwright/full-menu-write-batches/supply-chain/failure-6.png","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773633901574.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773633905434.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773633903472.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773633907354.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773633897130.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773633898566.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773633882907.json","output/playwright/full-menu-write-batches/synergy/action-coverage-report.json","output/playwright/full-menu-write-batches/synergy/probes/-departments-1773633979244.json","output/playwright/full-menu-write-batches/synergy/probes/-knowledge-1773633919146.json","output/playwright/full-menu-write-batches/synergy/probes/-stage-knowledge-1773633921148.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773634434163.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773634420132.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773634396344.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773634394393.json"],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/inventory/inventory.controller.ts","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/templates/governance/module-acceptance-card.md","e2e/playwright-report/index.html","e2e/scripts/run-visible-write-batches.mjs","e2e/tests/crud/01-visible-menu-write-runner.spec.ts","e2e/tests/crud/module-catalog.overrides.ts","e2e/tests/crud/types.ts","e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/views/leads/Index.vue","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.json","output/playwright/full-menu-write-batches/batch-summary.json","output/playwright/full-menu-write-batches/batch-summary.md","output/playwright/full-menu-write-batches/finance/action-coverage-report.json","output/playwright/full-menu-write-batches/finance/failure-1.html","output/playwright/full-menu-write-batches/finance/failure-1.png","output/playwright/full-menu-write-batches/finance/failure-2.html","output/playwright/full-menu-write-batches/finance/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.md","output/playwright/full-menu-write-batches/supply-chain/blocked-unmapped-pages.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/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":1162552,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-17T15:30:33+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
1
|
3
|
1773738632
|
1773738633
|
0
|
1773738632
|
1773738633
|
NULL
|
|
0
|
Edit
Delete
|
|
6379
|
feat: 同步治理文档与 Playwright 可见菜单写批次运行产物
|
6
|
5
|
health-check.yml
|
6312
|
-2
|
58
|
refs/heads/main
|
c1da50f2974fe9552f40dde68ec34df656ddca22
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e5a2f5ba8d6442be07c490ec77c734dbe317bfd5","after":"c1da50f2974fe9552f40dde68ec34df656ddca22","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e5a2f5ba8d6442be07c490ec77c734dbe317bfd5...c1da50f2974fe9552f40dde68ec34df656ddca22","commits":[{"id":"c1da50f2974fe9552f40dde68ec34df656ddca22","message":"feat: 同步治理文档与 Playwright 可见菜单写批次运行产物\n\n- 更新四份核心文档(AGENTS/CLAUDE/GEMINI/README)菜单深交互基线治理经验\n- 补充 module-governance-acceptance-checklist.md 新模板\n- 更新 module-acceptance-card.md 验收卡与 runbook 运行手册\n- 刷新 inventory.controller.ts 出库模块控制器\n- 同步前端 leads/Index.vue 线索列表页\n- 更新可见菜单写批次:ai-acquisition-content / finance / supply-chain /\n growth-sales-stores-service / synergy / system-infra / hr 域新一轮\n probe JSON、failure 截图与 action-coverage-report\n- 新增 sales-leads / outbound / sales / supply 治理复查产物目录\n- 更新 e2e 测试脚本与 CRUD catalog 配置\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c1da50f2974fe9552f40dde68ec34df656ddca22","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T15:28:33+08:00","added":["docs/templates/governance/module-governance-acceptance-checklist.md","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v1/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.html","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.png","e2e/output/playwright/outbound-governance-recheck-v1/probes/-outbound-1773728392272.json","e2e/output/playwright/outbound-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v2/probes/-outbound-1773729291584.json","e2e/output/playwright/outbound-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/sales-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/sales-governance-recheck-v2/failure-1.html","e2e/output/playwright/sales-governance-recheck-v2/failure-1.png","e2e/output/playwright/sales-governance-recheck-v2/failure-2.html","e2e/output/playwright/sales-governance-recheck-v2/failure-2.png","e2e/output/playwright/sales-governance-recheck-v2/probes/-leads-1773730807935.json","e2e/output/playwright/sales-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/sales-leads-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/sales-leads-governance-recheck-v4/probes/-leads-1773728044474.json","e2e/output/playwright/sales-leads-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v5/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-bom-1773730659592.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-issues-1773730663321.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-orders-1773730661365.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-receipts-1773730665247.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assets-1773730671300.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-devices-1773730673579.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-outbound-1773730655235.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-product-categories-1773730669828.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-products-1773730667766.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-serial-numbers-1773730656634.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-suppliers-1773730630707.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-supply-chain-1773730628780.json","e2e/output/playwright/supply-governance-recheck-v5/visible-menu-snapshot.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.png","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773730293426.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773730346930.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773730265455.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773730339395.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773730342218.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773730348434.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-leads-1773730376023.json","output/playwright/full-menu-write-batches/finance/action-coverage-report.md","output/playwright/full-menu-write-batches/finance/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/finance/failure-3.html","output/playwright/full-menu-write-batches/finance/failure-3.png","output/playwright/full-menu-write-batches/finance/failure-4.html","output/playwright/full-menu-write-batches/finance/failure-4.png","output/playwright/full-menu-write-batches/finance/failure-5.html","output/playwright/full-menu-write-batches/finance/failure-5.png","output/playwright/full-menu-write-batches/finance/failure-6.html","output/playwright/full-menu-write-batches/finance/failure-6.png","output/playwright/full-menu-write-batches/finance/failure-7.html","output/playwright/full-menu-write-batches/finance/failure-7.png","output/playwright/full-menu-write-batches/finance/failure-8.html","output/playwright/full-menu-write-batches/finance/failure-8.png","output/playwright/full-menu-write-batches/finance/failure-9.html","output/playwright/full-menu-write-batches/finance/failure-9.png","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773730815434.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773730746198.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773730747838.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-accounts-1773730566774.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-audiences-1773730561615.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-biddings-1773730569333.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-campaigns-1773730556834.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-creatives-1773730559313.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-reports-1773730564152.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaign-library-1773730532757.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaigns-1773730528728.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-activities-1773730587398.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-bots-1773730600826.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-groups-1773730571925.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-members-1773730573486.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-points-1773730577188.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-tasks-1773730579980.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customer-marketing-1773730531325.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-journey-orchestration-1773730578554.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-automation-1773730583244.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-chatbot-1773730574929.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-predictive-analytics-1773730586008.json","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773731255349.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773731072621.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773731076369.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773731074407.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773731078283.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assets-1773731084301.json","output/playwright/full-menu-write-batches/supply-chain/probes/-devices-1773731086563.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773731068258.json","output/playwright/full-menu-write-batches/supply-chain/probes/-product-categories-1773731082834.json","output/playwright/full-menu-write-batches/supply-chain/probes/-products-1773731080800.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773731069659.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773731043692.json","output/playwright/full-menu-write-batches/supply-chain/probes/-supply-chain-1773731041756.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773731295866.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773731281925.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773731268383.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773731266376.json"],"removed":["e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773632942127.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773632995925.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773632916088.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773632988219.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773632991102.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773632997429.json","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773633734328.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773633664730.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773633666424.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.png","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773634383805.json","output/playwright/full-menu-write-batches/supply-chain/failure-1.html","output/playwright/full-menu-write-batches/supply-chain/failure-1.png","output/playwright/full-menu-write-batches/supply-chain/failure-2.html","output/playwright/full-menu-write-batches/supply-chain/failure-2.png","output/playwright/full-menu-write-batches/supply-chain/failure-3.html","output/playwright/full-menu-write-batches/supply-chain/failure-3.png","output/playwright/full-menu-write-batches/supply-chain/failure-4.html","output/playwright/full-menu-write-batches/supply-chain/failure-4.png","output/playwright/full-menu-write-batches/supply-chain/failure-5.html","output/playwright/full-menu-write-batches/supply-chain/failure-5.png","output/playwright/full-menu-write-batches/supply-chain/failure-6.html","output/playwright/full-menu-write-batches/supply-chain/failure-6.png","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773633901574.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773633905434.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773633903472.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773633907354.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773633897130.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773633898566.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773633882907.json","output/playwright/full-menu-write-batches/synergy/action-coverage-report.json","output/playwright/full-menu-write-batches/synergy/probes/-departments-1773633979244.json","output/playwright/full-menu-write-batches/synergy/probes/-knowledge-1773633919146.json","output/playwright/full-menu-write-batches/synergy/probes/-stage-knowledge-1773633921148.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773634434163.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773634420132.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773634396344.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773634394393.json"],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/inventory/inventory.controller.ts","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/templates/governance/module-acceptance-card.md","e2e/playwright-report/index.html","e2e/scripts/run-visible-write-batches.mjs","e2e/tests/crud/01-visible-menu-write-runner.spec.ts","e2e/tests/crud/module-catalog.overrides.ts","e2e/tests/crud/types.ts","e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/views/leads/Index.vue","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.json","output/playwright/full-menu-write-batches/batch-summary.json","output/playwright/full-menu-write-batches/batch-summary.md","output/playwright/full-menu-write-batches/finance/action-coverage-report.json","output/playwright/full-menu-write-batches/finance/failure-1.html","output/playwright/full-menu-write-batches/finance/failure-1.png","output/playwright/full-menu-write-batches/finance/failure-2.html","output/playwright/full-menu-write-batches/finance/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.md","output/playwright/full-menu-write-batches/supply-chain/blocked-unmapped-pages.json"]},{"id":"9d26d79a0e913f59f095f5770c349ada3eb290e6","message":"Sync governance docs with repo triage guidance\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9d26d79a0e913f59f095f5770c349ada3eb290e6","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:59:58+08:00","added":[],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","docs/contract-governance-3.0.md","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/reports/governance-experience-2026-03-07.md"]},{"id":"90763866bd7d7302b2fd963c80971c0c980e2a40","message":"Add visible menu snapshot for sales leads governance recheck\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/90763866bd7d7302b2fd963c80971c0c980e2a40","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:52:59+08:00","added":["e2e/output/playwright/sales-leads-governance-recheck-v2/visible-menu-snapshot.json"],"removed":[],"modified":[]},{"id":"37491f5183c3793b77913e9fa046090fd3e2140e","message":"Fix visible-menu action contracts and refresh Playwright artifacts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/37491f5183c3793b77913e9fa046090fd3e2140e","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:49:50+08:00","added":["e2e/output/playwright/growth-governance-recheck-v6/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v6/failure-1.html","e2e/output/playwright/growth-governance-recheck-v6/failure-1.png","e2e/output/playwright/growth-governance-recheck-v6/failure-2.html","e2e/output/playwright/growth-governance-recheck-v6/failure-2.png","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-accounts-1773724659044.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-audiences-1773724653884.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-biddings-1773724661639.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-campaigns-1773724649143.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-creatives-1773724651605.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-reports-1773724656426.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-campaign-library-1773724625404.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-campaigns-1773724621356.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-activities-1773724679469.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-bots-1773724692868.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-groups-1773724663988.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-members-1773724665547.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-points-1773724669207.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-tasks-1773724672014.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-customer-marketing-1773724623985.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-journey-orchestration-1773724670573.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-marketing-automation-1773724675311.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-marketing-chatbot-1773724666974.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-predictive-analytics-1773724678072.json","e2e/output/playwright/growth-governance-recheck-v6/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v7/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v7/failure-1.html","e2e/output/playwright/growth-governance-recheck-v7/failure-1.png","e2e/output/playwright/growth-governance-recheck-v7/failure-2.html","e2e/output/playwright/growth-governance-recheck-v7/failure-2.png","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-audiences-1773725119348.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-biddings-1773725144948.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-campaigns-1773725114561.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-creatives-1773725117027.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-reports-1773725121927.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-campaign-library-1773725090781.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-campaigns-1773725086648.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-activities-1773725163012.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-bots-1773725176355.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-groups-1773725147556.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-members-1773725149129.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-points-1773725152767.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-tasks-1773725155559.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-customer-marketing-1773725089355.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-journey-orchestration-1773725154125.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-marketing-automation-1773725158850.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-marketing-chatbot-1773725150561.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-predictive-analytics-1773725161612.json","e2e/output/playwright/growth-governance-recheck-v7/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v8/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-accounts-1773725331287.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-audiences-1773725326038.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-biddings-1773725333878.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-campaigns-1773725321263.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-creatives-1773725323743.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-reports-1773725328622.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-campaign-library-1773725297280.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-campaigns-1773725293257.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-activities-1773725352012.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-bots-1773725365518.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-groups-1773725336490.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-members-1773725338048.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-points-1773725341744.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-tasks-1773725344573.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-customer-marketing-1773725295883.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-journey-orchestration-1773725343111.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-marketing-automation-1773725347852.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-marketing-chatbot-1773725339499.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-predictive-analytics-1773725350608.json","e2e/output/playwright/growth-governance-recheck-v8/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v1-page1/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/sales-stores-service-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v3/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v3/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v3/failure-1.html","e2e/output/playwright/supply-governance-recheck-v3/failure-1.png","e2e/output/playwright/supply-governance-recheck-v3/failure-2.html","e2e/output/playwright/supply-governance-recheck-v3/failure-2.png","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-bom-1773724804766.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-issues-1773724808526.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-orders-1773724806554.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-receipts-1773724810440.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assets-1773724816442.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-devices-1773724818721.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-outbound-1773724800429.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-product-categories-1773724814983.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-products-1773724812923.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-serial-numbers-1773724801816.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-suppliers-1773724776440.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-supply-chain-1773724774524.json","e2e/output/playwright/supply-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v4/failure-1.html","e2e/output/playwright/supply-governance-recheck-v4/failure-1.png","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-bom-1773724908303.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-issues-1773724912024.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-orders-1773724910085.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-receipts-1773724913947.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assets-1773724920008.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-devices-1773724922280.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-outbound-1773724903876.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-product-categories-1773724918547.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-products-1773724916486.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-serial-numbers-1773724905275.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-suppliers-1773724890016.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-supply-chain-1773724888101.json","e2e/output/playwright/supply-governance-recheck-v4/visible-menu-snapshot.json","e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md"],"removed":["e2e/playwright-report/data/2bb2f2c3e1d82fa9325fdd6b5f4669df159db17a.md","e2e/playwright-report/data/92afb63601a0131a016d16a554bdb89a648849de.png","e2e/test-results/.last-run.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","e2e/test-results/results.json"],"modified":["backend/src/modules/ad-campaigns/ad-campaigns.service.ts","backend/src/modules/community-groups/community-group.contract.routes.ts","backend/src/shared/process-core/default-workflow-definitions.ts","e2e/playwright-report/index.html","e2e/tests/crud/module-catalog.overrides.ts"]},{"id":"46e5f097ea53c593ee709803d6679b5520a6b271","message":"Fix growth module write contracts and governance probes\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/46e5f097ea53c593ee709803d6679b5520a6b271","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:14:33+08:00","added":[".claude/worktrees/vibrant-mestorf","e2e/output/playwright/growth-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v2/failure-1.html","e2e/output/playwright/growth-governance-recheck-v2/failure-1.png","e2e/output/playwright/growth-governance-recheck-v2/failure-2.html","e2e/output/playwright/growth-governance-recheck-v2/failure-2.png","e2e/output/playwright/growth-governance-recheck-v2/failure-3.html","e2e/output/playwright/growth-governance-recheck-v2/failure-3.png","e2e/output/playwright/growth-governance-recheck-v2/failure-4.html","e2e/output/playwright/growth-governance-recheck-v2/failure-4.png","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-accounts-1773637103428.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-audiences-1773637097919.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-biddings-1773637106233.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-campaigns-1773637092737.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-creatives-1773637095413.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-reports-1773637100574.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-campaign-library-1773637068728.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-campaigns-1773637064334.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-activities-1773637125231.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-bots-1773637138800.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-groups-1773637108862.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-members-1773637110559.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-points-1773637114159.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-tasks-1773637117170.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-customer-marketing-1773637067192.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-journey-orchestration-1773637115613.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-marketing-automation-1773637120849.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-marketing-chatbot-1773637111690.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-predictive-analytics-1773637123749.json","e2e/output/playwright/growth-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v3/failure-1.html","e2e/output/playwright/growth-governance-recheck-v3/failure-1.png","e2e/output/playwright/growth-governance-recheck-v3/failure-2.html","e2e/output/playwright/growth-governance-recheck-v3/failure-2.png","e2e/output/playwright/growth-governance-recheck-v3/failure-3.html","e2e/output/playwright/growth-governance-recheck-v3/failure-3.png","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-accounts-1773637290819.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-audiences-1773637285318.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-biddings-1773637293641.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-campaigns-1773637280219.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-creatives-1773637282870.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-reports-1773637287997.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-campaign-library-1773637256300.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-campaigns-1773637252140.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-activities-1773637312007.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-bots-1773637315094.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-groups-1773637296205.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-members-1773637297858.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-points-1773637301326.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-tasks-1773637304221.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-customer-marketing-1773637254826.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-journey-orchestration-1773637302713.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-marketing-automation-1773637307735.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-marketing-chatbot-1773637298900.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-predictive-analytics-1773637310596.json","e2e/output/playwright/growth-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v4/failure-1.html","e2e/output/playwright/growth-governance-recheck-v4/failure-1.png","e2e/output/playwright/growth-governance-recheck-v4/failure-2.html","e2e/output/playwright/growth-governance-recheck-v4/failure-2.png","e2e/output/playwright/growth-governance-recheck-v4/failure-3.html","e2e/output/playwright/growth-governance-recheck-v4/failure-3.png","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-accounts-1773637580471.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-audiences-1773637574939.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-biddings-1773637583127.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-campaigns-1773637569798.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-creatives-1773637572491.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-reports-1773637577693.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-campaign-library-1773637545837.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-campaigns-1773637541347.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-activities-1773637601885.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-bots-1773637615595.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-groups-1773637585737.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-members-1773637587440.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-points-1773637590954.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-tasks-1773637593940.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-customer-marketing-1773637544263.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-journey-orchestration-1773637592404.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-marketing-automation-1773637597490.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-marketing-chatbot-1773637588564.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-predictive-analytics-1773637600359.json","e2e/output/playwright/growth-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v5/failure-1.html","e2e/output/playwright/growth-governance-recheck-v5/failure-1.png","e2e/output/playwright/growth-governance-recheck-v5/failure-2.html","e2e/output/playwright/growth-governance-recheck-v5/failure-2.png","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-accounts-1773637856277.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-audiences-1773637850560.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-biddings-1773637859067.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-campaigns-1773637845354.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-creatives-1773637848041.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-reports-1773637853256.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-campaign-library-1773637842008.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-campaigns-1773637837583.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-activities-1773637878336.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-bots-1773637891983.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-groups-1773637861569.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-members-1773637863254.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-points-1773637867326.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-tasks-1773637870372.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-customer-marketing-1773637840454.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-journey-orchestration-1773637868795.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-marketing-automation-1773637874004.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-marketing-chatbot-1773637864856.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-predictive-analytics-1773637876874.json","e2e/output/playwright/growth-governance-recheck-v5/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck/failure-1.html","e2e/output/playwright/growth-governance-recheck/failure-1.png","e2e/output/playwright/growth-governance-recheck/failure-10.html","e2e/output/playwright/growth-governance-recheck/failure-10.png","e2e/output/playwright/growth-governance-recheck/failure-11.html","e2e/output/playwright/growth-governance-recheck/failure-11.png","e2e/output/playwright/growth-governance-recheck/failure-12.html","e2e/output/playwright/growth-governance-recheck/failure-12.png","e2e/output/playwright/growth-governance-recheck/failure-13.html","e2e/output/playwright/growth-governance-recheck/failure-13.png","e2e/output/playwright/growth-governance-recheck/failure-2.html","e2e/output/playwright/growth-governance-recheck/failure-2.png","e2e/output/playwright/growth-governance-recheck/failure-3.html","e2e/output/playwright/growth-governance-recheck/failure-3.png","e2e/output/playwright/growth-governance-recheck/failure-4.html","e2e/output/playwright/growth-governance-recheck/failure-4.png","e2e/output/playwright/growth-governance-recheck/failure-5.html","e2e/output/playwright/growth-governance-recheck/failure-5.png","e2e/output/playwright/growth-governance-recheck/failure-6.html","e2e/output/playwright/growth-governance-recheck/failure-6.png","e2e/output/playwright/growth-governance-recheck/failure-7.html","e2e/output/playwright/growth-governance-recheck/failure-7.png","e2e/output/playwright/growth-governance-recheck/failure-8.html","e2e/output/playwright/growth-governance-recheck/failure-8.png","e2e/output/playwright/growth-governance-recheck/failure-9.html","e2e/output/playwright/growth-governance-recheck/failure-9.png","e2e/output/playwright/growth-governance-recheck/probes/-ad-accounts-1773636279090.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-audiences-1773636274572.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-biddings-1773636281658.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-campaigns-1773636269396.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-creatives-1773636272040.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-reports-1773636276435.json","e2e/output/playwright/growth-governance-recheck/probes/-campaign-library-1773636266028.json","e2e/output/playwright/growth-governance-recheck/probes/-campaigns-1773636262465.json","e2e/output/playwright/growth-governance-recheck/probes/-community-activities-1773636296839.json","e2e/output/playwright/growth-governance-recheck/probes/-community-bots-1773636309301.json","e2e/output/playwright/growth-governance-recheck/probes/-community-groups-1773636282678.json","e2e/output/playwright/growth-governance-recheck/probes/-community-members-1773636283728.json","e2e/output/playwright/growth-governance-recheck/probes/-community-points-1773636287173.json","e2e/output/playwright/growth-governance-recheck/probes/-community-tasks-1773636289789.json","e2e/output/playwright/growth-governance-recheck/probes/-customer-marketing-1773636264449.json","e2e/output/playwright/growth-governance-recheck/probes/-journey-orchestration-1773636288630.json","e2e/output/playwright/growth-governance-recheck/probes/-marketing-automation-1773636292934.json","e2e/output/playwright/growth-governance-recheck/probes/-marketing-chatbot-1773636284766.json","e2e/output/playwright/growth-governance-recheck/probes/-predictive-analytics-1773636295835.json","e2e/output/playwright/growth-governance-recheck/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v2/failure-1.html","e2e/output/playwright/supply-governance-recheck-v2/failure-1.png","e2e/output/playwright/supply-governance-recheck-v2/failure-2.html","e2e/output/playwright/supply-governance-recheck-v2/failure-2.png","e2e/output/playwright/supply-governance-recheck-v2/failure-3.html","e2e/output/playwright/supply-governance-recheck-v2/failure-3.png","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-bom-1773638085569.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-issues-1773638089294.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-orders-1773638087361.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-receipts-1773638091237.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assets-1773638096600.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-devices-1773638098927.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-outbound-1773638081116.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-product-categories-1773638095076.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-products-1773638093780.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-serial-numbers-1773638082543.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-suppliers-1773638056945.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-supply-chain-1773638054946.json","e2e/output/playwright/supply-governance-recheck-v2/visible-menu-snapshot.json","e2e/playwright-report/data/2bb2f2c3e1d82fa9325fdd6b5f4669df159db17a.md","e2e/playwright-report/data/92afb63601a0131a016d16a554bdb89a648849de.png","e2e/test-results/.last-run.json","e2e/test-results/results.json"],"removed":[],"modified":["backend/src/modules/ad-accounts/ad-account.controller.ts","backend/src/modules/ad-biddings/ad-bidding.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/shared/utils/biz-code.ts","e2e/playwright-report/index.html","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","e2e/tests/crud/module-catalog.overrides.ts"]}],"total_commits":0,"head_commit":{"id":"c1da50f2974fe9552f40dde68ec34df656ddca22","message":"feat: 同步治理文档与 Playwright 可见菜单写批次运行产物\n\n- 更新四份核心文档(AGENTS/CLAUDE/GEMINI/README)菜单深交互基线治理经验\n- 补充 module-governance-acceptance-checklist.md 新模板\n- 更新 module-acceptance-card.md 验收卡与 runbook 运行手册\n- 刷新 inventory.controller.ts 出库模块控制器\n- 同步前端 leads/Index.vue 线索列表页\n- 更新可见菜单写批次:ai-acquisition-content / finance / supply-chain /\n growth-sales-stores-service / synergy / system-infra / hr 域新一轮\n probe JSON、failure 截图与 action-coverage-report\n- 新增 sales-leads / outbound / sales / supply 治理复查产物目录\n- 更新 e2e 测试脚本与 CRUD catalog 配置\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c1da50f2974fe9552f40dde68ec34df656ddca22","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T15:28:33+08:00","added":["docs/templates/governance/module-governance-acceptance-checklist.md","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v1/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.html","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.png","e2e/output/playwright/outbound-governance-recheck-v1/probes/-outbound-1773728392272.json","e2e/output/playwright/outbound-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v2/probes/-outbound-1773729291584.json","e2e/output/playwright/outbound-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/sales-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/sales-governance-recheck-v2/failure-1.html","e2e/output/playwright/sales-governance-recheck-v2/failure-1.png","e2e/output/playwright/sales-governance-recheck-v2/failure-2.html","e2e/output/playwright/sales-governance-recheck-v2/failure-2.png","e2e/output/playwright/sales-governance-recheck-v2/probes/-leads-1773730807935.json","e2e/output/playwright/sales-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/sales-leads-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/sales-leads-governance-recheck-v4/probes/-leads-1773728044474.json","e2e/output/playwright/sales-leads-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v5/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-bom-1773730659592.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-issues-1773730663321.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-orders-1773730661365.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-receipts-1773730665247.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assets-1773730671300.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-devices-1773730673579.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-outbound-1773730655235.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-product-categories-1773730669828.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-products-1773730667766.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-serial-numbers-1773730656634.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-suppliers-1773730630707.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-supply-chain-1773730628780.json","e2e/output/playwright/supply-governance-recheck-v5/visible-menu-snapshot.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.png","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773730293426.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773730346930.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773730265455.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773730339395.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773730342218.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773730348434.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-leads-1773730376023.json","output/playwright/full-menu-write-batches/finance/action-coverage-report.md","output/playwright/full-menu-write-batches/finance/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/finance/failure-3.html","output/playwright/full-menu-write-batches/finance/failure-3.png","output/playwright/full-menu-write-batches/finance/failure-4.html","output/playwright/full-menu-write-batches/finance/failure-4.png","output/playwright/full-menu-write-batches/finance/failure-5.html","output/playwright/full-menu-write-batches/finance/failure-5.png","output/playwright/full-menu-write-batches/finance/failure-6.html","output/playwright/full-menu-write-batches/finance/failure-6.png","output/playwright/full-menu-write-batches/finance/failure-7.html","output/playwright/full-menu-write-batches/finance/failure-7.png","output/playwright/full-menu-write-batches/finance/failure-8.html","output/playwright/full-menu-write-batches/finance/failure-8.png","output/playwright/full-menu-write-batches/finance/failure-9.html","output/playwright/full-menu-write-batches/finance/failure-9.png","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773730815434.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773730746198.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773730747838.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-accounts-1773730566774.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-audiences-1773730561615.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-biddings-1773730569333.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-campaigns-1773730556834.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-creatives-1773730559313.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-reports-1773730564152.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaign-library-1773730532757.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaigns-1773730528728.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-activities-1773730587398.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-bots-1773730600826.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-groups-1773730571925.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-members-1773730573486.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-points-1773730577188.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-tasks-1773730579980.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customer-marketing-1773730531325.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-journey-orchestration-1773730578554.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-automation-1773730583244.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-chatbot-1773730574929.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-predictive-analytics-1773730586008.json","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773731255349.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773731072621.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773731076369.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773731074407.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773731078283.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assets-1773731084301.json","output/playwright/full-menu-write-batches/supply-chain/probes/-devices-1773731086563.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773731068258.json","output/playwright/full-menu-write-batches/supply-chain/probes/-product-categories-1773731082834.json","output/playwright/full-menu-write-batches/supply-chain/probes/-products-1773731080800.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773731069659.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773731043692.json","output/playwright/full-menu-write-batches/supply-chain/probes/-supply-chain-1773731041756.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773731295866.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773731281925.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773731268383.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773731266376.json"],"removed":["e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773632942127.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773632995925.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773632916088.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773632988219.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773632991102.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773632997429.json","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773633734328.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773633664730.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773633666424.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.png","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773634383805.json","output/playwright/full-menu-write-batches/supply-chain/failure-1.html","output/playwright/full-menu-write-batches/supply-chain/failure-1.png","output/playwright/full-menu-write-batches/supply-chain/failure-2.html","output/playwright/full-menu-write-batches/supply-chain/failure-2.png","output/playwright/full-menu-write-batches/supply-chain/failure-3.html","output/playwright/full-menu-write-batches/supply-chain/failure-3.png","output/playwright/full-menu-write-batches/supply-chain/failure-4.html","output/playwright/full-menu-write-batches/supply-chain/failure-4.png","output/playwright/full-menu-write-batches/supply-chain/failure-5.html","output/playwright/full-menu-write-batches/supply-chain/failure-5.png","output/playwright/full-menu-write-batches/supply-chain/failure-6.html","output/playwright/full-menu-write-batches/supply-chain/failure-6.png","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773633901574.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773633905434.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773633903472.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773633907354.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773633897130.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773633898566.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773633882907.json","output/playwright/full-menu-write-batches/synergy/action-coverage-report.json","output/playwright/full-menu-write-batches/synergy/probes/-departments-1773633979244.json","output/playwright/full-menu-write-batches/synergy/probes/-knowledge-1773633919146.json","output/playwright/full-menu-write-batches/synergy/probes/-stage-knowledge-1773633921148.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773634434163.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773634420132.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773634396344.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773634394393.json"],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/inventory/inventory.controller.ts","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/templates/governance/module-acceptance-card.md","e2e/playwright-report/index.html","e2e/scripts/run-visible-write-batches.mjs","e2e/tests/crud/01-visible-menu-write-runner.spec.ts","e2e/tests/crud/module-catalog.overrides.ts","e2e/tests/crud/types.ts","e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/views/leads/Index.vue","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.json","output/playwright/full-menu-write-batches/batch-summary.json","output/playwright/full-menu-write-batches/batch-summary.md","output/playwright/full-menu-write-batches/finance/action-coverage-report.json","output/playwright/full-menu-write-batches/finance/failure-1.html","output/playwright/full-menu-write-batches/finance/failure-1.png","output/playwright/full-menu-write-batches/finance/failure-2.html","output/playwright/full-menu-write-batches/finance/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.md","output/playwright/full-menu-write-batches/supply-chain/blocked-unmapped-pages.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/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":1162552,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-17T15:30:33+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
1
|
3
|
1773738932
|
1773738933
|
0
|
1773738932
|
1773738933
|
NULL
|
|
0
|
Edit
Delete
|
|
6380
|
feat: 同步治理文档与 Playwright 可见菜单写批次运行产物
|
6
|
5
|
health-check.yml
|
6313
|
-2
|
58
|
refs/heads/main
|
c1da50f2974fe9552f40dde68ec34df656ddca22
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e5a2f5ba8d6442be07c490ec77c734dbe317bfd5","after":"c1da50f2974fe9552f40dde68ec34df656ddca22","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e5a2f5ba8d6442be07c490ec77c734dbe317bfd5...c1da50f2974fe9552f40dde68ec34df656ddca22","commits":[{"id":"c1da50f2974fe9552f40dde68ec34df656ddca22","message":"feat: 同步治理文档与 Playwright 可见菜单写批次运行产物\n\n- 更新四份核心文档(AGENTS/CLAUDE/GEMINI/README)菜单深交互基线治理经验\n- 补充 module-governance-acceptance-checklist.md 新模板\n- 更新 module-acceptance-card.md 验收卡与 runbook 运行手册\n- 刷新 inventory.controller.ts 出库模块控制器\n- 同步前端 leads/Index.vue 线索列表页\n- 更新可见菜单写批次:ai-acquisition-content / finance / supply-chain /\n growth-sales-stores-service / synergy / system-infra / hr 域新一轮\n probe JSON、failure 截图与 action-coverage-report\n- 新增 sales-leads / outbound / sales / supply 治理复查产物目录\n- 更新 e2e 测试脚本与 CRUD catalog 配置\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c1da50f2974fe9552f40dde68ec34df656ddca22","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T15:28:33+08:00","added":["docs/templates/governance/module-governance-acceptance-checklist.md","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v1/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.html","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.png","e2e/output/playwright/outbound-governance-recheck-v1/probes/-outbound-1773728392272.json","e2e/output/playwright/outbound-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v2/probes/-outbound-1773729291584.json","e2e/output/playwright/outbound-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/sales-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/sales-governance-recheck-v2/failure-1.html","e2e/output/playwright/sales-governance-recheck-v2/failure-1.png","e2e/output/playwright/sales-governance-recheck-v2/failure-2.html","e2e/output/playwright/sales-governance-recheck-v2/failure-2.png","e2e/output/playwright/sales-governance-recheck-v2/probes/-leads-1773730807935.json","e2e/output/playwright/sales-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/sales-leads-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/sales-leads-governance-recheck-v4/probes/-leads-1773728044474.json","e2e/output/playwright/sales-leads-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v5/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-bom-1773730659592.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-issues-1773730663321.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-orders-1773730661365.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-receipts-1773730665247.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assets-1773730671300.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-devices-1773730673579.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-outbound-1773730655235.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-product-categories-1773730669828.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-products-1773730667766.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-serial-numbers-1773730656634.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-suppliers-1773730630707.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-supply-chain-1773730628780.json","e2e/output/playwright/supply-governance-recheck-v5/visible-menu-snapshot.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.png","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773730293426.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773730346930.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773730265455.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773730339395.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773730342218.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773730348434.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-leads-1773730376023.json","output/playwright/full-menu-write-batches/finance/action-coverage-report.md","output/playwright/full-menu-write-batches/finance/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/finance/failure-3.html","output/playwright/full-menu-write-batches/finance/failure-3.png","output/playwright/full-menu-write-batches/finance/failure-4.html","output/playwright/full-menu-write-batches/finance/failure-4.png","output/playwright/full-menu-write-batches/finance/failure-5.html","output/playwright/full-menu-write-batches/finance/failure-5.png","output/playwright/full-menu-write-batches/finance/failure-6.html","output/playwright/full-menu-write-batches/finance/failure-6.png","output/playwright/full-menu-write-batches/finance/failure-7.html","output/playwright/full-menu-write-batches/finance/failure-7.png","output/playwright/full-menu-write-batches/finance/failure-8.html","output/playwright/full-menu-write-batches/finance/failure-8.png","output/playwright/full-menu-write-batches/finance/failure-9.html","output/playwright/full-menu-write-batches/finance/failure-9.png","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773730815434.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773730746198.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773730747838.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-accounts-1773730566774.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-audiences-1773730561615.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-biddings-1773730569333.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-campaigns-1773730556834.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-creatives-1773730559313.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-reports-1773730564152.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaign-library-1773730532757.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaigns-1773730528728.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-activities-1773730587398.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-bots-1773730600826.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-groups-1773730571925.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-members-1773730573486.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-points-1773730577188.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-tasks-1773730579980.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customer-marketing-1773730531325.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-journey-orchestration-1773730578554.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-automation-1773730583244.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-chatbot-1773730574929.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-predictive-analytics-1773730586008.json","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773731255349.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773731072621.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773731076369.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773731074407.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773731078283.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assets-1773731084301.json","output/playwright/full-menu-write-batches/supply-chain/probes/-devices-1773731086563.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773731068258.json","output/playwright/full-menu-write-batches/supply-chain/probes/-product-categories-1773731082834.json","output/playwright/full-menu-write-batches/supply-chain/probes/-products-1773731080800.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773731069659.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773731043692.json","output/playwright/full-menu-write-batches/supply-chain/probes/-supply-chain-1773731041756.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773731295866.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773731281925.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773731268383.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773731266376.json"],"removed":["e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773632942127.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773632995925.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773632916088.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773632988219.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773632991102.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773632997429.json","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773633734328.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773633664730.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773633666424.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.png","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773634383805.json","output/playwright/full-menu-write-batches/supply-chain/failure-1.html","output/playwright/full-menu-write-batches/supply-chain/failure-1.png","output/playwright/full-menu-write-batches/supply-chain/failure-2.html","output/playwright/full-menu-write-batches/supply-chain/failure-2.png","output/playwright/full-menu-write-batches/supply-chain/failure-3.html","output/playwright/full-menu-write-batches/supply-chain/failure-3.png","output/playwright/full-menu-write-batches/supply-chain/failure-4.html","output/playwright/full-menu-write-batches/supply-chain/failure-4.png","output/playwright/full-menu-write-batches/supply-chain/failure-5.html","output/playwright/full-menu-write-batches/supply-chain/failure-5.png","output/playwright/full-menu-write-batches/supply-chain/failure-6.html","output/playwright/full-menu-write-batches/supply-chain/failure-6.png","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773633901574.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773633905434.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773633903472.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773633907354.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773633897130.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773633898566.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773633882907.json","output/playwright/full-menu-write-batches/synergy/action-coverage-report.json","output/playwright/full-menu-write-batches/synergy/probes/-departments-1773633979244.json","output/playwright/full-menu-write-batches/synergy/probes/-knowledge-1773633919146.json","output/playwright/full-menu-write-batches/synergy/probes/-stage-knowledge-1773633921148.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773634434163.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773634420132.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773634396344.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773634394393.json"],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/inventory/inventory.controller.ts","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/templates/governance/module-acceptance-card.md","e2e/playwright-report/index.html","e2e/scripts/run-visible-write-batches.mjs","e2e/tests/crud/01-visible-menu-write-runner.spec.ts","e2e/tests/crud/module-catalog.overrides.ts","e2e/tests/crud/types.ts","e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/views/leads/Index.vue","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.json","output/playwright/full-menu-write-batches/batch-summary.json","output/playwright/full-menu-write-batches/batch-summary.md","output/playwright/full-menu-write-batches/finance/action-coverage-report.json","output/playwright/full-menu-write-batches/finance/failure-1.html","output/playwright/full-menu-write-batches/finance/failure-1.png","output/playwright/full-menu-write-batches/finance/failure-2.html","output/playwright/full-menu-write-batches/finance/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.md","output/playwright/full-menu-write-batches/supply-chain/blocked-unmapped-pages.json"]},{"id":"9d26d79a0e913f59f095f5770c349ada3eb290e6","message":"Sync governance docs with repo triage guidance\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9d26d79a0e913f59f095f5770c349ada3eb290e6","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:59:58+08:00","added":[],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","docs/contract-governance-3.0.md","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/reports/governance-experience-2026-03-07.md"]},{"id":"90763866bd7d7302b2fd963c80971c0c980e2a40","message":"Add visible menu snapshot for sales leads governance recheck\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/90763866bd7d7302b2fd963c80971c0c980e2a40","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:52:59+08:00","added":["e2e/output/playwright/sales-leads-governance-recheck-v2/visible-menu-snapshot.json"],"removed":[],"modified":[]},{"id":"37491f5183c3793b77913e9fa046090fd3e2140e","message":"Fix visible-menu action contracts and refresh Playwright artifacts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/37491f5183c3793b77913e9fa046090fd3e2140e","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:49:50+08:00","added":["e2e/output/playwright/growth-governance-recheck-v6/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v6/failure-1.html","e2e/output/playwright/growth-governance-recheck-v6/failure-1.png","e2e/output/playwright/growth-governance-recheck-v6/failure-2.html","e2e/output/playwright/growth-governance-recheck-v6/failure-2.png","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-accounts-1773724659044.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-audiences-1773724653884.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-biddings-1773724661639.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-campaigns-1773724649143.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-creatives-1773724651605.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-reports-1773724656426.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-campaign-library-1773724625404.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-campaigns-1773724621356.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-activities-1773724679469.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-bots-1773724692868.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-groups-1773724663988.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-members-1773724665547.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-points-1773724669207.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-tasks-1773724672014.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-customer-marketing-1773724623985.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-journey-orchestration-1773724670573.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-marketing-automation-1773724675311.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-marketing-chatbot-1773724666974.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-predictive-analytics-1773724678072.json","e2e/output/playwright/growth-governance-recheck-v6/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v7/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v7/failure-1.html","e2e/output/playwright/growth-governance-recheck-v7/failure-1.png","e2e/output/playwright/growth-governance-recheck-v7/failure-2.html","e2e/output/playwright/growth-governance-recheck-v7/failure-2.png","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-audiences-1773725119348.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-biddings-1773725144948.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-campaigns-1773725114561.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-creatives-1773725117027.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-reports-1773725121927.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-campaign-library-1773725090781.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-campaigns-1773725086648.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-activities-1773725163012.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-bots-1773725176355.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-groups-1773725147556.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-members-1773725149129.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-points-1773725152767.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-tasks-1773725155559.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-customer-marketing-1773725089355.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-journey-orchestration-1773725154125.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-marketing-automation-1773725158850.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-marketing-chatbot-1773725150561.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-predictive-analytics-1773725161612.json","e2e/output/playwright/growth-governance-recheck-v7/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v8/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-accounts-1773725331287.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-audiences-1773725326038.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-biddings-1773725333878.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-campaigns-1773725321263.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-creatives-1773725323743.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-reports-1773725328622.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-campaign-library-1773725297280.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-campaigns-1773725293257.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-activities-1773725352012.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-bots-1773725365518.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-groups-1773725336490.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-members-1773725338048.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-points-1773725341744.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-tasks-1773725344573.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-customer-marketing-1773725295883.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-journey-orchestration-1773725343111.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-marketing-automation-1773725347852.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-marketing-chatbot-1773725339499.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-predictive-analytics-1773725350608.json","e2e/output/playwright/growth-governance-recheck-v8/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v1-page1/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/sales-stores-service-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v3/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v3/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v3/failure-1.html","e2e/output/playwright/supply-governance-recheck-v3/failure-1.png","e2e/output/playwright/supply-governance-recheck-v3/failure-2.html","e2e/output/playwright/supply-governance-recheck-v3/failure-2.png","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-bom-1773724804766.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-issues-1773724808526.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-orders-1773724806554.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-receipts-1773724810440.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assets-1773724816442.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-devices-1773724818721.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-outbound-1773724800429.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-product-categories-1773724814983.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-products-1773724812923.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-serial-numbers-1773724801816.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-suppliers-1773724776440.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-supply-chain-1773724774524.json","e2e/output/playwright/supply-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v4/failure-1.html","e2e/output/playwright/supply-governance-recheck-v4/failure-1.png","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-bom-1773724908303.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-issues-1773724912024.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-orders-1773724910085.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-receipts-1773724913947.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assets-1773724920008.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-devices-1773724922280.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-outbound-1773724903876.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-product-categories-1773724918547.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-products-1773724916486.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-serial-numbers-1773724905275.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-suppliers-1773724890016.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-supply-chain-1773724888101.json","e2e/output/playwright/supply-governance-recheck-v4/visible-menu-snapshot.json","e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md"],"removed":["e2e/playwright-report/data/2bb2f2c3e1d82fa9325fdd6b5f4669df159db17a.md","e2e/playwright-report/data/92afb63601a0131a016d16a554bdb89a648849de.png","e2e/test-results/.last-run.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","e2e/test-results/results.json"],"modified":["backend/src/modules/ad-campaigns/ad-campaigns.service.ts","backend/src/modules/community-groups/community-group.contract.routes.ts","backend/src/shared/process-core/default-workflow-definitions.ts","e2e/playwright-report/index.html","e2e/tests/crud/module-catalog.overrides.ts"]},{"id":"46e5f097ea53c593ee709803d6679b5520a6b271","message":"Fix growth module write contracts and governance probes\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/46e5f097ea53c593ee709803d6679b5520a6b271","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:14:33+08:00","added":[".claude/worktrees/vibrant-mestorf","e2e/output/playwright/growth-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v2/failure-1.html","e2e/output/playwright/growth-governance-recheck-v2/failure-1.png","e2e/output/playwright/growth-governance-recheck-v2/failure-2.html","e2e/output/playwright/growth-governance-recheck-v2/failure-2.png","e2e/output/playwright/growth-governance-recheck-v2/failure-3.html","e2e/output/playwright/growth-governance-recheck-v2/failure-3.png","e2e/output/playwright/growth-governance-recheck-v2/failure-4.html","e2e/output/playwright/growth-governance-recheck-v2/failure-4.png","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-accounts-1773637103428.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-audiences-1773637097919.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-biddings-1773637106233.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-campaigns-1773637092737.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-creatives-1773637095413.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-reports-1773637100574.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-campaign-library-1773637068728.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-campaigns-1773637064334.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-activities-1773637125231.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-bots-1773637138800.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-groups-1773637108862.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-members-1773637110559.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-points-1773637114159.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-tasks-1773637117170.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-customer-marketing-1773637067192.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-journey-orchestration-1773637115613.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-marketing-automation-1773637120849.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-marketing-chatbot-1773637111690.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-predictive-analytics-1773637123749.json","e2e/output/playwright/growth-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v3/failure-1.html","e2e/output/playwright/growth-governance-recheck-v3/failure-1.png","e2e/output/playwright/growth-governance-recheck-v3/failure-2.html","e2e/output/playwright/growth-governance-recheck-v3/failure-2.png","e2e/output/playwright/growth-governance-recheck-v3/failure-3.html","e2e/output/playwright/growth-governance-recheck-v3/failure-3.png","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-accounts-1773637290819.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-audiences-1773637285318.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-biddings-1773637293641.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-campaigns-1773637280219.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-creatives-1773637282870.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-reports-1773637287997.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-campaign-library-1773637256300.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-campaigns-1773637252140.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-activities-1773637312007.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-bots-1773637315094.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-groups-1773637296205.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-members-1773637297858.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-points-1773637301326.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-tasks-1773637304221.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-customer-marketing-1773637254826.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-journey-orchestration-1773637302713.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-marketing-automation-1773637307735.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-marketing-chatbot-1773637298900.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-predictive-analytics-1773637310596.json","e2e/output/playwright/growth-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v4/failure-1.html","e2e/output/playwright/growth-governance-recheck-v4/failure-1.png","e2e/output/playwright/growth-governance-recheck-v4/failure-2.html","e2e/output/playwright/growth-governance-recheck-v4/failure-2.png","e2e/output/playwright/growth-governance-recheck-v4/failure-3.html","e2e/output/playwright/growth-governance-recheck-v4/failure-3.png","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-accounts-1773637580471.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-audiences-1773637574939.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-biddings-1773637583127.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-campaigns-1773637569798.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-creatives-1773637572491.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-reports-1773637577693.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-campaign-library-1773637545837.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-campaigns-1773637541347.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-activities-1773637601885.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-bots-1773637615595.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-groups-1773637585737.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-members-1773637587440.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-points-1773637590954.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-tasks-1773637593940.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-customer-marketing-1773637544263.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-journey-orchestration-1773637592404.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-marketing-automation-1773637597490.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-marketing-chatbot-1773637588564.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-predictive-analytics-1773637600359.json","e2e/output/playwright/growth-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v5/failure-1.html","e2e/output/playwright/growth-governance-recheck-v5/failure-1.png","e2e/output/playwright/growth-governance-recheck-v5/failure-2.html","e2e/output/playwright/growth-governance-recheck-v5/failure-2.png","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-accounts-1773637856277.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-audiences-1773637850560.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-biddings-1773637859067.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-campaigns-1773637845354.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-creatives-1773637848041.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-reports-1773637853256.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-campaign-library-1773637842008.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-campaigns-1773637837583.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-activities-1773637878336.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-bots-1773637891983.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-groups-1773637861569.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-members-1773637863254.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-points-1773637867326.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-tasks-1773637870372.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-customer-marketing-1773637840454.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-journey-orchestration-1773637868795.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-marketing-automation-1773637874004.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-marketing-chatbot-1773637864856.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-predictive-analytics-1773637876874.json","e2e/output/playwright/growth-governance-recheck-v5/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck/failure-1.html","e2e/output/playwright/growth-governance-recheck/failure-1.png","e2e/output/playwright/growth-governance-recheck/failure-10.html","e2e/output/playwright/growth-governance-recheck/failure-10.png","e2e/output/playwright/growth-governance-recheck/failure-11.html","e2e/output/playwright/growth-governance-recheck/failure-11.png","e2e/output/playwright/growth-governance-recheck/failure-12.html","e2e/output/playwright/growth-governance-recheck/failure-12.png","e2e/output/playwright/growth-governance-recheck/failure-13.html","e2e/output/playwright/growth-governance-recheck/failure-13.png","e2e/output/playwright/growth-governance-recheck/failure-2.html","e2e/output/playwright/growth-governance-recheck/failure-2.png","e2e/output/playwright/growth-governance-recheck/failure-3.html","e2e/output/playwright/growth-governance-recheck/failure-3.png","e2e/output/playwright/growth-governance-recheck/failure-4.html","e2e/output/playwright/growth-governance-recheck/failure-4.png","e2e/output/playwright/growth-governance-recheck/failure-5.html","e2e/output/playwright/growth-governance-recheck/failure-5.png","e2e/output/playwright/growth-governance-recheck/failure-6.html","e2e/output/playwright/growth-governance-recheck/failure-6.png","e2e/output/playwright/growth-governance-recheck/failure-7.html","e2e/output/playwright/growth-governance-recheck/failure-7.png","e2e/output/playwright/growth-governance-recheck/failure-8.html","e2e/output/playwright/growth-governance-recheck/failure-8.png","e2e/output/playwright/growth-governance-recheck/failure-9.html","e2e/output/playwright/growth-governance-recheck/failure-9.png","e2e/output/playwright/growth-governance-recheck/probes/-ad-accounts-1773636279090.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-audiences-1773636274572.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-biddings-1773636281658.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-campaigns-1773636269396.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-creatives-1773636272040.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-reports-1773636276435.json","e2e/output/playwright/growth-governance-recheck/probes/-campaign-library-1773636266028.json","e2e/output/playwright/growth-governance-recheck/probes/-campaigns-1773636262465.json","e2e/output/playwright/growth-governance-recheck/probes/-community-activities-1773636296839.json","e2e/output/playwright/growth-governance-recheck/probes/-community-bots-1773636309301.json","e2e/output/playwright/growth-governance-recheck/probes/-community-groups-1773636282678.json","e2e/output/playwright/growth-governance-recheck/probes/-community-members-1773636283728.json","e2e/output/playwright/growth-governance-recheck/probes/-community-points-1773636287173.json","e2e/output/playwright/growth-governance-recheck/probes/-community-tasks-1773636289789.json","e2e/output/playwright/growth-governance-recheck/probes/-customer-marketing-1773636264449.json","e2e/output/playwright/growth-governance-recheck/probes/-journey-orchestration-1773636288630.json","e2e/output/playwright/growth-governance-recheck/probes/-marketing-automation-1773636292934.json","e2e/output/playwright/growth-governance-recheck/probes/-marketing-chatbot-1773636284766.json","e2e/output/playwright/growth-governance-recheck/probes/-predictive-analytics-1773636295835.json","e2e/output/playwright/growth-governance-recheck/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v2/failure-1.html","e2e/output/playwright/supply-governance-recheck-v2/failure-1.png","e2e/output/playwright/supply-governance-recheck-v2/failure-2.html","e2e/output/playwright/supply-governance-recheck-v2/failure-2.png","e2e/output/playwright/supply-governance-recheck-v2/failure-3.html","e2e/output/playwright/supply-governance-recheck-v2/failure-3.png","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-bom-1773638085569.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-issues-1773638089294.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-orders-1773638087361.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-receipts-1773638091237.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assets-1773638096600.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-devices-1773638098927.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-outbound-1773638081116.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-product-categories-1773638095076.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-products-1773638093780.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-serial-numbers-1773638082543.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-suppliers-1773638056945.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-supply-chain-1773638054946.json","e2e/output/playwright/supply-governance-recheck-v2/visible-menu-snapshot.json","e2e/playwright-report/data/2bb2f2c3e1d82fa9325fdd6b5f4669df159db17a.md","e2e/playwright-report/data/92afb63601a0131a016d16a554bdb89a648849de.png","e2e/test-results/.last-run.json","e2e/test-results/results.json"],"removed":[],"modified":["backend/src/modules/ad-accounts/ad-account.controller.ts","backend/src/modules/ad-biddings/ad-bidding.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/shared/utils/biz-code.ts","e2e/playwright-report/index.html","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","e2e/tests/crud/module-catalog.overrides.ts"]}],"total_commits":0,"head_commit":{"id":"c1da50f2974fe9552f40dde68ec34df656ddca22","message":"feat: 同步治理文档与 Playwright 可见菜单写批次运行产物\n\n- 更新四份核心文档(AGENTS/CLAUDE/GEMINI/README)菜单深交互基线治理经验\n- 补充 module-governance-acceptance-checklist.md 新模板\n- 更新 module-acceptance-card.md 验收卡与 runbook 运行手册\n- 刷新 inventory.controller.ts 出库模块控制器\n- 同步前端 leads/Index.vue 线索列表页\n- 更新可见菜单写批次:ai-acquisition-content / finance / supply-chain /\n growth-sales-stores-service / synergy / system-infra / hr 域新一轮\n probe JSON、failure 截图与 action-coverage-report\n- 新增 sales-leads / outbound / sales / supply 治理复查产物目录\n- 更新 e2e 测试脚本与 CRUD catalog 配置\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c1da50f2974fe9552f40dde68ec34df656ddca22","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T15:28:33+08:00","added":["docs/templates/governance/module-governance-acceptance-checklist.md","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v1/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.html","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.png","e2e/output/playwright/outbound-governance-recheck-v1/probes/-outbound-1773728392272.json","e2e/output/playwright/outbound-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v2/probes/-outbound-1773729291584.json","e2e/output/playwright/outbound-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/sales-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/sales-governance-recheck-v2/failure-1.html","e2e/output/playwright/sales-governance-recheck-v2/failure-1.png","e2e/output/playwright/sales-governance-recheck-v2/failure-2.html","e2e/output/playwright/sales-governance-recheck-v2/failure-2.png","e2e/output/playwright/sales-governance-recheck-v2/probes/-leads-1773730807935.json","e2e/output/playwright/sales-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/sales-leads-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/sales-leads-governance-recheck-v4/probes/-leads-1773728044474.json","e2e/output/playwright/sales-leads-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v5/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-bom-1773730659592.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-issues-1773730663321.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-orders-1773730661365.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-receipts-1773730665247.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assets-1773730671300.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-devices-1773730673579.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-outbound-1773730655235.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-product-categories-1773730669828.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-products-1773730667766.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-serial-numbers-1773730656634.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-suppliers-1773730630707.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-supply-chain-1773730628780.json","e2e/output/playwright/supply-governance-recheck-v5/visible-menu-snapshot.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.png","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773730293426.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773730346930.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773730265455.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773730339395.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773730342218.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773730348434.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-leads-1773730376023.json","output/playwright/full-menu-write-batches/finance/action-coverage-report.md","output/playwright/full-menu-write-batches/finance/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/finance/failure-3.html","output/playwright/full-menu-write-batches/finance/failure-3.png","output/playwright/full-menu-write-batches/finance/failure-4.html","output/playwright/full-menu-write-batches/finance/failure-4.png","output/playwright/full-menu-write-batches/finance/failure-5.html","output/playwright/full-menu-write-batches/finance/failure-5.png","output/playwright/full-menu-write-batches/finance/failure-6.html","output/playwright/full-menu-write-batches/finance/failure-6.png","output/playwright/full-menu-write-batches/finance/failure-7.html","output/playwright/full-menu-write-batches/finance/failure-7.png","output/playwright/full-menu-write-batches/finance/failure-8.html","output/playwright/full-menu-write-batches/finance/failure-8.png","output/playwright/full-menu-write-batches/finance/failure-9.html","output/playwright/full-menu-write-batches/finance/failure-9.png","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773730815434.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773730746198.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773730747838.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-accounts-1773730566774.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-audiences-1773730561615.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-biddings-1773730569333.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-campaigns-1773730556834.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-creatives-1773730559313.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-reports-1773730564152.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaign-library-1773730532757.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaigns-1773730528728.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-activities-1773730587398.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-bots-1773730600826.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-groups-1773730571925.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-members-1773730573486.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-points-1773730577188.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-tasks-1773730579980.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customer-marketing-1773730531325.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-journey-orchestration-1773730578554.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-automation-1773730583244.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-chatbot-1773730574929.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-predictive-analytics-1773730586008.json","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773731255349.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773731072621.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773731076369.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773731074407.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773731078283.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assets-1773731084301.json","output/playwright/full-menu-write-batches/supply-chain/probes/-devices-1773731086563.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773731068258.json","output/playwright/full-menu-write-batches/supply-chain/probes/-product-categories-1773731082834.json","output/playwright/full-menu-write-batches/supply-chain/probes/-products-1773731080800.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773731069659.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773731043692.json","output/playwright/full-menu-write-batches/supply-chain/probes/-supply-chain-1773731041756.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773731295866.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773731281925.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773731268383.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773731266376.json"],"removed":["e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773632942127.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773632995925.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773632916088.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773632988219.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773632991102.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773632997429.json","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773633734328.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773633664730.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773633666424.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.png","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773634383805.json","output/playwright/full-menu-write-batches/supply-chain/failure-1.html","output/playwright/full-menu-write-batches/supply-chain/failure-1.png","output/playwright/full-menu-write-batches/supply-chain/failure-2.html","output/playwright/full-menu-write-batches/supply-chain/failure-2.png","output/playwright/full-menu-write-batches/supply-chain/failure-3.html","output/playwright/full-menu-write-batches/supply-chain/failure-3.png","output/playwright/full-menu-write-batches/supply-chain/failure-4.html","output/playwright/full-menu-write-batches/supply-chain/failure-4.png","output/playwright/full-menu-write-batches/supply-chain/failure-5.html","output/playwright/full-menu-write-batches/supply-chain/failure-5.png","output/playwright/full-menu-write-batches/supply-chain/failure-6.html","output/playwright/full-menu-write-batches/supply-chain/failure-6.png","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773633901574.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773633905434.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773633903472.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773633907354.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773633897130.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773633898566.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773633882907.json","output/playwright/full-menu-write-batches/synergy/action-coverage-report.json","output/playwright/full-menu-write-batches/synergy/probes/-departments-1773633979244.json","output/playwright/full-menu-write-batches/synergy/probes/-knowledge-1773633919146.json","output/playwright/full-menu-write-batches/synergy/probes/-stage-knowledge-1773633921148.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773634434163.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773634420132.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773634396344.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773634394393.json"],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/inventory/inventory.controller.ts","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/templates/governance/module-acceptance-card.md","e2e/playwright-report/index.html","e2e/scripts/run-visible-write-batches.mjs","e2e/tests/crud/01-visible-menu-write-runner.spec.ts","e2e/tests/crud/module-catalog.overrides.ts","e2e/tests/crud/types.ts","e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/views/leads/Index.vue","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.json","output/playwright/full-menu-write-batches/batch-summary.json","output/playwright/full-menu-write-batches/batch-summary.md","output/playwright/full-menu-write-batches/finance/action-coverage-report.json","output/playwright/full-menu-write-batches/finance/failure-1.html","output/playwright/full-menu-write-batches/finance/failure-1.png","output/playwright/full-menu-write-batches/finance/failure-2.html","output/playwright/full-menu-write-batches/finance/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.md","output/playwright/full-menu-write-batches/supply-chain/blocked-unmapped-pages.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/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":1162552,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-17T15:30:33+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
1
|
3
|
1773739232
|
1773739233
|
0
|
1773739232
|
1773739233
|
NULL
|
|
0
|
Edit
Delete
|
|
6381
|
feat: 同步治理文档与 Playwright 可见菜单写批次运行产物
|
6
|
5
|
health-check.yml
|
6314
|
-2
|
58
|
refs/heads/main
|
c1da50f2974fe9552f40dde68ec34df656ddca22
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"e5a2f5ba8d6442be07c490ec77c734dbe317bfd5","after":"c1da50f2974fe9552f40dde68ec34df656ddca22","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/e5a2f5ba8d6442be07c490ec77c734dbe317bfd5...c1da50f2974fe9552f40dde68ec34df656ddca22","commits":[{"id":"c1da50f2974fe9552f40dde68ec34df656ddca22","message":"feat: 同步治理文档与 Playwright 可见菜单写批次运行产物\n\n- 更新四份核心文档(AGENTS/CLAUDE/GEMINI/README)菜单深交互基线治理经验\n- 补充 module-governance-acceptance-checklist.md 新模板\n- 更新 module-acceptance-card.md 验收卡与 runbook 运行手册\n- 刷新 inventory.controller.ts 出库模块控制器\n- 同步前端 leads/Index.vue 线索列表页\n- 更新可见菜单写批次:ai-acquisition-content / finance / supply-chain /\n growth-sales-stores-service / synergy / system-infra / hr 域新一轮\n probe JSON、failure 截图与 action-coverage-report\n- 新增 sales-leads / outbound / sales / supply 治理复查产物目录\n- 更新 e2e 测试脚本与 CRUD catalog 配置\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c1da50f2974fe9552f40dde68ec34df656ddca22","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T15:28:33+08:00","added":["docs/templates/governance/module-governance-acceptance-checklist.md","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v1/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.html","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.png","e2e/output/playwright/outbound-governance-recheck-v1/probes/-outbound-1773728392272.json","e2e/output/playwright/outbound-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v2/probes/-outbound-1773729291584.json","e2e/output/playwright/outbound-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/sales-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/sales-governance-recheck-v2/failure-1.html","e2e/output/playwright/sales-governance-recheck-v2/failure-1.png","e2e/output/playwright/sales-governance-recheck-v2/failure-2.html","e2e/output/playwright/sales-governance-recheck-v2/failure-2.png","e2e/output/playwright/sales-governance-recheck-v2/probes/-leads-1773730807935.json","e2e/output/playwright/sales-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/sales-leads-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/sales-leads-governance-recheck-v4/probes/-leads-1773728044474.json","e2e/output/playwright/sales-leads-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v5/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-bom-1773730659592.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-issues-1773730663321.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-orders-1773730661365.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-receipts-1773730665247.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assets-1773730671300.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-devices-1773730673579.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-outbound-1773730655235.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-product-categories-1773730669828.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-products-1773730667766.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-serial-numbers-1773730656634.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-suppliers-1773730630707.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-supply-chain-1773730628780.json","e2e/output/playwright/supply-governance-recheck-v5/visible-menu-snapshot.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.png","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773730293426.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773730346930.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773730265455.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773730339395.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773730342218.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773730348434.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-leads-1773730376023.json","output/playwright/full-menu-write-batches/finance/action-coverage-report.md","output/playwright/full-menu-write-batches/finance/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/finance/failure-3.html","output/playwright/full-menu-write-batches/finance/failure-3.png","output/playwright/full-menu-write-batches/finance/failure-4.html","output/playwright/full-menu-write-batches/finance/failure-4.png","output/playwright/full-menu-write-batches/finance/failure-5.html","output/playwright/full-menu-write-batches/finance/failure-5.png","output/playwright/full-menu-write-batches/finance/failure-6.html","output/playwright/full-menu-write-batches/finance/failure-6.png","output/playwright/full-menu-write-batches/finance/failure-7.html","output/playwright/full-menu-write-batches/finance/failure-7.png","output/playwright/full-menu-write-batches/finance/failure-8.html","output/playwright/full-menu-write-batches/finance/failure-8.png","output/playwright/full-menu-write-batches/finance/failure-9.html","output/playwright/full-menu-write-batches/finance/failure-9.png","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773730815434.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773730746198.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773730747838.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-accounts-1773730566774.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-audiences-1773730561615.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-biddings-1773730569333.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-campaigns-1773730556834.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-creatives-1773730559313.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-reports-1773730564152.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaign-library-1773730532757.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaigns-1773730528728.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-activities-1773730587398.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-bots-1773730600826.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-groups-1773730571925.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-members-1773730573486.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-points-1773730577188.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-tasks-1773730579980.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customer-marketing-1773730531325.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-journey-orchestration-1773730578554.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-automation-1773730583244.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-chatbot-1773730574929.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-predictive-analytics-1773730586008.json","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773731255349.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773731072621.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773731076369.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773731074407.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773731078283.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assets-1773731084301.json","output/playwright/full-menu-write-batches/supply-chain/probes/-devices-1773731086563.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773731068258.json","output/playwright/full-menu-write-batches/supply-chain/probes/-product-categories-1773731082834.json","output/playwright/full-menu-write-batches/supply-chain/probes/-products-1773731080800.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773731069659.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773731043692.json","output/playwright/full-menu-write-batches/supply-chain/probes/-supply-chain-1773731041756.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773731295866.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773731281925.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773731268383.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773731266376.json"],"removed":["e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773632942127.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773632995925.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773632916088.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773632988219.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773632991102.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773632997429.json","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773633734328.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773633664730.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773633666424.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.png","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773634383805.json","output/playwright/full-menu-write-batches/supply-chain/failure-1.html","output/playwright/full-menu-write-batches/supply-chain/failure-1.png","output/playwright/full-menu-write-batches/supply-chain/failure-2.html","output/playwright/full-menu-write-batches/supply-chain/failure-2.png","output/playwright/full-menu-write-batches/supply-chain/failure-3.html","output/playwright/full-menu-write-batches/supply-chain/failure-3.png","output/playwright/full-menu-write-batches/supply-chain/failure-4.html","output/playwright/full-menu-write-batches/supply-chain/failure-4.png","output/playwright/full-menu-write-batches/supply-chain/failure-5.html","output/playwright/full-menu-write-batches/supply-chain/failure-5.png","output/playwright/full-menu-write-batches/supply-chain/failure-6.html","output/playwright/full-menu-write-batches/supply-chain/failure-6.png","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773633901574.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773633905434.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773633903472.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773633907354.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773633897130.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773633898566.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773633882907.json","output/playwright/full-menu-write-batches/synergy/action-coverage-report.json","output/playwright/full-menu-write-batches/synergy/probes/-departments-1773633979244.json","output/playwright/full-menu-write-batches/synergy/probes/-knowledge-1773633919146.json","output/playwright/full-menu-write-batches/synergy/probes/-stage-knowledge-1773633921148.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773634434163.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773634420132.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773634396344.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773634394393.json"],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/inventory/inventory.controller.ts","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/templates/governance/module-acceptance-card.md","e2e/playwright-report/index.html","e2e/scripts/run-visible-write-batches.mjs","e2e/tests/crud/01-visible-menu-write-runner.spec.ts","e2e/tests/crud/module-catalog.overrides.ts","e2e/tests/crud/types.ts","e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/views/leads/Index.vue","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.json","output/playwright/full-menu-write-batches/batch-summary.json","output/playwright/full-menu-write-batches/batch-summary.md","output/playwright/full-menu-write-batches/finance/action-coverage-report.json","output/playwright/full-menu-write-batches/finance/failure-1.html","output/playwright/full-menu-write-batches/finance/failure-1.png","output/playwright/full-menu-write-batches/finance/failure-2.html","output/playwright/full-menu-write-batches/finance/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.md","output/playwright/full-menu-write-batches/supply-chain/blocked-unmapped-pages.json"]},{"id":"9d26d79a0e913f59f095f5770c349ada3eb290e6","message":"Sync governance docs with repo triage guidance\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/9d26d79a0e913f59f095f5770c349ada3eb290e6","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:59:58+08:00","added":[],"removed":[],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","docs/contract-governance-3.0.md","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/reports/governance-experience-2026-03-07.md"]},{"id":"90763866bd7d7302b2fd963c80971c0c980e2a40","message":"Add visible menu snapshot for sales leads governance recheck\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/90763866bd7d7302b2fd963c80971c0c980e2a40","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:52:59+08:00","added":["e2e/output/playwright/sales-leads-governance-recheck-v2/visible-menu-snapshot.json"],"removed":[],"modified":[]},{"id":"37491f5183c3793b77913e9fa046090fd3e2140e","message":"Fix visible-menu action contracts and refresh Playwright artifacts\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/37491f5183c3793b77913e9fa046090fd3e2140e","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:49:50+08:00","added":["e2e/output/playwright/growth-governance-recheck-v6/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v6/failure-1.html","e2e/output/playwright/growth-governance-recheck-v6/failure-1.png","e2e/output/playwright/growth-governance-recheck-v6/failure-2.html","e2e/output/playwright/growth-governance-recheck-v6/failure-2.png","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-accounts-1773724659044.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-audiences-1773724653884.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-biddings-1773724661639.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-campaigns-1773724649143.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-creatives-1773724651605.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-ad-reports-1773724656426.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-campaign-library-1773724625404.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-campaigns-1773724621356.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-activities-1773724679469.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-bots-1773724692868.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-groups-1773724663988.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-members-1773724665547.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-points-1773724669207.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-community-tasks-1773724672014.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-customer-marketing-1773724623985.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-journey-orchestration-1773724670573.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-marketing-automation-1773724675311.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-marketing-chatbot-1773724666974.json","e2e/output/playwright/growth-governance-recheck-v6/probes/-predictive-analytics-1773724678072.json","e2e/output/playwright/growth-governance-recheck-v6/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v7/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v7/failure-1.html","e2e/output/playwright/growth-governance-recheck-v7/failure-1.png","e2e/output/playwright/growth-governance-recheck-v7/failure-2.html","e2e/output/playwright/growth-governance-recheck-v7/failure-2.png","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-audiences-1773725119348.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-biddings-1773725144948.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-campaigns-1773725114561.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-creatives-1773725117027.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-ad-reports-1773725121927.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-campaign-library-1773725090781.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-campaigns-1773725086648.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-activities-1773725163012.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-bots-1773725176355.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-groups-1773725147556.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-members-1773725149129.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-points-1773725152767.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-community-tasks-1773725155559.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-customer-marketing-1773725089355.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-journey-orchestration-1773725154125.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-marketing-automation-1773725158850.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-marketing-chatbot-1773725150561.json","e2e/output/playwright/growth-governance-recheck-v7/probes/-predictive-analytics-1773725161612.json","e2e/output/playwright/growth-governance-recheck-v7/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v8/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-accounts-1773725331287.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-audiences-1773725326038.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-biddings-1773725333878.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-campaigns-1773725321263.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-creatives-1773725323743.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-ad-reports-1773725328622.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-campaign-library-1773725297280.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-campaigns-1773725293257.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-activities-1773725352012.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-bots-1773725365518.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-groups-1773725336490.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-members-1773725338048.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-points-1773725341744.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-community-tasks-1773725344573.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-customer-marketing-1773725295883.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-journey-orchestration-1773725343111.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-marketing-automation-1773725347852.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-marketing-chatbot-1773725339499.json","e2e/output/playwright/growth-governance-recheck-v8/probes/-predictive-analytics-1773725350608.json","e2e/output/playwright/growth-governance-recheck-v8/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v1-page1/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/sales-stores-service-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v3/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v3/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v3/failure-1.html","e2e/output/playwright/supply-governance-recheck-v3/failure-1.png","e2e/output/playwright/supply-governance-recheck-v3/failure-2.html","e2e/output/playwright/supply-governance-recheck-v3/failure-2.png","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-bom-1773724804766.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-issues-1773724808526.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-orders-1773724806554.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assembly-receipts-1773724810440.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-assets-1773724816442.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-devices-1773724818721.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-outbound-1773724800429.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-product-categories-1773724814983.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-products-1773724812923.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-serial-numbers-1773724801816.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-suppliers-1773724776440.json","e2e/output/playwright/supply-governance-recheck-v3/probes/-supply-chain-1773724774524.json","e2e/output/playwright/supply-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v4/failure-1.html","e2e/output/playwright/supply-governance-recheck-v4/failure-1.png","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-bom-1773724908303.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-issues-1773724912024.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-orders-1773724910085.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assembly-receipts-1773724913947.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-assets-1773724920008.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-devices-1773724922280.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-outbound-1773724903876.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-product-categories-1773724918547.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-products-1773724916486.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-serial-numbers-1773724905275.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-suppliers-1773724890016.json","e2e/output/playwright/supply-governance-recheck-v4/probes/-supply-chain-1773724888101.json","e2e/output/playwright/supply-governance-recheck-v4/visible-menu-snapshot.json","e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md"],"removed":["e2e/playwright-report/data/2bb2f2c3e1d82fa9325fdd6b5f4669df159db17a.md","e2e/playwright-report/data/92afb63601a0131a016d16a554bdb89a648849de.png","e2e/test-results/.last-run.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","e2e/test-results/results.json"],"modified":["backend/src/modules/ad-campaigns/ad-campaigns.service.ts","backend/src/modules/community-groups/community-group.contract.routes.ts","backend/src/shared/process-core/default-workflow-definitions.ts","e2e/playwright-report/index.html","e2e/tests/crud/module-catalog.overrides.ts"]},{"id":"46e5f097ea53c593ee709803d6679b5520a6b271","message":"Fix growth module write contracts and governance probes\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/46e5f097ea53c593ee709803d6679b5520a6b271","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T13:14:33+08:00","added":[".claude/worktrees/vibrant-mestorf","e2e/output/playwright/growth-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v2/failure-1.html","e2e/output/playwright/growth-governance-recheck-v2/failure-1.png","e2e/output/playwright/growth-governance-recheck-v2/failure-2.html","e2e/output/playwright/growth-governance-recheck-v2/failure-2.png","e2e/output/playwright/growth-governance-recheck-v2/failure-3.html","e2e/output/playwright/growth-governance-recheck-v2/failure-3.png","e2e/output/playwright/growth-governance-recheck-v2/failure-4.html","e2e/output/playwright/growth-governance-recheck-v2/failure-4.png","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-accounts-1773637103428.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-audiences-1773637097919.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-biddings-1773637106233.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-campaigns-1773637092737.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-creatives-1773637095413.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-ad-reports-1773637100574.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-campaign-library-1773637068728.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-campaigns-1773637064334.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-activities-1773637125231.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-bots-1773637138800.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-groups-1773637108862.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-members-1773637110559.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-points-1773637114159.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-community-tasks-1773637117170.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-customer-marketing-1773637067192.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-journey-orchestration-1773637115613.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-marketing-automation-1773637120849.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-marketing-chatbot-1773637111690.json","e2e/output/playwright/growth-governance-recheck-v2/probes/-predictive-analytics-1773637123749.json","e2e/output/playwright/growth-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v3/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v3/failure-1.html","e2e/output/playwright/growth-governance-recheck-v3/failure-1.png","e2e/output/playwright/growth-governance-recheck-v3/failure-2.html","e2e/output/playwright/growth-governance-recheck-v3/failure-2.png","e2e/output/playwright/growth-governance-recheck-v3/failure-3.html","e2e/output/playwright/growth-governance-recheck-v3/failure-3.png","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-accounts-1773637290819.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-audiences-1773637285318.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-biddings-1773637293641.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-campaigns-1773637280219.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-creatives-1773637282870.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-ad-reports-1773637287997.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-campaign-library-1773637256300.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-campaigns-1773637252140.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-activities-1773637312007.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-bots-1773637315094.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-groups-1773637296205.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-members-1773637297858.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-points-1773637301326.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-community-tasks-1773637304221.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-customer-marketing-1773637254826.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-journey-orchestration-1773637302713.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-marketing-automation-1773637307735.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-marketing-chatbot-1773637298900.json","e2e/output/playwright/growth-governance-recheck-v3/probes/-predictive-analytics-1773637310596.json","e2e/output/playwright/growth-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v4/failure-1.html","e2e/output/playwright/growth-governance-recheck-v4/failure-1.png","e2e/output/playwright/growth-governance-recheck-v4/failure-2.html","e2e/output/playwright/growth-governance-recheck-v4/failure-2.png","e2e/output/playwright/growth-governance-recheck-v4/failure-3.html","e2e/output/playwright/growth-governance-recheck-v4/failure-3.png","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-accounts-1773637580471.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-audiences-1773637574939.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-biddings-1773637583127.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-campaigns-1773637569798.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-creatives-1773637572491.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-ad-reports-1773637577693.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-campaign-library-1773637545837.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-campaigns-1773637541347.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-activities-1773637601885.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-bots-1773637615595.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-groups-1773637585737.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-members-1773637587440.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-points-1773637590954.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-community-tasks-1773637593940.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-customer-marketing-1773637544263.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-journey-orchestration-1773637592404.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-marketing-automation-1773637597490.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-marketing-chatbot-1773637588564.json","e2e/output/playwright/growth-governance-recheck-v4/probes/-predictive-analytics-1773637600359.json","e2e/output/playwright/growth-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck-v5/failure-1.html","e2e/output/playwright/growth-governance-recheck-v5/failure-1.png","e2e/output/playwright/growth-governance-recheck-v5/failure-2.html","e2e/output/playwright/growth-governance-recheck-v5/failure-2.png","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-accounts-1773637856277.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-audiences-1773637850560.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-biddings-1773637859067.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-campaigns-1773637845354.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-creatives-1773637848041.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-ad-reports-1773637853256.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-campaign-library-1773637842008.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-campaigns-1773637837583.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-activities-1773637878336.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-bots-1773637891983.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-groups-1773637861569.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-members-1773637863254.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-points-1773637867326.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-community-tasks-1773637870372.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-customer-marketing-1773637840454.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-journey-orchestration-1773637868795.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-marketing-automation-1773637874004.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-marketing-chatbot-1773637864856.json","e2e/output/playwright/growth-governance-recheck-v5/probes/-predictive-analytics-1773637876874.json","e2e/output/playwright/growth-governance-recheck-v5/visible-menu-snapshot.json","e2e/output/playwright/growth-governance-recheck/action-coverage-report.json","e2e/output/playwright/growth-governance-recheck/failure-1.html","e2e/output/playwright/growth-governance-recheck/failure-1.png","e2e/output/playwright/growth-governance-recheck/failure-10.html","e2e/output/playwright/growth-governance-recheck/failure-10.png","e2e/output/playwright/growth-governance-recheck/failure-11.html","e2e/output/playwright/growth-governance-recheck/failure-11.png","e2e/output/playwright/growth-governance-recheck/failure-12.html","e2e/output/playwright/growth-governance-recheck/failure-12.png","e2e/output/playwright/growth-governance-recheck/failure-13.html","e2e/output/playwright/growth-governance-recheck/failure-13.png","e2e/output/playwright/growth-governance-recheck/failure-2.html","e2e/output/playwright/growth-governance-recheck/failure-2.png","e2e/output/playwright/growth-governance-recheck/failure-3.html","e2e/output/playwright/growth-governance-recheck/failure-3.png","e2e/output/playwright/growth-governance-recheck/failure-4.html","e2e/output/playwright/growth-governance-recheck/failure-4.png","e2e/output/playwright/growth-governance-recheck/failure-5.html","e2e/output/playwright/growth-governance-recheck/failure-5.png","e2e/output/playwright/growth-governance-recheck/failure-6.html","e2e/output/playwright/growth-governance-recheck/failure-6.png","e2e/output/playwright/growth-governance-recheck/failure-7.html","e2e/output/playwright/growth-governance-recheck/failure-7.png","e2e/output/playwright/growth-governance-recheck/failure-8.html","e2e/output/playwright/growth-governance-recheck/failure-8.png","e2e/output/playwright/growth-governance-recheck/failure-9.html","e2e/output/playwright/growth-governance-recheck/failure-9.png","e2e/output/playwright/growth-governance-recheck/probes/-ad-accounts-1773636279090.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-audiences-1773636274572.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-biddings-1773636281658.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-campaigns-1773636269396.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-creatives-1773636272040.json","e2e/output/playwright/growth-governance-recheck/probes/-ad-reports-1773636276435.json","e2e/output/playwright/growth-governance-recheck/probes/-campaign-library-1773636266028.json","e2e/output/playwright/growth-governance-recheck/probes/-campaigns-1773636262465.json","e2e/output/playwright/growth-governance-recheck/probes/-community-activities-1773636296839.json","e2e/output/playwright/growth-governance-recheck/probes/-community-bots-1773636309301.json","e2e/output/playwright/growth-governance-recheck/probes/-community-groups-1773636282678.json","e2e/output/playwright/growth-governance-recheck/probes/-community-members-1773636283728.json","e2e/output/playwright/growth-governance-recheck/probes/-community-points-1773636287173.json","e2e/output/playwright/growth-governance-recheck/probes/-community-tasks-1773636289789.json","e2e/output/playwright/growth-governance-recheck/probes/-customer-marketing-1773636264449.json","e2e/output/playwright/growth-governance-recheck/probes/-journey-orchestration-1773636288630.json","e2e/output/playwright/growth-governance-recheck/probes/-marketing-automation-1773636292934.json","e2e/output/playwright/growth-governance-recheck/probes/-marketing-chatbot-1773636284766.json","e2e/output/playwright/growth-governance-recheck/probes/-predictive-analytics-1773636295835.json","e2e/output/playwright/growth-governance-recheck/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v2/failure-1.html","e2e/output/playwright/supply-governance-recheck-v2/failure-1.png","e2e/output/playwright/supply-governance-recheck-v2/failure-2.html","e2e/output/playwright/supply-governance-recheck-v2/failure-2.png","e2e/output/playwright/supply-governance-recheck-v2/failure-3.html","e2e/output/playwright/supply-governance-recheck-v2/failure-3.png","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-bom-1773638085569.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-issues-1773638089294.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-orders-1773638087361.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assembly-receipts-1773638091237.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-assets-1773638096600.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-devices-1773638098927.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-outbound-1773638081116.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-product-categories-1773638095076.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-products-1773638093780.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-serial-numbers-1773638082543.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-suppliers-1773638056945.json","e2e/output/playwright/supply-governance-recheck-v2/probes/-supply-chain-1773638054946.json","e2e/output/playwright/supply-governance-recheck-v2/visible-menu-snapshot.json","e2e/playwright-report/data/2bb2f2c3e1d82fa9325fdd6b5f4669df159db17a.md","e2e/playwright-report/data/92afb63601a0131a016d16a554bdb89a648849de.png","e2e/test-results/.last-run.json","e2e/test-results/results.json"],"removed":[],"modified":["backend/src/modules/ad-accounts/ad-account.controller.ts","backend/src/modules/ad-biddings/ad-bidding.controller.ts","backend/src/modules/marketing-automation/workflow.service.ts","backend/src/shared/utils/biz-code.ts","e2e/playwright-report/index.html","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","e2e/tests/crud/module-catalog.overrides.ts"]}],"total_commits":0,"head_commit":{"id":"c1da50f2974fe9552f40dde68ec34df656ddca22","message":"feat: 同步治理文档与 Playwright 可见菜单写批次运行产物\n\n- 更新四份核心文档(AGENTS/CLAUDE/GEMINI/README)菜单深交互基线治理经验\n- 补充 module-governance-acceptance-checklist.md 新模板\n- 更新 module-acceptance-card.md 验收卡与 runbook 运行手册\n- 刷新 inventory.controller.ts 出库模块控制器\n- 同步前端 leads/Index.vue 线索列表页\n- 更新可见菜单写批次:ai-acquisition-content / finance / supply-chain /\n growth-sales-stores-service / synergy / system-infra / hr 域新一轮\n probe JSON、failure 截图与 action-coverage-report\n- 新增 sales-leads / outbound / sales / supply 治理复查产物目录\n- 更新 e2e 测试脚本与 CRUD catalog 配置\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/c1da50f2974fe9552f40dde68ec34df656ddca22","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-17T15:28:33+08:00","added":["docs/templates/governance/module-governance-acceptance-checklist.md","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v1/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v1/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.html","e2e/output/playwright/outbound-governance-recheck-v1/failure-1.png","e2e/output/playwright/outbound-governance-recheck-v1/probes/-outbound-1773728392272.json","e2e/output/playwright/outbound-governance-recheck-v1/visible-menu-snapshot.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/outbound-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/outbound-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/outbound-governance-recheck-v2/probes/-outbound-1773729291584.json","e2e/output/playwright/outbound-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.json","e2e/output/playwright/sales-governance-recheck-v2/action-coverage-report.md","e2e/output/playwright/sales-governance-recheck-v2/blocked-unmapped-pages.json","e2e/output/playwright/sales-governance-recheck-v2/failure-1.html","e2e/output/playwright/sales-governance-recheck-v2/failure-1.png","e2e/output/playwright/sales-governance-recheck-v2/failure-2.html","e2e/output/playwright/sales-governance-recheck-v2/failure-2.png","e2e/output/playwright/sales-governance-recheck-v2/probes/-leads-1773730807935.json","e2e/output/playwright/sales-governance-recheck-v2/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v3/visible-menu-snapshot.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.json","e2e/output/playwright/sales-leads-governance-recheck-v4/action-coverage-report.md","e2e/output/playwright/sales-leads-governance-recheck-v4/blocked-unmapped-pages.json","e2e/output/playwright/sales-leads-governance-recheck-v4/probes/-leads-1773728044474.json","e2e/output/playwright/sales-leads-governance-recheck-v4/visible-menu-snapshot.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.json","e2e/output/playwright/supply-governance-recheck-v5/action-coverage-report.md","e2e/output/playwright/supply-governance-recheck-v5/blocked-unmapped-pages.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-bom-1773730659592.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-issues-1773730663321.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-orders-1773730661365.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assembly-receipts-1773730665247.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-assets-1773730671300.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-devices-1773730673579.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-outbound-1773730655235.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-product-categories-1773730669828.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-products-1773730667766.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-serial-numbers-1773730656634.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-suppliers-1773730630707.json","e2e/output/playwright/supply-governance-recheck-v5/probes/-supply-chain-1773730628780.json","e2e/output/playwright/supply-governance-recheck-v5/visible-menu-snapshot.json","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/error-context.md","e2e/test-results/crud-01-visible-menu-write-25883-写操作回放-当前可见主菜单页-当前可见页面动作契约回放-chromium/test-failed-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-1.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-10.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-11.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-2.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-3.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-4.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-5.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-6.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-7.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-8.png","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.html","output/playwright/full-menu-write-batches/ai-acquisition-content/failure-9.png","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773730293426.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773730346930.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773730265455.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773730339395.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773730342218.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773730348434.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-leads-1773730376023.json","output/playwright/full-menu-write-batches/finance/action-coverage-report.md","output/playwright/full-menu-write-batches/finance/blocked-unmapped-pages.json","output/playwright/full-menu-write-batches/finance/failure-3.html","output/playwright/full-menu-write-batches/finance/failure-3.png","output/playwright/full-menu-write-batches/finance/failure-4.html","output/playwright/full-menu-write-batches/finance/failure-4.png","output/playwright/full-menu-write-batches/finance/failure-5.html","output/playwright/full-menu-write-batches/finance/failure-5.png","output/playwright/full-menu-write-batches/finance/failure-6.html","output/playwright/full-menu-write-batches/finance/failure-6.png","output/playwright/full-menu-write-batches/finance/failure-7.html","output/playwright/full-menu-write-batches/finance/failure-7.png","output/playwright/full-menu-write-batches/finance/failure-8.html","output/playwright/full-menu-write-batches/finance/failure-8.png","output/playwright/full-menu-write-batches/finance/failure-9.html","output/playwright/full-menu-write-batches/finance/failure-9.png","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773730815434.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773730746198.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773730747838.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-accounts-1773730566774.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-audiences-1773730561615.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-biddings-1773730569333.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-campaigns-1773730556834.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-creatives-1773730559313.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-ad-reports-1773730564152.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaign-library-1773730532757.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-campaigns-1773730528728.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-activities-1773730587398.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-bots-1773730600826.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-groups-1773730571925.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-members-1773730573486.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-points-1773730577188.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-community-tasks-1773730579980.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-customer-marketing-1773730531325.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-journey-orchestration-1773730578554.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-automation-1773730583244.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-marketing-chatbot-1773730574929.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/probes/-predictive-analytics-1773730586008.json","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773731255349.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773731072621.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773731076369.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773731074407.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773731078283.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assets-1773731084301.json","output/playwright/full-menu-write-batches/supply-chain/probes/-devices-1773731086563.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773731068258.json","output/playwright/full-menu-write-batches/supply-chain/probes/-product-categories-1773731082834.json","output/playwright/full-menu-write-batches/supply-chain/probes/-products-1773731080800.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773731069659.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773731043692.json","output/playwright/full-menu-write-batches/supply-chain/probes/-supply-chain-1773731041756.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773731295866.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773731281925.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773731268383.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773731266376.json"],"removed":["e2e/playwright-report/data/88af325895a6b049a833e73cc81cf82e0a276018.png","e2e/playwright-report/data/9f071d9df1bcd1214e0a492155eb1fe3d9c27b90.md","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-1773632942127.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-im-integration-1773632995925.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-overview-1773632916088.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-skill-library-1773632988219.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-1773632991102.json","output/playwright/full-menu-write-batches/ai-acquisition-content/probes/-ai-agents-tasks-pending-1773632997429.json","output/playwright/full-menu-write-batches/finance/probes/-ap-ledger-1773633734328.json","output/playwright/full-menu-write-batches/finance/probes/-invoices-1773633664730.json","output/playwright/full-menu-write-batches/finance/probes/-payments-1773633666424.json","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-1.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-10.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-11.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-12.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-13.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-14.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-15.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-16.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-17.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-18.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-19.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-3.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-4.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-5.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-6.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-7.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-8.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.html","output/playwright/full-menu-write-batches/growth-sales-stores-service/failure-9.png","output/playwright/full-menu-write-batches/hr/probes/-commissions-1773634383805.json","output/playwright/full-menu-write-batches/supply-chain/failure-1.html","output/playwright/full-menu-write-batches/supply-chain/failure-1.png","output/playwright/full-menu-write-batches/supply-chain/failure-2.html","output/playwright/full-menu-write-batches/supply-chain/failure-2.png","output/playwright/full-menu-write-batches/supply-chain/failure-3.html","output/playwright/full-menu-write-batches/supply-chain/failure-3.png","output/playwright/full-menu-write-batches/supply-chain/failure-4.html","output/playwright/full-menu-write-batches/supply-chain/failure-4.png","output/playwright/full-menu-write-batches/supply-chain/failure-5.html","output/playwright/full-menu-write-batches/supply-chain/failure-5.png","output/playwright/full-menu-write-batches/supply-chain/failure-6.html","output/playwright/full-menu-write-batches/supply-chain/failure-6.png","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-bom-1773633901574.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-issues-1773633905434.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-orders-1773633903472.json","output/playwright/full-menu-write-batches/supply-chain/probes/-assembly-receipts-1773633907354.json","output/playwright/full-menu-write-batches/supply-chain/probes/-outbound-1773633897130.json","output/playwright/full-menu-write-batches/supply-chain/probes/-serial-numbers-1773633898566.json","output/playwright/full-menu-write-batches/supply-chain/probes/-suppliers-1773633882907.json","output/playwright/full-menu-write-batches/synergy/action-coverage-report.json","output/playwright/full-menu-write-batches/synergy/probes/-departments-1773633979244.json","output/playwright/full-menu-write-batches/synergy/probes/-knowledge-1773633919146.json","output/playwright/full-menu-write-batches/synergy/probes/-stage-knowledge-1773633921148.json","output/playwright/full-menu-write-batches/system-infra/probes/-event-subscriptions-1773634434163.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-biz-sequences-1773634420132.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-params-1773634396344.json","output/playwright/full-menu-write-batches/system-infra/probes/-system-tenant-configs-1773634394393.json"],"modified":["AGENTS.md","CLAUDE.md","GEMINI.md","README.md","backend/src/modules/inventory/inventory.controller.ts","docs/operations/contract-governance-3.0-multi-agent-runbook.md","docs/templates/governance/module-acceptance-card.md","e2e/playwright-report/index.html","e2e/scripts/run-visible-write-batches.mjs","e2e/tests/crud/01-visible-menu-write-runner.spec.ts","e2e/tests/crud/module-catalog.overrides.ts","e2e/tests/crud/types.ts","e2e/tests/navigation/requested-menu-whitelist.ts","frontend/src/views/leads/Index.vue","output/playwright/full-menu-write-batches/ai-acquisition-content/action-coverage-report.json","output/playwright/full-menu-write-batches/batch-summary.json","output/playwright/full-menu-write-batches/batch-summary.md","output/playwright/full-menu-write-batches/finance/action-coverage-report.json","output/playwright/full-menu-write-batches/finance/failure-1.html","output/playwright/full-menu-write-batches/finance/failure-1.png","output/playwright/full-menu-write-batches/finance/failure-2.html","output/playwright/full-menu-write-batches/finance/failure-2.png","output/playwright/full-menu-write-batches/growth-sales-stores-service/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.json","output/playwright/full-menu-write-batches/supply-chain/action-coverage-report.md","output/playwright/full-menu-write-batches/supply-chain/blocked-unmapped-pages.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/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":1162552,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-03-17T15:30:33+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
schedule
|
1
|
3
|
1773739532
|
1773739533
|
0
|
1773739532
|
1773739533
|
NULL
|
|
0
|
Edit
Delete
|
|
13812
|
feat: 同步最新代码更改,包括后端API、前端组件、测试和报告更新
|
6
|
5
|
ci.yml
|
13734
|
5
|
0
|
refs/heads/main
|
d2c68b13960de626f7a8d496bf1977d263eb7931
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"98cc8da660b8d4dba9887432490471d976c03f5f","after":"d2c68b13960de626f7a8d496bf1977d263eb7931","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/98cc8da660b8d4dba9887432490471d976c03f5f...d2c68b13960de626f7a8d496bf1977d263eb7931","commits":[{"id":"d2c68b13960de626f7a8d496bf1977d263eb7931","message":"feat: 同步最新代码更改,包括后端API、前端组件、测试和报告更新\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/d2c68b13960de626f7a8d496bf1977d263eb7931","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-13T15:39:52+08:00","added":["backend/prisma/migrations/20260413_add_journey_orchestration_and_store_configs/migration.sql","backend/src/modules/journey-orchestration/journey-orchestration.contract.routes.ts","backend/src/modules/process/process.controller.ts","backend/src/modules/process/process.types.ts","backend/src/modules/revenue/revenue-crud.service.ts","backend/src/modules/stores/store-config.service.ts","backend/src/modules/treasury/treasury-crud.service.ts","e2e/test-results/form-interactions-core-bus-0f529-d-to-Cash-F03-商机表单---编辑回填验证-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-0f529-d-to-Cash-F03-商机表单---编辑回填验证-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-184fa--to-Cash-F01-客户表单---创建成功全流程-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-184fa--to-Cash-F01-客户表单---创建成功全流程-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-4c4ce--to-Cash-F07-客户表单---手机号重复检测-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-4c4ce--to-Cash-F07-客户表单---手机号重复检测-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-64a51-to-Cash-F05-合同表单---复杂字段联动验证-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-64a51-to-Cash-F05-合同表单---复杂字段联动验证-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-80c59-d-to-Cash-F08-报价表单---实时计算验证-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-80c59-d-to-Cash-F08-报价表单---实时计算验证-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-90544-d-to-Cash-F02-线索表单---验证错误提示-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-90544-d-to-Cash-F02-线索表单---验证错误提示-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-a51f4-d-to-Cash-F04-报价表单---草稿自动恢复-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-a51f4-d-to-Cash-F04-报价表单---草稿自动恢复-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-cf0d9--to-Cash-F06-订单表单---动态明细行验证-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-cf0d9--to-Cash-F06-订单表单---动态明细行验证-chromium/test-failed-1.png","e2e/tests/form-interactions/hr-forms.spec.ts","e2e/tests/form-interactions/large-data-performance.spec.ts","e2e/tests/form-interactions/service-center-forms.spec.ts","e2e/tests/form-interactions/supply-chain-forms.spec.ts","frontend/src/views/cpq/components/PoliciesTab.vue","frontend/src/views/marketing-calendar/components/CalendarAgendaView.vue","frontend/src/views/marketing-calendar/components/CalendarMonthView.vue","frontend/src/views/marketing-calendar/components/CalendarWeekView.vue","frontend/src/views/marketing-calendar/components/EventDetailDrawer.vue","frontend/src/views/marketing-calendar/components/EventFormDialog.vue","frontend/src/views/marketing-calendar/composables/useMarketingCalendar.ts","frontend/src/views/marketing-north-star/components/NorthStarAlerts.vue","frontend/src/views/marketing-north-star/components/NorthStarDashboard.vue","frontend/src/views/marketing-north-star/components/NorthStarMetricForm.vue","frontend/src/views/settings/components/integration/IntegrationAdPlatformsPanel.vue","frontend/src/views/settings/components/integration/IntegrationAiConfig.vue","frontend/src/views/settings/components/integration/IntegrationDingtalkConfig.vue","frontend/src/views/settings/components/integration/IntegrationEmailConfig.vue","frontend/src/views/settings/components/integration/IntegrationFeishuConfig.vue","frontend/src/views/settings/components/integration/IntegrationGroupbuyPanel.vue","frontend/src/views/settings/components/integration/IntegrationSmsConfig.vue","frontend/src/views/settings/components/integration/IntegrationWebhookConfig.vue","frontend/src/views/settings/components/integration/IntegrationWechatPublicConfig.vue","frontend/src/views/settings/components/integration/IntegrationWechatWorkConfig.vue","scripts/migrate-to-uselistpage.ts"],"removed":["e2e/test-results/auth.setup.ts-authenticate-as-admin-setup/error-context.md","e2e/test-results/auth.setup.ts-authenticate-as-admin-setup/test-failed-1.png"],"modified":[".github/workflows/e2e-tests.yml","backend/.env.test","backend/prisma/schema/marketing.prisma","backend/prisma/schema/stores.prisma","backend/src/modules/ad-placement/placement.contract.routes.ts","backend/src/modules/ad-placement/placement.controller.ts","backend/src/modules/ad-placement/placement.service.ts","backend/src/modules/channels/channel.contract.routes.ts","backend/src/modules/dimension-transform/dimension-transform.controller.ts","backend/src/modules/dimension-transform/dimension-transform.routes.ts","backend/src/modules/dimension-transform/dimension-transform.service.ts","backend/src/modules/expense/expense.contract.routes.ts","backend/src/modules/expense/expense.controller.ts","backend/src/modules/expense/expense.routes.ts","backend/src/modules/faults/fault.contract.routes.ts","backend/src/modules/faults/fault.service.ts","backend/src/modules/geo-keywords/geo-keyword.contract.routes.ts","backend/src/modules/geo-keywords/geo-keyword.controller.ts","backend/src/modules/geo-keywords/geo-keyword.routes.ts","backend/src/modules/geo-keywords/geo-keyword.schema.ts","backend/src/modules/geo-keywords/geo-keyword.service.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.contract.routes.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.controller.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.routes.ts","backend/src/modules/journey-orchestration/journey-orchestration.service.ts","backend/src/modules/knowledge/knowledge.routes.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.contract.routes.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.controller.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.routes.ts","backend/src/modules/marketing-matrix/matrix.contract.routes.ts","backend/src/modules/marketing-matrix/matrix.controller.ts","backend/src/modules/mdm/mdm.service.ts","backend/src/modules/orders/order.controller.ts","backend/src/modules/process/process.routes.ts","backend/src/modules/process/process.schema.ts","backend/src/modules/process/process.service.test.ts","backend/src/modules/process/process.service.ts","backend/src/modules/realtime/realtime.contract.routes.ts","backend/src/modules/realtime/realtime.controller.ts","backend/src/modules/realtime/realtime.routes.ts","backend/src/modules/revenue/revenue.contract.routes.ts","backend/src/modules/revenue/revenue.controller.ts","backend/src/modules/revenue/revenue.routes.ts","backend/src/modules/search/search.controller.ts","backend/src/modules/search/search.routes.ts","backend/src/modules/search/search.schema.ts","backend/src/modules/search/search.service.ts","backend/src/modules/social-analytics/social-analytics.service.ts","backend/src/modules/stores/store.contract.routes.ts","backend/src/modules/stores/store.controller.ts","backend/src/modules/stores/store.routes.ts","backend/src/modules/stores/store.schema.ts","backend/src/modules/treasury/treasury.contract.routes.ts","backend/src/modules/treasury/treasury.controller.ts","backend/src/modules/treasury/treasury.routes.ts","e2e/.auth/admin.json","e2e/helpers/form-test-helpers.ts","e2e/package.json","e2e/test-results/.last-run.json","e2e/tests/form-interactions/approval-workflow-forms.spec.ts","e2e/tests/form-interactions/core-business-forms.spec.ts","e2e/tests/form-interactions/finance-forms.spec.ts","e2e/tests/form-interactions/marketing-campaign-forms.spec.ts","frontend/src/api/modules/im-channels.ts","frontend/src/composables/useDashboardRealtime.ts","frontend/src/views/ad-accounts/Index.vue","frontend/src/views/ad-audiences/Index.vue","frontend/src/views/ad-biddings/Index.vue","frontend/src/views/ad-campaigns/Index.vue","frontend/src/views/ad-creatives/Index.vue","frontend/src/views/ad-reports/Index.vue","frontend/src/views/alliance-analytics/Index.vue","frontend/src/views/alliance-merchants/Index.vue","frontend/src/views/alliance-products/Index.vue","frontend/src/views/alliance-promotions/Index.vue","frontend/src/views/alliance-referrals/Index.vue","frontend/src/views/alliance-settlements/Index.vue","frontend/src/views/ap-ledger/Index.vue","frontend/src/views/approval-configs/Index.vue","frontend/src/views/approval-templates/Index.vue","frontend/src/views/bom/Index.vue","frontend/src/views/campaign-drafts/Index.vue","frontend/src/views/campaign-use-case-templates/Index.vue","frontend/src/views/channel-integrations/Index.vue","frontend/src/views/cohort-analysis/Index.vue","frontend/src/views/community-activities/Index.vue","frontend/src/views/community-analytics/Index.vue","frontend/src/views/community-groups/Index.vue","frontend/src/views/community-levels/Index.vue","frontend/src/views/community-members/Index.vue","frontend/src/views/community-messages/Index.vue","frontend/src/views/community-points/Index.vue","frontend/src/views/consumer-behavior-analytics/Index.vue","frontend/src/views/content-categories/Index.vue","frontend/src/views/content-copyright/Index.vue","frontend/src/views/content-creation/Index.vue","frontend/src/views/content-distribution/Index.vue","frontend/src/views/content-library/Index.vue","frontend/src/views/content-review/Index.vue","frontend/src/views/content-templates/Index.vue","frontend/src/views/contract-templates/Index.vue","frontend/src/views/cpq/Index.vue","frontend/src/views/cpq/composables/useCpqCommon.ts","frontend/src/views/crm-activities/Index.vue","frontend/src/views/cross-domain-funnel/Index.vue","frontend/src/views/customer-health/Index.vue","frontend/src/views/customer-journey/Index.vue","frontend/src/views/customer-ltv/Index.vue","frontend/src/views/customer-marketing/Index.vue","frontend/src/views/customer-segmentation/Index.vue","frontend/src/views/departments/Index.vue","frontend/src/views/devices/Index.vue","frontend/src/views/dimension-transform/Index.vue","frontend/src/views/email-marketing/Index.vue","frontend/src/views/email-templates/Index.vue","frontend/src/views/event-logs/Index.vue","frontend/src/views/expense-claims/Index.vue","frontend/src/views/faults/Index.vue","frontend/src/views/finance-os/ai/AutoCreditAdjustment.vue","frontend/src/views/finance-os/ai/CashForecastModel.vue","frontend/src/views/finance-os/ai/DefaultProbabilityModel.vue","frontend/src/views/finance-os/ai/ROIEvaluation.vue","frontend/src/views/geo-fences/Index.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-analytics/Index.vue","frontend/src/views/groupbuy-campaigns/Index.vue","frontend/src/views/groupbuy-orders/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.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/im-channels/Index.vue","frontend/src/views/invoice-requests/Index.vue","frontend/src/views/invoice-verification/Index.vue","frontend/src/views/journey-orchestration/Index.vue","frontend/src/views/knowledge-candidates/Index.vue","frontend/src/views/knowledge-capture/Index.vue","frontend/src/views/knowledge-feedback/Index.vue","frontend/src/views/landing-pages/Index.vue","frontend/src/views/lead-assignment/Index.vue","frontend/src/views/lead-pool/Index.vue","frontend/src/views/lead-pools/Index.vue","frontend/src/views/livestream-analytics/Index.vue","frontend/src/views/livestream-interactions/Index.vue","frontend/src/views/livestream-products/Index.vue","frontend/src/views/livestream-rooms/Index.vue","frontend/src/views/livestream-schedules/Index.vue","frontend/src/views/livestream-scripts/Index.vue","frontend/src/views/livestream/Index.vue","frontend/src/views/local-events/Index.vue","frontend/src/views/local-promotion/Index.vue","frontend/src/views/location-assessments/Index.vue","frontend/src/views/marketing-automation/Index.vue","frontend/src/views/marketing-calendar/Index.vue","frontend/src/views/marketing-content/Index.vue","frontend/src/views/marketing-effectiveness/Index.vue","frontend/src/views/marketing-forms/Index.vue","frontend/src/views/marketing-matrix/Index.vue","frontend/src/views/marketing-north-star/Index.vue","frontend/src/views/marketing-tools/Index.vue","frontend/src/views/member-levels/Index.vue","frontend/src/views/member-points/Index.vue","frontend/src/views/members/Index.vue","frontend/src/views/payment-plans/Index.vue","frontend/src/views/pm/Index.vue","frontend/src/views/positions/Index.vue","frontend/src/views/predictive-analytics/Index.vue","frontend/src/views/product-categories/Index.vue","frontend/src/views/projects/Index.vue","frontend/src/views/purchase-orders/Index.vue","frontend/src/views/realtime-trigger/Index.vue","frontend/src/views/redemptions/Index.vue","frontend/src/views/rfm-analysis/Index.vue","frontend/src/views/roles/Index.vue","frontend/src/views/satisfaction/Index.vue","frontend/src/views/settings/IntegrationServices.vue","frontend/src/views/social-accounts/Index.vue","frontend/src/views/social-auto-replies/Index.vue","frontend/src/views/social-competitors/Index.vue","frontend/src/views/social-followers/Index.vue","frontend/src/views/social-hot-topics/Index.vue","frontend/src/views/social-interactions/Index.vue","frontend/src/views/social-posts/Index.vue","frontend/src/views/spare-parts/Index.vue","frontend/src/views/store-inventory/Index.vue","frontend/src/views/store-settlements/Index.vue","frontend/src/views/store-staff/Index.vue","frontend/src/views/stores/Index.vue","frontend/src/views/supplier-center/Index.vue","frontend/src/views/supplier-payments/Index.vue","frontend/src/views/system-events/Index.vue","frontend/src/views/ticket-workflows/Index.vue","frontend/src/views/users/Index.vue","frontend/src/views/video-calls/Index.vue","frontend/src/views/video-content/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/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/outbox-atomicity-audit.latest.json"]}],"total_commits":0,"head_commit":{"id":"d2c68b13960de626f7a8d496bf1977d263eb7931","message":"feat: 同步最新代码更改,包括后端API、前端组件、测试和报告更新\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/d2c68b13960de626f7a8d496bf1977d263eb7931","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-13T15:39:52+08:00","added":["backend/prisma/migrations/20260413_add_journey_orchestration_and_store_configs/migration.sql","backend/src/modules/journey-orchestration/journey-orchestration.contract.routes.ts","backend/src/modules/process/process.controller.ts","backend/src/modules/process/process.types.ts","backend/src/modules/revenue/revenue-crud.service.ts","backend/src/modules/stores/store-config.service.ts","backend/src/modules/treasury/treasury-crud.service.ts","e2e/test-results/form-interactions-core-bus-0f529-d-to-Cash-F03-商机表单---编辑回填验证-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-0f529-d-to-Cash-F03-商机表单---编辑回填验证-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-184fa--to-Cash-F01-客户表单---创建成功全流程-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-184fa--to-Cash-F01-客户表单---创建成功全流程-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-4c4ce--to-Cash-F07-客户表单---手机号重复检测-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-4c4ce--to-Cash-F07-客户表单---手机号重复检测-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-64a51-to-Cash-F05-合同表单---复杂字段联动验证-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-64a51-to-Cash-F05-合同表单---复杂字段联动验证-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-80c59-d-to-Cash-F08-报价表单---实时计算验证-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-80c59-d-to-Cash-F08-报价表单---实时计算验证-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-90544-d-to-Cash-F02-线索表单---验证错误提示-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-90544-d-to-Cash-F02-线索表单---验证错误提示-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-a51f4-d-to-Cash-F04-报价表单---草稿自动恢复-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-a51f4-d-to-Cash-F04-报价表单---草稿自动恢复-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-cf0d9--to-Cash-F06-订单表单---动态明细行验证-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-cf0d9--to-Cash-F06-订单表单---动态明细行验证-chromium/test-failed-1.png","e2e/tests/form-interactions/hr-forms.spec.ts","e2e/tests/form-interactions/large-data-performance.spec.ts","e2e/tests/form-interactions/service-center-forms.spec.ts","e2e/tests/form-interactions/supply-chain-forms.spec.ts","frontend/src/views/cpq/components/PoliciesTab.vue","frontend/src/views/marketing-calendar/components/CalendarAgendaView.vue","frontend/src/views/marketing-calendar/components/CalendarMonthView.vue","frontend/src/views/marketing-calendar/components/CalendarWeekView.vue","frontend/src/views/marketing-calendar/components/EventDetailDrawer.vue","frontend/src/views/marketing-calendar/components/EventFormDialog.vue","frontend/src/views/marketing-calendar/composables/useMarketingCalendar.ts","frontend/src/views/marketing-north-star/components/NorthStarAlerts.vue","frontend/src/views/marketing-north-star/components/NorthStarDashboard.vue","frontend/src/views/marketing-north-star/components/NorthStarMetricForm.vue","frontend/src/views/settings/components/integration/IntegrationAdPlatformsPanel.vue","frontend/src/views/settings/components/integration/IntegrationAiConfig.vue","frontend/src/views/settings/components/integration/IntegrationDingtalkConfig.vue","frontend/src/views/settings/components/integration/IntegrationEmailConfig.vue","frontend/src/views/settings/components/integration/IntegrationFeishuConfig.vue","frontend/src/views/settings/components/integration/IntegrationGroupbuyPanel.vue","frontend/src/views/settings/components/integration/IntegrationSmsConfig.vue","frontend/src/views/settings/components/integration/IntegrationWebhookConfig.vue","frontend/src/views/settings/components/integration/IntegrationWechatPublicConfig.vue","frontend/src/views/settings/components/integration/IntegrationWechatWorkConfig.vue","scripts/migrate-to-uselistpage.ts"],"removed":["e2e/test-results/auth.setup.ts-authenticate-as-admin-setup/error-context.md","e2e/test-results/auth.setup.ts-authenticate-as-admin-setup/test-failed-1.png"],"modified":[".github/workflows/e2e-tests.yml","backend/.env.test","backend/prisma/schema/marketing.prisma","backend/prisma/schema/stores.prisma","backend/src/modules/ad-placement/placement.contract.routes.ts","backend/src/modules/ad-placement/placement.controller.ts","backend/src/modules/ad-placement/placement.service.ts","backend/src/modules/channels/channel.contract.routes.ts","backend/src/modules/dimension-transform/dimension-transform.controller.ts","backend/src/modules/dimension-transform/dimension-transform.routes.ts","backend/src/modules/dimension-transform/dimension-transform.service.ts","backend/src/modules/expense/expense.contract.routes.ts","backend/src/modules/expense/expense.controller.ts","backend/src/modules/expense/expense.routes.ts","backend/src/modules/faults/fault.contract.routes.ts","backend/src/modules/faults/fault.service.ts","backend/src/modules/geo-keywords/geo-keyword.contract.routes.ts","backend/src/modules/geo-keywords/geo-keyword.controller.ts","backend/src/modules/geo-keywords/geo-keyword.routes.ts","backend/src/modules/geo-keywords/geo-keyword.schema.ts","backend/src/modules/geo-keywords/geo-keyword.service.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.contract.routes.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.controller.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.routes.ts","backend/src/modules/journey-orchestration/journey-orchestration.service.ts","backend/src/modules/knowledge/knowledge.routes.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.contract.routes.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.controller.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.routes.ts","backend/src/modules/marketing-matrix/matrix.contract.routes.ts","backend/src/modules/marketing-matrix/matrix.controller.ts","backend/src/modules/mdm/mdm.service.ts","backend/src/modules/orders/order.controller.ts","backend/src/modules/process/process.routes.ts","backend/src/modules/process/process.schema.ts","backend/src/modules/process/process.service.test.ts","backend/src/modules/process/process.service.ts","backend/src/modules/realtime/realtime.contract.routes.ts","backend/src/modules/realtime/realtime.controller.ts","backend/src/modules/realtime/realtime.routes.ts","backend/src/modules/revenue/revenue.contract.routes.ts","backend/src/modules/revenue/revenue.controller.ts","backend/src/modules/revenue/revenue.routes.ts","backend/src/modules/search/search.controller.ts","backend/src/modules/search/search.routes.ts","backend/src/modules/search/search.schema.ts","backend/src/modules/search/search.service.ts","backend/src/modules/social-analytics/social-analytics.service.ts","backend/src/modules/stores/store.contract.routes.ts","backend/src/modules/stores/store.controller.ts","backend/src/modules/stores/store.routes.ts","backend/src/modules/stores/store.schema.ts","backend/src/modules/treasury/treasury.contract.routes.ts","backend/src/modules/treasury/treasury.controller.ts","backend/src/modules/treasury/treasury.routes.ts","e2e/.auth/admin.json","e2e/helpers/form-test-helpers.ts","e2e/package.json","e2e/test-results/.last-run.json","e2e/tests/form-interactions/approval-workflow-forms.spec.ts","e2e/tests/form-interactions/core-business-forms.spec.ts","e2e/tests/form-interactions/finance-forms.spec.ts","e2e/tests/form-interactions/marketing-campaign-forms.spec.ts","frontend/src/api/modules/im-channels.ts","frontend/src/composables/useDashboardRealtime.ts","frontend/src/views/ad-accounts/Index.vue","frontend/src/views/ad-audiences/Index.vue","frontend/src/views/ad-biddings/Index.vue","frontend/src/views/ad-campaigns/Index.vue","frontend/src/views/ad-creatives/Index.vue","frontend/src/views/ad-reports/Index.vue","frontend/src/views/alliance-analytics/Index.vue","frontend/src/views/alliance-merchants/Index.vue","frontend/src/views/alliance-products/Index.vue","frontend/src/views/alliance-promotions/Index.vue","frontend/src/views/alliance-referrals/Index.vue","frontend/src/views/alliance-settlements/Index.vue","frontend/src/views/ap-ledger/Index.vue","frontend/src/views/approval-configs/Index.vue","frontend/src/views/approval-templates/Index.vue","frontend/src/views/bom/Index.vue","frontend/src/views/campaign-drafts/Index.vue","frontend/src/views/campaign-use-case-templates/Index.vue","frontend/src/views/channel-integrations/Index.vue","frontend/src/views/cohort-analysis/Index.vue","frontend/src/views/community-activities/Index.vue","frontend/src/views/community-analytics/Index.vue","frontend/src/views/community-groups/Index.vue","frontend/src/views/community-levels/Index.vue","frontend/src/views/community-members/Index.vue","frontend/src/views/community-messages/Index.vue","frontend/src/views/community-points/Index.vue","frontend/src/views/consumer-behavior-analytics/Index.vue","frontend/src/views/content-categories/Index.vue","frontend/src/views/content-copyright/Index.vue","frontend/src/views/content-creation/Index.vue","frontend/src/views/content-distribution/Index.vue","frontend/src/views/content-library/Index.vue","frontend/src/views/content-review/Index.vue","frontend/src/views/content-templates/Index.vue","frontend/src/views/contract-templates/Index.vue","frontend/src/views/cpq/Index.vue","frontend/src/views/cpq/composables/useCpqCommon.ts","frontend/src/views/crm-activities/Index.vue","frontend/src/views/cross-domain-funnel/Index.vue","frontend/src/views/customer-health/Index.vue","frontend/src/views/customer-journey/Index.vue","frontend/src/views/customer-ltv/Index.vue","frontend/src/views/customer-marketing/Index.vue","frontend/src/views/customer-segmentation/Index.vue","frontend/src/views/departments/Index.vue","frontend/src/views/devices/Index.vue","frontend/src/views/dimension-transform/Index.vue","frontend/src/views/email-marketing/Index.vue","frontend/src/views/email-templates/Index.vue","frontend/src/views/event-logs/Index.vue","frontend/src/views/expense-claims/Index.vue","frontend/src/views/faults/Index.vue","frontend/src/views/finance-os/ai/AutoCreditAdjustment.vue","frontend/src/views/finance-os/ai/CashForecastModel.vue","frontend/src/views/finance-os/ai/DefaultProbabilityModel.vue","frontend/src/views/finance-os/ai/ROIEvaluation.vue","frontend/src/views/geo-fences/Index.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-analytics/Index.vue","frontend/src/views/groupbuy-campaigns/Index.vue","frontend/src/views/groupbuy-orders/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.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/im-channels/Index.vue","frontend/src/views/invoice-requests/Index.vue","frontend/src/views/invoice-verification/Index.vue","frontend/src/views/journey-orchestration/Index.vue","frontend/src/views/knowledge-candidates/Index.vue","frontend/src/views/knowledge-capture/Index.vue","frontend/src/views/knowledge-feedback/Index.vue","frontend/src/views/landing-pages/Index.vue","frontend/src/views/lead-assignment/Index.vue","frontend/src/views/lead-pool/Index.vue","frontend/src/views/lead-pools/Index.vue","frontend/src/views/livestream-analytics/Index.vue","frontend/src/views/livestream-interactions/Index.vue","frontend/src/views/livestream-products/Index.vue","frontend/src/views/livestream-rooms/Index.vue","frontend/src/views/livestream-schedules/Index.vue","frontend/src/views/livestream-scripts/Index.vue","frontend/src/views/livestream/Index.vue","frontend/src/views/local-events/Index.vue","frontend/src/views/local-promotion/Index.vue","frontend/src/views/location-assessments/Index.vue","frontend/src/views/marketing-automation/Index.vue","frontend/src/views/marketing-calendar/Index.vue","frontend/src/views/marketing-content/Index.vue","frontend/src/views/marketing-effectiveness/Index.vue","frontend/src/views/marketing-forms/Index.vue","frontend/src/views/marketing-matrix/Index.vue","frontend/src/views/marketing-north-star/Index.vue","frontend/src/views/marketing-tools/Index.vue","frontend/src/views/member-levels/Index.vue","frontend/src/views/member-points/Index.vue","frontend/src/views/members/Index.vue","frontend/src/views/payment-plans/Index.vue","frontend/src/views/pm/Index.vue","frontend/src/views/positions/Index.vue","frontend/src/views/predictive-analytics/Index.vue","frontend/src/views/product-categories/Index.vue","frontend/src/views/projects/Index.vue","frontend/src/views/purchase-orders/Index.vue","frontend/src/views/realtime-trigger/Index.vue","frontend/src/views/redemptions/Index.vue","frontend/src/views/rfm-analysis/Index.vue","frontend/src/views/roles/Index.vue","frontend/src/views/satisfaction/Index.vue","frontend/src/views/settings/IntegrationServices.vue","frontend/src/views/social-accounts/Index.vue","frontend/src/views/social-auto-replies/Index.vue","frontend/src/views/social-competitors/Index.vue","frontend/src/views/social-followers/Index.vue","frontend/src/views/social-hot-topics/Index.vue","frontend/src/views/social-interactions/Index.vue","frontend/src/views/social-posts/Index.vue","frontend/src/views/spare-parts/Index.vue","frontend/src/views/store-inventory/Index.vue","frontend/src/views/store-settlements/Index.vue","frontend/src/views/store-staff/Index.vue","frontend/src/views/stores/Index.vue","frontend/src/views/supplier-center/Index.vue","frontend/src/views/supplier-payments/Index.vue","frontend/src/views/system-events/Index.vue","frontend/src/views/ticket-workflows/Index.vue","frontend/src/views/users/Index.vue","frontend/src/views/video-calls/Index.vue","frontend/src/views/video-content/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/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/outbox-atomicity-audit.latest.json"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5212729,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-13T00:24:48+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
12
|
1776066084
|
1776066121
|
0
|
1776066083
|
1776066559
|
group: ci-${{ github.ref }}
cancel-in-progress: group: ci-${{ github.ref }}
cancel-in-progress: "true"
...
|
ci-refs/heads/main
|
1
|
Edit
Delete
|
|
13813
|
feat: 同步最新代码更改,包括后端API、前端组件、测试和报告更新
|
6
|
5
|
e2e-tests.yml
|
13735
|
5
|
0
|
refs/heads/main
|
d2c68b13960de626f7a8d496bf1977d263eb7931
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"98cc8da660b8d4dba9887432490471d976c03f5f","after":"d2c68b13960de626f7a8d496bf1977d263eb7931","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/98cc8da660b8d4dba9887432490471d976c03f5f...d2c68b13960de626f7a8d496bf1977d263eb7931","commits":[{"id":"d2c68b13960de626f7a8d496bf1977d263eb7931","message":"feat: 同步最新代码更改,包括后端API、前端组件、测试和报告更新\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/d2c68b13960de626f7a8d496bf1977d263eb7931","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-13T15:39:52+08:00","added":["backend/prisma/migrations/20260413_add_journey_orchestration_and_store_configs/migration.sql","backend/src/modules/journey-orchestration/journey-orchestration.contract.routes.ts","backend/src/modules/process/process.controller.ts","backend/src/modules/process/process.types.ts","backend/src/modules/revenue/revenue-crud.service.ts","backend/src/modules/stores/store-config.service.ts","backend/src/modules/treasury/treasury-crud.service.ts","e2e/test-results/form-interactions-core-bus-0f529-d-to-Cash-F03-商机表单---编辑回填验证-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-0f529-d-to-Cash-F03-商机表单---编辑回填验证-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-184fa--to-Cash-F01-客户表单---创建成功全流程-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-184fa--to-Cash-F01-客户表单---创建成功全流程-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-4c4ce--to-Cash-F07-客户表单---手机号重复检测-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-4c4ce--to-Cash-F07-客户表单---手机号重复检测-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-64a51-to-Cash-F05-合同表单---复杂字段联动验证-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-64a51-to-Cash-F05-合同表单---复杂字段联动验证-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-80c59-d-to-Cash-F08-报价表单---实时计算验证-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-80c59-d-to-Cash-F08-报价表单---实时计算验证-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-90544-d-to-Cash-F02-线索表单---验证错误提示-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-90544-d-to-Cash-F02-线索表单---验证错误提示-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-a51f4-d-to-Cash-F04-报价表单---草稿自动恢复-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-a51f4-d-to-Cash-F04-报价表单---草稿自动恢复-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-cf0d9--to-Cash-F06-订单表单---动态明细行验证-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-cf0d9--to-Cash-F06-订单表单---动态明细行验证-chromium/test-failed-1.png","e2e/tests/form-interactions/hr-forms.spec.ts","e2e/tests/form-interactions/large-data-performance.spec.ts","e2e/tests/form-interactions/service-center-forms.spec.ts","e2e/tests/form-interactions/supply-chain-forms.spec.ts","frontend/src/views/cpq/components/PoliciesTab.vue","frontend/src/views/marketing-calendar/components/CalendarAgendaView.vue","frontend/src/views/marketing-calendar/components/CalendarMonthView.vue","frontend/src/views/marketing-calendar/components/CalendarWeekView.vue","frontend/src/views/marketing-calendar/components/EventDetailDrawer.vue","frontend/src/views/marketing-calendar/components/EventFormDialog.vue","frontend/src/views/marketing-calendar/composables/useMarketingCalendar.ts","frontend/src/views/marketing-north-star/components/NorthStarAlerts.vue","frontend/src/views/marketing-north-star/components/NorthStarDashboard.vue","frontend/src/views/marketing-north-star/components/NorthStarMetricForm.vue","frontend/src/views/settings/components/integration/IntegrationAdPlatformsPanel.vue","frontend/src/views/settings/components/integration/IntegrationAiConfig.vue","frontend/src/views/settings/components/integration/IntegrationDingtalkConfig.vue","frontend/src/views/settings/components/integration/IntegrationEmailConfig.vue","frontend/src/views/settings/components/integration/IntegrationFeishuConfig.vue","frontend/src/views/settings/components/integration/IntegrationGroupbuyPanel.vue","frontend/src/views/settings/components/integration/IntegrationSmsConfig.vue","frontend/src/views/settings/components/integration/IntegrationWebhookConfig.vue","frontend/src/views/settings/components/integration/IntegrationWechatPublicConfig.vue","frontend/src/views/settings/components/integration/IntegrationWechatWorkConfig.vue","scripts/migrate-to-uselistpage.ts"],"removed":["e2e/test-results/auth.setup.ts-authenticate-as-admin-setup/error-context.md","e2e/test-results/auth.setup.ts-authenticate-as-admin-setup/test-failed-1.png"],"modified":[".github/workflows/e2e-tests.yml","backend/.env.test","backend/prisma/schema/marketing.prisma","backend/prisma/schema/stores.prisma","backend/src/modules/ad-placement/placement.contract.routes.ts","backend/src/modules/ad-placement/placement.controller.ts","backend/src/modules/ad-placement/placement.service.ts","backend/src/modules/channels/channel.contract.routes.ts","backend/src/modules/dimension-transform/dimension-transform.controller.ts","backend/src/modules/dimension-transform/dimension-transform.routes.ts","backend/src/modules/dimension-transform/dimension-transform.service.ts","backend/src/modules/expense/expense.contract.routes.ts","backend/src/modules/expense/expense.controller.ts","backend/src/modules/expense/expense.routes.ts","backend/src/modules/faults/fault.contract.routes.ts","backend/src/modules/faults/fault.service.ts","backend/src/modules/geo-keywords/geo-keyword.contract.routes.ts","backend/src/modules/geo-keywords/geo-keyword.controller.ts","backend/src/modules/geo-keywords/geo-keyword.routes.ts","backend/src/modules/geo-keywords/geo-keyword.schema.ts","backend/src/modules/geo-keywords/geo-keyword.service.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.contract.routes.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.controller.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.routes.ts","backend/src/modules/journey-orchestration/journey-orchestration.service.ts","backend/src/modules/knowledge/knowledge.routes.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.contract.routes.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.controller.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.routes.ts","backend/src/modules/marketing-matrix/matrix.contract.routes.ts","backend/src/modules/marketing-matrix/matrix.controller.ts","backend/src/modules/mdm/mdm.service.ts","backend/src/modules/orders/order.controller.ts","backend/src/modules/process/process.routes.ts","backend/src/modules/process/process.schema.ts","backend/src/modules/process/process.service.test.ts","backend/src/modules/process/process.service.ts","backend/src/modules/realtime/realtime.contract.routes.ts","backend/src/modules/realtime/realtime.controller.ts","backend/src/modules/realtime/realtime.routes.ts","backend/src/modules/revenue/revenue.contract.routes.ts","backend/src/modules/revenue/revenue.controller.ts","backend/src/modules/revenue/revenue.routes.ts","backend/src/modules/search/search.controller.ts","backend/src/modules/search/search.routes.ts","backend/src/modules/search/search.schema.ts","backend/src/modules/search/search.service.ts","backend/src/modules/social-analytics/social-analytics.service.ts","backend/src/modules/stores/store.contract.routes.ts","backend/src/modules/stores/store.controller.ts","backend/src/modules/stores/store.routes.ts","backend/src/modules/stores/store.schema.ts","backend/src/modules/treasury/treasury.contract.routes.ts","backend/src/modules/treasury/treasury.controller.ts","backend/src/modules/treasury/treasury.routes.ts","e2e/.auth/admin.json","e2e/helpers/form-test-helpers.ts","e2e/package.json","e2e/test-results/.last-run.json","e2e/tests/form-interactions/approval-workflow-forms.spec.ts","e2e/tests/form-interactions/core-business-forms.spec.ts","e2e/tests/form-interactions/finance-forms.spec.ts","e2e/tests/form-interactions/marketing-campaign-forms.spec.ts","frontend/src/api/modules/im-channels.ts","frontend/src/composables/useDashboardRealtime.ts","frontend/src/views/ad-accounts/Index.vue","frontend/src/views/ad-audiences/Index.vue","frontend/src/views/ad-biddings/Index.vue","frontend/src/views/ad-campaigns/Index.vue","frontend/src/views/ad-creatives/Index.vue","frontend/src/views/ad-reports/Index.vue","frontend/src/views/alliance-analytics/Index.vue","frontend/src/views/alliance-merchants/Index.vue","frontend/src/views/alliance-products/Index.vue","frontend/src/views/alliance-promotions/Index.vue","frontend/src/views/alliance-referrals/Index.vue","frontend/src/views/alliance-settlements/Index.vue","frontend/src/views/ap-ledger/Index.vue","frontend/src/views/approval-configs/Index.vue","frontend/src/views/approval-templates/Index.vue","frontend/src/views/bom/Index.vue","frontend/src/views/campaign-drafts/Index.vue","frontend/src/views/campaign-use-case-templates/Index.vue","frontend/src/views/channel-integrations/Index.vue","frontend/src/views/cohort-analysis/Index.vue","frontend/src/views/community-activities/Index.vue","frontend/src/views/community-analytics/Index.vue","frontend/src/views/community-groups/Index.vue","frontend/src/views/community-levels/Index.vue","frontend/src/views/community-members/Index.vue","frontend/src/views/community-messages/Index.vue","frontend/src/views/community-points/Index.vue","frontend/src/views/consumer-behavior-analytics/Index.vue","frontend/src/views/content-categories/Index.vue","frontend/src/views/content-copyright/Index.vue","frontend/src/views/content-creation/Index.vue","frontend/src/views/content-distribution/Index.vue","frontend/src/views/content-library/Index.vue","frontend/src/views/content-review/Index.vue","frontend/src/views/content-templates/Index.vue","frontend/src/views/contract-templates/Index.vue","frontend/src/views/cpq/Index.vue","frontend/src/views/cpq/composables/useCpqCommon.ts","frontend/src/views/crm-activities/Index.vue","frontend/src/views/cross-domain-funnel/Index.vue","frontend/src/views/customer-health/Index.vue","frontend/src/views/customer-journey/Index.vue","frontend/src/views/customer-ltv/Index.vue","frontend/src/views/customer-marketing/Index.vue","frontend/src/views/customer-segmentation/Index.vue","frontend/src/views/departments/Index.vue","frontend/src/views/devices/Index.vue","frontend/src/views/dimension-transform/Index.vue","frontend/src/views/email-marketing/Index.vue","frontend/src/views/email-templates/Index.vue","frontend/src/views/event-logs/Index.vue","frontend/src/views/expense-claims/Index.vue","frontend/src/views/faults/Index.vue","frontend/src/views/finance-os/ai/AutoCreditAdjustment.vue","frontend/src/views/finance-os/ai/CashForecastModel.vue","frontend/src/views/finance-os/ai/DefaultProbabilityModel.vue","frontend/src/views/finance-os/ai/ROIEvaluation.vue","frontend/src/views/geo-fences/Index.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-analytics/Index.vue","frontend/src/views/groupbuy-campaigns/Index.vue","frontend/src/views/groupbuy-orders/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.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/im-channels/Index.vue","frontend/src/views/invoice-requests/Index.vue","frontend/src/views/invoice-verification/Index.vue","frontend/src/views/journey-orchestration/Index.vue","frontend/src/views/knowledge-candidates/Index.vue","frontend/src/views/knowledge-capture/Index.vue","frontend/src/views/knowledge-feedback/Index.vue","frontend/src/views/landing-pages/Index.vue","frontend/src/views/lead-assignment/Index.vue","frontend/src/views/lead-pool/Index.vue","frontend/src/views/lead-pools/Index.vue","frontend/src/views/livestream-analytics/Index.vue","frontend/src/views/livestream-interactions/Index.vue","frontend/src/views/livestream-products/Index.vue","frontend/src/views/livestream-rooms/Index.vue","frontend/src/views/livestream-schedules/Index.vue","frontend/src/views/livestream-scripts/Index.vue","frontend/src/views/livestream/Index.vue","frontend/src/views/local-events/Index.vue","frontend/src/views/local-promotion/Index.vue","frontend/src/views/location-assessments/Index.vue","frontend/src/views/marketing-automation/Index.vue","frontend/src/views/marketing-calendar/Index.vue","frontend/src/views/marketing-content/Index.vue","frontend/src/views/marketing-effectiveness/Index.vue","frontend/src/views/marketing-forms/Index.vue","frontend/src/views/marketing-matrix/Index.vue","frontend/src/views/marketing-north-star/Index.vue","frontend/src/views/marketing-tools/Index.vue","frontend/src/views/member-levels/Index.vue","frontend/src/views/member-points/Index.vue","frontend/src/views/members/Index.vue","frontend/src/views/payment-plans/Index.vue","frontend/src/views/pm/Index.vue","frontend/src/views/positions/Index.vue","frontend/src/views/predictive-analytics/Index.vue","frontend/src/views/product-categories/Index.vue","frontend/src/views/projects/Index.vue","frontend/src/views/purchase-orders/Index.vue","frontend/src/views/realtime-trigger/Index.vue","frontend/src/views/redemptions/Index.vue","frontend/src/views/rfm-analysis/Index.vue","frontend/src/views/roles/Index.vue","frontend/src/views/satisfaction/Index.vue","frontend/src/views/settings/IntegrationServices.vue","frontend/src/views/social-accounts/Index.vue","frontend/src/views/social-auto-replies/Index.vue","frontend/src/views/social-competitors/Index.vue","frontend/src/views/social-followers/Index.vue","frontend/src/views/social-hot-topics/Index.vue","frontend/src/views/social-interactions/Index.vue","frontend/src/views/social-posts/Index.vue","frontend/src/views/spare-parts/Index.vue","frontend/src/views/store-inventory/Index.vue","frontend/src/views/store-settlements/Index.vue","frontend/src/views/store-staff/Index.vue","frontend/src/views/stores/Index.vue","frontend/src/views/supplier-center/Index.vue","frontend/src/views/supplier-payments/Index.vue","frontend/src/views/system-events/Index.vue","frontend/src/views/ticket-workflows/Index.vue","frontend/src/views/users/Index.vue","frontend/src/views/video-calls/Index.vue","frontend/src/views/video-content/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/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/outbox-atomicity-audit.latest.json"]}],"total_commits":0,"head_commit":{"id":"d2c68b13960de626f7a8d496bf1977d263eb7931","message":"feat: 同步最新代码更改,包括后端API、前端组件、测试和报告更新\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/d2c68b13960de626f7a8d496bf1977d263eb7931","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-13T15:39:52+08:00","added":["backend/prisma/migrations/20260413_add_journey_orchestration_and_store_configs/migration.sql","backend/src/modules/journey-orchestration/journey-orchestration.contract.routes.ts","backend/src/modules/process/process.controller.ts","backend/src/modules/process/process.types.ts","backend/src/modules/revenue/revenue-crud.service.ts","backend/src/modules/stores/store-config.service.ts","backend/src/modules/treasury/treasury-crud.service.ts","e2e/test-results/form-interactions-core-bus-0f529-d-to-Cash-F03-商机表单---编辑回填验证-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-0f529-d-to-Cash-F03-商机表单---编辑回填验证-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-184fa--to-Cash-F01-客户表单---创建成功全流程-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-184fa--to-Cash-F01-客户表单---创建成功全流程-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-4c4ce--to-Cash-F07-客户表单---手机号重复检测-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-4c4ce--to-Cash-F07-客户表单---手机号重复检测-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-64a51-to-Cash-F05-合同表单---复杂字段联动验证-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-64a51-to-Cash-F05-合同表单---复杂字段联动验证-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-80c59-d-to-Cash-F08-报价表单---实时计算验证-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-80c59-d-to-Cash-F08-报价表单---实时计算验证-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-90544-d-to-Cash-F02-线索表单---验证错误提示-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-90544-d-to-Cash-F02-线索表单---验证错误提示-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-a51f4-d-to-Cash-F04-报价表单---草稿自动恢复-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-a51f4-d-to-Cash-F04-报价表单---草稿自动恢复-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-cf0d9--to-Cash-F06-订单表单---动态明细行验证-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-cf0d9--to-Cash-F06-订单表单---动态明细行验证-chromium/test-failed-1.png","e2e/tests/form-interactions/hr-forms.spec.ts","e2e/tests/form-interactions/large-data-performance.spec.ts","e2e/tests/form-interactions/service-center-forms.spec.ts","e2e/tests/form-interactions/supply-chain-forms.spec.ts","frontend/src/views/cpq/components/PoliciesTab.vue","frontend/src/views/marketing-calendar/components/CalendarAgendaView.vue","frontend/src/views/marketing-calendar/components/CalendarMonthView.vue","frontend/src/views/marketing-calendar/components/CalendarWeekView.vue","frontend/src/views/marketing-calendar/components/EventDetailDrawer.vue","frontend/src/views/marketing-calendar/components/EventFormDialog.vue","frontend/src/views/marketing-calendar/composables/useMarketingCalendar.ts","frontend/src/views/marketing-north-star/components/NorthStarAlerts.vue","frontend/src/views/marketing-north-star/components/NorthStarDashboard.vue","frontend/src/views/marketing-north-star/components/NorthStarMetricForm.vue","frontend/src/views/settings/components/integration/IntegrationAdPlatformsPanel.vue","frontend/src/views/settings/components/integration/IntegrationAiConfig.vue","frontend/src/views/settings/components/integration/IntegrationDingtalkConfig.vue","frontend/src/views/settings/components/integration/IntegrationEmailConfig.vue","frontend/src/views/settings/components/integration/IntegrationFeishuConfig.vue","frontend/src/views/settings/components/integration/IntegrationGroupbuyPanel.vue","frontend/src/views/settings/components/integration/IntegrationSmsConfig.vue","frontend/src/views/settings/components/integration/IntegrationWebhookConfig.vue","frontend/src/views/settings/components/integration/IntegrationWechatPublicConfig.vue","frontend/src/views/settings/components/integration/IntegrationWechatWorkConfig.vue","scripts/migrate-to-uselistpage.ts"],"removed":["e2e/test-results/auth.setup.ts-authenticate-as-admin-setup/error-context.md","e2e/test-results/auth.setup.ts-authenticate-as-admin-setup/test-failed-1.png"],"modified":[".github/workflows/e2e-tests.yml","backend/.env.test","backend/prisma/schema/marketing.prisma","backend/prisma/schema/stores.prisma","backend/src/modules/ad-placement/placement.contract.routes.ts","backend/src/modules/ad-placement/placement.controller.ts","backend/src/modules/ad-placement/placement.service.ts","backend/src/modules/channels/channel.contract.routes.ts","backend/src/modules/dimension-transform/dimension-transform.controller.ts","backend/src/modules/dimension-transform/dimension-transform.routes.ts","backend/src/modules/dimension-transform/dimension-transform.service.ts","backend/src/modules/expense/expense.contract.routes.ts","backend/src/modules/expense/expense.controller.ts","backend/src/modules/expense/expense.routes.ts","backend/src/modules/faults/fault.contract.routes.ts","backend/src/modules/faults/fault.service.ts","backend/src/modules/geo-keywords/geo-keyword.contract.routes.ts","backend/src/modules/geo-keywords/geo-keyword.controller.ts","backend/src/modules/geo-keywords/geo-keyword.routes.ts","backend/src/modules/geo-keywords/geo-keyword.schema.ts","backend/src/modules/geo-keywords/geo-keyword.service.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.contract.routes.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.controller.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.routes.ts","backend/src/modules/journey-orchestration/journey-orchestration.service.ts","backend/src/modules/knowledge/knowledge.routes.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.contract.routes.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.controller.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.routes.ts","backend/src/modules/marketing-matrix/matrix.contract.routes.ts","backend/src/modules/marketing-matrix/matrix.controller.ts","backend/src/modules/mdm/mdm.service.ts","backend/src/modules/orders/order.controller.ts","backend/src/modules/process/process.routes.ts","backend/src/modules/process/process.schema.ts","backend/src/modules/process/process.service.test.ts","backend/src/modules/process/process.service.ts","backend/src/modules/realtime/realtime.contract.routes.ts","backend/src/modules/realtime/realtime.controller.ts","backend/src/modules/realtime/realtime.routes.ts","backend/src/modules/revenue/revenue.contract.routes.ts","backend/src/modules/revenue/revenue.controller.ts","backend/src/modules/revenue/revenue.routes.ts","backend/src/modules/search/search.controller.ts","backend/src/modules/search/search.routes.ts","backend/src/modules/search/search.schema.ts","backend/src/modules/search/search.service.ts","backend/src/modules/social-analytics/social-analytics.service.ts","backend/src/modules/stores/store.contract.routes.ts","backend/src/modules/stores/store.controller.ts","backend/src/modules/stores/store.routes.ts","backend/src/modules/stores/store.schema.ts","backend/src/modules/treasury/treasury.contract.routes.ts","backend/src/modules/treasury/treasury.controller.ts","backend/src/modules/treasury/treasury.routes.ts","e2e/.auth/admin.json","e2e/helpers/form-test-helpers.ts","e2e/package.json","e2e/test-results/.last-run.json","e2e/tests/form-interactions/approval-workflow-forms.spec.ts","e2e/tests/form-interactions/core-business-forms.spec.ts","e2e/tests/form-interactions/finance-forms.spec.ts","e2e/tests/form-interactions/marketing-campaign-forms.spec.ts","frontend/src/api/modules/im-channels.ts","frontend/src/composables/useDashboardRealtime.ts","frontend/src/views/ad-accounts/Index.vue","frontend/src/views/ad-audiences/Index.vue","frontend/src/views/ad-biddings/Index.vue","frontend/src/views/ad-campaigns/Index.vue","frontend/src/views/ad-creatives/Index.vue","frontend/src/views/ad-reports/Index.vue","frontend/src/views/alliance-analytics/Index.vue","frontend/src/views/alliance-merchants/Index.vue","frontend/src/views/alliance-products/Index.vue","frontend/src/views/alliance-promotions/Index.vue","frontend/src/views/alliance-referrals/Index.vue","frontend/src/views/alliance-settlements/Index.vue","frontend/src/views/ap-ledger/Index.vue","frontend/src/views/approval-configs/Index.vue","frontend/src/views/approval-templates/Index.vue","frontend/src/views/bom/Index.vue","frontend/src/views/campaign-drafts/Index.vue","frontend/src/views/campaign-use-case-templates/Index.vue","frontend/src/views/channel-integrations/Index.vue","frontend/src/views/cohort-analysis/Index.vue","frontend/src/views/community-activities/Index.vue","frontend/src/views/community-analytics/Index.vue","frontend/src/views/community-groups/Index.vue","frontend/src/views/community-levels/Index.vue","frontend/src/views/community-members/Index.vue","frontend/src/views/community-messages/Index.vue","frontend/src/views/community-points/Index.vue","frontend/src/views/consumer-behavior-analytics/Index.vue","frontend/src/views/content-categories/Index.vue","frontend/src/views/content-copyright/Index.vue","frontend/src/views/content-creation/Index.vue","frontend/src/views/content-distribution/Index.vue","frontend/src/views/content-library/Index.vue","frontend/src/views/content-review/Index.vue","frontend/src/views/content-templates/Index.vue","frontend/src/views/contract-templates/Index.vue","frontend/src/views/cpq/Index.vue","frontend/src/views/cpq/composables/useCpqCommon.ts","frontend/src/views/crm-activities/Index.vue","frontend/src/views/cross-domain-funnel/Index.vue","frontend/src/views/customer-health/Index.vue","frontend/src/views/customer-journey/Index.vue","frontend/src/views/customer-ltv/Index.vue","frontend/src/views/customer-marketing/Index.vue","frontend/src/views/customer-segmentation/Index.vue","frontend/src/views/departments/Index.vue","frontend/src/views/devices/Index.vue","frontend/src/views/dimension-transform/Index.vue","frontend/src/views/email-marketing/Index.vue","frontend/src/views/email-templates/Index.vue","frontend/src/views/event-logs/Index.vue","frontend/src/views/expense-claims/Index.vue","frontend/src/views/faults/Index.vue","frontend/src/views/finance-os/ai/AutoCreditAdjustment.vue","frontend/src/views/finance-os/ai/CashForecastModel.vue","frontend/src/views/finance-os/ai/DefaultProbabilityModel.vue","frontend/src/views/finance-os/ai/ROIEvaluation.vue","frontend/src/views/geo-fences/Index.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-analytics/Index.vue","frontend/src/views/groupbuy-campaigns/Index.vue","frontend/src/views/groupbuy-orders/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.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/im-channels/Index.vue","frontend/src/views/invoice-requests/Index.vue","frontend/src/views/invoice-verification/Index.vue","frontend/src/views/journey-orchestration/Index.vue","frontend/src/views/knowledge-candidates/Index.vue","frontend/src/views/knowledge-capture/Index.vue","frontend/src/views/knowledge-feedback/Index.vue","frontend/src/views/landing-pages/Index.vue","frontend/src/views/lead-assignment/Index.vue","frontend/src/views/lead-pool/Index.vue","frontend/src/views/lead-pools/Index.vue","frontend/src/views/livestream-analytics/Index.vue","frontend/src/views/livestream-interactions/Index.vue","frontend/src/views/livestream-products/Index.vue","frontend/src/views/livestream-rooms/Index.vue","frontend/src/views/livestream-schedules/Index.vue","frontend/src/views/livestream-scripts/Index.vue","frontend/src/views/livestream/Index.vue","frontend/src/views/local-events/Index.vue","frontend/src/views/local-promotion/Index.vue","frontend/src/views/location-assessments/Index.vue","frontend/src/views/marketing-automation/Index.vue","frontend/src/views/marketing-calendar/Index.vue","frontend/src/views/marketing-content/Index.vue","frontend/src/views/marketing-effectiveness/Index.vue","frontend/src/views/marketing-forms/Index.vue","frontend/src/views/marketing-matrix/Index.vue","frontend/src/views/marketing-north-star/Index.vue","frontend/src/views/marketing-tools/Index.vue","frontend/src/views/member-levels/Index.vue","frontend/src/views/member-points/Index.vue","frontend/src/views/members/Index.vue","frontend/src/views/payment-plans/Index.vue","frontend/src/views/pm/Index.vue","frontend/src/views/positions/Index.vue","frontend/src/views/predictive-analytics/Index.vue","frontend/src/views/product-categories/Index.vue","frontend/src/views/projects/Index.vue","frontend/src/views/purchase-orders/Index.vue","frontend/src/views/realtime-trigger/Index.vue","frontend/src/views/redemptions/Index.vue","frontend/src/views/rfm-analysis/Index.vue","frontend/src/views/roles/Index.vue","frontend/src/views/satisfaction/Index.vue","frontend/src/views/settings/IntegrationServices.vue","frontend/src/views/social-accounts/Index.vue","frontend/src/views/social-auto-replies/Index.vue","frontend/src/views/social-competitors/Index.vue","frontend/src/views/social-followers/Index.vue","frontend/src/views/social-hot-topics/Index.vue","frontend/src/views/social-interactions/Index.vue","frontend/src/views/social-posts/Index.vue","frontend/src/views/spare-parts/Index.vue","frontend/src/views/store-inventory/Index.vue","frontend/src/views/store-settlements/Index.vue","frontend/src/views/store-staff/Index.vue","frontend/src/views/stores/Index.vue","frontend/src/views/supplier-center/Index.vue","frontend/src/views/supplier-payments/Index.vue","frontend/src/views/system-events/Index.vue","frontend/src/views/ticket-workflows/Index.vue","frontend/src/views/users/Index.vue","frontend/src/views/video-calls/Index.vue","frontend/src/views/video-content/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/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/outbox-atomicity-audit.latest.json"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5212729,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-13T00:24:48+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
|
1776066121
|
1776066496
|
0
|
1776066084
|
1776066744
|
|
|
0
|
Edit
Delete
|
|
13814
|
feat: 同步最新代码更改,包括后端API、前端组件、测试和报告更新
|
6
|
5
|
test-pipeline.yml
|
13736
|
5
|
0
|
refs/heads/main
|
d2c68b13960de626f7a8d496bf1977d263eb7931
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"98cc8da660b8d4dba9887432490471d976c03f5f","after":"d2c68b13960de626f7a8d496bf1977d263eb7931","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/98cc8da660b8d4dba9887432490471d976c03f5f...d2c68b13960de626f7a8d496bf1977d263eb7931","commits":[{"id":"d2c68b13960de626f7a8d496bf1977d263eb7931","message":"feat: 同步最新代码更改,包括后端API、前端组件、测试和报告更新\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/d2c68b13960de626f7a8d496bf1977d263eb7931","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-13T15:39:52+08:00","added":["backend/prisma/migrations/20260413_add_journey_orchestration_and_store_configs/migration.sql","backend/src/modules/journey-orchestration/journey-orchestration.contract.routes.ts","backend/src/modules/process/process.controller.ts","backend/src/modules/process/process.types.ts","backend/src/modules/revenue/revenue-crud.service.ts","backend/src/modules/stores/store-config.service.ts","backend/src/modules/treasury/treasury-crud.service.ts","e2e/test-results/form-interactions-core-bus-0f529-d-to-Cash-F03-商机表单---编辑回填验证-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-0f529-d-to-Cash-F03-商机表单---编辑回填验证-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-184fa--to-Cash-F01-客户表单---创建成功全流程-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-184fa--to-Cash-F01-客户表单---创建成功全流程-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-4c4ce--to-Cash-F07-客户表单---手机号重复检测-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-4c4ce--to-Cash-F07-客户表单---手机号重复检测-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-64a51-to-Cash-F05-合同表单---复杂字段联动验证-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-64a51-to-Cash-F05-合同表单---复杂字段联动验证-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-80c59-d-to-Cash-F08-报价表单---实时计算验证-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-80c59-d-to-Cash-F08-报价表单---实时计算验证-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-90544-d-to-Cash-F02-线索表单---验证错误提示-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-90544-d-to-Cash-F02-线索表单---验证错误提示-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-a51f4-d-to-Cash-F04-报价表单---草稿自动恢复-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-a51f4-d-to-Cash-F04-报价表单---草稿自动恢复-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-cf0d9--to-Cash-F06-订单表单---动态明细行验证-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-cf0d9--to-Cash-F06-订单表单---动态明细行验证-chromium/test-failed-1.png","e2e/tests/form-interactions/hr-forms.spec.ts","e2e/tests/form-interactions/large-data-performance.spec.ts","e2e/tests/form-interactions/service-center-forms.spec.ts","e2e/tests/form-interactions/supply-chain-forms.spec.ts","frontend/src/views/cpq/components/PoliciesTab.vue","frontend/src/views/marketing-calendar/components/CalendarAgendaView.vue","frontend/src/views/marketing-calendar/components/CalendarMonthView.vue","frontend/src/views/marketing-calendar/components/CalendarWeekView.vue","frontend/src/views/marketing-calendar/components/EventDetailDrawer.vue","frontend/src/views/marketing-calendar/components/EventFormDialog.vue","frontend/src/views/marketing-calendar/composables/useMarketingCalendar.ts","frontend/src/views/marketing-north-star/components/NorthStarAlerts.vue","frontend/src/views/marketing-north-star/components/NorthStarDashboard.vue","frontend/src/views/marketing-north-star/components/NorthStarMetricForm.vue","frontend/src/views/settings/components/integration/IntegrationAdPlatformsPanel.vue","frontend/src/views/settings/components/integration/IntegrationAiConfig.vue","frontend/src/views/settings/components/integration/IntegrationDingtalkConfig.vue","frontend/src/views/settings/components/integration/IntegrationEmailConfig.vue","frontend/src/views/settings/components/integration/IntegrationFeishuConfig.vue","frontend/src/views/settings/components/integration/IntegrationGroupbuyPanel.vue","frontend/src/views/settings/components/integration/IntegrationSmsConfig.vue","frontend/src/views/settings/components/integration/IntegrationWebhookConfig.vue","frontend/src/views/settings/components/integration/IntegrationWechatPublicConfig.vue","frontend/src/views/settings/components/integration/IntegrationWechatWorkConfig.vue","scripts/migrate-to-uselistpage.ts"],"removed":["e2e/test-results/auth.setup.ts-authenticate-as-admin-setup/error-context.md","e2e/test-results/auth.setup.ts-authenticate-as-admin-setup/test-failed-1.png"],"modified":[".github/workflows/e2e-tests.yml","backend/.env.test","backend/prisma/schema/marketing.prisma","backend/prisma/schema/stores.prisma","backend/src/modules/ad-placement/placement.contract.routes.ts","backend/src/modules/ad-placement/placement.controller.ts","backend/src/modules/ad-placement/placement.service.ts","backend/src/modules/channels/channel.contract.routes.ts","backend/src/modules/dimension-transform/dimension-transform.controller.ts","backend/src/modules/dimension-transform/dimension-transform.routes.ts","backend/src/modules/dimension-transform/dimension-transform.service.ts","backend/src/modules/expense/expense.contract.routes.ts","backend/src/modules/expense/expense.controller.ts","backend/src/modules/expense/expense.routes.ts","backend/src/modules/faults/fault.contract.routes.ts","backend/src/modules/faults/fault.service.ts","backend/src/modules/geo-keywords/geo-keyword.contract.routes.ts","backend/src/modules/geo-keywords/geo-keyword.controller.ts","backend/src/modules/geo-keywords/geo-keyword.routes.ts","backend/src/modules/geo-keywords/geo-keyword.schema.ts","backend/src/modules/geo-keywords/geo-keyword.service.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.contract.routes.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.controller.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.routes.ts","backend/src/modules/journey-orchestration/journey-orchestration.service.ts","backend/src/modules/knowledge/knowledge.routes.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.contract.routes.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.controller.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.routes.ts","backend/src/modules/marketing-matrix/matrix.contract.routes.ts","backend/src/modules/marketing-matrix/matrix.controller.ts","backend/src/modules/mdm/mdm.service.ts","backend/src/modules/orders/order.controller.ts","backend/src/modules/process/process.routes.ts","backend/src/modules/process/process.schema.ts","backend/src/modules/process/process.service.test.ts","backend/src/modules/process/process.service.ts","backend/src/modules/realtime/realtime.contract.routes.ts","backend/src/modules/realtime/realtime.controller.ts","backend/src/modules/realtime/realtime.routes.ts","backend/src/modules/revenue/revenue.contract.routes.ts","backend/src/modules/revenue/revenue.controller.ts","backend/src/modules/revenue/revenue.routes.ts","backend/src/modules/search/search.controller.ts","backend/src/modules/search/search.routes.ts","backend/src/modules/search/search.schema.ts","backend/src/modules/search/search.service.ts","backend/src/modules/social-analytics/social-analytics.service.ts","backend/src/modules/stores/store.contract.routes.ts","backend/src/modules/stores/store.controller.ts","backend/src/modules/stores/store.routes.ts","backend/src/modules/stores/store.schema.ts","backend/src/modules/treasury/treasury.contract.routes.ts","backend/src/modules/treasury/treasury.controller.ts","backend/src/modules/treasury/treasury.routes.ts","e2e/.auth/admin.json","e2e/helpers/form-test-helpers.ts","e2e/package.json","e2e/test-results/.last-run.json","e2e/tests/form-interactions/approval-workflow-forms.spec.ts","e2e/tests/form-interactions/core-business-forms.spec.ts","e2e/tests/form-interactions/finance-forms.spec.ts","e2e/tests/form-interactions/marketing-campaign-forms.spec.ts","frontend/src/api/modules/im-channels.ts","frontend/src/composables/useDashboardRealtime.ts","frontend/src/views/ad-accounts/Index.vue","frontend/src/views/ad-audiences/Index.vue","frontend/src/views/ad-biddings/Index.vue","frontend/src/views/ad-campaigns/Index.vue","frontend/src/views/ad-creatives/Index.vue","frontend/src/views/ad-reports/Index.vue","frontend/src/views/alliance-analytics/Index.vue","frontend/src/views/alliance-merchants/Index.vue","frontend/src/views/alliance-products/Index.vue","frontend/src/views/alliance-promotions/Index.vue","frontend/src/views/alliance-referrals/Index.vue","frontend/src/views/alliance-settlements/Index.vue","frontend/src/views/ap-ledger/Index.vue","frontend/src/views/approval-configs/Index.vue","frontend/src/views/approval-templates/Index.vue","frontend/src/views/bom/Index.vue","frontend/src/views/campaign-drafts/Index.vue","frontend/src/views/campaign-use-case-templates/Index.vue","frontend/src/views/channel-integrations/Index.vue","frontend/src/views/cohort-analysis/Index.vue","frontend/src/views/community-activities/Index.vue","frontend/src/views/community-analytics/Index.vue","frontend/src/views/community-groups/Index.vue","frontend/src/views/community-levels/Index.vue","frontend/src/views/community-members/Index.vue","frontend/src/views/community-messages/Index.vue","frontend/src/views/community-points/Index.vue","frontend/src/views/consumer-behavior-analytics/Index.vue","frontend/src/views/content-categories/Index.vue","frontend/src/views/content-copyright/Index.vue","frontend/src/views/content-creation/Index.vue","frontend/src/views/content-distribution/Index.vue","frontend/src/views/content-library/Index.vue","frontend/src/views/content-review/Index.vue","frontend/src/views/content-templates/Index.vue","frontend/src/views/contract-templates/Index.vue","frontend/src/views/cpq/Index.vue","frontend/src/views/cpq/composables/useCpqCommon.ts","frontend/src/views/crm-activities/Index.vue","frontend/src/views/cross-domain-funnel/Index.vue","frontend/src/views/customer-health/Index.vue","frontend/src/views/customer-journey/Index.vue","frontend/src/views/customer-ltv/Index.vue","frontend/src/views/customer-marketing/Index.vue","frontend/src/views/customer-segmentation/Index.vue","frontend/src/views/departments/Index.vue","frontend/src/views/devices/Index.vue","frontend/src/views/dimension-transform/Index.vue","frontend/src/views/email-marketing/Index.vue","frontend/src/views/email-templates/Index.vue","frontend/src/views/event-logs/Index.vue","frontend/src/views/expense-claims/Index.vue","frontend/src/views/faults/Index.vue","frontend/src/views/finance-os/ai/AutoCreditAdjustment.vue","frontend/src/views/finance-os/ai/CashForecastModel.vue","frontend/src/views/finance-os/ai/DefaultProbabilityModel.vue","frontend/src/views/finance-os/ai/ROIEvaluation.vue","frontend/src/views/geo-fences/Index.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-analytics/Index.vue","frontend/src/views/groupbuy-campaigns/Index.vue","frontend/src/views/groupbuy-orders/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.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/im-channels/Index.vue","frontend/src/views/invoice-requests/Index.vue","frontend/src/views/invoice-verification/Index.vue","frontend/src/views/journey-orchestration/Index.vue","frontend/src/views/knowledge-candidates/Index.vue","frontend/src/views/knowledge-capture/Index.vue","frontend/src/views/knowledge-feedback/Index.vue","frontend/src/views/landing-pages/Index.vue","frontend/src/views/lead-assignment/Index.vue","frontend/src/views/lead-pool/Index.vue","frontend/src/views/lead-pools/Index.vue","frontend/src/views/livestream-analytics/Index.vue","frontend/src/views/livestream-interactions/Index.vue","frontend/src/views/livestream-products/Index.vue","frontend/src/views/livestream-rooms/Index.vue","frontend/src/views/livestream-schedules/Index.vue","frontend/src/views/livestream-scripts/Index.vue","frontend/src/views/livestream/Index.vue","frontend/src/views/local-events/Index.vue","frontend/src/views/local-promotion/Index.vue","frontend/src/views/location-assessments/Index.vue","frontend/src/views/marketing-automation/Index.vue","frontend/src/views/marketing-calendar/Index.vue","frontend/src/views/marketing-content/Index.vue","frontend/src/views/marketing-effectiveness/Index.vue","frontend/src/views/marketing-forms/Index.vue","frontend/src/views/marketing-matrix/Index.vue","frontend/src/views/marketing-north-star/Index.vue","frontend/src/views/marketing-tools/Index.vue","frontend/src/views/member-levels/Index.vue","frontend/src/views/member-points/Index.vue","frontend/src/views/members/Index.vue","frontend/src/views/payment-plans/Index.vue","frontend/src/views/pm/Index.vue","frontend/src/views/positions/Index.vue","frontend/src/views/predictive-analytics/Index.vue","frontend/src/views/product-categories/Index.vue","frontend/src/views/projects/Index.vue","frontend/src/views/purchase-orders/Index.vue","frontend/src/views/realtime-trigger/Index.vue","frontend/src/views/redemptions/Index.vue","frontend/src/views/rfm-analysis/Index.vue","frontend/src/views/roles/Index.vue","frontend/src/views/satisfaction/Index.vue","frontend/src/views/settings/IntegrationServices.vue","frontend/src/views/social-accounts/Index.vue","frontend/src/views/social-auto-replies/Index.vue","frontend/src/views/social-competitors/Index.vue","frontend/src/views/social-followers/Index.vue","frontend/src/views/social-hot-topics/Index.vue","frontend/src/views/social-interactions/Index.vue","frontend/src/views/social-posts/Index.vue","frontend/src/views/spare-parts/Index.vue","frontend/src/views/store-inventory/Index.vue","frontend/src/views/store-settlements/Index.vue","frontend/src/views/store-staff/Index.vue","frontend/src/views/stores/Index.vue","frontend/src/views/supplier-center/Index.vue","frontend/src/views/supplier-payments/Index.vue","frontend/src/views/system-events/Index.vue","frontend/src/views/ticket-workflows/Index.vue","frontend/src/views/users/Index.vue","frontend/src/views/video-calls/Index.vue","frontend/src/views/video-content/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/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/outbox-atomicity-audit.latest.json"]}],"total_commits":0,"head_commit":{"id":"d2c68b13960de626f7a8d496bf1977d263eb7931","message":"feat: 同步最新代码更改,包括后端API、前端组件、测试和报告更新\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/d2c68b13960de626f7a8d496bf1977d263eb7931","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-13T15:39:52+08:00","added":["backend/prisma/migrations/20260413_add_journey_orchestration_and_store_configs/migration.sql","backend/src/modules/journey-orchestration/journey-orchestration.contract.routes.ts","backend/src/modules/process/process.controller.ts","backend/src/modules/process/process.types.ts","backend/src/modules/revenue/revenue-crud.service.ts","backend/src/modules/stores/store-config.service.ts","backend/src/modules/treasury/treasury-crud.service.ts","e2e/test-results/form-interactions-core-bus-0f529-d-to-Cash-F03-商机表单---编辑回填验证-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-0f529-d-to-Cash-F03-商机表单---编辑回填验证-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-184fa--to-Cash-F01-客户表单---创建成功全流程-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-184fa--to-Cash-F01-客户表单---创建成功全流程-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-4c4ce--to-Cash-F07-客户表单---手机号重复检测-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-4c4ce--to-Cash-F07-客户表单---手机号重复检测-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-64a51-to-Cash-F05-合同表单---复杂字段联动验证-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-64a51-to-Cash-F05-合同表单---复杂字段联动验证-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-80c59-d-to-Cash-F08-报价表单---实时计算验证-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-80c59-d-to-Cash-F08-报价表单---实时计算验证-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-90544-d-to-Cash-F02-线索表单---验证错误提示-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-90544-d-to-Cash-F02-线索表单---验证错误提示-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-a51f4-d-to-Cash-F04-报价表单---草稿自动恢复-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-a51f4-d-to-Cash-F04-报价表单---草稿自动恢复-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-cf0d9--to-Cash-F06-订单表单---动态明细行验证-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-cf0d9--to-Cash-F06-订单表单---动态明细行验证-chromium/test-failed-1.png","e2e/tests/form-interactions/hr-forms.spec.ts","e2e/tests/form-interactions/large-data-performance.spec.ts","e2e/tests/form-interactions/service-center-forms.spec.ts","e2e/tests/form-interactions/supply-chain-forms.spec.ts","frontend/src/views/cpq/components/PoliciesTab.vue","frontend/src/views/marketing-calendar/components/CalendarAgendaView.vue","frontend/src/views/marketing-calendar/components/CalendarMonthView.vue","frontend/src/views/marketing-calendar/components/CalendarWeekView.vue","frontend/src/views/marketing-calendar/components/EventDetailDrawer.vue","frontend/src/views/marketing-calendar/components/EventFormDialog.vue","frontend/src/views/marketing-calendar/composables/useMarketingCalendar.ts","frontend/src/views/marketing-north-star/components/NorthStarAlerts.vue","frontend/src/views/marketing-north-star/components/NorthStarDashboard.vue","frontend/src/views/marketing-north-star/components/NorthStarMetricForm.vue","frontend/src/views/settings/components/integration/IntegrationAdPlatformsPanel.vue","frontend/src/views/settings/components/integration/IntegrationAiConfig.vue","frontend/src/views/settings/components/integration/IntegrationDingtalkConfig.vue","frontend/src/views/settings/components/integration/IntegrationEmailConfig.vue","frontend/src/views/settings/components/integration/IntegrationFeishuConfig.vue","frontend/src/views/settings/components/integration/IntegrationGroupbuyPanel.vue","frontend/src/views/settings/components/integration/IntegrationSmsConfig.vue","frontend/src/views/settings/components/integration/IntegrationWebhookConfig.vue","frontend/src/views/settings/components/integration/IntegrationWechatPublicConfig.vue","frontend/src/views/settings/components/integration/IntegrationWechatWorkConfig.vue","scripts/migrate-to-uselistpage.ts"],"removed":["e2e/test-results/auth.setup.ts-authenticate-as-admin-setup/error-context.md","e2e/test-results/auth.setup.ts-authenticate-as-admin-setup/test-failed-1.png"],"modified":[".github/workflows/e2e-tests.yml","backend/.env.test","backend/prisma/schema/marketing.prisma","backend/prisma/schema/stores.prisma","backend/src/modules/ad-placement/placement.contract.routes.ts","backend/src/modules/ad-placement/placement.controller.ts","backend/src/modules/ad-placement/placement.service.ts","backend/src/modules/channels/channel.contract.routes.ts","backend/src/modules/dimension-transform/dimension-transform.controller.ts","backend/src/modules/dimension-transform/dimension-transform.routes.ts","backend/src/modules/dimension-transform/dimension-transform.service.ts","backend/src/modules/expense/expense.contract.routes.ts","backend/src/modules/expense/expense.controller.ts","backend/src/modules/expense/expense.routes.ts","backend/src/modules/faults/fault.contract.routes.ts","backend/src/modules/faults/fault.service.ts","backend/src/modules/geo-keywords/geo-keyword.contract.routes.ts","backend/src/modules/geo-keywords/geo-keyword.controller.ts","backend/src/modules/geo-keywords/geo-keyword.routes.ts","backend/src/modules/geo-keywords/geo-keyword.schema.ts","backend/src/modules/geo-keywords/geo-keyword.service.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.contract.routes.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.controller.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.routes.ts","backend/src/modules/journey-orchestration/journey-orchestration.service.ts","backend/src/modules/knowledge/knowledge.routes.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.contract.routes.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.controller.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.routes.ts","backend/src/modules/marketing-matrix/matrix.contract.routes.ts","backend/src/modules/marketing-matrix/matrix.controller.ts","backend/src/modules/mdm/mdm.service.ts","backend/src/modules/orders/order.controller.ts","backend/src/modules/process/process.routes.ts","backend/src/modules/process/process.schema.ts","backend/src/modules/process/process.service.test.ts","backend/src/modules/process/process.service.ts","backend/src/modules/realtime/realtime.contract.routes.ts","backend/src/modules/realtime/realtime.controller.ts","backend/src/modules/realtime/realtime.routes.ts","backend/src/modules/revenue/revenue.contract.routes.ts","backend/src/modules/revenue/revenue.controller.ts","backend/src/modules/revenue/revenue.routes.ts","backend/src/modules/search/search.controller.ts","backend/src/modules/search/search.routes.ts","backend/src/modules/search/search.schema.ts","backend/src/modules/search/search.service.ts","backend/src/modules/social-analytics/social-analytics.service.ts","backend/src/modules/stores/store.contract.routes.ts","backend/src/modules/stores/store.controller.ts","backend/src/modules/stores/store.routes.ts","backend/src/modules/stores/store.schema.ts","backend/src/modules/treasury/treasury.contract.routes.ts","backend/src/modules/treasury/treasury.controller.ts","backend/src/modules/treasury/treasury.routes.ts","e2e/.auth/admin.json","e2e/helpers/form-test-helpers.ts","e2e/package.json","e2e/test-results/.last-run.json","e2e/tests/form-interactions/approval-workflow-forms.spec.ts","e2e/tests/form-interactions/core-business-forms.spec.ts","e2e/tests/form-interactions/finance-forms.spec.ts","e2e/tests/form-interactions/marketing-campaign-forms.spec.ts","frontend/src/api/modules/im-channels.ts","frontend/src/composables/useDashboardRealtime.ts","frontend/src/views/ad-accounts/Index.vue","frontend/src/views/ad-audiences/Index.vue","frontend/src/views/ad-biddings/Index.vue","frontend/src/views/ad-campaigns/Index.vue","frontend/src/views/ad-creatives/Index.vue","frontend/src/views/ad-reports/Index.vue","frontend/src/views/alliance-analytics/Index.vue","frontend/src/views/alliance-merchants/Index.vue","frontend/src/views/alliance-products/Index.vue","frontend/src/views/alliance-promotions/Index.vue","frontend/src/views/alliance-referrals/Index.vue","frontend/src/views/alliance-settlements/Index.vue","frontend/src/views/ap-ledger/Index.vue","frontend/src/views/approval-configs/Index.vue","frontend/src/views/approval-templates/Index.vue","frontend/src/views/bom/Index.vue","frontend/src/views/campaign-drafts/Index.vue","frontend/src/views/campaign-use-case-templates/Index.vue","frontend/src/views/channel-integrations/Index.vue","frontend/src/views/cohort-analysis/Index.vue","frontend/src/views/community-activities/Index.vue","frontend/src/views/community-analytics/Index.vue","frontend/src/views/community-groups/Index.vue","frontend/src/views/community-levels/Index.vue","frontend/src/views/community-members/Index.vue","frontend/src/views/community-messages/Index.vue","frontend/src/views/community-points/Index.vue","frontend/src/views/consumer-behavior-analytics/Index.vue","frontend/src/views/content-categories/Index.vue","frontend/src/views/content-copyright/Index.vue","frontend/src/views/content-creation/Index.vue","frontend/src/views/content-distribution/Index.vue","frontend/src/views/content-library/Index.vue","frontend/src/views/content-review/Index.vue","frontend/src/views/content-templates/Index.vue","frontend/src/views/contract-templates/Index.vue","frontend/src/views/cpq/Index.vue","frontend/src/views/cpq/composables/useCpqCommon.ts","frontend/src/views/crm-activities/Index.vue","frontend/src/views/cross-domain-funnel/Index.vue","frontend/src/views/customer-health/Index.vue","frontend/src/views/customer-journey/Index.vue","frontend/src/views/customer-ltv/Index.vue","frontend/src/views/customer-marketing/Index.vue","frontend/src/views/customer-segmentation/Index.vue","frontend/src/views/departments/Index.vue","frontend/src/views/devices/Index.vue","frontend/src/views/dimension-transform/Index.vue","frontend/src/views/email-marketing/Index.vue","frontend/src/views/email-templates/Index.vue","frontend/src/views/event-logs/Index.vue","frontend/src/views/expense-claims/Index.vue","frontend/src/views/faults/Index.vue","frontend/src/views/finance-os/ai/AutoCreditAdjustment.vue","frontend/src/views/finance-os/ai/CashForecastModel.vue","frontend/src/views/finance-os/ai/DefaultProbabilityModel.vue","frontend/src/views/finance-os/ai/ROIEvaluation.vue","frontend/src/views/geo-fences/Index.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-analytics/Index.vue","frontend/src/views/groupbuy-campaigns/Index.vue","frontend/src/views/groupbuy-orders/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.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/im-channels/Index.vue","frontend/src/views/invoice-requests/Index.vue","frontend/src/views/invoice-verification/Index.vue","frontend/src/views/journey-orchestration/Index.vue","frontend/src/views/knowledge-candidates/Index.vue","frontend/src/views/knowledge-capture/Index.vue","frontend/src/views/knowledge-feedback/Index.vue","frontend/src/views/landing-pages/Index.vue","frontend/src/views/lead-assignment/Index.vue","frontend/src/views/lead-pool/Index.vue","frontend/src/views/lead-pools/Index.vue","frontend/src/views/livestream-analytics/Index.vue","frontend/src/views/livestream-interactions/Index.vue","frontend/src/views/livestream-products/Index.vue","frontend/src/views/livestream-rooms/Index.vue","frontend/src/views/livestream-schedules/Index.vue","frontend/src/views/livestream-scripts/Index.vue","frontend/src/views/livestream/Index.vue","frontend/src/views/local-events/Index.vue","frontend/src/views/local-promotion/Index.vue","frontend/src/views/location-assessments/Index.vue","frontend/src/views/marketing-automation/Index.vue","frontend/src/views/marketing-calendar/Index.vue","frontend/src/views/marketing-content/Index.vue","frontend/src/views/marketing-effectiveness/Index.vue","frontend/src/views/marketing-forms/Index.vue","frontend/src/views/marketing-matrix/Index.vue","frontend/src/views/marketing-north-star/Index.vue","frontend/src/views/marketing-tools/Index.vue","frontend/src/views/member-levels/Index.vue","frontend/src/views/member-points/Index.vue","frontend/src/views/members/Index.vue","frontend/src/views/payment-plans/Index.vue","frontend/src/views/pm/Index.vue","frontend/src/views/positions/Index.vue","frontend/src/views/predictive-analytics/Index.vue","frontend/src/views/product-categories/Index.vue","frontend/src/views/projects/Index.vue","frontend/src/views/purchase-orders/Index.vue","frontend/src/views/realtime-trigger/Index.vue","frontend/src/views/redemptions/Index.vue","frontend/src/views/rfm-analysis/Index.vue","frontend/src/views/roles/Index.vue","frontend/src/views/satisfaction/Index.vue","frontend/src/views/settings/IntegrationServices.vue","frontend/src/views/social-accounts/Index.vue","frontend/src/views/social-auto-replies/Index.vue","frontend/src/views/social-competitors/Index.vue","frontend/src/views/social-followers/Index.vue","frontend/src/views/social-hot-topics/Index.vue","frontend/src/views/social-interactions/Index.vue","frontend/src/views/social-posts/Index.vue","frontend/src/views/spare-parts/Index.vue","frontend/src/views/store-inventory/Index.vue","frontend/src/views/store-settlements/Index.vue","frontend/src/views/store-staff/Index.vue","frontend/src/views/stores/Index.vue","frontend/src/views/supplier-center/Index.vue","frontend/src/views/supplier-payments/Index.vue","frontend/src/views/system-events/Index.vue","frontend/src/views/ticket-workflows/Index.vue","frontend/src/views/users/Index.vue","frontend/src/views/video-calls/Index.vue","frontend/src/views/video-content/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/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/outbox-atomicity-audit.latest.json"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5212729,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-13T00:24:48+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
push
|
2
|
68
|
1776066496
|
1776066558
|
0
|
1776066085
|
1776067928
|
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
|
|
13815
|
feat: 同步最新代码更改,包括后端API、前端组件、测试和报告更新
|
6
|
5
|
health-check.yml
|
13737
|
-2
|
268
|
refs/heads/main
|
d2c68b13960de626f7a8d496bf1977d263eb7931
|
0
|
0
|
0
|
push
|
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"98cc8da660b8d4dba9887432490471d976c03f5f","after":"d2c68b13960de626f7a8d496bf1977d263eb7931","compare_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/compare/98cc8da660b8d4dba9887432490471d976c03f5f...d2c68b13960de626f7a8d496bf1977d263eb7931","commits":[{"id":"d2c68b13960de626f7a8d496bf1977d263eb7931","message":"feat: 同步最新代码更改,包括后端API、前端组件、测试和报告更新\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/d2c68b13960de626f7a8d496bf1977d263eb7931","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-13T15:39:52+08:00","added":["backend/prisma/migrations/20260413_add_journey_orchestration_and_store_configs/migration.sql","backend/src/modules/journey-orchestration/journey-orchestration.contract.routes.ts","backend/src/modules/process/process.controller.ts","backend/src/modules/process/process.types.ts","backend/src/modules/revenue/revenue-crud.service.ts","backend/src/modules/stores/store-config.service.ts","backend/src/modules/treasury/treasury-crud.service.ts","e2e/test-results/form-interactions-core-bus-0f529-d-to-Cash-F03-商机表单---编辑回填验证-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-0f529-d-to-Cash-F03-商机表单---编辑回填验证-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-184fa--to-Cash-F01-客户表单---创建成功全流程-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-184fa--to-Cash-F01-客户表单---创建成功全流程-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-4c4ce--to-Cash-F07-客户表单---手机号重复检测-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-4c4ce--to-Cash-F07-客户表单---手机号重复检测-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-64a51-to-Cash-F05-合同表单---复杂字段联动验证-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-64a51-to-Cash-F05-合同表单---复杂字段联动验证-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-80c59-d-to-Cash-F08-报价表单---实时计算验证-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-80c59-d-to-Cash-F08-报价表单---实时计算验证-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-90544-d-to-Cash-F02-线索表单---验证错误提示-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-90544-d-to-Cash-F02-线索表单---验证错误提示-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-a51f4-d-to-Cash-F04-报价表单---草稿自动恢复-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-a51f4-d-to-Cash-F04-报价表单---草稿自动恢复-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-cf0d9--to-Cash-F06-订单表单---动态明细行验证-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-cf0d9--to-Cash-F06-订单表单---动态明细行验证-chromium/test-failed-1.png","e2e/tests/form-interactions/hr-forms.spec.ts","e2e/tests/form-interactions/large-data-performance.spec.ts","e2e/tests/form-interactions/service-center-forms.spec.ts","e2e/tests/form-interactions/supply-chain-forms.spec.ts","frontend/src/views/cpq/components/PoliciesTab.vue","frontend/src/views/marketing-calendar/components/CalendarAgendaView.vue","frontend/src/views/marketing-calendar/components/CalendarMonthView.vue","frontend/src/views/marketing-calendar/components/CalendarWeekView.vue","frontend/src/views/marketing-calendar/components/EventDetailDrawer.vue","frontend/src/views/marketing-calendar/components/EventFormDialog.vue","frontend/src/views/marketing-calendar/composables/useMarketingCalendar.ts","frontend/src/views/marketing-north-star/components/NorthStarAlerts.vue","frontend/src/views/marketing-north-star/components/NorthStarDashboard.vue","frontend/src/views/marketing-north-star/components/NorthStarMetricForm.vue","frontend/src/views/settings/components/integration/IntegrationAdPlatformsPanel.vue","frontend/src/views/settings/components/integration/IntegrationAiConfig.vue","frontend/src/views/settings/components/integration/IntegrationDingtalkConfig.vue","frontend/src/views/settings/components/integration/IntegrationEmailConfig.vue","frontend/src/views/settings/components/integration/IntegrationFeishuConfig.vue","frontend/src/views/settings/components/integration/IntegrationGroupbuyPanel.vue","frontend/src/views/settings/components/integration/IntegrationSmsConfig.vue","frontend/src/views/settings/components/integration/IntegrationWebhookConfig.vue","frontend/src/views/settings/components/integration/IntegrationWechatPublicConfig.vue","frontend/src/views/settings/components/integration/IntegrationWechatWorkConfig.vue","scripts/migrate-to-uselistpage.ts"],"removed":["e2e/test-results/auth.setup.ts-authenticate-as-admin-setup/error-context.md","e2e/test-results/auth.setup.ts-authenticate-as-admin-setup/test-failed-1.png"],"modified":[".github/workflows/e2e-tests.yml","backend/.env.test","backend/prisma/schema/marketing.prisma","backend/prisma/schema/stores.prisma","backend/src/modules/ad-placement/placement.contract.routes.ts","backend/src/modules/ad-placement/placement.controller.ts","backend/src/modules/ad-placement/placement.service.ts","backend/src/modules/channels/channel.contract.routes.ts","backend/src/modules/dimension-transform/dimension-transform.controller.ts","backend/src/modules/dimension-transform/dimension-transform.routes.ts","backend/src/modules/dimension-transform/dimension-transform.service.ts","backend/src/modules/expense/expense.contract.routes.ts","backend/src/modules/expense/expense.controller.ts","backend/src/modules/expense/expense.routes.ts","backend/src/modules/faults/fault.contract.routes.ts","backend/src/modules/faults/fault.service.ts","backend/src/modules/geo-keywords/geo-keyword.contract.routes.ts","backend/src/modules/geo-keywords/geo-keyword.controller.ts","backend/src/modules/geo-keywords/geo-keyword.routes.ts","backend/src/modules/geo-keywords/geo-keyword.schema.ts","backend/src/modules/geo-keywords/geo-keyword.service.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.contract.routes.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.controller.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.routes.ts","backend/src/modules/journey-orchestration/journey-orchestration.service.ts","backend/src/modules/knowledge/knowledge.routes.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.contract.routes.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.controller.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.routes.ts","backend/src/modules/marketing-matrix/matrix.contract.routes.ts","backend/src/modules/marketing-matrix/matrix.controller.ts","backend/src/modules/mdm/mdm.service.ts","backend/src/modules/orders/order.controller.ts","backend/src/modules/process/process.routes.ts","backend/src/modules/process/process.schema.ts","backend/src/modules/process/process.service.test.ts","backend/src/modules/process/process.service.ts","backend/src/modules/realtime/realtime.contract.routes.ts","backend/src/modules/realtime/realtime.controller.ts","backend/src/modules/realtime/realtime.routes.ts","backend/src/modules/revenue/revenue.contract.routes.ts","backend/src/modules/revenue/revenue.controller.ts","backend/src/modules/revenue/revenue.routes.ts","backend/src/modules/search/search.controller.ts","backend/src/modules/search/search.routes.ts","backend/src/modules/search/search.schema.ts","backend/src/modules/search/search.service.ts","backend/src/modules/social-analytics/social-analytics.service.ts","backend/src/modules/stores/store.contract.routes.ts","backend/src/modules/stores/store.controller.ts","backend/src/modules/stores/store.routes.ts","backend/src/modules/stores/store.schema.ts","backend/src/modules/treasury/treasury.contract.routes.ts","backend/src/modules/treasury/treasury.controller.ts","backend/src/modules/treasury/treasury.routes.ts","e2e/.auth/admin.json","e2e/helpers/form-test-helpers.ts","e2e/package.json","e2e/test-results/.last-run.json","e2e/tests/form-interactions/approval-workflow-forms.spec.ts","e2e/tests/form-interactions/core-business-forms.spec.ts","e2e/tests/form-interactions/finance-forms.spec.ts","e2e/tests/form-interactions/marketing-campaign-forms.spec.ts","frontend/src/api/modules/im-channels.ts","frontend/src/composables/useDashboardRealtime.ts","frontend/src/views/ad-accounts/Index.vue","frontend/src/views/ad-audiences/Index.vue","frontend/src/views/ad-biddings/Index.vue","frontend/src/views/ad-campaigns/Index.vue","frontend/src/views/ad-creatives/Index.vue","frontend/src/views/ad-reports/Index.vue","frontend/src/views/alliance-analytics/Index.vue","frontend/src/views/alliance-merchants/Index.vue","frontend/src/views/alliance-products/Index.vue","frontend/src/views/alliance-promotions/Index.vue","frontend/src/views/alliance-referrals/Index.vue","frontend/src/views/alliance-settlements/Index.vue","frontend/src/views/ap-ledger/Index.vue","frontend/src/views/approval-configs/Index.vue","frontend/src/views/approval-templates/Index.vue","frontend/src/views/bom/Index.vue","frontend/src/views/campaign-drafts/Index.vue","frontend/src/views/campaign-use-case-templates/Index.vue","frontend/src/views/channel-integrations/Index.vue","frontend/src/views/cohort-analysis/Index.vue","frontend/src/views/community-activities/Index.vue","frontend/src/views/community-analytics/Index.vue","frontend/src/views/community-groups/Index.vue","frontend/src/views/community-levels/Index.vue","frontend/src/views/community-members/Index.vue","frontend/src/views/community-messages/Index.vue","frontend/src/views/community-points/Index.vue","frontend/src/views/consumer-behavior-analytics/Index.vue","frontend/src/views/content-categories/Index.vue","frontend/src/views/content-copyright/Index.vue","frontend/src/views/content-creation/Index.vue","frontend/src/views/content-distribution/Index.vue","frontend/src/views/content-library/Index.vue","frontend/src/views/content-review/Index.vue","frontend/src/views/content-templates/Index.vue","frontend/src/views/contract-templates/Index.vue","frontend/src/views/cpq/Index.vue","frontend/src/views/cpq/composables/useCpqCommon.ts","frontend/src/views/crm-activities/Index.vue","frontend/src/views/cross-domain-funnel/Index.vue","frontend/src/views/customer-health/Index.vue","frontend/src/views/customer-journey/Index.vue","frontend/src/views/customer-ltv/Index.vue","frontend/src/views/customer-marketing/Index.vue","frontend/src/views/customer-segmentation/Index.vue","frontend/src/views/departments/Index.vue","frontend/src/views/devices/Index.vue","frontend/src/views/dimension-transform/Index.vue","frontend/src/views/email-marketing/Index.vue","frontend/src/views/email-templates/Index.vue","frontend/src/views/event-logs/Index.vue","frontend/src/views/expense-claims/Index.vue","frontend/src/views/faults/Index.vue","frontend/src/views/finance-os/ai/AutoCreditAdjustment.vue","frontend/src/views/finance-os/ai/CashForecastModel.vue","frontend/src/views/finance-os/ai/DefaultProbabilityModel.vue","frontend/src/views/finance-os/ai/ROIEvaluation.vue","frontend/src/views/geo-fences/Index.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-analytics/Index.vue","frontend/src/views/groupbuy-campaigns/Index.vue","frontend/src/views/groupbuy-orders/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.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/im-channels/Index.vue","frontend/src/views/invoice-requests/Index.vue","frontend/src/views/invoice-verification/Index.vue","frontend/src/views/journey-orchestration/Index.vue","frontend/src/views/knowledge-candidates/Index.vue","frontend/src/views/knowledge-capture/Index.vue","frontend/src/views/knowledge-feedback/Index.vue","frontend/src/views/landing-pages/Index.vue","frontend/src/views/lead-assignment/Index.vue","frontend/src/views/lead-pool/Index.vue","frontend/src/views/lead-pools/Index.vue","frontend/src/views/livestream-analytics/Index.vue","frontend/src/views/livestream-interactions/Index.vue","frontend/src/views/livestream-products/Index.vue","frontend/src/views/livestream-rooms/Index.vue","frontend/src/views/livestream-schedules/Index.vue","frontend/src/views/livestream-scripts/Index.vue","frontend/src/views/livestream/Index.vue","frontend/src/views/local-events/Index.vue","frontend/src/views/local-promotion/Index.vue","frontend/src/views/location-assessments/Index.vue","frontend/src/views/marketing-automation/Index.vue","frontend/src/views/marketing-calendar/Index.vue","frontend/src/views/marketing-content/Index.vue","frontend/src/views/marketing-effectiveness/Index.vue","frontend/src/views/marketing-forms/Index.vue","frontend/src/views/marketing-matrix/Index.vue","frontend/src/views/marketing-north-star/Index.vue","frontend/src/views/marketing-tools/Index.vue","frontend/src/views/member-levels/Index.vue","frontend/src/views/member-points/Index.vue","frontend/src/views/members/Index.vue","frontend/src/views/payment-plans/Index.vue","frontend/src/views/pm/Index.vue","frontend/src/views/positions/Index.vue","frontend/src/views/predictive-analytics/Index.vue","frontend/src/views/product-categories/Index.vue","frontend/src/views/projects/Index.vue","frontend/src/views/purchase-orders/Index.vue","frontend/src/views/realtime-trigger/Index.vue","frontend/src/views/redemptions/Index.vue","frontend/src/views/rfm-analysis/Index.vue","frontend/src/views/roles/Index.vue","frontend/src/views/satisfaction/Index.vue","frontend/src/views/settings/IntegrationServices.vue","frontend/src/views/social-accounts/Index.vue","frontend/src/views/social-auto-replies/Index.vue","frontend/src/views/social-competitors/Index.vue","frontend/src/views/social-followers/Index.vue","frontend/src/views/social-hot-topics/Index.vue","frontend/src/views/social-interactions/Index.vue","frontend/src/views/social-posts/Index.vue","frontend/src/views/spare-parts/Index.vue","frontend/src/views/store-inventory/Index.vue","frontend/src/views/store-settlements/Index.vue","frontend/src/views/store-staff/Index.vue","frontend/src/views/stores/Index.vue","frontend/src/views/supplier-center/Index.vue","frontend/src/views/supplier-payments/Index.vue","frontend/src/views/system-events/Index.vue","frontend/src/views/ticket-workflows/Index.vue","frontend/src/views/users/Index.vue","frontend/src/views/video-calls/Index.vue","frontend/src/views/video-content/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/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/outbox-atomicity-audit.latest.json"]}],"total_commits":0,"head_commit":{"id":"d2c68b13960de626f7a8d496bf1977d263eb7931","message":"feat: 同步最新代码更改,包括后端API、前端组件、测试和报告更新\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/commit/d2c68b13960de626f7a8d496bf1977d263eb7931","author":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"committer":{"name":"Mluo","email":"mluo@MluodeMacBook-Air.local","username":""},"verification":null,"timestamp":"2026-04-13T15:39:52+08:00","added":["backend/prisma/migrations/20260413_add_journey_orchestration_and_store_configs/migration.sql","backend/src/modules/journey-orchestration/journey-orchestration.contract.routes.ts","backend/src/modules/process/process.controller.ts","backend/src/modules/process/process.types.ts","backend/src/modules/revenue/revenue-crud.service.ts","backend/src/modules/stores/store-config.service.ts","backend/src/modules/treasury/treasury-crud.service.ts","e2e/test-results/form-interactions-core-bus-0f529-d-to-Cash-F03-商机表单---编辑回填验证-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-0f529-d-to-Cash-F03-商机表单---编辑回填验证-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-184fa--to-Cash-F01-客户表单---创建成功全流程-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-184fa--to-Cash-F01-客户表单---创建成功全流程-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-4c4ce--to-Cash-F07-客户表单---手机号重复检测-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-4c4ce--to-Cash-F07-客户表单---手机号重复检测-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-64a51-to-Cash-F05-合同表单---复杂字段联动验证-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-64a51-to-Cash-F05-合同表单---复杂字段联动验证-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-80c59-d-to-Cash-F08-报价表单---实时计算验证-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-80c59-d-to-Cash-F08-报价表单---实时计算验证-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-90544-d-to-Cash-F02-线索表单---验证错误提示-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-90544-d-to-Cash-F02-线索表单---验证错误提示-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-a51f4-d-to-Cash-F04-报价表单---草稿自动恢复-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-a51f4-d-to-Cash-F04-报价表单---草稿自动恢复-chromium/test-failed-1.png","e2e/test-results/form-interactions-core-bus-cf0d9--to-Cash-F06-订单表单---动态明细行验证-chromium/error-context.md","e2e/test-results/form-interactions-core-bus-cf0d9--to-Cash-F06-订单表单---动态明细行验证-chromium/test-failed-1.png","e2e/tests/form-interactions/hr-forms.spec.ts","e2e/tests/form-interactions/large-data-performance.spec.ts","e2e/tests/form-interactions/service-center-forms.spec.ts","e2e/tests/form-interactions/supply-chain-forms.spec.ts","frontend/src/views/cpq/components/PoliciesTab.vue","frontend/src/views/marketing-calendar/components/CalendarAgendaView.vue","frontend/src/views/marketing-calendar/components/CalendarMonthView.vue","frontend/src/views/marketing-calendar/components/CalendarWeekView.vue","frontend/src/views/marketing-calendar/components/EventDetailDrawer.vue","frontend/src/views/marketing-calendar/components/EventFormDialog.vue","frontend/src/views/marketing-calendar/composables/useMarketingCalendar.ts","frontend/src/views/marketing-north-star/components/NorthStarAlerts.vue","frontend/src/views/marketing-north-star/components/NorthStarDashboard.vue","frontend/src/views/marketing-north-star/components/NorthStarMetricForm.vue","frontend/src/views/settings/components/integration/IntegrationAdPlatformsPanel.vue","frontend/src/views/settings/components/integration/IntegrationAiConfig.vue","frontend/src/views/settings/components/integration/IntegrationDingtalkConfig.vue","frontend/src/views/settings/components/integration/IntegrationEmailConfig.vue","frontend/src/views/settings/components/integration/IntegrationFeishuConfig.vue","frontend/src/views/settings/components/integration/IntegrationGroupbuyPanel.vue","frontend/src/views/settings/components/integration/IntegrationSmsConfig.vue","frontend/src/views/settings/components/integration/IntegrationWebhookConfig.vue","frontend/src/views/settings/components/integration/IntegrationWechatPublicConfig.vue","frontend/src/views/settings/components/integration/IntegrationWechatWorkConfig.vue","scripts/migrate-to-uselistpage.ts"],"removed":["e2e/test-results/auth.setup.ts-authenticate-as-admin-setup/error-context.md","e2e/test-results/auth.setup.ts-authenticate-as-admin-setup/test-failed-1.png"],"modified":[".github/workflows/e2e-tests.yml","backend/.env.test","backend/prisma/schema/marketing.prisma","backend/prisma/schema/stores.prisma","backend/src/modules/ad-placement/placement.contract.routes.ts","backend/src/modules/ad-placement/placement.controller.ts","backend/src/modules/ad-placement/placement.service.ts","backend/src/modules/channels/channel.contract.routes.ts","backend/src/modules/dimension-transform/dimension-transform.controller.ts","backend/src/modules/dimension-transform/dimension-transform.routes.ts","backend/src/modules/dimension-transform/dimension-transform.service.ts","backend/src/modules/expense/expense.contract.routes.ts","backend/src/modules/expense/expense.controller.ts","backend/src/modules/expense/expense.routes.ts","backend/src/modules/faults/fault.contract.routes.ts","backend/src/modules/faults/fault.service.ts","backend/src/modules/geo-keywords/geo-keyword.contract.routes.ts","backend/src/modules/geo-keywords/geo-keyword.controller.ts","backend/src/modules/geo-keywords/geo-keyword.routes.ts","backend/src/modules/geo-keywords/geo-keyword.schema.ts","backend/src/modules/geo-keywords/geo-keyword.service.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.contract.routes.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.controller.ts","backend/src/modules/groupbuy-participants/groupbuy-participant.routes.ts","backend/src/modules/journey-orchestration/journey-orchestration.service.ts","backend/src/modules/knowledge/knowledge.routes.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.contract.routes.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.controller.ts","backend/src/modules/livestream-groupbuy/livestream-groupbuy-conversion.routes.ts","backend/src/modules/marketing-matrix/matrix.contract.routes.ts","backend/src/modules/marketing-matrix/matrix.controller.ts","backend/src/modules/mdm/mdm.service.ts","backend/src/modules/orders/order.controller.ts","backend/src/modules/process/process.routes.ts","backend/src/modules/process/process.schema.ts","backend/src/modules/process/process.service.test.ts","backend/src/modules/process/process.service.ts","backend/src/modules/realtime/realtime.contract.routes.ts","backend/src/modules/realtime/realtime.controller.ts","backend/src/modules/realtime/realtime.routes.ts","backend/src/modules/revenue/revenue.contract.routes.ts","backend/src/modules/revenue/revenue.controller.ts","backend/src/modules/revenue/revenue.routes.ts","backend/src/modules/search/search.controller.ts","backend/src/modules/search/search.routes.ts","backend/src/modules/search/search.schema.ts","backend/src/modules/search/search.service.ts","backend/src/modules/social-analytics/social-analytics.service.ts","backend/src/modules/stores/store.contract.routes.ts","backend/src/modules/stores/store.controller.ts","backend/src/modules/stores/store.routes.ts","backend/src/modules/stores/store.schema.ts","backend/src/modules/treasury/treasury.contract.routes.ts","backend/src/modules/treasury/treasury.controller.ts","backend/src/modules/treasury/treasury.routes.ts","e2e/.auth/admin.json","e2e/helpers/form-test-helpers.ts","e2e/package.json","e2e/test-results/.last-run.json","e2e/tests/form-interactions/approval-workflow-forms.spec.ts","e2e/tests/form-interactions/core-business-forms.spec.ts","e2e/tests/form-interactions/finance-forms.spec.ts","e2e/tests/form-interactions/marketing-campaign-forms.spec.ts","frontend/src/api/modules/im-channels.ts","frontend/src/composables/useDashboardRealtime.ts","frontend/src/views/ad-accounts/Index.vue","frontend/src/views/ad-audiences/Index.vue","frontend/src/views/ad-biddings/Index.vue","frontend/src/views/ad-campaigns/Index.vue","frontend/src/views/ad-creatives/Index.vue","frontend/src/views/ad-reports/Index.vue","frontend/src/views/alliance-analytics/Index.vue","frontend/src/views/alliance-merchants/Index.vue","frontend/src/views/alliance-products/Index.vue","frontend/src/views/alliance-promotions/Index.vue","frontend/src/views/alliance-referrals/Index.vue","frontend/src/views/alliance-settlements/Index.vue","frontend/src/views/ap-ledger/Index.vue","frontend/src/views/approval-configs/Index.vue","frontend/src/views/approval-templates/Index.vue","frontend/src/views/bom/Index.vue","frontend/src/views/campaign-drafts/Index.vue","frontend/src/views/campaign-use-case-templates/Index.vue","frontend/src/views/channel-integrations/Index.vue","frontend/src/views/cohort-analysis/Index.vue","frontend/src/views/community-activities/Index.vue","frontend/src/views/community-analytics/Index.vue","frontend/src/views/community-groups/Index.vue","frontend/src/views/community-levels/Index.vue","frontend/src/views/community-members/Index.vue","frontend/src/views/community-messages/Index.vue","frontend/src/views/community-points/Index.vue","frontend/src/views/consumer-behavior-analytics/Index.vue","frontend/src/views/content-categories/Index.vue","frontend/src/views/content-copyright/Index.vue","frontend/src/views/content-creation/Index.vue","frontend/src/views/content-distribution/Index.vue","frontend/src/views/content-library/Index.vue","frontend/src/views/content-review/Index.vue","frontend/src/views/content-templates/Index.vue","frontend/src/views/contract-templates/Index.vue","frontend/src/views/cpq/Index.vue","frontend/src/views/cpq/composables/useCpqCommon.ts","frontend/src/views/crm-activities/Index.vue","frontend/src/views/cross-domain-funnel/Index.vue","frontend/src/views/customer-health/Index.vue","frontend/src/views/customer-journey/Index.vue","frontend/src/views/customer-ltv/Index.vue","frontend/src/views/customer-marketing/Index.vue","frontend/src/views/customer-segmentation/Index.vue","frontend/src/views/departments/Index.vue","frontend/src/views/devices/Index.vue","frontend/src/views/dimension-transform/Index.vue","frontend/src/views/email-marketing/Index.vue","frontend/src/views/email-templates/Index.vue","frontend/src/views/event-logs/Index.vue","frontend/src/views/expense-claims/Index.vue","frontend/src/views/faults/Index.vue","frontend/src/views/finance-os/ai/AutoCreditAdjustment.vue","frontend/src/views/finance-os/ai/CashForecastModel.vue","frontend/src/views/finance-os/ai/DefaultProbabilityModel.vue","frontend/src/views/finance-os/ai/ROIEvaluation.vue","frontend/src/views/geo-fences/Index.vue","frontend/src/views/geo-keywords/Detail.vue","frontend/src/views/geo-keywords/Index.vue","frontend/src/views/groupbuy-analytics/Index.vue","frontend/src/views/groupbuy-campaigns/Index.vue","frontend/src/views/groupbuy-orders/Index.vue","frontend/src/views/groupbuy-participants/Detail.vue","frontend/src/views/groupbuy-participants/Form.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/im-channels/Index.vue","frontend/src/views/invoice-requests/Index.vue","frontend/src/views/invoice-verification/Index.vue","frontend/src/views/journey-orchestration/Index.vue","frontend/src/views/knowledge-candidates/Index.vue","frontend/src/views/knowledge-capture/Index.vue","frontend/src/views/knowledge-feedback/Index.vue","frontend/src/views/landing-pages/Index.vue","frontend/src/views/lead-assignment/Index.vue","frontend/src/views/lead-pool/Index.vue","frontend/src/views/lead-pools/Index.vue","frontend/src/views/livestream-analytics/Index.vue","frontend/src/views/livestream-interactions/Index.vue","frontend/src/views/livestream-products/Index.vue","frontend/src/views/livestream-rooms/Index.vue","frontend/src/views/livestream-schedules/Index.vue","frontend/src/views/livestream-scripts/Index.vue","frontend/src/views/livestream/Index.vue","frontend/src/views/local-events/Index.vue","frontend/src/views/local-promotion/Index.vue","frontend/src/views/location-assessments/Index.vue","frontend/src/views/marketing-automation/Index.vue","frontend/src/views/marketing-calendar/Index.vue","frontend/src/views/marketing-content/Index.vue","frontend/src/views/marketing-effectiveness/Index.vue","frontend/src/views/marketing-forms/Index.vue","frontend/src/views/marketing-matrix/Index.vue","frontend/src/views/marketing-north-star/Index.vue","frontend/src/views/marketing-tools/Index.vue","frontend/src/views/member-levels/Index.vue","frontend/src/views/member-points/Index.vue","frontend/src/views/members/Index.vue","frontend/src/views/payment-plans/Index.vue","frontend/src/views/pm/Index.vue","frontend/src/views/positions/Index.vue","frontend/src/views/predictive-analytics/Index.vue","frontend/src/views/product-categories/Index.vue","frontend/src/views/projects/Index.vue","frontend/src/views/purchase-orders/Index.vue","frontend/src/views/realtime-trigger/Index.vue","frontend/src/views/redemptions/Index.vue","frontend/src/views/rfm-analysis/Index.vue","frontend/src/views/roles/Index.vue","frontend/src/views/satisfaction/Index.vue","frontend/src/views/settings/IntegrationServices.vue","frontend/src/views/social-accounts/Index.vue","frontend/src/views/social-auto-replies/Index.vue","frontend/src/views/social-competitors/Index.vue","frontend/src/views/social-followers/Index.vue","frontend/src/views/social-hot-topics/Index.vue","frontend/src/views/social-interactions/Index.vue","frontend/src/views/social-posts/Index.vue","frontend/src/views/spare-parts/Index.vue","frontend/src/views/store-inventory/Index.vue","frontend/src/views/store-settlements/Index.vue","frontend/src/views/store-staff/Index.vue","frontend/src/views/stores/Index.vue","frontend/src/views/supplier-center/Index.vue","frontend/src/views/supplier-payments/Index.vue","frontend/src/views/system-events/Index.vue","frontend/src/views/ticket-workflows/Index.vue","frontend/src/views/users/Index.vue","frontend/src/views/video-calls/Index.vue","frontend/src/views/video-content/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/event-publishing-audit.latest.json","reports/event-publishing-audit.latest.md","reports/outbox-atomicity-audit.latest.json"]},"repository":{"id":6,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"juhi-omni-knowledge-hub","full_name":"luoanwu/juhi-omni-knowledge-hub","description":"巨嗨全域智库 - B2B RevOps 全生命周期平台","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":5212729,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-13T00:24:48+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
|
1776066561
|
1776066561
|
0
|
1776066350
|
1776066561
|
|
|
0
|
Edit
Delete
|
|
13816
|
feat: 同步最新代码更改,包括后端API、前端组件、测试和报告更新
|
6
|
5
|
test-report.yml
|
13738
|
5
|
0
|
refs/heads/main
|
d2c68b13960de626f7a8d496bf1977d263eb7931
|
0
|
0
|
0
|
workflow_run
|
{"action":"completed","workflo {"action":"completed","workflow":{"id":"e2e-tests.yml","name":"E2E Tests","path":".github/workflows/e2e-tests.yml","state":"active","created_at":"2026-04-13T15:39:52+08:00","updated_at":"2026-04-13T15:39:52+08:00","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/workflows/e2e-tests.yml","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/src/branch/main/.github/workflows/e2e-tests.yml","badge_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/workflows/e2e-tests.yml/badge.svg?branch=main","deleted_at":"0001-01-01T00:00:00Z"},"workflow_run":{"id":13813,"url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/actions/runs/13813","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub/actions/runs/13813","display_title":"feat: 同步最新代码更改,包括后端API、前端组件、测试和报告更新","path":"e2e-tests.yml@refs/heads/main","event":"push","run_attempt":0,"run_number":13735,"head_sha":"d2c68b13960de626f7a8d496bf1977d263eb7931","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":5215537,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-13T15:41:26+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":false,"push":false,"pull":false},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"conclusion":"failure","started_at":"2026-04-13T15:42:01+08:00","completed_at":"2026-04-13T15:48:16+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":5215537,"language":"HTML","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhi-omni-knowledge-hub","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhi-omni-knowledge-hub.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhi-omni-knowledge-hub.git","original_url":"https://github.com/laoluojuhai/juhi-omni-knowledge-hub.git","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-02-23T23:57:52+08:00","updated_at":"2026-04-13T15:41:26+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}...
|
workflow_run
|
2
|
14
|
1776066563
|
1776066653
|
0
|
1776066496
|
1776066761
|
|
|
0
|
Edit
Delete
|