{"ts":"2026-06-01T19:52:28+08:00","date":"2026-06-01","gate":"changelog","result":"PASS","detail":"2026-06-01-asyncssh-sftp-api-fix.md 25lines"} {"ts":"2026-06-01T19:52:28+08:00","date":"2026-06-01","gate":"audit","result":"PASS","detail":"2026-06-01-bug-audit.md"} {"ts":"2026-06-01T19:52:28+08:00","date":"2026-06-01","gate":"test","result":"BLOCK","detail":"tests failed"} {"ts":"2026-06-01T19:52:28+08:00","date":"2026-06-01","gate":"lint","result":"SKIP","detail":"ruff not installed"} {"ts":"2026-06-01T19:52:28+08:00","date":"2026-06-01","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-01T19:52:28+08:00","date":"2026-06-01","gate":"security","result":"SKIP","detail":"bandit not installed"} {"ts":"2026-06-01T19:52:28+08:00","date":"2026-06-01","gate":"review","result":"BLOCK","detail":"audit missing changed files"} {"ts":"2026-06-01T19:52:28+08:00","date":"2026-06-01","gate":"summary","result":"BLOCK","detail":"5/7"} {"ts":"2026-06-04T01:02:50+08:00","date":"2026-06-04","gate":"changelog","result":"PASS","detail":"2026-06-04-encoding-ubuntu-phase1.md 32lines"} {"ts":"2026-06-04T01:02:50+08:00","date":"2026-06-04","gate":"audit","result":"BLOCK","detail":"missing sections"} {"ts":"2026-06-04T01:02:50+08:00","date":"2026-06-04","gate":"test","result":"BLOCK","detail":"tests failed"} {"ts":"2026-06-04T01:02:50+08:00","date":"2026-06-04","gate":"lint","result":"SKIP","detail":"ruff not installed"} {"ts":"2026-06-04T01:02:50+08:00","date":"2026-06-04","gate":"import","result":"BLOCK","detail":"import/syntax error"} {"ts":"2026-06-04T01:02:50+08:00","date":"2026-06-04","gate":"security","result":"SKIP","detail":"bandit not installed"} {"ts":"2026-06-04T01:02:50+08:00","date":"2026-06-04","gate":"review","result":"BLOCK","detail":"audit missing changed files"} {"ts":"2026-06-04T01:02:50+08:00","date":"2026-06-04","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-04T01:02:50+08:00","date":"2026-06-04","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-04T01:02:50+08:00","date":"2026-06-04","gate":"summary","result":"BLOCK","detail":"3/7"} {"ts":"2026-06-04T13:12:37+08:00","date":"2026-06-04","gate":"changelog","result":"PASS","detail":"2026-06-04-production-deploy.md 36lines"} {"ts":"2026-06-04T13:12:37+08:00","date":"2026-06-04","gate":"audit","result":"PASS","detail":"2026-06-04-production-deploy.md"} {"ts":"2026-06-04T13:12:37+08:00","date":"2026-06-04","gate":"test","result":"BLOCK","detail":"tests failed"} {"ts":"2026-06-04T13:12:37+08:00","date":"2026-06-04","gate":"lint","result":"SKIP","detail":"ruff not installed"} {"ts":"2026-06-04T13:12:37+08:00","date":"2026-06-04","gate":"import","result":"BLOCK","detail":"import/syntax error"} {"ts":"2026-06-04T13:12:37+08:00","date":"2026-06-04","gate":"security","result":"SKIP","detail":"bandit not installed"} {"ts":"2026-06-04T13:12:37+08:00","date":"2026-06-04","gate":"review","result":"BLOCK","detail":"audit missing changed files"} {"ts":"2026-06-04T13:12:37+08:00","date":"2026-06-04","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-04T13:12:37+08:00","date":"2026-06-04","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-04T13:12:37+08:00","date":"2026-06-04","gate":"summary","result":"BLOCK","detail":"4/7"} {"ts":"2026-06-04T13:12:52+08:00","date":"2026-06-04","gate":"changelog","result":"PASS","detail":"2026-06-04-production-deploy.md 36lines"} {"ts":"2026-06-04T13:12:52+08:00","date":"2026-06-04","gate":"audit","result":"PASS","detail":"2026-06-04-production-deploy.md"} {"ts":"2026-06-04T13:12:52+08:00","date":"2026-06-04","gate":"test","result":"BLOCK","detail":"tests failed"} {"ts":"2026-06-04T13:12:52+08:00","date":"2026-06-04","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-04T13:12:52+08:00","date":"2026-06-04","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-04T13:12:52+08:00","date":"2026-06-04","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-04T13:12:52+08:00","date":"2026-06-04","gate":"review","result":"PASS","detail":"audit covers changes"} {"ts":"2026-06-04T13:12:52+08:00","date":"2026-06-04","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-04T13:12:52+08:00","date":"2026-06-04","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-04T13:12:52+08:00","date":"2026-06-04","gate":"summary","result":"BLOCK","detail":"6/7"} {"ts":"2026-06-04T13:27:18+08:00","date":"2026-06-04","gate":"changelog","result":"PASS","detail":"2026-06-04-production-deploy.md 36lines"} {"ts":"2026-06-04T13:27:18+08:00","date":"2026-06-04","gate":"audit","result":"PASS","detail":"2026-06-04-production-deploy.md"} {"ts":"2026-06-04T13:27:18+08:00","date":"2026-06-04","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-04T13:27:18+08:00","date":"2026-06-04","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-04T13:27:18+08:00","date":"2026-06-04","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-04T13:27:18+08:00","date":"2026-06-04","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-04T13:27:18+08:00","date":"2026-06-04","gate":"review","result":"PASS","detail":"audit covers changes"} {"ts":"2026-06-04T13:27:18+08:00","date":"2026-06-04","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-04T13:27:18+08:00","date":"2026-06-04","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-04T13:27:18+08:00","date":"2026-06-04","gate":"summary","result":"PASS","detail":"7/7"} {"ts":"2026-06-04T13:29:40+08:00","date":"2026-06-04","gate":"changelog","result":"PASS","detail":"2026-06-04-production-deploy.md 36lines"} {"ts":"2026-06-04T13:29:40+08:00","date":"2026-06-04","gate":"audit","result":"PASS","detail":"2026-06-04-production-deploy.md"} {"ts":"2026-06-04T13:29:40+08:00","date":"2026-06-04","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-04T13:29:40+08:00","date":"2026-06-04","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-04T13:29:40+08:00","date":"2026-06-04","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-04T13:29:40+08:00","date":"2026-06-04","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-04T13:29:40+08:00","date":"2026-06-04","gate":"review","result":"PASS","detail":"audit covers changes"} {"ts":"2026-06-04T13:29:40+08:00","date":"2026-06-04","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-04T13:29:40+08:00","date":"2026-06-04","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-04T13:29:40+08:00","date":"2026-06-04","gate":"summary","result":"PASS","detail":"7/7"} {"ts":"2026-06-04T14:08:04+08:00","date":"2026-06-04","gate":"changelog","result":"PASS","detail":"2026-06-04-production-deploy.md 36lines"} {"ts":"2026-06-04T14:08:04+08:00","date":"2026-06-04","gate":"audit","result":"PASS","detail":"2026-06-04-production-deploy.md"} {"ts":"2026-06-04T14:08:04+08:00","date":"2026-06-04","gate":"test","result":"BLOCK","detail":"tests failed"} {"ts":"2026-06-04T14:08:04+08:00","date":"2026-06-04","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-04T14:08:04+08:00","date":"2026-06-04","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-04T14:08:04+08:00","date":"2026-06-04","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-04T14:08:04+08:00","date":"2026-06-04","gate":"review","result":"BLOCK","detail":"audit missing changed files"} {"ts":"2026-06-04T14:08:04+08:00","date":"2026-06-04","gate":"shell_eol","result":"BLOCK","detail":"CR in tracked sh"} {"ts":"2026-06-04T14:08:04+08:00","date":"2026-06-04","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-04T14:08:04+08:00","date":"2026-06-04","gate":"summary","result":"BLOCK","detail":"5/7"} {"ts":"2026-06-04T15:56:02+08:00","date":"2026-06-04","gate":"changelog","result":"PASS","detail":"2026-06-04-risk-acceptance-single-operator.md 32lines"} {"ts":"2026-06-04T15:56:02+08:00","date":"2026-06-04","gate":"audit","result":"PASS","detail":"2026-06-04-code-review-p1-p2-batch3.md"} {"ts":"2026-06-04T15:56:02+08:00","date":"2026-06-04","gate":"test","result":"BLOCK","detail":"tests failed"} {"ts":"2026-06-04T15:56:02+08:00","date":"2026-06-04","gate":"lint","result":"SKIP","detail":"ruff not installed"} {"ts":"2026-06-04T15:56:02+08:00","date":"2026-06-04","gate":"import","result":"BLOCK","detail":"import/syntax error"} {"ts":"2026-06-04T15:56:02+08:00","date":"2026-06-04","gate":"security","result":"SKIP","detail":"bandit not installed"} {"ts":"2026-06-04T15:56:02+08:00","date":"2026-06-04","gate":"review","result":"BLOCK","detail":"audit missing changed files"} {"ts":"2026-06-04T15:56:02+08:00","date":"2026-06-04","gate":"shell_eol","result":"BLOCK","detail":"CR in tracked sh"} {"ts":"2026-06-04T15:56:02+08:00","date":"2026-06-04","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-04T15:56:02+08:00","date":"2026-06-04","gate":"summary","result":"BLOCK","detail":"4/7"} {"ts":"2026-06-04T15:58:11+08:00","date":"2026-06-04","gate":"changelog","result":"PASS","detail":"2026-06-04-risk-acceptance-single-operator.md 32lines"} {"ts":"2026-06-04T15:58:11+08:00","date":"2026-06-04","gate":"audit","result":"PASS","detail":"2026-06-04-code-review-production-deploy.md"} {"ts":"2026-06-04T15:58:11+08:00","date":"2026-06-04","gate":"test","result":"BLOCK","detail":"tests failed"} {"ts":"2026-06-04T15:58:11+08:00","date":"2026-06-04","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-04T15:58:11+08:00","date":"2026-06-04","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-04T15:58:11+08:00","date":"2026-06-04","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-04T15:58:11+08:00","date":"2026-06-04","gate":"review","result":"BLOCK","detail":"audit missing changed files"} {"ts":"2026-06-04T15:58:11+08:00","date":"2026-06-04","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-04T15:58:11+08:00","date":"2026-06-04","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-04T15:58:11+08:00","date":"2026-06-04","gate":"summary","result":"BLOCK","detail":"5/7"} {"ts":"2026-06-04T16:00:07+08:00","date":"2026-06-04","gate":"changelog","result":"PASS","detail":"2026-06-04-risk-acceptance-single-operator.md 32lines"} {"ts":"2026-06-04T16:00:07+08:00","date":"2026-06-04","gate":"audit","result":"PASS","detail":"2026-06-04-code-review-production-deploy.md"} {"ts":"2026-06-04T16:00:07+08:00","date":"2026-06-04","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-04T16:00:07+08:00","date":"2026-06-04","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-04T16:00:07+08:00","date":"2026-06-04","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-04T16:00:07+08:00","date":"2026-06-04","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-04T16:00:07+08:00","date":"2026-06-04","gate":"review","result":"BLOCK","detail":"audit missing changed files"} {"ts":"2026-06-04T16:00:07+08:00","date":"2026-06-04","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-04T16:00:07+08:00","date":"2026-06-04","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-04T16:00:07+08:00","date":"2026-06-04","gate":"summary","result":"BLOCK","detail":"6/7"} {"ts":"2026-06-04T17:20:14+08:00","date":"2026-06-04","gate":"changelog","result":"PASS","detail":"2026-06-04-audit-wave-d8-phase1-closure.md 27lines"} {"ts":"2026-06-04T17:20:14+08:00","date":"2026-06-04","gate":"audit","result":"PASS","detail":"2026-06-04-code-review-production-deploy.md"} {"ts":"2026-06-04T17:20:14+08:00","date":"2026-06-04","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-04T17:20:14+08:00","date":"2026-06-04","gate":"lint","result":"SKIP","detail":"ruff not installed"} {"ts":"2026-06-04T17:20:14+08:00","date":"2026-06-04","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-04T17:20:14+08:00","date":"2026-06-04","gate":"security","result":"SKIP","detail":"bandit not installed"} {"ts":"2026-06-04T17:20:14+08:00","date":"2026-06-04","gate":"review","result":"BLOCK","detail":"audit missing changed files"} {"ts":"2026-06-04T17:20:14+08:00","date":"2026-06-04","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-04T17:20:14+08:00","date":"2026-06-04","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-04T17:20:14+08:00","date":"2026-06-04","gate":"summary","result":"BLOCK","detail":"6/7"} {"ts":"2026-06-04T19:09:52+08:00","date":"2026-06-04","gate":"changelog","result":"PASS","detail":"2026-06-04-l4-local-playwright-pass.md 35lines"} {"ts":"2026-06-04T19:09:52+08:00","date":"2026-06-04","gate":"audit","result":"PASS","detail":"2026-06-04-code-review-production-deploy.md"} {"ts":"2026-06-04T19:09:52+08:00","date":"2026-06-04","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-04T19:09:52+08:00","date":"2026-06-04","gate":"lint","result":"SKIP","detail":"ruff not installed"} {"ts":"2026-06-04T19:09:52+08:00","date":"2026-06-04","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-04T19:09:52+08:00","date":"2026-06-04","gate":"security","result":"SKIP","detail":"bandit not installed"} {"ts":"2026-06-04T19:09:52+08:00","date":"2026-06-04","gate":"review","result":"BLOCK","detail":"audit missing changed files"} {"ts":"2026-06-04T19:09:52+08:00","date":"2026-06-04","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-04T19:09:52+08:00","date":"2026-06-04","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-04T19:09:52+08:00","date":"2026-06-04","gate":"summary","result":"BLOCK","detail":"6/7"} {"ts":"2026-06-04T19:30:22+08:00","date":"2026-06-04","gate":"changelog","result":"PASS","detail":"2026-06-04-audit-phase2-p2-7-9-closure.md 33lines"} {"ts":"2026-06-04T19:30:22+08:00","date":"2026-06-04","gate":"audit","result":"PASS","detail":"2026-06-04-plugin-audit-gate7-closure.md"} {"ts":"2026-06-04T19:30:22+08:00","date":"2026-06-04","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-04T19:30:22+08:00","date":"2026-06-04","gate":"lint","result":"SKIP","detail":"ruff not installed"} {"ts":"2026-06-04T19:30:22+08:00","date":"2026-06-04","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-04T19:30:22+08:00","date":"2026-06-04","gate":"security","result":"SKIP","detail":"bandit not installed"} {"ts":"2026-06-04T19:30:22+08:00","date":"2026-06-04","gate":"review","result":"PASS","detail":"audit covers changes"} {"ts":"2026-06-04T19:30:22+08:00","date":"2026-06-04","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-04T19:30:22+08:00","date":"2026-06-04","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-04T19:30:22+08:00","date":"2026-06-04","gate":"summary","result":"PASS","detail":"7/7"} {"ts":"2026-06-04T19:34:06+08:00","date":"2026-06-04","gate":"changelog","result":"PASS","detail":"2026-06-04-audit-frontend-14p-batch-deep.md 37lines"} {"ts":"2026-06-04T19:34:06+08:00","date":"2026-06-04","gate":"audit","result":"PASS","detail":"2026-06-04-plugin-audit-gate7-closure.md"} {"ts":"2026-06-04T19:34:06+08:00","date":"2026-06-04","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-04T19:34:06+08:00","date":"2026-06-04","gate":"lint","result":"SKIP","detail":"ruff not installed"} {"ts":"2026-06-04T19:34:06+08:00","date":"2026-06-04","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-04T19:34:06+08:00","date":"2026-06-04","gate":"security","result":"SKIP","detail":"bandit not installed"} {"ts":"2026-06-04T19:34:06+08:00","date":"2026-06-04","gate":"review","result":"PASS","detail":"audit covers changes"} {"ts":"2026-06-04T19:34:06+08:00","date":"2026-06-04","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-04T19:34:06+08:00","date":"2026-06-04","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-04T19:34:06+08:00","date":"2026-06-04","gate":"summary","result":"PASS","detail":"7/7"} {"ts":"2026-06-04T19:35:26+08:00","date":"2026-06-04","gate":"changelog","result":"PASS","detail":"2026-06-04-audit-plugin-run-final.md 30lines"} {"ts":"2026-06-04T19:35:26+08:00","date":"2026-06-04","gate":"audit","result":"PASS","detail":"2026-06-04-plugin-audit-gate7-closure.md"} {"ts":"2026-06-04T19:35:26+08:00","date":"2026-06-04","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-04T19:35:26+08:00","date":"2026-06-04","gate":"lint","result":"SKIP","detail":"ruff not installed"} {"ts":"2026-06-04T19:35:26+08:00","date":"2026-06-04","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-04T19:35:26+08:00","date":"2026-06-04","gate":"security","result":"SKIP","detail":"bandit not installed"} {"ts":"2026-06-04T19:35:26+08:00","date":"2026-06-04","gate":"review","result":"PASS","detail":"audit covers changes"} {"ts":"2026-06-04T19:35:26+08:00","date":"2026-06-04","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-04T19:35:26+08:00","date":"2026-06-04","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-04T19:35:26+08:00","date":"2026-06-04","gate":"summary","result":"PASS","detail":"7/7"} {"ts":"2026-06-04T19:58:01+08:00","date":"2026-06-04","gate":"changelog","result":"PASS","detail":"2026-06-04-docs-consolidation.md 37lines"} {"ts":"2026-06-04T19:58:01+08:00","date":"2026-06-04","gate":"audit","result":"PASS","detail":"2026-06-04-docs-consolidation.md"} {"ts":"2026-06-04T19:58:01+08:00","date":"2026-06-04","gate":"test","result":"BLOCK","detail":"tests failed"} {"ts":"2026-06-04T19:58:01+08:00","date":"2026-06-04","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-04T19:58:01+08:00","date":"2026-06-04","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-04T19:58:01+08:00","date":"2026-06-04","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-04T19:58:01+08:00","date":"2026-06-04","gate":"review","result":"BLOCK","detail":"audit missing changed files"} {"ts":"2026-06-04T19:58:01+08:00","date":"2026-06-04","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-04T19:58:01+08:00","date":"2026-06-04","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-04T19:58:01+08:00","date":"2026-06-04","gate":"summary","result":"BLOCK","detail":"5/7"} {"ts":"2026-06-04T23:47:38+08:00","date":"2026-06-04","gate":"changelog","result":"PASS","detail":"2026-06-04-audit-phase2-p2-6-sync-engine-full.md 32lines"} {"ts":"2026-06-04T23:47:38+08:00","date":"2026-06-04","gate":"audit","result":"PASS","detail":"2026-06-04-docs-consolidation.md"} {"ts":"2026-06-04T23:47:38+08:00","date":"2026-06-04","gate":"test","result":"BLOCK","detail":"tests failed"} {"ts":"2026-06-04T23:47:38+08:00","date":"2026-06-04","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-04T23:47:38+08:00","date":"2026-06-04","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-04T23:47:38+08:00","date":"2026-06-04","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-04T23:47:38+08:00","date":"2026-06-04","gate":"review","result":"BLOCK","detail":"audit missing changed files"} {"ts":"2026-06-04T23:47:38+08:00","date":"2026-06-04","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-04T23:47:38+08:00","date":"2026-06-04","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-04T23:47:38+08:00","date":"2026-06-04","gate":"summary","result":"BLOCK","detail":"5/7"} {"ts":"2026-06-07T01:44:38+08:00","date":"2026-06-07","gate":"changelog","result":"PASS","detail":"2026-06-07-install-locked-404.md 34lines"} {"ts":"2026-06-07T01:44:38+08:00","date":"2026-06-07","gate":"audit","result":"BLOCK","detail":"file not found"} {"ts":"2026-06-07T01:44:38+08:00","date":"2026-06-07","gate":"test","result":"BLOCK","detail":"tests failed"} {"ts":"2026-06-07T01:44:38+08:00","date":"2026-06-07","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-07T01:44:38+08:00","date":"2026-06-07","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-07T01:44:38+08:00","date":"2026-06-07","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-07T01:44:38+08:00","date":"2026-06-07","gate":"review","result":"BLOCK","detail":"no audit file"} {"ts":"2026-06-07T01:44:38+08:00","date":"2026-06-07","gate":"shell_eol","result":"BLOCK","detail":"CR in tracked sh"} {"ts":"2026-06-07T01:44:38+08:00","date":"2026-06-07","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-07T01:44:38+08:00","date":"2026-06-07","gate":"summary","result":"BLOCK","detail":"4/7"} {"ts":"2026-06-07T03:16:37+08:00","date":"2026-06-07","gate":"changelog","result":"PASS","detail":"2026-06-07-agent-per-server-key-enforced.md 47lines"} {"ts":"2026-06-07T03:16:37+08:00","date":"2026-06-07","gate":"audit","result":"BLOCK","detail":"file not found"} {"ts":"2026-06-07T03:16:37+08:00","date":"2026-06-07","gate":"test","result":"BLOCK","detail":"tests failed"} {"ts":"2026-06-07T03:16:37+08:00","date":"2026-06-07","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-07T03:16:37+08:00","date":"2026-06-07","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-07T03:16:37+08:00","date":"2026-06-07","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-07T03:16:37+08:00","date":"2026-06-07","gate":"review","result":"BLOCK","detail":"no audit file"} {"ts":"2026-06-07T03:16:37+08:00","date":"2026-06-07","gate":"shell_eol","result":"BLOCK","detail":"CR in tracked sh"} {"ts":"2026-06-07T03:16:37+08:00","date":"2026-06-07","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-07T03:16:37+08:00","date":"2026-06-07","gate":"summary","result":"BLOCK","detail":"4/7"} {"ts":"2026-06-07T03:17:09+08:00","date":"2026-06-07","gate":"changelog","result":"PASS","detail":"2026-06-07-agent-per-server-key-enforced.md 47lines"} {"ts":"2026-06-07T03:17:09+08:00","date":"2026-06-07","gate":"audit","result":"PASS","detail":"2026-06-07-bl06-agent-per-server-key.md"} {"ts":"2026-06-07T03:17:09+08:00","date":"2026-06-07","gate":"test","result":"BLOCK","detail":"tests failed"} {"ts":"2026-06-07T03:17:09+08:00","date":"2026-06-07","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-07T03:17:09+08:00","date":"2026-06-07","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-07T03:17:09+08:00","date":"2026-06-07","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-07T03:17:09+08:00","date":"2026-06-07","gate":"review","result":"BLOCK","detail":"audit missing changed files"} {"ts":"2026-06-07T03:17:09+08:00","date":"2026-06-07","gate":"shell_eol","result":"BLOCK","detail":"CR in tracked sh"} {"ts":"2026-06-07T03:17:09+08:00","date":"2026-06-07","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-07T03:17:09+08:00","date":"2026-06-07","gate":"summary","result":"BLOCK","detail":"5/7"} {"ts":"2026-06-07T12:01:55+08:00","date":"2026-06-07","gate":"changelog","result":"PASS","detail":"2026-06-07-code-review-followups.md 29lines"} {"ts":"2026-06-07T12:01:55+08:00","date":"2026-06-07","gate":"audit","result":"PASS","detail":"2026-06-07-bl06-agent-per-server-key.md"} {"ts":"2026-06-07T12:01:55+08:00","date":"2026-06-07","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-07T12:01:55+08:00","date":"2026-06-07","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-07T12:01:55+08:00","date":"2026-06-07","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-07T12:01:55+08:00","date":"2026-06-07","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-07T12:01:55+08:00","date":"2026-06-07","gate":"review","result":"BLOCK","detail":"audit missing changed files"} {"ts":"2026-06-07T12:01:55+08:00","date":"2026-06-07","gate":"shell_eol","result":"BLOCK","detail":"CR in tracked sh"} {"ts":"2026-06-07T12:01:55+08:00","date":"2026-06-07","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-07T12:01:55+08:00","date":"2026-06-07","gate":"summary","result":"BLOCK","detail":"6/7"} {"ts":"2026-06-07T12:02:39+08:00","date":"2026-06-07","gate":"changelog","result":"PASS","detail":"2026-06-07-code-review-followups.md 42lines"} {"ts":"2026-06-07T12:02:39+08:00","date":"2026-06-07","gate":"audit","result":"PASS","detail":"2026-06-07-code-review-followups.md"} {"ts":"2026-06-07T12:02:39+08:00","date":"2026-06-07","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-07T12:02:39+08:00","date":"2026-06-07","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-07T12:02:39+08:00","date":"2026-06-07","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-07T12:02:39+08:00","date":"2026-06-07","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-07T12:02:39+08:00","date":"2026-06-07","gate":"review","result":"BLOCK","detail":"audit missing changed files"} {"ts":"2026-06-07T12:02:39+08:00","date":"2026-06-07","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-07T12:02:39+08:00","date":"2026-06-07","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-07T12:02:39+08:00","date":"2026-06-07","gate":"summary","result":"BLOCK","detail":"6/7"} {"ts":"2026-06-07T12:02:49+08:00","date":"2026-06-07","gate":"changelog","result":"PASS","detail":"2026-06-07-code-review-followups.md 42lines"} {"ts":"2026-06-07T12:02:49+08:00","date":"2026-06-07","gate":"audit","result":"PASS","detail":"2026-06-07-code-review-followups.md"} {"ts":"2026-06-07T12:02:49+08:00","date":"2026-06-07","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-07T12:02:49+08:00","date":"2026-06-07","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-07T12:02:49+08:00","date":"2026-06-07","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-07T12:02:49+08:00","date":"2026-06-07","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-07T12:02:49+08:00","date":"2026-06-07","gate":"review","result":"PASS","detail":"audit covers changes"} {"ts":"2026-06-07T12:02:49+08:00","date":"2026-06-07","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-07T12:02:49+08:00","date":"2026-06-07","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-07T12:02:49+08:00","date":"2026-06-07","gate":"summary","result":"PASS","detail":"7/7"} {"ts":"2026-06-07T12:32:11+08:00","date":"2026-06-07","gate":"changelog","result":"PASS","detail":"2026-06-07-code-review-followups.md 42lines"} {"ts":"2026-06-07T12:32:11+08:00","date":"2026-06-07","gate":"audit","result":"PASS","detail":"2026-06-07-code-review-followups.md"} {"ts":"2026-06-07T12:32:11+08:00","date":"2026-06-07","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-07T12:32:11+08:00","date":"2026-06-07","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-07T12:32:11+08:00","date":"2026-06-07","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-07T12:32:11+08:00","date":"2026-06-07","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-07T12:32:11+08:00","date":"2026-06-07","gate":"review","result":"PASS","detail":"audit covers changes"} {"ts":"2026-06-07T12:32:11+08:00","date":"2026-06-07","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-07T12:32:11+08:00","date":"2026-06-07","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-07T12:32:11+08:00","date":"2026-06-07","gate":"summary","result":"PASS","detail":"7/7"} {"ts":"2026-06-07T12:35:38+08:00","date":"2026-06-07","gate":"changelog","result":"PASS","detail":"2026-06-07-deploy-ssh-secrets.md 29lines"} {"ts":"2026-06-07T12:35:38+08:00","date":"2026-06-07","gate":"audit","result":"PASS","detail":"2026-06-07-code-review-followups.md"} {"ts":"2026-06-07T12:35:38+08:00","date":"2026-06-07","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-07T12:35:38+08:00","date":"2026-06-07","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-07T12:35:38+08:00","date":"2026-06-07","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-07T12:35:38+08:00","date":"2026-06-07","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-07T12:35:38+08:00","date":"2026-06-07","gate":"review","result":"BLOCK","detail":"audit missing changed files"} {"ts":"2026-06-07T12:35:38+08:00","date":"2026-06-07","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-07T12:35:38+08:00","date":"2026-06-07","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-07T12:35:38+08:00","date":"2026-06-07","gate":"summary","result":"BLOCK","detail":"6/7"} {"ts":"2026-06-07T12:35:53+08:00","date":"2026-06-07","gate":"changelog","result":"PASS","detail":"2026-06-07-deploy-ssh-secrets.md 29lines"} {"ts":"2026-06-07T12:35:53+08:00","date":"2026-06-07","gate":"audit","result":"PASS","detail":"2026-06-07-code-review-followups.md"} {"ts":"2026-06-07T12:35:53+08:00","date":"2026-06-07","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-07T12:35:53+08:00","date":"2026-06-07","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-07T12:35:53+08:00","date":"2026-06-07","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-07T12:35:53+08:00","date":"2026-06-07","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-07T12:35:53+08:00","date":"2026-06-07","gate":"review","result":"PASS","detail":"audit covers changes"} {"ts":"2026-06-07T12:35:53+08:00","date":"2026-06-07","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-07T12:35:53+08:00","date":"2026-06-07","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-07T12:35:53+08:00","date":"2026-06-07","gate":"summary","result":"PASS","detail":"7/7"} {"ts":"2026-06-07T17:25:18+08:00","date":"2026-06-07","gate":"changelog","result":"PASS","detail":"2026-06-07-probe-curl-parse-fix.md 35lines"} {"ts":"2026-06-07T17:25:18+08:00","date":"2026-06-07","gate":"audit","result":"PASS","detail":"2026-06-07-code-review-followups.md"} {"ts":"2026-06-07T17:25:18+08:00","date":"2026-06-07","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-07T17:25:18+08:00","date":"2026-06-07","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-07T17:25:18+08:00","date":"2026-06-07","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-07T17:25:18+08:00","date":"2026-06-07","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-07T17:25:18+08:00","date":"2026-06-07","gate":"review","result":"PASS","detail":"audit covers changes"} {"ts":"2026-06-07T17:25:18+08:00","date":"2026-06-07","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-07T17:25:18+08:00","date":"2026-06-07","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-07T17:25:18+08:00","date":"2026-06-07","gate":"summary","result":"PASS","detail":"7/7"} {"ts":"2026-06-07T18:05:19+08:00","date":"2026-06-07","gate":"changelog","result":"PASS","detail":"2026-06-07-probe-curl-parse-fix.md 39lines"} {"ts":"2026-06-07T18:05:19+08:00","date":"2026-06-07","gate":"audit","result":"PASS","detail":"2026-06-07-code-review-followups.md"} {"ts":"2026-06-07T18:05:19+08:00","date":"2026-06-07","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-07T18:05:19+08:00","date":"2026-06-07","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-07T18:05:19+08:00","date":"2026-06-07","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-07T18:05:19+08:00","date":"2026-06-07","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-07T18:05:19+08:00","date":"2026-06-07","gate":"review","result":"PASS","detail":"audit covers changes"} {"ts":"2026-06-07T18:05:19+08:00","date":"2026-06-07","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-07T18:05:19+08:00","date":"2026-06-07","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-07T18:05:19+08:00","date":"2026-06-07","gate":"summary","result":"PASS","detail":"7/7"} {"ts":"2026-06-07T19:29:17+08:00","date":"2026-06-07","gate":"changelog","result":"PASS","detail":"2026-06-07-settings-telegram-detect-chat-id.md 29lines"} {"ts":"2026-06-07T19:29:17+08:00","date":"2026-06-07","gate":"audit","result":"PASS","detail":"2026-06-07-code-review-followups.md"} {"ts":"2026-06-07T19:29:17+08:00","date":"2026-06-07","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-07T19:29:17+08:00","date":"2026-06-07","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-07T19:29:17+08:00","date":"2026-06-07","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-07T19:29:17+08:00","date":"2026-06-07","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-07T19:29:17+08:00","date":"2026-06-07","gate":"review","result":"BLOCK","detail":"audit missing changed files"} {"ts":"2026-06-07T19:29:17+08:00","date":"2026-06-07","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-07T19:29:17+08:00","date":"2026-06-07","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-07T19:29:17+08:00","date":"2026-06-07","gate":"summary","result":"BLOCK","detail":"6/7"} {"ts":"2026-06-07T19:29:31+08:00","date":"2026-06-07","gate":"changelog","result":"PASS","detail":"2026-06-07-settings-telegram-detect-chat-id.md 29lines"} {"ts":"2026-06-07T19:29:31+08:00","date":"2026-06-07","gate":"audit","result":"BLOCK","detail":"missing sections"} {"ts":"2026-06-07T19:29:31+08:00","date":"2026-06-07","gate":"test","result":"BLOCK","detail":"tests failed"} {"ts":"2026-06-07T19:29:31+08:00","date":"2026-06-07","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-07T19:29:31+08:00","date":"2026-06-07","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-07T19:29:31+08:00","date":"2026-06-07","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-07T19:29:31+08:00","date":"2026-06-07","gate":"review","result":"BLOCK","detail":"audit missing changed files"} {"ts":"2026-06-07T19:29:31+08:00","date":"2026-06-07","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-07T19:29:31+08:00","date":"2026-06-07","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-07T19:29:31+08:00","date":"2026-06-07","gate":"summary","result":"BLOCK","detail":"4/7"} {"ts":"2026-06-07T19:29:59+08:00","date":"2026-06-07","gate":"changelog","result":"PASS","detail":"2026-06-07-settings-telegram-detect-chat-id.md 29lines"} {"ts":"2026-06-07T19:29:59+08:00","date":"2026-06-07","gate":"audit","result":"BLOCK","detail":"missing sections"} {"ts":"2026-06-07T19:29:59+08:00","date":"2026-06-07","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-07T19:29:59+08:00","date":"2026-06-07","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-07T19:29:59+08:00","date":"2026-06-07","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-07T19:29:59+08:00","date":"2026-06-07","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-07T19:29:59+08:00","date":"2026-06-07","gate":"review","result":"BLOCK","detail":"audit missing changed files"} {"ts":"2026-06-07T19:29:59+08:00","date":"2026-06-07","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-07T19:29:59+08:00","date":"2026-06-07","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-07T19:29:59+08:00","date":"2026-06-07","gate":"summary","result":"BLOCK","detail":"5/7"} {"ts":"2026-06-07T19:30:41+08:00","date":"2026-06-07","gate":"changelog","result":"PASS","detail":"2026-06-07-settings-telegram-detect-chat-id.md 29lines"} {"ts":"2026-06-07T19:30:41+08:00","date":"2026-06-07","gate":"audit","result":"BLOCK","detail":"missing sections"} {"ts":"2026-06-07T19:30:41+08:00","date":"2026-06-07","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-07T19:30:41+08:00","date":"2026-06-07","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-07T19:30:41+08:00","date":"2026-06-07","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-07T19:30:41+08:00","date":"2026-06-07","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-07T19:30:41+08:00","date":"2026-06-07","gate":"review","result":"PASS","detail":"audit covers changes"} {"ts":"2026-06-07T19:30:41+08:00","date":"2026-06-07","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-07T19:30:41+08:00","date":"2026-06-07","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-07T19:30:41+08:00","date":"2026-06-07","gate":"summary","result":"BLOCK","detail":"6/7"} {"ts":"2026-06-07T19:30:49+08:00","date":"2026-06-07","gate":"changelog","result":"PASS","detail":"2026-06-07-settings-telegram-detect-chat-id.md 29lines"} {"ts":"2026-06-07T19:30:49+08:00","date":"2026-06-07","gate":"audit","result":"BLOCK","detail":"missing sections"} {"ts":"2026-06-07T19:30:49+08:00","date":"2026-06-07","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-07T19:30:49+08:00","date":"2026-06-07","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-07T19:30:49+08:00","date":"2026-06-07","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-07T19:30:49+08:00","date":"2026-06-07","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-07T19:30:49+08:00","date":"2026-06-07","gate":"review","result":"PASS","detail":"audit covers changes"} {"ts":"2026-06-07T19:30:49+08:00","date":"2026-06-07","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-07T19:30:49+08:00","date":"2026-06-07","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-07T19:30:49+08:00","date":"2026-06-07","gate":"summary","result":"BLOCK","detail":"6/7"} {"ts":"2026-06-07T19:31:03+08:00","date":"2026-06-07","gate":"changelog","result":"PASS","detail":"2026-06-07-settings-telegram-detect-chat-id.md 29lines"} {"ts":"2026-06-07T19:31:03+08:00","date":"2026-06-07","gate":"audit","result":"PASS","detail":"2026-06-07-settings-telegram-detect-chat-id.md"} {"ts":"2026-06-07T19:31:03+08:00","date":"2026-06-07","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-07T19:31:03+08:00","date":"2026-06-07","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-07T19:31:03+08:00","date":"2026-06-07","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-07T19:31:03+08:00","date":"2026-06-07","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-07T19:31:03+08:00","date":"2026-06-07","gate":"review","result":"PASS","detail":"audit covers changes"} {"ts":"2026-06-07T19:31:03+08:00","date":"2026-06-07","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-07T19:31:03+08:00","date":"2026-06-07","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-07T19:31:03+08:00","date":"2026-06-07","gate":"summary","result":"PASS","detail":"7/7"} {"ts":"2026-06-07T19:33:34+08:00","date":"2026-06-07","gate":"changelog","result":"PASS","detail":"2026-06-07-settings-ip-allowlist-subscription.md 27lines"} {"ts":"2026-06-07T19:33:34+08:00","date":"2026-06-07","gate":"audit","result":"PASS","detail":"2026-06-07-settings-ip-allowlist-subscription.md"} {"ts":"2026-06-07T19:33:34+08:00","date":"2026-06-07","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-07T19:33:34+08:00","date":"2026-06-07","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-07T19:33:34+08:00","date":"2026-06-07","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-07T19:33:34+08:00","date":"2026-06-07","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-07T19:33:34+08:00","date":"2026-06-07","gate":"review","result":"BLOCK","detail":"audit missing changed files"} {"ts":"2026-06-07T19:33:34+08:00","date":"2026-06-07","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-07T19:33:34+08:00","date":"2026-06-07","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-07T19:33:34+08:00","date":"2026-06-07","gate":"summary","result":"BLOCK","detail":"6/7"} {"ts":"2026-06-07T19:33:45+08:00","date":"2026-06-07","gate":"changelog","result":"PASS","detail":"2026-06-07-settings-ip-allowlist-subscription.md 27lines"} {"ts":"2026-06-07T19:33:45+08:00","date":"2026-06-07","gate":"audit","result":"PASS","detail":"2026-06-07-settings-ip-allowlist-subscription.md"} {"ts":"2026-06-07T19:33:45+08:00","date":"2026-06-07","gate":"test","result":"BLOCK","detail":"tests failed"} {"ts":"2026-06-07T19:33:45+08:00","date":"2026-06-07","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-07T19:33:45+08:00","date":"2026-06-07","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-07T19:33:45+08:00","date":"2026-06-07","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-07T19:33:45+08:00","date":"2026-06-07","gate":"review","result":"BLOCK","detail":"audit missing changed files"} {"ts":"2026-06-07T19:33:45+08:00","date":"2026-06-07","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-07T19:33:45+08:00","date":"2026-06-07","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-07T19:33:45+08:00","date":"2026-06-07","gate":"summary","result":"BLOCK","detail":"5/7"} {"ts":"2026-06-07T19:34:00+08:00","date":"2026-06-07","gate":"changelog","result":"PASS","detail":"2026-06-07-settings-ip-allowlist-subscription.md 27lines"} {"ts":"2026-06-07T19:34:00+08:00","date":"2026-06-07","gate":"audit","result":"PASS","detail":"2026-06-07-settings-ip-allowlist-subscription.md"} {"ts":"2026-06-07T19:34:00+08:00","date":"2026-06-07","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-07T19:34:00+08:00","date":"2026-06-07","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-07T19:34:00+08:00","date":"2026-06-07","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-07T19:34:00+08:00","date":"2026-06-07","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-07T19:34:00+08:00","date":"2026-06-07","gate":"review","result":"BLOCK","detail":"audit missing changed files"} {"ts":"2026-06-07T19:34:00+08:00","date":"2026-06-07","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-07T19:34:00+08:00","date":"2026-06-07","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-07T19:34:00+08:00","date":"2026-06-07","gate":"summary","result":"BLOCK","detail":"6/7"} {"ts":"2026-06-07T19:34:14+08:00","date":"2026-06-07","gate":"changelog","result":"PASS","detail":"2026-06-07-settings-ip-allowlist-subscription.md 27lines"} {"ts":"2026-06-07T19:34:14+08:00","date":"2026-06-07","gate":"audit","result":"PASS","detail":"2026-06-07-settings-ip-allowlist-subscription.md"} {"ts":"2026-06-07T19:34:14+08:00","date":"2026-06-07","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-07T19:34:14+08:00","date":"2026-06-07","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-07T19:34:14+08:00","date":"2026-06-07","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-07T19:34:14+08:00","date":"2026-06-07","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-07T19:34:14+08:00","date":"2026-06-07","gate":"review","result":"PASS","detail":"audit covers changes"} {"ts":"2026-06-07T19:34:14+08:00","date":"2026-06-07","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-07T19:34:14+08:00","date":"2026-06-07","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-07T19:34:14+08:00","date":"2026-06-07","gate":"summary","result":"PASS","detail":"7/7"} {"ts":"2026-06-07T19:44:37+08:00","date":"2026-06-07","gate":"changelog","result":"PASS","detail":"2026-06-07-settings-telegram-fix.md 37lines"} {"ts":"2026-06-07T19:44:37+08:00","date":"2026-06-07","gate":"audit","result":"PASS","detail":"2026-06-07-settings-telegram-fix.md"} {"ts":"2026-06-07T19:44:37+08:00","date":"2026-06-07","gate":"test","result":"BLOCK","detail":"tests failed"} {"ts":"2026-06-07T19:44:37+08:00","date":"2026-06-07","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-07T19:44:37+08:00","date":"2026-06-07","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-07T19:44:37+08:00","date":"2026-06-07","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-07T19:44:37+08:00","date":"2026-06-07","gate":"review","result":"PASS","detail":"audit covers changes"} {"ts":"2026-06-07T19:44:37+08:00","date":"2026-06-07","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-07T19:44:37+08:00","date":"2026-06-07","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-07T19:44:37+08:00","date":"2026-06-07","gate":"summary","result":"BLOCK","detail":"6/7"} {"ts":"2026-06-07T19:44:50+08:00","date":"2026-06-07","gate":"changelog","result":"PASS","detail":"2026-06-07-settings-telegram-fix.md 37lines"} {"ts":"2026-06-07T19:44:50+08:00","date":"2026-06-07","gate":"audit","result":"PASS","detail":"2026-06-07-settings-telegram-fix.md"} {"ts":"2026-06-07T19:44:50+08:00","date":"2026-06-07","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-07T19:44:50+08:00","date":"2026-06-07","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-07T19:44:50+08:00","date":"2026-06-07","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-07T19:44:50+08:00","date":"2026-06-07","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-07T19:44:50+08:00","date":"2026-06-07","gate":"review","result":"PASS","detail":"audit covers changes"} {"ts":"2026-06-07T19:44:50+08:00","date":"2026-06-07","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-07T19:44:50+08:00","date":"2026-06-07","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-07T19:44:50+08:00","date":"2026-06-07","gate":"summary","result":"PASS","detail":"7/7"} {"ts":"2026-06-07T19:45:16+08:00","date":"2026-06-07","gate":"changelog","result":"PASS","detail":"2026-06-07-settings-telegram-fix.md 37lines"} {"ts":"2026-06-07T19:45:16+08:00","date":"2026-06-07","gate":"audit","result":"PASS","detail":"2026-06-07-settings-telegram-fix.md"} {"ts":"2026-06-07T19:45:16+08:00","date":"2026-06-07","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-07T19:45:16+08:00","date":"2026-06-07","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-07T19:45:16+08:00","date":"2026-06-07","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-07T19:45:16+08:00","date":"2026-06-07","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-07T19:45:16+08:00","date":"2026-06-07","gate":"review","result":"PASS","detail":"audit covers changes"} {"ts":"2026-06-07T19:45:16+08:00","date":"2026-06-07","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-07T19:45:16+08:00","date":"2026-06-07","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-07T19:45:16+08:00","date":"2026-06-07","gate":"summary","result":"PASS","detail":"7/7"} {"ts":"2026-06-07T20:16:43+08:00","date":"2026-06-07","gate":"changelog","result":"PASS","detail":"2026-06-07-ops-patrol-layer3-telegram.md 40lines"} {"ts":"2026-06-07T20:16:43+08:00","date":"2026-06-07","gate":"audit","result":"PASS","detail":"2026-06-07-settings-telegram-fix.md"} {"ts":"2026-06-07T20:16:43+08:00","date":"2026-06-07","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-07T20:16:43+08:00","date":"2026-06-07","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-07T20:16:43+08:00","date":"2026-06-07","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-07T20:16:43+08:00","date":"2026-06-07","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-07T20:16:43+08:00","date":"2026-06-07","gate":"review","result":"BLOCK","detail":"audit missing changed files"} {"ts":"2026-06-07T20:16:43+08:00","date":"2026-06-07","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-07T20:16:43+08:00","date":"2026-06-07","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-07T20:16:43+08:00","date":"2026-06-07","gate":"summary","result":"BLOCK","detail":"6/7"} {"ts":"2026-06-07T20:17:03+08:00","date":"2026-06-07","gate":"changelog","result":"PASS","detail":"2026-06-07-ops-patrol-layer3-telegram.md 40lines"} {"ts":"2026-06-07T20:17:03+08:00","date":"2026-06-07","gate":"audit","result":"PASS","detail":"2026-06-07-ops-patrol-layer3-telegram.md"} {"ts":"2026-06-07T20:17:03+08:00","date":"2026-06-07","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-07T20:17:03+08:00","date":"2026-06-07","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-07T20:17:03+08:00","date":"2026-06-07","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-07T20:17:03+08:00","date":"2026-06-07","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-07T20:17:03+08:00","date":"2026-06-07","gate":"review","result":"PASS","detail":"audit covers changes"} {"ts":"2026-06-07T20:17:03+08:00","date":"2026-06-07","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-07T20:17:03+08:00","date":"2026-06-07","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-07T20:17:03+08:00","date":"2026-06-07","gate":"summary","result":"PASS","detail":"7/7"} {"ts":"2026-06-07T20:53:00+08:00","date":"2026-06-07","gate":"changelog","result":"PASS","detail":"2026-06-07-health-monitor-flock-fail-count-fix.md 21lines"} {"ts":"2026-06-07T20:53:00+08:00","date":"2026-06-07","gate":"audit","result":"PASS","detail":"2026-06-07-ops-patrol-layer3-telegram.md"} {"ts":"2026-06-07T20:53:00+08:00","date":"2026-06-07","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-07T20:53:00+08:00","date":"2026-06-07","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-07T20:53:00+08:00","date":"2026-06-07","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-07T20:53:00+08:00","date":"2026-06-07","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-07T20:53:00+08:00","date":"2026-06-07","gate":"review","result":"PASS","detail":"audit covers changes"} {"ts":"2026-06-07T20:53:00+08:00","date":"2026-06-07","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-07T20:53:00+08:00","date":"2026-06-07","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-07T20:53:00+08:00","date":"2026-06-07","gate":"summary","result":"PASS","detail":"7/7"} {"ts":"2026-06-07T20:57:57+08:00","date":"2026-06-07","gate":"changelog","result":"PASS","detail":"2026-06-07-health-monitor-telegram-quote-strip.md 19lines"} {"ts":"2026-06-07T20:57:57+08:00","date":"2026-06-07","gate":"audit","result":"PASS","detail":"2026-06-07-ops-patrol-layer3-telegram.md"} {"ts":"2026-06-07T20:57:57+08:00","date":"2026-06-07","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-07T20:57:57+08:00","date":"2026-06-07","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-07T20:57:57+08:00","date":"2026-06-07","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-07T20:57:57+08:00","date":"2026-06-07","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-07T20:57:57+08:00","date":"2026-06-07","gate":"review","result":"PASS","detail":"audit covers changes"} {"ts":"2026-06-07T20:57:57+08:00","date":"2026-06-07","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-07T20:57:57+08:00","date":"2026-06-07","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-07T20:57:57+08:00","date":"2026-06-07","gate":"summary","result":"PASS","detail":"7/7"} {"ts":"2026-06-07T21:00:46+08:00","date":"2026-06-07","gate":"changelog","result":"PASS","detail":"2026-06-07-telegram-chinese-detailed-messages.md 22lines"} {"ts":"2026-06-07T21:00:46+08:00","date":"2026-06-07","gate":"audit","result":"BLOCK","detail":"missing sections"} {"ts":"2026-06-07T21:00:46+08:00","date":"2026-06-07","gate":"test","result":"BLOCK","detail":"tests failed"} {"ts":"2026-06-07T21:00:46+08:00","date":"2026-06-07","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-07T21:00:46+08:00","date":"2026-06-07","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-07T21:00:46+08:00","date":"2026-06-07","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-07T21:00:46+08:00","date":"2026-06-07","gate":"review","result":"BLOCK","detail":"audit missing changed files"} {"ts":"2026-06-07T21:00:46+08:00","date":"2026-06-07","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-07T21:00:46+08:00","date":"2026-06-07","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-07T21:00:46+08:00","date":"2026-06-07","gate":"summary","result":"BLOCK","detail":"4/7"} {"ts":"2026-06-07T21:01:04+08:00","date":"2026-06-07","gate":"changelog","result":"PASS","detail":"2026-06-07-telegram-chinese-detailed-messages.md 22lines"} {"ts":"2026-06-07T21:01:04+08:00","date":"2026-06-07","gate":"audit","result":"BLOCK","detail":"missing sections"} {"ts":"2026-06-07T21:01:04+08:00","date":"2026-06-07","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-07T21:01:04+08:00","date":"2026-06-07","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-07T21:01:04+08:00","date":"2026-06-07","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-07T21:01:04+08:00","date":"2026-06-07","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-07T21:01:04+08:00","date":"2026-06-07","gate":"review","result":"BLOCK","detail":"audit missing changed files"} {"ts":"2026-06-07T21:01:04+08:00","date":"2026-06-07","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-07T21:01:04+08:00","date":"2026-06-07","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-07T21:01:04+08:00","date":"2026-06-07","gate":"summary","result":"BLOCK","detail":"5/7"} {"ts":"2026-06-07T21:01:17+08:00","date":"2026-06-07","gate":"changelog","result":"PASS","detail":"2026-06-07-telegram-chinese-detailed-messages.md 22lines"} {"ts":"2026-06-07T21:01:17+08:00","date":"2026-06-07","gate":"audit","result":"BLOCK","detail":"missing sections"} {"ts":"2026-06-07T21:01:17+08:00","date":"2026-06-07","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-07T21:01:17+08:00","date":"2026-06-07","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-07T21:01:17+08:00","date":"2026-06-07","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-07T21:01:17+08:00","date":"2026-06-07","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-07T21:01:17+08:00","date":"2026-06-07","gate":"review","result":"PASS","detail":"audit covers changes"} {"ts":"2026-06-07T21:01:17+08:00","date":"2026-06-07","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-07T21:01:17+08:00","date":"2026-06-07","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-07T21:01:17+08:00","date":"2026-06-07","gate":"summary","result":"BLOCK","detail":"6/7"} {"ts":"2026-06-07T21:01:27+08:00","date":"2026-06-07","gate":"changelog","result":"PASS","detail":"2026-06-07-telegram-chinese-detailed-messages.md 22lines"} {"ts":"2026-06-07T21:01:27+08:00","date":"2026-06-07","gate":"audit","result":"BLOCK","detail":"missing sections"} {"ts":"2026-06-07T21:01:27+08:00","date":"2026-06-07","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-07T21:01:27+08:00","date":"2026-06-07","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-07T21:01:27+08:00","date":"2026-06-07","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-07T21:01:27+08:00","date":"2026-06-07","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-07T21:01:27+08:00","date":"2026-06-07","gate":"review","result":"PASS","detail":"audit covers changes"} {"ts":"2026-06-07T21:01:27+08:00","date":"2026-06-07","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-07T21:01:27+08:00","date":"2026-06-07","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-07T21:01:27+08:00","date":"2026-06-07","gate":"summary","result":"BLOCK","detail":"6/7"} {"ts":"2026-06-07T21:01:37+08:00","date":"2026-06-07","gate":"changelog","result":"PASS","detail":"2026-06-07-telegram-chinese-detailed-messages.md 22lines"} {"ts":"2026-06-07T21:01:37+08:00","date":"2026-06-07","gate":"audit","result":"PASS","detail":"2026-06-07-telegram-chinese-detailed-messages.md"} {"ts":"2026-06-07T21:01:37+08:00","date":"2026-06-07","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-07T21:01:37+08:00","date":"2026-06-07","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-07T21:01:37+08:00","date":"2026-06-07","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-07T21:01:37+08:00","date":"2026-06-07","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-07T21:01:37+08:00","date":"2026-06-07","gate":"review","result":"PASS","detail":"audit covers changes"} {"ts":"2026-06-07T21:01:37+08:00","date":"2026-06-07","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-07T21:01:37+08:00","date":"2026-06-07","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-07T21:01:37+08:00","date":"2026-06-07","gate":"summary","result":"PASS","detail":"7/7"} {"ts":"2026-06-07T21:20:20+08:00","date":"2026-06-07","gate":"changelog","result":"PASS","detail":"2026-06-07-ssh-quick-add-hostkey-chinese-errors.md 34lines"} {"ts":"2026-06-07T21:20:20+08:00","date":"2026-06-07","gate":"audit","result":"PASS","detail":"2026-06-07-telegram-chinese-detailed-messages.md"} {"ts":"2026-06-07T21:20:20+08:00","date":"2026-06-07","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-07T21:20:20+08:00","date":"2026-06-07","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-07T21:20:20+08:00","date":"2026-06-07","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-07T21:20:20+08:00","date":"2026-06-07","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-07T21:20:20+08:00","date":"2026-06-07","gate":"review","result":"BLOCK","detail":"audit missing changed files"} {"ts":"2026-06-07T21:20:20+08:00","date":"2026-06-07","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-07T21:20:20+08:00","date":"2026-06-07","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-07T21:20:20+08:00","date":"2026-06-07","gate":"summary","result":"BLOCK","detail":"6/7"} {"ts":"2026-06-07T21:31:41+08:00","date":"2026-06-07","gate":"changelog","result":"PASS","detail":"2026-06-07-ssh-quick-add-hostkey-chinese-errors.md 34lines"} {"ts":"2026-06-07T21:31:41+08:00","date":"2026-06-07","gate":"audit","result":"PASS","detail":"2026-06-07-ssh-quick-add-hostkey-chinese-errors.md"} {"ts":"2026-06-07T21:31:41+08:00","date":"2026-06-07","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-07T21:31:41+08:00","date":"2026-06-07","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-07T21:31:41+08:00","date":"2026-06-07","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-07T21:31:41+08:00","date":"2026-06-07","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-07T21:31:41+08:00","date":"2026-06-07","gate":"review","result":"PASS","detail":"audit covers changes"} {"ts":"2026-06-07T21:31:41+08:00","date":"2026-06-07","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-07T21:31:41+08:00","date":"2026-06-07","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-07T21:31:41+08:00","date":"2026-06-07","gate":"summary","result":"PASS","detail":"7/7"} {"ts":"2026-06-07T21:50:16+08:00","date":"2026-06-07","gate":"changelog","result":"PASS","detail":"2026-06-07-login-client-ip-forwarded.md 29lines"} {"ts":"2026-06-07T21:50:16+08:00","date":"2026-06-07","gate":"audit","result":"PASS","detail":"2026-06-07-login-client-ip-forwarded.md"} {"ts":"2026-06-07T21:50:16+08:00","date":"2026-06-07","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-07T21:50:16+08:00","date":"2026-06-07","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-07T21:50:16+08:00","date":"2026-06-07","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-07T21:50:16+08:00","date":"2026-06-07","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-07T21:50:16+08:00","date":"2026-06-07","gate":"review","result":"BLOCK","detail":"audit missing changed files"} {"ts":"2026-06-07T21:50:16+08:00","date":"2026-06-07","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-07T21:50:16+08:00","date":"2026-06-07","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-07T21:50:16+08:00","date":"2026-06-07","gate":"summary","result":"BLOCK","detail":"6/7"} {"ts":"2026-06-07T21:50:28+08:00","date":"2026-06-07","gate":"changelog","result":"PASS","detail":"2026-06-07-login-client-ip-forwarded.md 29lines"} {"ts":"2026-06-07T21:50:28+08:00","date":"2026-06-07","gate":"audit","result":"PASS","detail":"2026-06-07-login-client-ip-forwarded.md"} {"ts":"2026-06-07T21:50:28+08:00","date":"2026-06-07","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-07T21:50:28+08:00","date":"2026-06-07","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-07T21:50:28+08:00","date":"2026-06-07","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-07T21:50:28+08:00","date":"2026-06-07","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-07T21:50:28+08:00","date":"2026-06-07","gate":"review","result":"BLOCK","detail":"audit missing changed files"} {"ts":"2026-06-07T21:50:28+08:00","date":"2026-06-07","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-07T21:50:28+08:00","date":"2026-06-07","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-07T21:50:28+08:00","date":"2026-06-07","gate":"summary","result":"BLOCK","detail":"6/7"} {"ts":"2026-06-07T21:50:39+08:00","date":"2026-06-07","gate":"changelog","result":"PASS","detail":"2026-06-07-login-client-ip-forwarded.md 29lines"} {"ts":"2026-06-07T21:50:39+08:00","date":"2026-06-07","gate":"audit","result":"PASS","detail":"2026-06-07-login-client-ip-forwarded.md"} {"ts":"2026-06-07T21:50:39+08:00","date":"2026-06-07","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-07T21:50:39+08:00","date":"2026-06-07","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-07T21:50:39+08:00","date":"2026-06-07","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-07T21:50:39+08:00","date":"2026-06-07","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-07T21:50:39+08:00","date":"2026-06-07","gate":"review","result":"PASS","detail":"audit covers changes"} {"ts":"2026-06-07T21:50:39+08:00","date":"2026-06-07","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-07T21:50:39+08:00","date":"2026-06-07","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-07T21:50:39+08:00","date":"2026-06-07","gate":"summary","result":"PASS","detail":"7/7"} {"ts":"2026-06-07T21:56:30+08:00","date":"2026-06-07","gate":"changelog","result":"PASS","detail":"2026-06-07-refresh-token-redis-mysql-dual-store.md 40lines"} {"ts":"2026-06-07T21:56:30+08:00","date":"2026-06-07","gate":"audit","result":"BLOCK","detail":"missing sections"} {"ts":"2026-06-07T21:56:30+08:00","date":"2026-06-07","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-07T21:56:30+08:00","date":"2026-06-07","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-07T21:56:30+08:00","date":"2026-06-07","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-07T21:56:30+08:00","date":"2026-06-07","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-07T21:56:30+08:00","date":"2026-06-07","gate":"review","result":"BLOCK","detail":"audit missing changed files"} {"ts":"2026-06-07T21:56:30+08:00","date":"2026-06-07","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-07T21:56:30+08:00","date":"2026-06-07","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-07T21:56:30+08:00","date":"2026-06-07","gate":"summary","result":"BLOCK","detail":"5/7"} {"ts":"2026-06-07T21:56:41+08:00","date":"2026-06-07","gate":"changelog","result":"PASS","detail":"2026-06-07-refresh-token-redis-mysql-dual-store.md 40lines"} {"ts":"2026-06-07T21:56:41+08:00","date":"2026-06-07","gate":"audit","result":"BLOCK","detail":"missing sections"} {"ts":"2026-06-07T21:56:41+08:00","date":"2026-06-07","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-07T21:56:41+08:00","date":"2026-06-07","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-07T21:56:41+08:00","date":"2026-06-07","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-07T21:56:41+08:00","date":"2026-06-07","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-07T21:56:41+08:00","date":"2026-06-07","gate":"review","result":"BLOCK","detail":"audit missing changed files"} {"ts":"2026-06-07T21:56:41+08:00","date":"2026-06-07","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-07T21:56:41+08:00","date":"2026-06-07","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-07T21:56:41+08:00","date":"2026-06-07","gate":"summary","result":"BLOCK","detail":"5/7"} {"ts":"2026-06-07T21:56:56+08:00","date":"2026-06-07","gate":"changelog","result":"PASS","detail":"2026-06-07-refresh-token-redis-mysql-dual-store.md 40lines"} {"ts":"2026-06-07T21:56:56+08:00","date":"2026-06-07","gate":"audit","result":"PASS","detail":"2026-06-07-refresh-token-redis-mysql-dual-store.md"} {"ts":"2026-06-07T21:56:56+08:00","date":"2026-06-07","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-07T21:56:56+08:00","date":"2026-06-07","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-07T21:56:56+08:00","date":"2026-06-07","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-07T21:56:56+08:00","date":"2026-06-07","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-07T21:56:56+08:00","date":"2026-06-07","gate":"review","result":"PASS","detail":"audit covers changes"} {"ts":"2026-06-07T21:56:56+08:00","date":"2026-06-07","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-07T21:56:56+08:00","date":"2026-06-07","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-07T21:56:56+08:00","date":"2026-06-07","gate":"summary","result":"PASS","detail":"7/7"} {"ts":"2026-06-07T23:09:54+08:00","date":"2026-06-07","gate":"changelog","result":"PASS","detail":"2026-06-07-files-upload-form-field-fix.md 24lines"} {"ts":"2026-06-07T23:09:54+08:00","date":"2026-06-07","gate":"audit","result":"PASS","detail":"2026-06-07-refresh-token-redis-mysql-dual-store.md"} {"ts":"2026-06-07T23:09:54+08:00","date":"2026-06-07","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-07T23:09:54+08:00","date":"2026-06-07","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-07T23:09:54+08:00","date":"2026-06-07","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-07T23:09:54+08:00","date":"2026-06-07","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-07T23:09:54+08:00","date":"2026-06-07","gate":"review","result":"BLOCK","detail":"audit missing changed files"} {"ts":"2026-06-07T23:09:54+08:00","date":"2026-06-07","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-07T23:09:54+08:00","date":"2026-06-07","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-07T23:09:54+08:00","date":"2026-06-07","gate":"summary","result":"BLOCK","detail":"6/7"} {"ts":"2026-06-07T23:10:41+08:00","date":"2026-06-07","gate":"changelog","result":"PASS","detail":"2026-06-07-files-upload-form-field-fix.md 24lines"} {"ts":"2026-06-07T23:10:41+08:00","date":"2026-06-07","gate":"audit","result":"PASS","detail":"2026-06-07-files-upload-health-monitor-deploy.md"} {"ts":"2026-06-07T23:10:41+08:00","date":"2026-06-07","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-07T23:10:41+08:00","date":"2026-06-07","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-07T23:10:41+08:00","date":"2026-06-07","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-07T23:10:41+08:00","date":"2026-06-07","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-07T23:10:41+08:00","date":"2026-06-07","gate":"review","result":"BLOCK","detail":"audit missing changed files"} {"ts":"2026-06-07T23:10:41+08:00","date":"2026-06-07","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-07T23:10:41+08:00","date":"2026-06-07","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-07T23:10:41+08:00","date":"2026-06-07","gate":"summary","result":"BLOCK","detail":"6/7"} {"ts":"2026-06-07T23:10:50+08:00","date":"2026-06-07","gate":"changelog","result":"PASS","detail":"2026-06-07-files-upload-form-field-fix.md 24lines"} {"ts":"2026-06-07T23:10:50+08:00","date":"2026-06-07","gate":"audit","result":"PASS","detail":"2026-06-07-files-upload-health-monitor-deploy.md"} {"ts":"2026-06-07T23:10:50+08:00","date":"2026-06-07","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-07T23:10:50+08:00","date":"2026-06-07","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-07T23:10:50+08:00","date":"2026-06-07","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-07T23:10:50+08:00","date":"2026-06-07","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-07T23:10:50+08:00","date":"2026-06-07","gate":"review","result":"PASS","detail":"audit covers changes"} {"ts":"2026-06-07T23:10:50+08:00","date":"2026-06-07","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-07T23:10:50+08:00","date":"2026-06-07","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-07T23:10:50+08:00","date":"2026-06-07","gate":"summary","result":"PASS","detail":"7/7"} {"ts":"2026-06-08T07:38:32+08:00","date":"2026-06-08","gate":"changelog","result":"PASS","detail":"2026-06-08-servers-live-sort-fix.md 28lines"} {"ts":"2026-06-08T07:38:32+08:00","date":"2026-06-08","gate":"audit","result":"PASS","detail":"2026-06-08-servers-live-sort-fix.md"} {"ts":"2026-06-08T07:38:32+08:00","date":"2026-06-08","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-08T07:38:32+08:00","date":"2026-06-08","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-08T07:38:32+08:00","date":"2026-06-08","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-08T07:38:32+08:00","date":"2026-06-08","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-08T07:38:32+08:00","date":"2026-06-08","gate":"review","result":"PASS","detail":"audit covers changes"} {"ts":"2026-06-08T07:38:32+08:00","date":"2026-06-08","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-08T07:38:32+08:00","date":"2026-06-08","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-08T07:38:32+08:00","date":"2026-06-08","gate":"summary","result":"PASS","detail":"7/7"} {"ts":"2026-06-08T07:54:01+08:00","date":"2026-06-08","gate":"changelog","result":"PASS","detail":"2026-06-08-servers-live-sort-fix.md 28lines"} {"ts":"2026-06-08T07:54:01+08:00","date":"2026-06-08","gate":"audit","result":"PASS","detail":"2026-06-08-servers-live-sort-fix.md"} {"ts":"2026-06-08T07:54:01+08:00","date":"2026-06-08","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-08T07:54:01+08:00","date":"2026-06-08","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-08T07:54:01+08:00","date":"2026-06-08","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-08T07:54:01+08:00","date":"2026-06-08","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-08T07:54:01+08:00","date":"2026-06-08","gate":"review","result":"PASS","detail":"audit covers changes"} {"ts":"2026-06-08T07:54:01+08:00","date":"2026-06-08","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-08T07:54:01+08:00","date":"2026-06-08","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-08T07:54:01+08:00","date":"2026-06-08","gate":"summary","result":"PASS","detail":"7/7"} {"ts":"2026-06-08T07:54:43+08:00","date":"2026-06-08","gate":"changelog","result":"PASS","detail":"2026-06-08-login-gate-seamless-nav.md 42lines"} {"ts":"2026-06-08T07:54:43+08:00","date":"2026-06-08","gate":"audit","result":"PASS","detail":"2026-06-08-login-gate-seamless-nav.md"} {"ts":"2026-06-08T07:54:43+08:00","date":"2026-06-08","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-08T07:54:43+08:00","date":"2026-06-08","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-08T07:54:43+08:00","date":"2026-06-08","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-08T07:54:43+08:00","date":"2026-06-08","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-08T07:54:43+08:00","date":"2026-06-08","gate":"review","result":"BLOCK","detail":"audit missing changed files"} {"ts":"2026-06-08T07:54:43+08:00","date":"2026-06-08","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-08T07:54:43+08:00","date":"2026-06-08","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-08T07:54:43+08:00","date":"2026-06-08","gate":"summary","result":"BLOCK","detail":"6/7"} {"ts":"2026-06-08T07:54:52+08:00","date":"2026-06-08","gate":"changelog","result":"PASS","detail":"2026-06-08-login-gate-seamless-nav.md 42lines"} {"ts":"2026-06-08T07:54:52+08:00","date":"2026-06-08","gate":"audit","result":"PASS","detail":"2026-06-08-login-gate-seamless-nav.md"} {"ts":"2026-06-08T07:54:52+08:00","date":"2026-06-08","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-08T07:54:52+08:00","date":"2026-06-08","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-08T07:54:52+08:00","date":"2026-06-08","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-08T07:54:52+08:00","date":"2026-06-08","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-08T07:54:52+08:00","date":"2026-06-08","gate":"review","result":"PASS","detail":"audit covers changes"} {"ts":"2026-06-08T07:54:52+08:00","date":"2026-06-08","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-08T07:54:52+08:00","date":"2026-06-08","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-08T07:54:52+08:00","date":"2026-06-08","gate":"summary","result":"PASS","detail":"7/7"} {"ts":"2026-06-08T09:31:41+08:00","date":"2026-06-08","gate":"changelog","result":"PASS","detail":"2026-06-08-credentials-merge-servers-page.md 28lines"} {"ts":"2026-06-08T09:31:41+08:00","date":"2026-06-08","gate":"audit","result":"PASS","detail":"2026-06-08-servers-batch-execution-records-credentials.md"} {"ts":"2026-06-08T09:31:41+08:00","date":"2026-06-08","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-08T09:31:41+08:00","date":"2026-06-08","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-08T09:31:41+08:00","date":"2026-06-08","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-08T09:31:41+08:00","date":"2026-06-08","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-08T09:31:41+08:00","date":"2026-06-08","gate":"review","result":"BLOCK","detail":"audit missing changed files"} {"ts":"2026-06-08T09:31:41+08:00","date":"2026-06-08","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-08T09:31:41+08:00","date":"2026-06-08","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-08T09:31:41+08:00","date":"2026-06-08","gate":"summary","result":"BLOCK","detail":"6/7"} {"ts":"2026-06-08T09:32:26+08:00","date":"2026-06-08","gate":"changelog","result":"PASS","detail":"2026-06-08-credentials-merge-servers-page.md 28lines"} {"ts":"2026-06-08T09:32:26+08:00","date":"2026-06-08","gate":"audit","result":"PASS","detail":"2026-06-08-servers-batch-execution-records-credentials.md"} {"ts":"2026-06-08T09:32:26+08:00","date":"2026-06-08","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-08T09:32:26+08:00","date":"2026-06-08","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-08T09:32:26+08:00","date":"2026-06-08","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-08T09:32:26+08:00","date":"2026-06-08","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-08T09:32:26+08:00","date":"2026-06-08","gate":"review","result":"PASS","detail":"audit covers changes"} {"ts":"2026-06-08T09:32:26+08:00","date":"2026-06-08","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-08T09:32:26+08:00","date":"2026-06-08","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-08T09:32:26+08:00","date":"2026-06-08","gate":"summary","result":"PASS","detail":"7/7"} {"ts":"2026-06-08T09:40:48+08:00","date":"2026-06-08","gate":"changelog","result":"PASS","detail":"2026-06-08-schedule-cycle-picker.md 42lines"} {"ts":"2026-06-08T09:40:48+08:00","date":"2026-06-08","gate":"audit","result":"PASS","detail":"2026-06-08-schedule-cycle-picker.md"} {"ts":"2026-06-08T09:40:48+08:00","date":"2026-06-08","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-08T09:40:48+08:00","date":"2026-06-08","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-08T09:40:48+08:00","date":"2026-06-08","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-08T09:40:48+08:00","date":"2026-06-08","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-08T09:40:48+08:00","date":"2026-06-08","gate":"review","result":"BLOCK","detail":"audit missing changed files"} {"ts":"2026-06-08T09:40:48+08:00","date":"2026-06-08","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-08T09:40:48+08:00","date":"2026-06-08","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-08T09:40:48+08:00","date":"2026-06-08","gate":"summary","result":"BLOCK","detail":"6/7"} {"ts":"2026-06-08T09:45:05+08:00","date":"2026-06-08","gate":"changelog","result":"PASS","detail":"2026-06-08-schedule-cycle-picker.md 42lines"} {"ts":"2026-06-08T09:45:05+08:00","date":"2026-06-08","gate":"audit","result":"PASS","detail":"2026-06-08-schedule-cycle-picker.md"} {"ts":"2026-06-08T09:45:05+08:00","date":"2026-06-08","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-08T09:45:05+08:00","date":"2026-06-08","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-08T09:45:05+08:00","date":"2026-06-08","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-08T09:45:05+08:00","date":"2026-06-08","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-08T09:45:05+08:00","date":"2026-06-08","gate":"review","result":"PASS","detail":"audit covers changes"} {"ts":"2026-06-08T09:45:05+08:00","date":"2026-06-08","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-08T09:45:05+08:00","date":"2026-06-08","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-08T09:45:05+08:00","date":"2026-06-08","gate":"summary","result":"PASS","detail":"7/7"} {"ts":"2026-06-08T10:30:55+08:00","date":"2026-06-08","gate":"changelog","result":"PASS","detail":"2026-06-08-schedule-cycle-time-merge.md 26lines"} {"ts":"2026-06-08T10:30:55+08:00","date":"2026-06-08","gate":"audit","result":"PASS","detail":"2026-06-08-gate7-diff-fix.md"} {"ts":"2026-06-08T10:30:55+08:00","date":"2026-06-08","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-08T10:30:55+08:00","date":"2026-06-08","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-08T10:30:55+08:00","date":"2026-06-08","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-08T10:30:55+08:00","date":"2026-06-08","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-08T10:30:55+08:00","date":"2026-06-08","gate":"review","result":"BLOCK","detail":"audit missing changed files"} {"ts":"2026-06-08T10:30:55+08:00","date":"2026-06-08","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-08T10:30:55+08:00","date":"2026-06-08","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-08T10:30:55+08:00","date":"2026-06-08","gate":"summary","result":"BLOCK","detail":"6/7"} {"ts":"2026-06-08T10:31:58+08:00","date":"2026-06-08","gate":"changelog","result":"PASS","detail":"2026-06-08-schedule-cycle-time-merge.md 26lines"} {"ts":"2026-06-08T10:31:58+08:00","date":"2026-06-08","gate":"audit","result":"PASS","detail":"2026-06-08-gate7-diff-fix.md"} {"ts":"2026-06-08T10:31:58+08:00","date":"2026-06-08","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-08T10:31:58+08:00","date":"2026-06-08","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-08T10:31:58+08:00","date":"2026-06-08","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-08T10:31:58+08:00","date":"2026-06-08","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-08T10:31:58+08:00","date":"2026-06-08","gate":"review","result":"BLOCK","detail":"audit missing changed files"} {"ts":"2026-06-08T10:31:58+08:00","date":"2026-06-08","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-08T10:31:58+08:00","date":"2026-06-08","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-08T10:31:58+08:00","date":"2026-06-08","gate":"summary","result":"BLOCK","detail":"6/7"} {"ts":"2026-06-08T10:32:55+08:00","date":"2026-06-08","gate":"changelog","result":"PASS","detail":"2026-06-08-schedule-cycle-time-merge.md 26lines"} {"ts":"2026-06-08T10:32:55+08:00","date":"2026-06-08","gate":"audit","result":"PASS","detail":"2026-06-08-schedule-form-deploy-batch.md"} {"ts":"2026-06-08T10:32:55+08:00","date":"2026-06-08","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-08T10:32:55+08:00","date":"2026-06-08","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-08T10:32:55+08:00","date":"2026-06-08","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-08T10:32:55+08:00","date":"2026-06-08","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-08T10:32:55+08:00","date":"2026-06-08","gate":"review","result":"PASS","detail":"audit covers changes"} {"ts":"2026-06-08T10:32:55+08:00","date":"2026-06-08","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-08T10:32:55+08:00","date":"2026-06-08","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-08T10:32:55+08:00","date":"2026-06-08","gate":"summary","result":"PASS","detail":"7/7"} {"ts":"2026-06-08T11:15:19+08:00","date":"2026-06-08","gate":"changelog","result":"PASS","detail":"2026-06-08-schedule-cycle-time-merge.md 26lines"} {"ts":"2026-06-08T11:15:19+08:00","date":"2026-06-08","gate":"audit","result":"PASS","detail":"2026-06-08-schedule-form-deploy-batch.md"} {"ts":"2026-06-08T11:15:19+08:00","date":"2026-06-08","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-08T11:15:19+08:00","date":"2026-06-08","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-08T11:15:19+08:00","date":"2026-06-08","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-08T11:15:19+08:00","date":"2026-06-08","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-08T11:15:19+08:00","date":"2026-06-08","gate":"review","result":"PASS","detail":"audit covers changes"} {"ts":"2026-06-08T11:15:19+08:00","date":"2026-06-08","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-08T11:15:19+08:00","date":"2026-06-08","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-08T11:15:19+08:00","date":"2026-06-08","gate":"summary","result":"PASS","detail":"7/7"} {"ts":"2026-06-08T11:48:30+08:00","date":"2026-06-08","gate":"changelog","result":"PASS","detail":"2026-06-08-schedule-cycle-day-label-once-ui.md 26lines"} {"ts":"2026-06-08T11:48:30+08:00","date":"2026-06-08","gate":"audit","result":"PASS","detail":"2026-06-08-schedule-form-deploy-batch.md"} {"ts":"2026-06-08T11:48:30+08:00","date":"2026-06-08","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-08T11:48:30+08:00","date":"2026-06-08","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-08T11:48:30+08:00","date":"2026-06-08","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-08T11:48:30+08:00","date":"2026-06-08","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-08T11:48:30+08:00","date":"2026-06-08","gate":"review","result":"BLOCK","detail":"audit missing changed files"} {"ts":"2026-06-08T11:48:30+08:00","date":"2026-06-08","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-08T11:48:30+08:00","date":"2026-06-08","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-08T11:48:30+08:00","date":"2026-06-08","gate":"summary","result":"BLOCK","detail":"6/7"} {"ts":"2026-06-08T11:49:26+08:00","date":"2026-06-08","gate":"changelog","result":"PASS","detail":"2026-06-08-schedule-cycle-day-label-once-ui.md 26lines"} {"ts":"2026-06-08T11:49:26+08:00","date":"2026-06-08","gate":"audit","result":"PASS","detail":"2026-06-08-schedule-cycle-day-label-once-ui.md"} {"ts":"2026-06-08T11:49:26+08:00","date":"2026-06-08","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-08T11:49:26+08:00","date":"2026-06-08","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-08T11:49:26+08:00","date":"2026-06-08","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-08T11:49:26+08:00","date":"2026-06-08","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-08T11:49:26+08:00","date":"2026-06-08","gate":"review","result":"PASS","detail":"audit covers changes"} {"ts":"2026-06-08T11:49:26+08:00","date":"2026-06-08","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-08T11:49:26+08:00","date":"2026-06-08","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-08T11:49:26+08:00","date":"2026-06-08","gate":"summary","result":"PASS","detail":"7/7"} {"ts":"2026-06-08T11:56:37+08:00","date":"2026-06-08","gate":"changelog","result":"PASS","detail":"2026-06-08-script-exec-results-mediumtext.md 31lines"} {"ts":"2026-06-08T11:56:37+08:00","date":"2026-06-08","gate":"audit","result":"BLOCK","detail":"missing sections"} {"ts":"2026-06-08T11:56:37+08:00","date":"2026-06-08","gate":"test","result":"BLOCK","detail":"tests failed"} {"ts":"2026-06-08T11:56:37+08:00","date":"2026-06-08","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-08T11:56:37+08:00","date":"2026-06-08","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-08T11:56:37+08:00","date":"2026-06-08","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-08T11:56:37+08:00","date":"2026-06-08","gate":"review","result":"BLOCK","detail":"audit missing changed files"} {"ts":"2026-06-08T11:56:37+08:00","date":"2026-06-08","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-08T11:56:37+08:00","date":"2026-06-08","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-08T11:56:37+08:00","date":"2026-06-08","gate":"summary","result":"BLOCK","detail":"4/7"} {"ts":"2026-06-08T11:56:55+08:00","date":"2026-06-08","gate":"changelog","result":"PASS","detail":"2026-06-08-script-exec-results-mediumtext.md 31lines"} {"ts":"2026-06-08T11:56:55+08:00","date":"2026-06-08","gate":"audit","result":"BLOCK","detail":"missing sections"} {"ts":"2026-06-08T11:56:55+08:00","date":"2026-06-08","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-08T11:56:55+08:00","date":"2026-06-08","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-08T11:56:55+08:00","date":"2026-06-08","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-08T11:56:55+08:00","date":"2026-06-08","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-08T11:56:55+08:00","date":"2026-06-08","gate":"review","result":"PASS","detail":"audit covers changes"} {"ts":"2026-06-08T11:56:55+08:00","date":"2026-06-08","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-08T11:56:55+08:00","date":"2026-06-08","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-08T11:56:55+08:00","date":"2026-06-08","gate":"summary","result":"BLOCK","detail":"6/7"} {"ts":"2026-06-08T11:57:05+08:00","date":"2026-06-08","gate":"changelog","result":"PASS","detail":"2026-06-08-script-exec-results-mediumtext.md 31lines"} {"ts":"2026-06-08T11:57:05+08:00","date":"2026-06-08","gate":"audit","result":"BLOCK","detail":"missing sections"} {"ts":"2026-06-08T11:57:05+08:00","date":"2026-06-08","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-08T11:57:05+08:00","date":"2026-06-08","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-08T11:57:05+08:00","date":"2026-06-08","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-08T11:57:05+08:00","date":"2026-06-08","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-08T11:57:05+08:00","date":"2026-06-08","gate":"review","result":"PASS","detail":"audit covers changes"} {"ts":"2026-06-08T11:57:05+08:00","date":"2026-06-08","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-08T11:57:05+08:00","date":"2026-06-08","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-08T11:57:05+08:00","date":"2026-06-08","gate":"summary","result":"BLOCK","detail":"6/7"} {"ts":"2026-06-08T11:57:20+08:00","date":"2026-06-08","gate":"changelog","result":"PASS","detail":"2026-06-08-script-exec-results-mediumtext.md 31lines"} {"ts":"2026-06-08T11:57:20+08:00","date":"2026-06-08","gate":"audit","result":"PASS","detail":"2026-06-08-script-exec-results-mediumtext.md"} {"ts":"2026-06-08T11:57:20+08:00","date":"2026-06-08","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-08T11:57:20+08:00","date":"2026-06-08","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-08T11:57:20+08:00","date":"2026-06-08","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-08T11:57:20+08:00","date":"2026-06-08","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-08T11:57:20+08:00","date":"2026-06-08","gate":"review","result":"PASS","detail":"audit covers changes"} {"ts":"2026-06-08T11:57:20+08:00","date":"2026-06-08","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-08T11:57:20+08:00","date":"2026-06-08","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-08T11:57:20+08:00","date":"2026-06-08","gate":"summary","result":"PASS","detail":"7/7"} {"ts":"2026-06-08T12:09:00+08:00","date":"2026-06-08","gate":"changelog","result":"PASS","detail":"2026-06-08-webssh-classic-terminal-theme.md 24lines"} {"ts":"2026-06-08T12:09:00+08:00","date":"2026-06-08","gate":"audit","result":"PASS","detail":"2026-06-08-webssh-classic-terminal-theme.md"} {"ts":"2026-06-08T12:09:00+08:00","date":"2026-06-08","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-08T12:09:00+08:00","date":"2026-06-08","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-08T12:09:00+08:00","date":"2026-06-08","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-08T12:09:00+08:00","date":"2026-06-08","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-08T12:09:00+08:00","date":"2026-06-08","gate":"review","result":"PASS","detail":"audit covers changes"} {"ts":"2026-06-08T12:09:00+08:00","date":"2026-06-08","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-08T12:09:00+08:00","date":"2026-06-08","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-08T12:09:00+08:00","date":"2026-06-08","gate":"summary","result":"PASS","detail":"7/7"} {"ts":"2026-06-08T12:14:47+08:00","date":"2026-06-08","gate":"changelog","result":"PASS","detail":"2026-06-08-terminal-quickbar-disconnect.md 18lines"} {"ts":"2026-06-08T12:14:47+08:00","date":"2026-06-08","gate":"audit","result":"PASS","detail":"2026-06-08-terminal-quickbar-disconnect.md"} {"ts":"2026-06-08T12:14:47+08:00","date":"2026-06-08","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-08T12:14:47+08:00","date":"2026-06-08","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-08T12:14:47+08:00","date":"2026-06-08","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-08T12:14:47+08:00","date":"2026-06-08","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-08T12:14:47+08:00","date":"2026-06-08","gate":"review","result":"PASS","detail":"audit covers changes"} {"ts":"2026-06-08T12:14:47+08:00","date":"2026-06-08","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-08T12:14:47+08:00","date":"2026-06-08","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-08T12:14:47+08:00","date":"2026-06-08","gate":"summary","result":"PASS","detail":"7/7"} {"ts":"2026-06-08T12:33:55+08:00","date":"2026-06-08","gate":"changelog","result":"PASS","detail":"2026-06-08-webssh-xterm-ansi-output-fix.md 35lines"} {"ts":"2026-06-08T12:33:55+08:00","date":"2026-06-08","gate":"audit","result":"PASS","detail":"2026-06-08-terminal-quickbar-disconnect.md"} {"ts":"2026-06-08T12:33:55+08:00","date":"2026-06-08","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-08T12:33:55+08:00","date":"2026-06-08","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-08T12:33:55+08:00","date":"2026-06-08","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-08T12:33:55+08:00","date":"2026-06-08","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-08T12:33:55+08:00","date":"2026-06-08","gate":"review","result":"PASS","detail":"audit covers changes"} {"ts":"2026-06-08T12:33:55+08:00","date":"2026-06-08","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-08T12:33:55+08:00","date":"2026-06-08","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-08T12:33:55+08:00","date":"2026-06-08","gate":"summary","result":"PASS","detail":"7/7"} {"ts":"2026-06-08T12:43:48+08:00","date":"2026-06-08","gate":"changelog","result":"PASS","detail":"2026-06-08-servers-unset-path-inline-detail.md 35lines"} {"ts":"2026-06-08T12:43:48+08:00","date":"2026-06-08","gate":"audit","result":"PASS","detail":"2026-06-08-webssh-xterm-ansi-output-fix.md"} {"ts":"2026-06-08T12:43:48+08:00","date":"2026-06-08","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-08T12:43:48+08:00","date":"2026-06-08","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-08T12:43:48+08:00","date":"2026-06-08","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-08T12:43:48+08:00","date":"2026-06-08","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-08T12:43:48+08:00","date":"2026-06-08","gate":"review","result":"PASS","detail":"audit covers changes"} {"ts":"2026-06-08T12:43:48+08:00","date":"2026-06-08","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-08T12:43:48+08:00","date":"2026-06-08","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-08T12:43:48+08:00","date":"2026-06-08","gate":"summary","result":"PASS","detail":"7/7"} {"ts":"2026-06-08T12:47:12+08:00","date":"2026-06-08","gate":"changelog","result":"PASS","detail":"2026-06-08-terminal-cmdbar-monochrome.md 25lines"} {"ts":"2026-06-08T12:47:12+08:00","date":"2026-06-08","gate":"audit","result":"PASS","detail":"2026-06-08-servers-unset-path-inline-detail.md"} {"ts":"2026-06-08T12:47:12+08:00","date":"2026-06-08","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-08T12:47:12+08:00","date":"2026-06-08","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-08T12:47:12+08:00","date":"2026-06-08","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-08T12:47:12+08:00","date":"2026-06-08","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-08T12:47:12+08:00","date":"2026-06-08","gate":"review","result":"BLOCK","detail":"audit missing changed files"} {"ts":"2026-06-08T12:47:12+08:00","date":"2026-06-08","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-08T12:47:12+08:00","date":"2026-06-08","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-08T12:47:12+08:00","date":"2026-06-08","gate":"summary","result":"BLOCK","detail":"6/7"} {"ts":"2026-06-08T12:47:57+08:00","date":"2026-06-08","gate":"changelog","result":"PASS","detail":"2026-06-08-terminal-cmdbar-monochrome.md 25lines"} {"ts":"2026-06-08T12:47:57+08:00","date":"2026-06-08","gate":"audit","result":"PASS","detail":"2026-06-08-deploy-production-batch.md"} {"ts":"2026-06-08T12:47:57+08:00","date":"2026-06-08","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-08T12:47:57+08:00","date":"2026-06-08","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-08T12:47:57+08:00","date":"2026-06-08","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-08T12:47:57+08:00","date":"2026-06-08","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-08T12:47:57+08:00","date":"2026-06-08","gate":"review","result":"PASS","detail":"audit covers changes"} {"ts":"2026-06-08T12:47:57+08:00","date":"2026-06-08","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-08T12:47:57+08:00","date":"2026-06-08","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-08T12:47:57+08:00","date":"2026-06-08","gate":"summary","result":"PASS","detail":"7/7"} {"ts":"2026-06-08T12:55:08+08:00","date":"2026-06-08","gate":"changelog","result":"PASS","detail":"2026-06-08-servers-unset-path-batch-parity.md 27lines"} {"ts":"2026-06-08T12:55:08+08:00","date":"2026-06-08","gate":"audit","result":"PASS","detail":"2026-06-08-servers-unset-path-batch-parity.md"} {"ts":"2026-06-08T12:55:08+08:00","date":"2026-06-08","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-08T12:55:08+08:00","date":"2026-06-08","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-08T12:55:08+08:00","date":"2026-06-08","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-08T12:55:08+08:00","date":"2026-06-08","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-08T12:55:08+08:00","date":"2026-06-08","gate":"review","result":"BLOCK","detail":"audit missing changed files"} {"ts":"2026-06-08T12:55:08+08:00","date":"2026-06-08","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-08T12:55:08+08:00","date":"2026-06-08","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-08T12:55:08+08:00","date":"2026-06-08","gate":"summary","result":"BLOCK","detail":"6/7"} {"ts":"2026-06-08T12:55:20+08:00","date":"2026-06-08","gate":"changelog","result":"PASS","detail":"2026-06-08-servers-unset-path-batch-parity.md 27lines"} {"ts":"2026-06-08T12:55:20+08:00","date":"2026-06-08","gate":"audit","result":"PASS","detail":"2026-06-08-servers-unset-path-batch-parity.md"} {"ts":"2026-06-08T12:55:20+08:00","date":"2026-06-08","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-08T12:55:20+08:00","date":"2026-06-08","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-08T12:55:20+08:00","date":"2026-06-08","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-08T12:55:20+08:00","date":"2026-06-08","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-08T12:55:20+08:00","date":"2026-06-08","gate":"review","result":"PASS","detail":"audit covers changes"} {"ts":"2026-06-08T12:55:20+08:00","date":"2026-06-08","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-08T12:55:20+08:00","date":"2026-06-08","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-08T12:55:20+08:00","date":"2026-06-08","gate":"summary","result":"PASS","detail":"7/7"} {"ts":"2026-06-08T13:04:19+08:00","date":"2026-06-08","gate":"changelog","result":"PASS","detail":"2026-06-08-servers-inline-detail-expand-fix.md 28lines"} {"ts":"2026-06-08T13:04:19+08:00","date":"2026-06-08","gate":"audit","result":"PASS","detail":"2026-06-08-notify-toggle-inline-detail-deploy.md"} {"ts":"2026-06-08T13:04:19+08:00","date":"2026-06-08","gate":"test","result":"BLOCK","detail":"tests failed"} {"ts":"2026-06-08T13:04:19+08:00","date":"2026-06-08","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-08T13:04:19+08:00","date":"2026-06-08","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-08T13:04:19+08:00","date":"2026-06-08","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-08T13:04:19+08:00","date":"2026-06-08","gate":"review","result":"PASS","detail":"audit covers changes"} {"ts":"2026-06-08T13:04:19+08:00","date":"2026-06-08","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-08T13:04:19+08:00","date":"2026-06-08","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-08T13:04:19+08:00","date":"2026-06-08","gate":"summary","result":"BLOCK","detail":"6/7"} {"ts":"2026-06-08T13:04:52+08:00","date":"2026-06-08","gate":"changelog","result":"PASS","detail":"2026-06-08-servers-inline-detail-expand-fix.md 28lines"} {"ts":"2026-06-08T13:04:52+08:00","date":"2026-06-08","gate":"audit","result":"PASS","detail":"2026-06-08-notify-toggle-inline-detail-deploy.md"} {"ts":"2026-06-08T13:04:52+08:00","date":"2026-06-08","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-08T13:04:52+08:00","date":"2026-06-08","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-08T13:04:52+08:00","date":"2026-06-08","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-08T13:04:52+08:00","date":"2026-06-08","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-08T13:04:52+08:00","date":"2026-06-08","gate":"review","result":"PASS","detail":"audit covers changes"} {"ts":"2026-06-08T13:04:52+08:00","date":"2026-06-08","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-08T13:04:52+08:00","date":"2026-06-08","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-08T13:04:52+08:00","date":"2026-06-08","gate":"summary","result":"PASS","detail":"7/7"} {"ts":"2026-06-08T13:13:05+08:00","date":"2026-06-08","gate":"changelog","result":"PASS","detail":"2026-06-08-dashboard-server-list-fix.md 27lines"} {"ts":"2026-06-08T13:13:05+08:00","date":"2026-06-08","gate":"audit","result":"PASS","detail":"2026-06-08-dashboard-server-list-fix.md"} {"ts":"2026-06-08T13:13:05+08:00","date":"2026-06-08","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-08T13:13:05+08:00","date":"2026-06-08","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-08T13:13:05+08:00","date":"2026-06-08","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-08T13:13:05+08:00","date":"2026-06-08","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-08T13:13:05+08:00","date":"2026-06-08","gate":"review","result":"BLOCK","detail":"audit missing changed files"} {"ts":"2026-06-08T13:13:05+08:00","date":"2026-06-08","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-08T13:13:05+08:00","date":"2026-06-08","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-08T13:13:05+08:00","date":"2026-06-08","gate":"summary","result":"BLOCK","detail":"6/7"} {"ts":"2026-06-08T13:13:34+08:00","date":"2026-06-08","gate":"changelog","result":"PASS","detail":"2026-06-08-dashboard-server-list-fix.md 27lines"} {"ts":"2026-06-08T13:13:34+08:00","date":"2026-06-08","gate":"audit","result":"PASS","detail":"2026-06-08-dashboard-server-list-fix.md"} {"ts":"2026-06-08T13:13:34+08:00","date":"2026-06-08","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-08T13:13:34+08:00","date":"2026-06-08","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-08T13:13:34+08:00","date":"2026-06-08","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-08T13:13:34+08:00","date":"2026-06-08","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-08T13:13:34+08:00","date":"2026-06-08","gate":"review","result":"BLOCK","detail":"audit missing changed files"} {"ts":"2026-06-08T13:13:34+08:00","date":"2026-06-08","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-08T13:13:34+08:00","date":"2026-06-08","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-08T13:13:34+08:00","date":"2026-06-08","gate":"summary","result":"BLOCK","detail":"6/7"} {"ts":"2026-06-08T13:13:43+08:00","date":"2026-06-08","gate":"changelog","result":"PASS","detail":"2026-06-08-dashboard-server-list-fix.md 27lines"} {"ts":"2026-06-08T13:13:43+08:00","date":"2026-06-08","gate":"audit","result":"PASS","detail":"2026-06-08-dashboard-server-list-fix.md"} {"ts":"2026-06-08T13:13:43+08:00","date":"2026-06-08","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-08T13:13:43+08:00","date":"2026-06-08","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-08T13:13:43+08:00","date":"2026-06-08","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-08T13:13:43+08:00","date":"2026-06-08","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-08T13:13:43+08:00","date":"2026-06-08","gate":"review","result":"PASS","detail":"audit covers changes"} {"ts":"2026-06-08T13:13:43+08:00","date":"2026-06-08","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-08T13:13:43+08:00","date":"2026-06-08","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-08T13:13:43+08:00","date":"2026-06-08","gate":"summary","result":"PASS","detail":"7/7"} {"ts":"2026-06-08T13:22:42+08:00","date":"2026-06-08","gate":"changelog","result":"PASS","detail":"2026-06-08-notify-recovery-respects-resource-toggle.md 44lines"} {"ts":"2026-06-08T13:22:42+08:00","date":"2026-06-08","gate":"audit","result":"PASS","detail":"2026-06-08-dashboard-server-list-fix.md"} {"ts":"2026-06-08T13:22:42+08:00","date":"2026-06-08","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-08T13:22:42+08:00","date":"2026-06-08","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-08T13:22:42+08:00","date":"2026-06-08","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-08T13:22:42+08:00","date":"2026-06-08","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-08T13:22:42+08:00","date":"2026-06-08","gate":"review","result":"BLOCK","detail":"audit missing changed files"} {"ts":"2026-06-08T13:22:42+08:00","date":"2026-06-08","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-08T13:22:42+08:00","date":"2026-06-08","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-08T13:22:42+08:00","date":"2026-06-08","gate":"summary","result":"BLOCK","detail":"6/7"} {"ts":"2026-06-08T13:23:04+08:00","date":"2026-06-08","gate":"changelog","result":"PASS","detail":"2026-06-08-notify-recovery-respects-resource-toggle.md 44lines"} {"ts":"2026-06-08T13:23:04+08:00","date":"2026-06-08","gate":"audit","result":"PASS","detail":"2026-06-08-notify-recovery-resource-toggle-deploy.md"} {"ts":"2026-06-08T13:23:04+08:00","date":"2026-06-08","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-08T13:23:04+08:00","date":"2026-06-08","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-08T13:23:04+08:00","date":"2026-06-08","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-08T13:23:04+08:00","date":"2026-06-08","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-08T13:23:04+08:00","date":"2026-06-08","gate":"review","result":"PASS","detail":"audit covers changes"} {"ts":"2026-06-08T13:23:04+08:00","date":"2026-06-08","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-08T13:23:04+08:00","date":"2026-06-08","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-08T13:23:04+08:00","date":"2026-06-08","gate":"summary","result":"PASS","detail":"7/7"} {"ts":"2026-06-08T13:45:16+08:00","date":"2026-06-08","gate":"changelog","result":"PASS","detail":"2026-06-08-server-inline-detail-contrast.md 22lines"} {"ts":"2026-06-08T13:45:16+08:00","date":"2026-06-08","gate":"audit","result":"PASS","detail":"2026-06-08-server-inline-detail-contrast-deploy.md"} {"ts":"2026-06-08T13:45:16+08:00","date":"2026-06-08","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-08T13:45:16+08:00","date":"2026-06-08","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-08T13:45:16+08:00","date":"2026-06-08","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-08T13:45:16+08:00","date":"2026-06-08","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-08T13:45:16+08:00","date":"2026-06-08","gate":"review","result":"PASS","detail":"audit covers changes"} {"ts":"2026-06-08T13:45:16+08:00","date":"2026-06-08","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-08T13:45:16+08:00","date":"2026-06-08","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-08T13:45:16+08:00","date":"2026-06-08","gate":"summary","result":"PASS","detail":"7/7"} {"ts":"2026-06-08T14:09:53+08:00","date":"2026-06-08","gate":"changelog","result":"PASS","detail":"2026-06-08-unset-path-detect-selection-count.md 17lines"} {"ts":"2026-06-08T14:09:53+08:00","date":"2026-06-08","gate":"audit","result":"PASS","detail":"2026-06-08-unset-path-detect-selection-deploy.md"} {"ts":"2026-06-08T14:09:53+08:00","date":"2026-06-08","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-08T14:09:53+08:00","date":"2026-06-08","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-08T14:09:53+08:00","date":"2026-06-08","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-08T14:09:53+08:00","date":"2026-06-08","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-08T14:09:53+08:00","date":"2026-06-08","gate":"review","result":"PASS","detail":"audit covers changes"} {"ts":"2026-06-08T14:09:53+08:00","date":"2026-06-08","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-08T14:09:53+08:00","date":"2026-06-08","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-08T14:09:53+08:00","date":"2026-06-08","gate":"summary","result":"PASS","detail":"7/7"} {"ts":"2026-06-08T14:36:00+08:00","date":"2026-06-08","gate":"changelog","result":"PASS","detail":"2026-06-08-unset-path-table-sort.md 25lines"} {"ts":"2026-06-08T14:36:00+08:00","date":"2026-06-08","gate":"audit","result":"PASS","detail":"2026-06-08-unset-path-table-sort-deploy.md"} {"ts":"2026-06-08T14:36:00+08:00","date":"2026-06-08","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-08T14:36:00+08:00","date":"2026-06-08","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-08T14:36:00+08:00","date":"2026-06-08","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-08T14:36:00+08:00","date":"2026-06-08","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-08T14:36:00+08:00","date":"2026-06-08","gate":"review","result":"PASS","detail":"audit covers changes"} {"ts":"2026-06-08T14:36:00+08:00","date":"2026-06-08","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-08T14:36:00+08:00","date":"2026-06-08","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-08T14:36:00+08:00","date":"2026-06-08","gate":"summary","result":"PASS","detail":"7/7"} {"ts":"2026-06-08T14:50:10+08:00","date":"2026-06-08","gate":"changelog","result":"PASS","detail":"2026-06-08-settings-pool-size-string-payload.md 23lines"} {"ts":"2026-06-08T14:50:10+08:00","date":"2026-06-08","gate":"audit","result":"PASS","detail":"2026-06-08-settings-pool-size-deploy.md"} {"ts":"2026-06-08T14:50:10+08:00","date":"2026-06-08","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-08T14:50:10+08:00","date":"2026-06-08","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-08T14:50:10+08:00","date":"2026-06-08","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-08T14:50:10+08:00","date":"2026-06-08","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-08T14:50:10+08:00","date":"2026-06-08","gate":"review","result":"PASS","detail":"audit covers changes"} {"ts":"2026-06-08T14:50:10+08:00","date":"2026-06-08","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-08T14:50:10+08:00","date":"2026-06-08","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-08T14:50:10+08:00","date":"2026-06-08","gate":"summary","result":"PASS","detail":"7/7"} {"ts":"2026-06-08T14:52:38+08:00","date":"2026-06-08","gate":"changelog","result":"PASS","detail":"2026-06-08-settings-form-validate-zh-errors.md 32lines"} {"ts":"2026-06-08T14:52:38+08:00","date":"2026-06-08","gate":"audit","result":"PASS","detail":"2026-06-08-settings-form-validate-zh-deploy.md"} {"ts":"2026-06-08T14:52:38+08:00","date":"2026-06-08","gate":"test","result":"BLOCK","detail":"tests failed"} {"ts":"2026-06-08T14:52:38+08:00","date":"2026-06-08","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-08T14:52:38+08:00","date":"2026-06-08","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-08T14:52:38+08:00","date":"2026-06-08","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-08T14:52:38+08:00","date":"2026-06-08","gate":"review","result":"PASS","detail":"audit covers changes"} {"ts":"2026-06-08T14:52:38+08:00","date":"2026-06-08","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-08T14:52:38+08:00","date":"2026-06-08","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-08T14:52:38+08:00","date":"2026-06-08","gate":"summary","result":"BLOCK","detail":"6/7"} {"ts":"2026-06-08T14:52:50+08:00","date":"2026-06-08","gate":"changelog","result":"PASS","detail":"2026-06-08-settings-form-validate-zh-errors.md 32lines"} {"ts":"2026-06-08T14:52:50+08:00","date":"2026-06-08","gate":"audit","result":"PASS","detail":"2026-06-08-settings-form-validate-zh-deploy.md"} {"ts":"2026-06-08T14:52:50+08:00","date":"2026-06-08","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-08T14:52:50+08:00","date":"2026-06-08","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-08T14:52:50+08:00","date":"2026-06-08","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-08T14:52:50+08:00","date":"2026-06-08","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-08T14:52:50+08:00","date":"2026-06-08","gate":"review","result":"PASS","detail":"audit covers changes"} {"ts":"2026-06-08T14:52:50+08:00","date":"2026-06-08","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-08T14:52:50+08:00","date":"2026-06-08","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-08T14:52:50+08:00","date":"2026-06-08","gate":"summary","result":"PASS","detail":"7/7"} {"ts":"2026-06-08T15:06:35+08:00","date":"2026-06-08","gate":"changelog","result":"PASS","detail":"2026-06-08-server-ids-batch-max-2000.md 27lines"} {"ts":"2026-06-08T15:06:35+08:00","date":"2026-06-08","gate":"audit","result":"BLOCK","detail":"missing sections"} {"ts":"2026-06-08T15:06:35+08:00","date":"2026-06-08","gate":"test","result":"BLOCK","detail":"tests failed"} {"ts":"2026-06-08T15:06:35+08:00","date":"2026-06-08","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-08T15:06:35+08:00","date":"2026-06-08","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-08T15:06:35+08:00","date":"2026-06-08","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-08T15:06:35+08:00","date":"2026-06-08","gate":"review","result":"BLOCK","detail":"audit missing changed files"} {"ts":"2026-06-08T15:06:35+08:00","date":"2026-06-08","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-08T15:06:35+08:00","date":"2026-06-08","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-08T15:06:35+08:00","date":"2026-06-08","gate":"summary","result":"BLOCK","detail":"4/7"} {"ts":"2026-06-08T15:06:42+08:00","date":"2026-06-08","gate":"changelog","result":"PASS","detail":"2026-06-08-server-ids-batch-max-2000.md 27lines"} {"ts":"2026-06-08T15:06:42+08:00","date":"2026-06-08","gate":"audit","result":"BLOCK","detail":"missing sections"} {"ts":"2026-06-08T15:06:42+08:00","date":"2026-06-08","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-08T15:06:42+08:00","date":"2026-06-08","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-08T15:06:42+08:00","date":"2026-06-08","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-08T15:06:42+08:00","date":"2026-06-08","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-08T15:06:42+08:00","date":"2026-06-08","gate":"review","result":"BLOCK","detail":"audit missing changed files"} {"ts":"2026-06-08T15:06:42+08:00","date":"2026-06-08","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-08T15:06:42+08:00","date":"2026-06-08","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-08T15:06:42+08:00","date":"2026-06-08","gate":"summary","result":"BLOCK","detail":"5/7"} {"ts":"2026-06-08T15:06:49+08:00","date":"2026-06-08","gate":"changelog","result":"PASS","detail":"2026-06-08-server-ids-batch-max-2000.md 27lines"} {"ts":"2026-06-08T15:06:49+08:00","date":"2026-06-08","gate":"audit","result":"BLOCK","detail":"missing sections"} {"ts":"2026-06-08T15:06:49+08:00","date":"2026-06-08","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-08T15:06:49+08:00","date":"2026-06-08","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-08T15:06:49+08:00","date":"2026-06-08","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-08T15:06:49+08:00","date":"2026-06-08","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-08T15:06:49+08:00","date":"2026-06-08","gate":"review","result":"BLOCK","detail":"audit missing changed files"} {"ts":"2026-06-08T15:06:49+08:00","date":"2026-06-08","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-08T15:06:49+08:00","date":"2026-06-08","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-08T15:06:49+08:00","date":"2026-06-08","gate":"summary","result":"BLOCK","detail":"5/7"} {"ts":"2026-06-08T15:08:03+08:00","date":"2026-06-08","gate":"changelog","result":"PASS","detail":"2026-06-08-server-ids-batch-max-2000.md 27lines"} {"ts":"2026-06-08T15:08:03+08:00","date":"2026-06-08","gate":"audit","result":"PASS","detail":"2026-06-08-server-ids-batch-max-deploy.md"} {"ts":"2026-06-08T15:08:03+08:00","date":"2026-06-08","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-08T15:08:03+08:00","date":"2026-06-08","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-08T15:08:03+08:00","date":"2026-06-08","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-08T15:08:03+08:00","date":"2026-06-08","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-08T15:08:03+08:00","date":"2026-06-08","gate":"review","result":"PASS","detail":"audit covers changes"} {"ts":"2026-06-08T15:08:03+08:00","date":"2026-06-08","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-08T15:08:03+08:00","date":"2026-06-08","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-08T15:08:03+08:00","date":"2026-06-08","gate":"summary","result":"PASS","detail":"7/7"} {"ts":"2026-06-08T15:23:16+08:00","date":"2026-06-08","gate":"changelog","result":"PASS","detail":"2026-06-08-full-align-deploy.md 33lines"} {"ts":"2026-06-08T15:23:16+08:00","date":"2026-06-08","gate":"audit","result":"PASS","detail":"2026-06-08-full-align-deploy.md"} {"ts":"2026-06-08T15:23:16+08:00","date":"2026-06-08","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-08T15:23:16+08:00","date":"2026-06-08","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-08T15:23:16+08:00","date":"2026-06-08","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-08T15:23:16+08:00","date":"2026-06-08","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-08T15:23:16+08:00","date":"2026-06-08","gate":"review","result":"PASS","detail":"audit covers changes"} {"ts":"2026-06-08T15:23:16+08:00","date":"2026-06-08","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-08T15:23:16+08:00","date":"2026-06-08","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-08T15:23:16+08:00","date":"2026-06-08","gate":"summary","result":"PASS","detail":"7/7"} {"ts":"2026-06-08T23:05:56+08:00","date":"2026-06-08","gate":"changelog","result":"PASS","detail":"2026-06-08-agent-401-stop-heartbeat.md 40lines"} {"ts":"2026-06-08T23:05:56+08:00","date":"2026-06-08","gate":"audit","result":"PASS","detail":"2026-06-08-agent-401-stop-heartbeat.md"} {"ts":"2026-06-08T23:05:56+08:00","date":"2026-06-08","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-08T23:05:56+08:00","date":"2026-06-08","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-08T23:05:56+08:00","date":"2026-06-08","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-08T23:05:56+08:00","date":"2026-06-08","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-08T23:05:56+08:00","date":"2026-06-08","gate":"review","result":"BLOCK","detail":"audit missing changed files"} {"ts":"2026-06-08T23:05:56+08:00","date":"2026-06-08","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-08T23:05:56+08:00","date":"2026-06-08","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-08T23:05:56+08:00","date":"2026-06-08","gate":"summary","result":"BLOCK","detail":"6/7"} {"ts":"2026-06-08T23:06:09+08:00","date":"2026-06-08","gate":"changelog","result":"PASS","detail":"2026-06-08-agent-401-stop-heartbeat.md 40lines"} {"ts":"2026-06-08T23:06:09+08:00","date":"2026-06-08","gate":"audit","result":"PASS","detail":"2026-06-08-agent-401-stop-heartbeat.md"} {"ts":"2026-06-08T23:06:09+08:00","date":"2026-06-08","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-08T23:06:09+08:00","date":"2026-06-08","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-08T23:06:09+08:00","date":"2026-06-08","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-08T23:06:09+08:00","date":"2026-06-08","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-08T23:06:09+08:00","date":"2026-06-08","gate":"review","result":"PASS","detail":"audit covers changes"} {"ts":"2026-06-08T23:06:09+08:00","date":"2026-06-08","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-08T23:06:09+08:00","date":"2026-06-08","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-08T23:06:09+08:00","date":"2026-06-08","gate":"summary","result":"PASS","detail":"7/7"} {"ts":"2026-06-08T23:19:12+08:00","date":"2026-06-08","gate":"changelog","result":"PASS","detail":"2026-06-08-beijing-time-display-unified.md 40lines"} {"ts":"2026-06-08T23:19:12+08:00","date":"2026-06-08","gate":"audit","result":"PASS","detail":"2026-06-08-beijing-time-recovery-telegram.md"} {"ts":"2026-06-08T23:19:12+08:00","date":"2026-06-08","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-08T23:19:12+08:00","date":"2026-06-08","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-08T23:19:12+08:00","date":"2026-06-08","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-08T23:19:12+08:00","date":"2026-06-08","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-08T23:19:12+08:00","date":"2026-06-08","gate":"review","result":"PASS","detail":"audit covers changes"} {"ts":"2026-06-08T23:19:12+08:00","date":"2026-06-08","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-08T23:19:12+08:00","date":"2026-06-08","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-08T23:19:12+08:00","date":"2026-06-08","gate":"summary","result":"PASS","detail":"7/7"} {"ts":"2026-06-08T23:28:37+08:00","date":"2026-06-08","gate":"changelog","result":"PASS","detail":"2026-06-08-servers-hide-csv-export.md 17lines"} {"ts":"2026-06-08T23:28:37+08:00","date":"2026-06-08","gate":"audit","result":"PASS","detail":"2026-06-08-push-validation-servers-ui.md"} {"ts":"2026-06-08T23:28:37+08:00","date":"2026-06-08","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-08T23:28:37+08:00","date":"2026-06-08","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-08T23:28:37+08:00","date":"2026-06-08","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-08T23:28:37+08:00","date":"2026-06-08","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-08T23:28:37+08:00","date":"2026-06-08","gate":"review","result":"PASS","detail":"audit covers changes"} {"ts":"2026-06-08T23:28:37+08:00","date":"2026-06-08","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-08T23:28:37+08:00","date":"2026-06-08","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-08T23:28:37+08:00","date":"2026-06-08","gate":"summary","result":"PASS","detail":"7/7"} {"ts":"2026-06-09T01:33:28+08:00","date":"2026-06-09","gate":"changelog","result":"BLOCK","detail":"file not found"} {"ts":"2026-06-09T01:33:28+08:00","date":"2026-06-09","gate":"audit","result":"BLOCK","detail":"file not found"} {"ts":"2026-06-09T01:33:28+08:00","date":"2026-06-09","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-09T01:33:28+08:00","date":"2026-06-09","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-09T01:33:28+08:00","date":"2026-06-09","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-09T01:33:28+08:00","date":"2026-06-09","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-09T01:33:28+08:00","date":"2026-06-09","gate":"review","result":"BLOCK","detail":"no audit file"} {"ts":"2026-06-09T01:33:28+08:00","date":"2026-06-09","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-09T01:33:28+08:00","date":"2026-06-09","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-09T01:33:28+08:00","date":"2026-06-09","gate":"summary","result":"BLOCK","detail":"4/7"} {"ts":"2026-06-09T01:34:25+08:00","date":"2026-06-09","gate":"changelog","result":"PASS","detail":"2026-06-09-full-site-testing-delivery.md 54lines"} {"ts":"2026-06-09T01:34:25+08:00","date":"2026-06-09","gate":"audit","result":"PASS","detail":"2026-06-09-full-site-testing-delivery.md"} {"ts":"2026-06-09T01:34:25+08:00","date":"2026-06-09","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-09T01:34:25+08:00","date":"2026-06-09","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-09T01:34:25+08:00","date":"2026-06-09","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-09T01:34:25+08:00","date":"2026-06-09","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-09T01:34:25+08:00","date":"2026-06-09","gate":"review","result":"BLOCK","detail":"audit missing changed files"} {"ts":"2026-06-09T01:34:25+08:00","date":"2026-06-09","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-09T01:34:25+08:00","date":"2026-06-09","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-09T01:34:25+08:00","date":"2026-06-09","gate":"summary","result":"BLOCK","detail":"6/7"} {"ts":"2026-06-09T01:34:51+08:00","date":"2026-06-09","gate":"changelog","result":"PASS","detail":"2026-06-09-full-site-testing-delivery.md 54lines"} {"ts":"2026-06-09T01:34:51+08:00","date":"2026-06-09","gate":"audit","result":"PASS","detail":"2026-06-09-full-site-testing-delivery.md"} {"ts":"2026-06-09T01:34:51+08:00","date":"2026-06-09","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-09T01:34:51+08:00","date":"2026-06-09","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-09T01:34:51+08:00","date":"2026-06-09","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-09T01:34:51+08:00","date":"2026-06-09","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-09T01:34:51+08:00","date":"2026-06-09","gate":"review","result":"PASS","detail":"audit covers changes"} {"ts":"2026-06-09T01:34:51+08:00","date":"2026-06-09","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-09T01:34:51+08:00","date":"2026-06-09","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-09T01:34:51+08:00","date":"2026-06-09","gate":"summary","result":"PASS","detail":"7/7"} {"ts":"2026-06-09T02:12:43+08:00","date":"2026-06-09","gate":"changelog","result":"PASS","detail":"2026-06-09-full-site-testing-delivery.md 58lines"} {"ts":"2026-06-09T02:12:43+08:00","date":"2026-06-09","gate":"audit","result":"PASS","detail":"2026-06-09-full-site-testing-delivery.md"} {"ts":"2026-06-09T02:12:43+08:00","date":"2026-06-09","gate":"test","result":"PASS","detail":"all passed"} {"ts":"2026-06-09T02:12:43+08:00","date":"2026-06-09","gate":"lint","result":"PASS","detail":"0 violations"} {"ts":"2026-06-09T02:12:43+08:00","date":"2026-06-09","gate":"import","result":"PASS","detail":"ok"} {"ts":"2026-06-09T02:12:43+08:00","date":"2026-06-09","gate":"security","result":"PASS","detail":"0 HIGH"} {"ts":"2026-06-09T02:12:43+08:00","date":"2026-06-09","gate":"review","result":"PASS","detail":"audit covers changes"} {"ts":"2026-06-09T02:12:43+08:00","date":"2026-06-09","gate":"shell_eol","result":"PASS","detail":"all tracked sh LF"} {"ts":"2026-06-09T02:12:43+08:00","date":"2026-06-09","gate":"text_eol","result":"PASS","detail":"git index LF"} {"ts":"2026-06-09T02:12:43+08:00","date":"2026-06-09","gate":"summary","result":"PASS","detail":"7/7"}