| event_payload |
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"80c8bdabb7ff33364f9d270d4a771bf25a2cad71","after":"3b2c4c0d307dde46aec78598cce4fb8b25372657","compare_url":"https://gitea.g-hi.com/luoanwu/juhai-ai-work-order-system/compare/80c8bdabb7ff33364f9d270d4a771bf25a2cad71...3b2c4c0d307dde46aec78598cce4fb8b25372657","commits":[{"id":"3b2c4c0d307dde46aec78598cce4fb8b25372657","message":"test: record WO-SR-F9 acceptance on clean ffdfb13 (runtime 325/floor 319, UI 18/floor 16)\n\nAll reports come from committed ffdfb13 (worktreeDirty=false); gates ran\n17:15-17:21Z (outside the WO-SR-F7 15:00-16:00 UTC window):\n- pnpm check: pass; lint/typecheck re-run with turbo --force 19/19\n- pnpm check:runtime: 325 passed / 0 failed, floor 319, including the 6 real\n C16 cases against an isolated 04 enterprise-platform 6ae2a13 shared clone\n (rerun because the source fingerprint changed; only e2e and the UI script did)\n- C16_BROWSER_ACCEPTANCE=1 E2E_REDIS_CONTAINER=\u003cisolated redis\u003e pnpm check:ui\n (OIDC web with REALTIME_SESSION_RECHECK_SECONDS=5): 18 passed / 0 failed,\n floor 16\n- pnpm check:governance (required): passed, no regressions\nD3 preservation manifest: 65 files (25 SQL) sha256-identical; no migration.\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/3b2c4c0d307dde46aec78598cce4fb8b25372657","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-28T10:21:15-07:00","added":[],"removed":[],"modified":["reports/agent-workflow-parity.latest.json","reports/backend-behavior-parity.latest.json","reports/configuration-consumer.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-kit.latest.json","reports/governance.latest.json","reports/identity-boundary.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/transactional-write-chain.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","reports/write-governance.latest.json"]},{"id":"ffdfb134364ad609c213f98ea675b938133ac29d","message":"test(web): run the OIDC browser stage with a 5s session recheck and assert by it (WO-SR-F9); register F10\n\n- scripts/check-ui-acceptance.mjs passes REALTIME_SESSION_RECHECK_SECONDS=5 to\n the OIDC web server and to Playwright only (production default stays 30s).\n- Logout and role-change cases assert revocation latency against the\n configured interval (\u003c= interval + 2s) and still require session.revoked as\n the first terminator; previously the 30s default left 3-4s against the 35s\n token.\n- WO-SR-F10 (logout during a Redis outage reports success while the server\n session survives) recorded in the implementation record and CLAUDE.md G8.\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/ffdfb134364ad609c213f98ea675b938133ac29d","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-28T10:14:36-07:00","added":[],"removed":[],"modified":["CLAUDE.md","apps/web/e2e/oidc.acceptance.spec.ts","docs/长连接在线复核实施记录-2026-10-28.md","scripts/check-ui-acceptance.mjs"]},{"id":"762e9e42f6d425247623bc89c1934f366bae746f","message":"test: record WO-SR-F8 fix acceptance on clean f8477be (runtime 325/floor 319 x2, UI 18/floor 16)\n\nAll reports come from committed f8477be (worktreeDirty=false); gates ran\n16:26-16:34Z (outside the WO-SR-F7 15:00-16:00 UTC window):\n- pnpm check: pass; lint/typecheck re-run with turbo --force 19/19\n- pnpm check:runtime run 1: 325 passed / 0 failed, floor 319 (kept outside the\n repo); run 2 (these reports): 325 passed / 0 failed; both include the 6 real\n C16 cases against an isolated 04 enterprise-platform 6ae2a13 shared clone\n- C16_BROWSER_ACCEPTANCE=1 E2E_REDIS_CONTAINER=\u003cisolated redis\u003e pnpm check:ui:\n 18 passed (12 demo incl. real C16 browser + 6 Keycloak OIDC incl. role change\n and Redis outage recovery) / 0 failed, floor 16\n- pnpm check:governance (required): passed, no regressions\nD3 preservation manifest: 65 files (25 SQL) sha256-identical; no migration.\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/762e9e42f6d425247623bc89c1934f366bae746f","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-28T09:35:19-07:00","added":[],"removed":[],"modified":["reports/agent-workflow-parity.latest.json","reports/backend-behavior-parity.latest.json","reports/configuration-consumer.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-kit.latest.json","reports/governance.latest.json","reports/identity-boundary.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/transactional-write-chain.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","reports/write-governance.latest.json"]},{"id":"f8477be5d68457c21f62006d0da78cb470a2ffcd","message":"fix(realtime): treat an unavailable session store as retryable, not logout (WO-SR-F8); register F7\n\n- SessionRevalidator reports an end reason: missing session or principal/role\n change -\u003e revoked; store error or lookup timeout -\u003e unavailable. The BFF guard\n still ends the stream (fail-closed) but sends session.unavailable for the latter.\n- useRealtime: on any session end or a refused EventSource handshake, read\n /auth/session directly; only an explicit unauthenticated view goes to login,\n otherwise (incl. 503/network) reconnect with 1-10s backoff and the last cursor.\n page.tsx keeps the workspace when a session refetch fails and auto-retries\n when there is no data yet.\n- Tests: identity end-reason + unavailable-frame units; real Keycloak role-change\n case (covers the BFF wiring of the role comparison); Redis outage/recovery\n browser case (opt-in via E2E_REDIS_CONTAINER).\n- WO-SR-F7 (addBusinessMinutes cross-day rounding, preserved contract) recorded\n in the implementation record and CLAUDE.md G18; not fixed here.\nRatchet 46 files / 339 cases / 319 runtime / 16 UI. Gates run separately.\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/f8477be5d68457c21f62006d0da78cb470a2ffcd","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-28T09:25:47-07:00","added":[],"removed":[],"modified":["CLAUDE.md","README.md","apps/web/e2e/oidc.acceptance.spec.ts","apps/web/src/app/page.tsx","apps/web/src/hooks/useRealtime.ts","docs/长连接在线复核实施记录-2026-10-28.md","governance/d3-test-scope.json","packages/identity/src/index.ts","packages/identity/src/realtime-session.test.ts","packages/identity/src/realtime-session.ts","packages/identity/src/sse-session-guard.test.ts","packages/identity/src/sse-session-guard.ts","scripts/lib/governance-baseline.test.mjs"]},{"id":"b1b104490cc720ddd2e4f116bf65bca66dbf4e4d","message":"test: record WO-SR-F1..F6 review-fix acceptance on clean 204e988 (runtime 323/floor 317 x2, UI 16/floor 15)\n\nAll reports come from committed 204e988 (worktreeDirty=false):\n- pnpm check: pass; lint/typecheck re-run with turbo --force 19/19\n- pnpm check:runtime run 1: 323 passed / 0 failed, floor 317 (kept outside the\n repo); run 2 (these reports): 323 passed / 0 failed; both include the 6 real\n C16 cases against an isolated 04 enterprise-platform 6ae2a13 shared clone\n (AUTH_MODE=jwt, PLATFORM_PERSISTENCE_ENABLED=1)\n- C16_BROWSER_ACCEPTANCE=1 pnpm check:ui: 16 passed (12 demo incl. real C16\n browser + 4 Keycloak OIDC) / 0 failed, floor 15\n- pnpm check:governance (required): passed, no regressions\nD3 preservation manifest: 65 files (25 SQL) sha256-identical; no migration.\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/b1b104490cc720ddd2e4f116bf65bca66dbf4e4d","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-28T08:30:07-07:00","added":[],"removed":[],"modified":["reports/agent-workflow-parity.latest.json","reports/backend-behavior-parity.latest.json","reports/configuration-consumer.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-kit.latest.json","reports/governance.latest.json","reports/identity-boundary.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/transactional-write-chain.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","reports/write-governance.latest.json"]}],"total_commits":0,"head_commit":{"id":"3b2c4c0d307dde46aec78598cce4fb8b25372657","message":"test: record WO-SR-F9 acceptance on clean ffdfb13 (runtime 325/floor 319, UI 18/floor 16)\n\nAll reports come from committed ffdfb13 (worktreeDirty=false); gates ran\n17:15-17:21Z (outside the WO-SR-F7 15:00-16:00 UTC window):\n- pnpm check: pass; lint/typecheck re-run with turbo --force 19/19\n- pnpm check:runtime: 325 passed / 0 failed, floor 319, including the 6 real\n C16 cases against an isolated 04 enterprise-platform 6ae2a13 shared clone\n (rerun because the source fingerprint changed; only e2e and the UI script did)\n- C16_BROWSER_ACCEPTANCE=1 E2E_REDIS_CONTAINER=\u003cisolated redis\u003e pnpm check:ui\n (OIDC web with REALTIME_SESSION_RECHECK_SECONDS=5): 18 passed / 0 failed,\n floor 16\n- pnpm check:governance (required): passed, no regressions\nD3 preservation manifest: 65 files (25 SQL) sha256-identical; no migration.\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/3b2c4c0d307dde46aec78598cce4fb8b25372657","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-28T10:21:15-07:00","added":[],"removed":[],"modified":["reports/agent-workflow-parity.latest.json","reports/backend-behavior-parity.latest.json","reports/configuration-consumer.latest.json","reports/contract-consumers.latest.json","reports/docs-truth.latest.json","reports/dual-backend-parity.latest.json","reports/fork-readiness.latest.json","reports/governance-docs.latest.json","reports/governance-kit.latest.json","reports/governance.latest.json","reports/identity-boundary.latest.json","reports/migrations.latest.json","reports/naming.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/statemachine-write-guard.latest.json","reports/transactional-write-chain.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json","reports/write-governance.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":false,"fork":false,"template":false,"mirror":false,"size":4222,"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-28T16:24:36+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"}}... |