| event_payload |
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"ca8825af46bd8d9575f4617b4d46fb0c4bb6c4d8","after":"69755d035615aa0c81d65c5242dc2b56b7c15310","compare_url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/compare/ca8825af46bd8d9575f4617b4d46fb0c4bb6c4d8...69755d035615aa0c81d65c5242dc2b56b7c15310","commits":[{"id":"69755d035615aa0c81d65c5242dc2b56b7c15310","message":"Merge pull request 'feat(notification): bind signing credentials to controlled M2 access' (#8) from codex/notification-credential-binding-20261102 into main\n\nReviewed-on: https://gitea.g-hi.com/luoanwu/enterprise-platform/pulls/8\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/69755d035615aa0c81d65c5242dc2b56b7c15310","author":{"name":"luoanwu","email":"law@g-hi.com","username":"luoanwu"},"committer":{"name":"luoanwu","email":"law@g-hi.com","username":"luoanwu"},"verification":null,"timestamp":"2026-11-02T17:13:16+08:00","added":["docs/evidence/service-four-stages-2026-11-01/notification-m2-api-noemit-01.original.log.gz","docs/evidence/service-four-stages-2026-11-01/notification-m2-api-noemit-02.original.log.gz","docs/evidence/service-four-stages-2026-11-01/notification-m2-api-preflight.config.original.txt","docs/evidence/service-four-stages-2026-11-01/notification-m2-kit-noemit.original.log.gz","docs/evidence/service-four-stages-2026-11-01/notification-m2-preflight-01.original.log.gz","docs/evidence/service-four-stages-2026-11-01/notification-m2-preflight-02.original.log.gz","docs/evidence/service-four-stages-2026-11-01/notification-m2-preparation.public.json","docs/evidence/service-four-stages-2026-11-01/notification-m2-syntax.original.json","docs/evidence/service-four-stages-2026-11-01/notification-m2-vitest-preflight.config.original.txt","runtime/apps/api-nestjs/src/platform/notification-credential-resolver.ts","runtime/apps/api-nestjs/src/platform/notification-credentials.service.ts","runtime/apps/api-nestjs/test/platform.notification-credentials.test.ts","runtime/modules/kit/src/notification-credentials.ts","runtime/modules/kit/src/workload-token-file.ts","runtime/modules/notification-webhook/src/delivery/configured-credentials.test.ts"],"removed":[],"modified":["docs/现用链路恢复与四段交付-2026-11-01.md","docs/通知官方客户端迁移指南-2026-10-31.md","runtime/apps/api-nestjs/src/platform/http/credential-lease.controller.ts","runtime/apps/api-nestjs/src/platform/http/notification-webhook.controller.ts","runtime/apps/api-nestjs/src/platform/platform-http.module.ts","runtime/apps/api-nestjs/src/platform/platform-jobs.module.ts","runtime/clients/notification-webhook/README.md","runtime/modules/credential/README.md","runtime/modules/credential/src/persistence/openbao-token.ts","runtime/modules/kit/src/index.ts","runtime/modules/notification-webhook/README.md","runtime/modules/notification-webhook/src/delivery/delivery-authorizer.ts","runtime/modules/notification-webhook/src/delivery/delivery-executor.ts","runtime/modules/notification-webhook/src/index.ts","runtime/modules/notification-webhook/src/jobs/registered-delivery-retry.ts","runtime/test/e2e/credential-m1-http.test.ts"]},{"id":"ad396dcce7744707856a25ee2a671f6633a0524e","message":"feat(notification): bind signing credentials to controlled M2 access\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/ad396dcce7744707856a25ee2a671f6633a0524e","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-02T01:06:19-08:00","added":["docs/evidence/service-four-stages-2026-11-01/notification-m2-api-noemit-01.original.log.gz","docs/evidence/service-four-stages-2026-11-01/notification-m2-api-noemit-02.original.log.gz","docs/evidence/service-four-stages-2026-11-01/notification-m2-api-preflight.config.original.txt","docs/evidence/service-four-stages-2026-11-01/notification-m2-kit-noemit.original.log.gz","docs/evidence/service-four-stages-2026-11-01/notification-m2-preflight-01.original.log.gz","docs/evidence/service-four-stages-2026-11-01/notification-m2-preflight-02.original.log.gz","docs/evidence/service-four-stages-2026-11-01/notification-m2-preparation.public.json","docs/evidence/service-four-stages-2026-11-01/notification-m2-syntax.original.json","docs/evidence/service-four-stages-2026-11-01/notification-m2-vitest-preflight.config.original.txt","runtime/apps/api-nestjs/src/platform/notification-credential-resolver.ts","runtime/apps/api-nestjs/src/platform/notification-credentials.service.ts","runtime/apps/api-nestjs/test/platform.notification-credentials.test.ts","runtime/modules/kit/src/notification-credentials.ts","runtime/modules/kit/src/workload-token-file.ts","runtime/modules/notification-webhook/src/delivery/configured-credentials.test.ts"],"removed":[],"modified":["docs/现用链路恢复与四段交付-2026-11-01.md","docs/通知官方客户端迁移指南-2026-10-31.md","runtime/apps/api-nestjs/src/platform/http/credential-lease.controller.ts","runtime/apps/api-nestjs/src/platform/http/notification-webhook.controller.ts","runtime/apps/api-nestjs/src/platform/platform-http.module.ts","runtime/apps/api-nestjs/src/platform/platform-jobs.module.ts","runtime/clients/notification-webhook/README.md","runtime/modules/credential/README.md","runtime/modules/credential/src/persistence/openbao-token.ts","runtime/modules/kit/src/index.ts","runtime/modules/notification-webhook/README.md","runtime/modules/notification-webhook/src/delivery/delivery-authorizer.ts","runtime/modules/notification-webhook/src/delivery/delivery-executor.ts","runtime/modules/notification-webhook/src/index.ts","runtime/modules/notification-webhook/src/jobs/registered-delivery-retry.ts","runtime/test/e2e/credential-m1-http.test.ts"]}],"total_commits":0,"head_commit":{"id":"69755d035615aa0c81d65c5242dc2b56b7c15310","message":"Merge pull request 'feat(notification): bind signing credentials to controlled M2 access' (#8) from codex/notification-credential-binding-20261102 into main\n\nReviewed-on: https://gitea.g-hi.com/luoanwu/enterprise-platform/pulls/8\n","url":"https://gitea.g-hi.com/luoanwu/enterprise-platform/commit/69755d035615aa0c81d65c5242dc2b56b7c15310","author":{"name":"luoanwu","email":"law@g-hi.com","username":"luoanwu"},"committer":{"name":"luoanwu","email":"law@g-hi.com","username":"luoanwu"},"verification":null,"timestamp":"2026-11-02T17:13:16+08:00","added":["docs/evidence/service-four-stages-2026-11-01/notification-m2-api-noemit-01.original.log.gz","docs/evidence/service-four-stages-2026-11-01/notification-m2-api-noemit-02.original.log.gz","docs/evidence/service-four-stages-2026-11-01/notification-m2-api-preflight.config.original.txt","docs/evidence/service-four-stages-2026-11-01/notification-m2-kit-noemit.original.log.gz","docs/evidence/service-four-stages-2026-11-01/notification-m2-preflight-01.original.log.gz","docs/evidence/service-four-stages-2026-11-01/notification-m2-preflight-02.original.log.gz","docs/evidence/service-four-stages-2026-11-01/notification-m2-preparation.public.json","docs/evidence/service-four-stages-2026-11-01/notification-m2-syntax.original.json","docs/evidence/service-four-stages-2026-11-01/notification-m2-vitest-preflight.config.original.txt","runtime/apps/api-nestjs/src/platform/notification-credential-resolver.ts","runtime/apps/api-nestjs/src/platform/notification-credentials.service.ts","runtime/apps/api-nestjs/test/platform.notification-credentials.test.ts","runtime/modules/kit/src/notification-credentials.ts","runtime/modules/kit/src/workload-token-file.ts","runtime/modules/notification-webhook/src/delivery/configured-credentials.test.ts"],"removed":[],"modified":["docs/现用链路恢复与四段交付-2026-11-01.md","docs/通知官方客户端迁移指南-2026-10-31.md","runtime/apps/api-nestjs/src/platform/http/credential-lease.controller.ts","runtime/apps/api-nestjs/src/platform/http/notification-webhook.controller.ts","runtime/apps/api-nestjs/src/platform/platform-http.module.ts","runtime/apps/api-nestjs/src/platform/platform-jobs.module.ts","runtime/clients/notification-webhook/README.md","runtime/modules/credential/README.md","runtime/modules/credential/src/persistence/openbao-token.ts","runtime/modules/kit/src/index.ts","runtime/modules/notification-webhook/README.md","runtime/modules/notification-webhook/src/delivery/delivery-authorizer.ts","runtime/modules/notification-webhook/src/delivery/delivery-executor.ts","runtime/modules/notification-webhook/src/index.ts","runtime/modules/notification-webhook/src/jobs/registered-delivery-retry.ts","runtime/test/e2e/credential-m1-http.test.ts"]},"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":147414,"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":184,"open_issues_count":0,"open_pr_counter":4,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-09-11T07:33:25+08:00","updated_at":"2026-11-02T17:11: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"}}... |