Files
Nexus/deploy/gate_log.jsonl
T

439 lines
50 KiB
JSON
Raw Normal View History

{"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"}
2026-06-07 18:05:27 +08:00
{"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"}