| event_payload |
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"81ab027f160e9ee9c4552315363223338b8871d3","after":"47e722b94fbf825cde7510b807c6b8d75c1d1e4d","compare_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/compare/81ab027f160e9ee9c4552315363223338b8871d3...47e722b94fbf825cde7510b807c6b8d75c1d1e4d","commits":[{"id":"47e722b94fbf825cde7510b807c6b8d75c1d1e4d","message":"docs(deploy): 记录横切治理工作台恢复\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/47e722b94fbf825cde7510b807c6b8d75c1d1e4d","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-23T03:20:50-07:00","added":[],"removed":[],"modified":["docs/16核心模块统一口径与dev更新记录-2026-09-22.md"]},{"id":"9081d018020a2fa2c2ec37dc188c3e6d40eb30b8","message":"chore(reports): 回绑 execution-slices(scan-retry 真实 clamd 验收 9/9)@ 526935fa\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/9081d018020a2fa2c2ec37dc188c3e6d40eb30b8","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-23T03:03:54-07:00","added":[],"removed":[],"modified":["reports/execution-slices.latest.json"]},{"id":"f4c065568c1213850ed06832df1dfc617bb43677","message":"merge: 横切登记修正的报告回绑(e30da9ad / b3d31dd2 / e7378cb7)并入主线\n\n回绑在 adaf9135 的干净临时检出上完成,期间主线前进了 526935fa(public-file scan-retry),\n两边不碰同一文件;用合并而非 cherry-pick,保留报告 provenance 引用的原 SHA。\n共享检出里有并行会话的暂存改动,故以 merge-tree / commit-tree 生成,不经工作树与索引。\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/f4c065568c1213850ed06832df1dfc617bb43677","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-23T02:42:03-07:00","added":[],"removed":[],"modified":["reports/cross-cutting-capabilities.latest.json","reports/evidence-freshness.latest.json","reports/workbench-catalog-snapshot.latest.json","reports/workbench-ops-snapshot.latest.json"]},{"id":"526935fa2bf47ceb1f0b27ce1dd55a5a7ff555df","message":"feat(public-file): scan-retry 接通真实扫描器,作业升 active(C11-1 收口)\n\n- 抽出 runScan:complete 与重扫共用存储检查 / 内容核对 / ClamAV 判定,返回 executed 区分「扫过」与「根本没扫到」\n- 新增 PublicFileScanRetry:与 complete / 孤儿回收同一逐文件 advisory 锁,锁内复核尝试次数、5 分钟租约、\n 未进清理/回收、未过保留期;只接已请求完成(attempts ≥ 1)的 PENDING,不替 Owner 完成上传\n- 结论与审计意图(public-file.scan-completed)同事务回写;审计主体 system:public-file.scan-retry、appId 取文件 ownerAppId\n- 对象未上传 / 扫描器拒连不写库不计次;扫描器整体不可达抛普通异常交内核重试;存储开关关或配置不全即终态拒绝\n- store 去掉只累加计次的 markScanAttempt,候选查询收紧为 listRetryableScans\n- modules.json.jobs 与 jobHandlers 注册 scan-retry,job-readiness 转 active(7 active / 2 alternate / 13 deferred)\n- check:execution-slices 新增第 4 例(真实 PG 普通角色 / MinIO / clamd):租约、拒连不计次、两实例并发只写一次、\n 未请求完成的上传不动、审计可中继到中央账本;地板 8 → 9;删掉「未执行不写库」即判红(已实测)\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/526935fa2bf47ceb1f0b27ce1dd55a5a7ff555df","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-23T02:36:11-07:00","added":[],"removed":[],"modified":["CLAUDE.md","docs/缺失模块完善清单-2026-09-21.md","governance/check-execution-slices.mjs","governance/job-readiness.json","governance/test/job-readiness.test.mjs","runtime/modules.json","runtime/modules/public-file/src/http/public-file-runtime.test.ts","runtime/modules/public-file/src/index.ts","runtime/modules/public-file/src/jobs/jobs.test.ts","runtime/modules/public-file/src/jobs/scan-retry.ts","runtime/modules/public-file/src/persistence/prisma-store-factory.ts","runtime/modules/public-file/src/persistence/public-file-store.ts","runtime/modules/public-file/src/ports/object-storage.ts","runtime/modules/public-file/src/storage/file-lifecycle.ts","runtime/modules/public-file/src/storage/object-storage-adapter.ts","runtime/test/integration/execution-slices.mjs"]},{"id":"e7378cb7c29dfaa3d90d6b5401102cb2a9b1a457","message":"chore(reports): 工作台快照再回绑(纳入 evidence 结果)@ b3d31dd2\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/e7378cb7c29dfaa3d90d6b5401102cb2a9b1a457","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-23T02:32:30-07:00","added":[],"removed":[],"modified":["reports/workbench-catalog-snapshot.latest.json","reports/workbench-ops-snapshot.latest.json"]}],"total_commits":0,"head_commit":{"id":"47e722b94fbf825cde7510b807c6b8d75c1d1e4d","message":"docs(deploy): 记录横切治理工作台恢复\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/47e722b94fbf825cde7510b807c6b8d75c1d1e4d","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-23T03:20:50-07:00","added":[],"removed":[],"modified":["docs/16核心模块统一口径与dev更新记录-2026-09-22.md"]},"repository":{"id":116,"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":"enterprise-platform","full_name":"luoanwu/enterprise-platform","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":34937,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/enterprise-platform/languages","html_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/enterprise-platform","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/enterprise-platform.git","clone_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":44,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-11T07:33:25+08:00","updated_at":"2026-09-23T16:21:07+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":true,"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}... |