| event_payload |
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"4a41adae67bcf5be2d98b33d6257c0a6de632d69","after":"fbc127c8341c596329f98fb1f9eb8f17e210a07e","compare_url":"https://gitea.g-hi.com/luoanwu/infra/compare/4a41adae67bcf5be2d98b33d6257c0a6de632d69...fbc127c8341c596329f98fb1f9eb8f17e210a07e","commits":[{"id":"fbc127c8341c596329f98fb1f9eb8f17e210a07e","message":"chore(chg036): merge CHG-034 stack history and refresh declarations\n","url":"https://gitea.g-hi.com/luoanwu/infra/commit/fbc127c8341c596329f98fb1f9eb8f17e210a07e","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-12T15:12:45-07:00","added":[],"removed":[],"modified":["caddy/Caddyfile","compose.yaml","declarations/SOURCE.json","declarations/caddy-routes.json","declarations/modules.json","docs/迁出方案.md","provision/openbao-provision.json","provision/redis-dbs.json","provision/redpanda-topics.json"]},{"id":"c673ed2d02b23a2eb750cbaf89b357c383cb6418","message":"refactor(catalog): CHG-034 数字员工OS 更名为数字智能层(digital-intelligence-layer)\n\n- Catalog 项目 id、EmploymentTransferred 消费者、AppManifest 草案与用量投影契约改为新标识;fact catalogFingerprint 同步\n- 契约 id os-usage-projection-api.v1 → dil-usage-projection-api.v1(modules.json、cost-capacity、caddy-routes;网关前缀 /api/v1/cost/ 不变)\n- stack/provision:OpenBao 应用列表、Redis 库说明、Redpanda 重放 topic 与消费组名;测试、夹具、注释与文档用词同步\n- 不改:已发布 Schema 与生成代码、已应用迁移、decisions.json、docs/报告/证据、ERK 固定快照、工作区目录路径、\n os-product 协议名、凭据台账 stack/credentials/、带日期的现存资源名、旧栈卷名、2026-08 移植回灌等历史记录行\n- 用户 2026-10-12 以 Catalog Owner 签署:硬切(运行库旧登记观察期保留,A2 新增新 id 登记),现在合入\n- 生成:在 4bfc0b81 上重放 03 切换执行/工具/rename-cp.py(03 233f219)与 sync-fact-schema-digests --write\n- 材料:平台治理/doc/decisions/CHG-034-材料/(治理仓 65a87a4)\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/infra/commit/c673ed2d02b23a2eb750cbaf89b357c383cb6418","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-12T08:36:20-07:00","added":[],"removed":[],"modified":["provision/openbao-provision.json","provision/redis-dbs.json","provision/redpanda-topics.json"]},{"id":"12d40ebb94d7948d7307f017585450996f513bbc","message":"feat(workbench): EES 只读宿主接入工作台——第 19 个探针、语义目录实时读取与 /ees/* 入口路由\n\nC1 首消费者(只读正式宿主 H2/O1/I1/C1 批准记录 §5)的工作台侧实现:\n- 运行信息页新增「受托独立服务」:经入口读 EES 公开就绪探针 /ees/health/ready(不带令牌),\n 计入「读取全部 N 个探针」(dev 为 18 + 1);200+ready 就绪、503 未就绪、502/404 探测失败。\n 同源前缀登记在 features/platform/hosted-services.ts,未登记的受托服务不探测。\n- EES 服务工作区「语义目录」:登录后点按钮经 /ees/api/v1/semantics/* 读取三个语义读操作\n (按游标读完,页数有上限),对照快照 catalogRevision;401/403/404/503 各给说明,\n EES 拒绝不清平台会话;未登录不渲染,标签内容与快照逐字一致(MW-07 不变)。\n- stack/caddy/Caddyfile:handle /ees/* + uri strip_prefix 转发 {$PLATFORM_EES_UPSTREAM:host.docker.internal:4432};\n 不用 handle_path(排在全部 handle 之后,会被工作台兜底抢先)。check:caddy 与 caddy validate 通过。\n- 用例:RT-06(受托探针计数、不带令牌、502 探测失败)、MW-22(实时读取、游标、拒绝说明、会话保留),\n check-workbench-ui REQUIRED_CASES 92 → 94;MW-06 的服务入口文字随概览更新。\n- 文档:runbook 新增「EES 只读正式宿主接入工作台」(含换工作台客户端时两条单值 OIDC 信任的连带改动);\n formal-host README 补工作台接入。\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/infra/commit/12d40ebb94d7948d7307f017585450996f513bbc","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-11T19:06:09-07:00","added":[],"removed":[],"modified":["caddy/Caddyfile"]},{"id":"45363b29810308fee90f67a8ccad12d4453507cd","message":"Merge remote-tracking branch 'origin/main' into claude/ees-ktv-c1-20261011\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/infra/commit/45363b29810308fee90f67a8ccad12d4453507cd","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-11T16:32:37-07:00","added":[],"removed":[],"modified":["backup/managed-backup.py","backup/test_managed_backup.py","release-candidate.schema.json"]},{"id":"0da7d0b960ffa4014061df6297eca8908196d38e","message":"feat(permission): 决策接口新增 Human OIDC 入口,供 EES HUMAN_REQUEST_TOKEN 画像调用\n\n- 新 env PLATFORM_DECISION_HUMAN_OIDC_TRUSTS:1..8 条 {issuer, audience, endpointOrigin?},\n 逐条沿用角色管理入口的校验(开发环境才允许回环 HTTP;staging/production 拒绝),重复或非法即\n DECISION_HUMAN_ENTRY_TRUST_INVALID 启动失败;未设即关闭,行为不变\n- DecisionHumanEntryVerifier 只处理 POST /api/v1/decisions:令牌声明的 (iss, aud) 命中登记才接手,\n 按固定信任完整验签并逐请求 UserInfo 回查,失败直接拒绝、不回落;未命中交回原链(machine / 通用 JWT 不变)\n- 决策适配器:经此入口时请求体 actor 须为 human/oidc,actor_id、client_id、session_id 逐项等于已验签\n 的 subject、clientId(OIDC 客户端)与 sid,否则 context-invalid;账本 appId 仍为 clientId\n- 角色管理入口抽出 createEntryIdentityClient 共用;compose 透传与 runbook、对接说明书同步\n- 测试:新增 5 例入口测试与 2 例适配器测试;api-nestjs typecheck 通过,相关 6 个文件 72/72;\n 对「不回落」与 sid 校验做过故意破坏的负向自检\n\nCo-Authored-By: Claude Opus 5.5 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/infra/commit/0da7d0b960ffa4014061df6297eca8908196d38e","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-11T16:15:16-07:00","added":[],"removed":[],"modified":["compose.yaml"]}],"total_commits":0,"head_commit":{"id":"fbc127c8341c596329f98fb1f9eb8f17e210a07e","message":"chore(chg036): merge CHG-034 stack history and refresh declarations\n","url":"https://gitea.g-hi.com/luoanwu/infra/commit/fbc127c8341c596329f98fb1f9eb8f17e210a07e","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-12T15:12:45-07:00","added":[],"removed":[],"modified":["caddy/Caddyfile","compose.yaml","declarations/SOURCE.json","declarations/caddy-routes.json","declarations/modules.json","docs/迁出方案.md","provision/openbao-provision.json","provision/redis-dbs.json","provision/redpanda-topics.json"]},"repository":{"id":133,"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":"infra","full_name":"luoanwu/infra","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":455,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/infra/languages","html_url":"https://gitea.g-hi.com/luoanwu/infra","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/infra","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/infra.git","clone_url":"https://gitea.g-hi.com/luoanwu/infra.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-10-11T21:11:15+08:00","updated_at":"2026-10-12T07:28: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"}}... |