| event_payload |
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"517414d8806adba9ad700d6508e6c563513a583e","after":"02587c52835c0d763ab44c302cb862b5cb1a0125","compare_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/compare/517414d8806adba9ad700d6508e6c563513a583e...02587c52835c0d763ab44c302cb862b5cb1a0125","commits":[{"id":"02587c52835c0d763ab44c302cb862b5cb1a0125","message":"feat(contracts): anchor workspace root on a manifest file, not directory names\n\ndetectWorkspaceRoot() only recognised an ancestor holding both 基础/ and doc/.\nThe directory migration splits 基础/ into 基础基座/ + 基础设施/ + 基础框架/ +\n平台治理/ and moves doc/ under 平台治理/, after which that probe returns null\nand every gate depending on it fails closed with WORKSPACE_ROOT_UNRESOLVED —\na one-constant breakage that is very hard to diagnose from the error alone.\n\nA candidate now qualifies when it holds the workspace.json manifest, falling\nback to the existing marker directories so checkouts without the manifest keep\nworking unchanged. Directory reshuffles then only touch the manifest.\n\nAdds 3 cases: manifest alone qualifies with both markers absent, an explicit\n--workspace-root carrying the manifest is accepted, and marker-only detection\nstill works. 101 → 104 tests, all passing.\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/02587c52835c0d763ab44c302cb862b5cb1a0125","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-14T20:40:01-07:00","added":[],"removed":[],"modified":["contracts/scripts/workspace-root.mjs","contracts/test/workspace-root.test.mjs"]},{"id":"e0fb26df05caf3f1cecc8328b586aa304eff51eb","message":"chore(contracts): rename hi-atelier app to 嗨赞造意\n\napp.name 由「嗨设首席」改为「嗨赞造意」,与目录名\n业务应用/嗨赞造意/image-generation 一致。id (hi-atelier)、\nrepository、domain、owner 均不变。\n\n来源冻结目录 platform-contracts/ 按 PF-04 阶段 1 规定不改\n(CHG-001 包指纹以该目录为准,改动会触发就绪度重基线),\n两边口径差随阶段 2 物理移除消除。\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/e0fb26df05caf3f1cecc8328b586aa304eff51eb","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-14T20:35:51-07:00","added":[],"removed":[],"modified":["contracts/apps/hi-atelier.draft.json"]}],"total_commits":0,"head_commit":{"id":"02587c52835c0d763ab44c302cb862b5cb1a0125","message":"feat(contracts): anchor workspace root on a manifest file, not directory names\n\ndetectWorkspaceRoot() only recognised an ancestor holding both 基础/ and doc/.\nThe directory migration splits 基础/ into 基础基座/ + 基础设施/ + 基础框架/ +\n平台治理/ and moves doc/ under 平台治理/, after which that probe returns null\nand every gate depending on it fails closed with WORKSPACE_ROOT_UNRESOLVED —\na one-constant breakage that is very hard to diagnose from the error alone.\n\nA candidate now qualifies when it holds the workspace.json manifest, falling\nback to the existing marker directories so checkouts without the manifest keep\nworking unchanged. Directory reshuffles then only touch the manifest.\n\nAdds 3 cases: manifest alone qualifies with both markers absent, an explicit\n--workspace-root carrying the manifest is accepted, and marker-only detection\nstill works. 101 → 104 tests, all passing.\n\nCo-Authored-By: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/02587c52835c0d763ab44c302cb862b5cb1a0125","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-14T20:40:01-07:00","added":[],"removed":[],"modified":["contracts/scripts/workspace-root.mjs","contracts/test/workspace-root.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":13495,"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":33,"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-15T11:48:51+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"}}... |