| event_payload |
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"828715cf53fe6925982bca85c6a1a36515f9807a","after":"756ce30a7133fe68054a5b580db709d915246968","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/compare/828715cf53fe6925982bca85c6a1a36515f9807a...756ce30a7133fe68054a5b580db709d915246968","commits":[{"id":"756ce30a7133fe68054a5b580db709d915246968","message":"chore(evidence): record C50/C51 runtime 266 and UI 13 (11 demo + 2 OIDC) on clean a1d4ed3\n\nIsolated pgvector/Redis/MinIO/ClamAV stack (loopback-bound) torn down.\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/756ce30a7133fe68054a5b580db709d915246968","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-27T18:57:44-07:00","added":[],"removed":[],"modified":["reports/backend-behavior-parity.latest.json","reports/runtime-acceptance.latest.json","reports/ui-acceptance.latest.json"]},{"id":"a1d4ed32e45e3fab5902671b4d0f656df63674de","message":"fix(security): adopt framework C50/C51 loopback defaults for listen host and dev data stores\n\nFrom base-framework main 26212ad (2026-10-27):\n- API defaults to 127.0.0.1 when HOST is unset or empty; the Dockerfile\n api-nestjs target now sets ENV HOST=0.0.0.0, which the k8s base and\n artifact acceptance rely on. .env.example uses HOST=127.0.0.1.\n- Dev base binds pgvector/Redis/MinIO (API and console) to 127.0.0.1;\n Redis host port becomes overridable.\n- check:dual-backend gains the listen-default and data-store loopback\n checks; port parsing reuses the framework compose-ports module\n (pgvector recognised), its tests join check:governance-kit.\n\nNegative: entry back to 0.0.0.0, Dockerfile without ENV HOST, pgvector\nwithout loopback, MinIO without loopback each exit 1; green after restore.\npnpm check passed on the dirty worktree.\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/a1d4ed32e45e3fab5902671b4d0f656df63674de","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-27T18:36:06-07:00","added":["scripts/lib/compose-ports.mjs","scripts/lib/compose-ports.test.mjs"],"removed":[],"modified":["Dockerfile","apps/api-nestjs/.env.example","apps/api-nestjs/docker-compose.yml","apps/api-nestjs/src/main.ts","package.json","scripts/check-dual-backend-parity.mjs"]}],"total_commits":0,"head_commit":{"id":"756ce30a7133fe68054a5b580db709d915246968","message":"chore(evidence): record C50/C51 runtime 266 and UI 13 (11 demo + 2 OIDC) on clean a1d4ed3\n\nIsolated pgvector/Redis/MinIO/ClamAV stack (loopback-bound) torn down.\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/commit/756ce30a7133fe68054a5b580db709d915246968","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-10-27T18:57:44-07:00","added":[],"removed":[],"modified":["reports/backend-behavior-parity.latest.json","reports/runtime-acceptance.latest.json","reports/ui-acceptance.latest.json"]},"repository":{"id":82,"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":"juhai-ai-work-order-system","full_name":"luoanwu/juhai-ai-work-order-system","description":"巨嗨 AI 工单系统:治理型工单核心与 Digital Employee OS 产品适配层","empty":false,"private":true,"fork":false,"template":false,"mirror":false,"size":3787,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-ai-work-order-system/languages","html_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/juhai-ai-work-order-system","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/juhai-ai-work-order-system.git","clone_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":4,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-08-26T09:08:57+08:00","updated_at":"2026-10-25T18:48:05+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"}}... |