| event_payload |
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"6eb413769fe657eb7c80ff19836ab819b47dd337","after":"0b3cc6c3b7a287914f1a2c3ec95738e4ce9c2d7e","compare_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/compare/6eb413769fe657eb7c80ff19836ab819b47dd337...0b3cc6c3b7a287914f1a2c3ec95738e4ce9c2d7e","commits":[{"id":"0b3cc6c3b7a287914f1a2c3ec95738e4ce9c2d7e","message":"fix(stack): 守护巡检自锁、信号终止漏报与每月任务误报\n\n对抗核验三项缺陷:本巡检自身退出码 1/2 放行,避免有发现的一轮让下一轮把自己判成 JobFailed;\n解析 last terminating signal 并与非 0 退出码同样算失败;带 Day/Month 的 StartCalendarInterval\n按 31 天推断周期。凭据原入口拒绝 --interval-minutes,安装器 marker 改为 basename 精确比较。\n单测 22/22;1215 组参数下凭据 plist 与 origin/main 版仍逐字节一致。README 补周期推断、失败口径与边界。\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/0b3cc6c3b7a287914f1a2c3ec95738e4ce9c2d7e","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-11-03T11:36:31-08:00","added":[],"removed":[],"modified":["stack/credentials/README.md","stack/credentials/install-launchd.mjs","stack/launchd/README.md","stack/launchd/agent-health.mjs","stack/launchd/agent-health.test.mjs","stack/launchd/install-launchd.mjs","stack/launchd/install-launchd.test.mjs"]},{"id":"adfc554438ce7b26611e5f2a33e2b0c2389a3dba","message":"feat(stack): dev 守护健康巡检与通用 launchd 安装器\n\n新增 stack/launchd/agent-health.mjs:只读巡检本机 com.juhai.* / com.erk.* LaunchAgent,\n未加载、常驻重启风暴、定时任务心跳过期与退出码失败分别投 Alertmanager,按设计停用的只计数;\n唯一写入是自身状态文件(600)。install-launchd.mjs 抽为通用安装器,凭据到期巡检原入口转调,\n生成的 plist 逐字节不变。纯函数单测 19/19(含原凭据到期 6 项)。\n\n对应 04 层完善计划 §13 第 2 行、§14 第 2 行;无业务语义,不重启、停用或修改任何守护。\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/adfc554438ce7b26611e5f2a33e2b0c2389a3dba","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-11-03T11:29:06-08:00","added":["stack/launchd/README.md","stack/launchd/agent-health.mjs","stack/launchd/agent-health.test.mjs","stack/launchd/install-launchd.mjs","stack/launchd/install-launchd.test.mjs"],"removed":[],"modified":["stack/README.md","stack/credentials/README.md","stack/credentials/install-launchd.mjs"]}],"total_commits":0,"head_commit":{"id":"0b3cc6c3b7a287914f1a2c3ec95738e4ce9c2d7e","message":"fix(stack): 守护巡检自锁、信号终止漏报与每月任务误报\n\n对抗核验三项缺陷:本巡检自身退出码 1/2 放行,避免有发现的一轮让下一轮把自己判成 JobFailed;\n解析 last terminating signal 并与非 0 退出码同样算失败;带 Day/Month 的 StartCalendarInterval\n按 31 天推断周期。凭据原入口拒绝 --interval-minutes,安装器 marker 改为 basename 精确比较。\n单测 22/22;1215 组参数下凭据 plist 与 origin/main 版仍逐字节一致。README 补周期推断、失败口径与边界。\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/0b3cc6c3b7a287914f1a2c3ec95738e4ce9c2d7e","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-11-03T11:36:31-08:00","added":[],"removed":[],"modified":["stack/credentials/README.md","stack/credentials/install-launchd.mjs","stack/launchd/README.md","stack/launchd/agent-health.mjs","stack/launchd/agent-health.test.mjs","stack/launchd/install-launchd.mjs","stack/launchd/install-launchd.test.mjs"]},"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":179694,"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":1,"watchers_count":1,"branch_count":188,"open_issues_count":0,"open_pr_counter":5,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-11T07:33:25+08:00","updated_at":"2026-11-04T02:17:32+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"}}... |