{ "hook_executions": [ { "hook": "validate-file-edit", "timestamp": "2025-10-15T07:15:08.552Z", "file": "/home/theflow/projects/tractatus/scripts/hook-validators/validate-file-edit.js", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-15T07:15:08.876Z", "file": "/home/theflow/projects/tractatus/scripts/hook-validators/validate-file-edit.js", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-15T07:15:09.096Z", "file": "/home/theflow/projects/tractatus/scripts/hook-validators/validate-file-edit.js", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-15T07:15:19.424Z", "file": "/home/theflow/projects/tractatus/scripts/hook-validators/validate-file-edit.js", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-15T07:15:32.522Z", "file": "/home/theflow/projects/tractatus/scripts/hook-validators/validate-file-write.js", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-15T07:16:10.450Z", "file": "/home/theflow/projects/tractatus/scripts/hook-validators/validate-file-write.js", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-15T07:16:10.704Z", "file": "/home/theflow/projects/tractatus/scripts/hook-validators/validate-file-write.js", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-15T07:16:11.024Z", "file": "/home/theflow/projects/tractatus/scripts/hook-validators/validate-file-write.js", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-15T07:16:45.763Z", "file": "/home/theflow/projects/tractatus/src/routes/index.js", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-15T07:16:46.053Z", "file": "/home/theflow/projects/tractatus/src/routes/index.js", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-15T07:16:46.366Z", "file": "/home/theflow/projects/tractatus/public/admin/dashboard.html", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-15T08:03:19.942Z", "file": "/home/theflow/projects/tractatus/src/routes/hooks-metrics.routes.js", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-15T08:46:05.417Z", "file": "/home/theflow/projects/tractatus/public/researcher.html", "result": "blocked", "reason": "Pre-action check failed (CSP violation or file restriction)" }, { "hook": "validate-file-write", "timestamp": "2025-10-15T08:46:26.632Z", "file": "/home/theflow/projects/tractatus/public/js/researcher-page.js", "result": "passed", "reason": null }, { "hook": "validate-file-write", "timestamp": "2025-10-15T08:52:33.441Z", "file": "/home/theflow/projects/tractatus/public/js/leader-page.js", "result": "passed", "reason": null }, { "hook": "validate-file-write", "timestamp": "2025-10-15T10:00:52.875Z", "file": "/home/theflow/projects/tractatus/public/js/koha-donation.js", "result": "passed", "reason": null }, { "hook": "validate-file-write", "timestamp": "2025-10-15T10:03:15.327Z", "file": "/tmp/fix-koha-csp.py", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-15T10:03:52.989Z", "file": "/home/theflow/projects/tractatus/public/koha.html", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-15T10:03:58.319Z", "file": "/home/theflow/projects/tractatus/public/koha.html", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-15T10:04:04.525Z", "file": "/home/theflow/projects/tractatus/public/koha.html", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-15T10:33:56.445Z", "file": "/home/theflow/projects/tractatus/docs/TE_REO_MAORI_TRANSLATION_REQUIREMENTS.md", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-15T10:34:10.868Z", "file": "/home/theflow/projects/tractatus/docs/TE_REO_MAORI_TRANSLATION_REQUIREMENTS.md", "result": "passed", "reason": null }, { "hook": "validate-file-write", "timestamp": "2025-10-15T18:29:31.743Z", "file": "/tmp/add-i18n-attributes.py", "result": "passed", "reason": null }, { "hook": "validate-file-write", "timestamp": "2025-10-15T18:30:26.334Z", "file": "/tmp/fix-missing-i18n.py", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-15T18:31:06.317Z", "file": "/home/theflow/projects/tractatus/public/js/components/navbar.js", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-15T18:39:41.208Z", "file": "/home/theflow/projects/tractatus/docs/I18N_IMPLEMENTATION_SUMMARY.md", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-15T18:41:15.196Z", "file": "/home/theflow/projects/tractatus/public/docs.html", "result": "passed", "reason": null }, { "hook": "validate-file-write", "timestamp": "2025-10-15T18:43:51.015Z", "file": "/home/theflow/projects/tractatus/public/admin/case-moderation.html", "result": "passed", "reason": null }, { "hook": "validate-file-write", "timestamp": "2025-10-15T18:45:07.460Z", "file": "/home/theflow/projects/tractatus/public/js/admin/case-moderation.js", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-15T18:47:12.426Z", "file": "/home/theflow/projects/tractatus/src/controllers/cases.controller.js", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-15T18:47:20.582Z", "file": "/home/theflow/projects/tractatus/src/controllers/cases.controller.js", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-15T18:47:27.973Z", "file": "/home/theflow/projects/tractatus/src/controllers/cases.controller.js", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-15T18:47:38.248Z", "file": "/home/theflow/projects/tractatus/src/routes/cases.routes.js", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-15T18:48:14.910Z", "file": "/home/theflow/projects/tractatus/public/js/admin/case-moderation.js", "result": "blocked", "reason": "Pre-action check failed (CSP violation or file restriction)" }, { "hook": "validate-file-edit", "timestamp": "2025-10-15T18:48:15.070Z", "file": "/home/theflow/projects/tractatus/public/js/admin/case-moderation.js", "result": "blocked", "reason": "Pre-action check failed (CSP violation or file restriction)" }, { "hook": "validate-file-edit", "timestamp": "2025-10-15T18:48:15.235Z", "file": "/home/theflow/projects/tractatus/public/js/admin/case-moderation.js", "result": "blocked", "reason": "Pre-action check failed (CSP violation or file restriction)" }, { "hook": "validate-file-edit", "timestamp": "2025-10-15T18:48:15.397Z", "file": "/home/theflow/projects/tractatus/public/js/admin/case-moderation.js", "result": "blocked", "reason": "Pre-action check failed (CSP violation or file restriction)" }, { "hook": "validate-file-edit", "timestamp": "2025-10-15T18:48:32.438Z", "file": "/home/theflow/projects/tractatus/public/js/admin/case-moderation.js", "result": "blocked", "reason": "Pre-action check failed (CSP violation or file restriction)" }, { "hook": "validate-file-edit", "timestamp": "2025-10-15T18:48:38.593Z", "file": null, "result": "error", "reason": "No file path in input" }, { "hook": "validate-file-write", "timestamp": "2025-10-15T18:49:58.575Z", "file": "/home/theflow/projects/tractatus/public/js/admin/case-moderation.js", "result": "blocked", "reason": "Pre-action check failed (CSP violation or file restriction)" }, { "hook": "validate-file-write", "timestamp": "2025-10-15T19:53:32.916Z", "file": "/home/theflow/Desktop/Presentation-to-Commissioners.md", "result": "passed", "reason": null }, { "hook": "validate-file-write", "timestamp": "2025-10-15T19:55:07.849Z", "file": "/tmp/generate-pdf-custom-footer.js", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-15T19:57:46.651Z", "file": "/home/theflow/projects/tractatus/scripts/generate-pdf-custom-footer.js", "result": "blocked", "reason": "Pre-action check failed (CSP violation or file restriction)" }, { "hook": "validate-file-write", "timestamp": "2025-10-15T19:58:06.679Z", "file": "/home/theflow/projects/tractatus/scripts/generate-pdf-commissioners.js", "result": "passed", "reason": null }, { "hook": "validate-file-write", "timestamp": "2025-10-16T01:53:25.099Z", "file": "/home/theflow/projects/tractatus/public/js/components/language-selector.js", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T01:53:45.136Z", "file": "/home/theflow/projects/tractatus/public/js/components/navbar.js", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T01:54:06.153Z", "file": "/home/theflow/projects/tractatus/public/js/i18n-simple.js", "result": "passed", "reason": null }, { "hook": "validate-file-write", "timestamp": "2025-10-16T02:01:35.298Z", "file": "/home/theflow/projects/tractatus/public/js/components/language-selector.js", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T02:02:04.765Z", "file": "/home/theflow/projects/tractatus/public/researcher.html", "result": "passed", "reason": null }, { "hook": "validate-file-write", "timestamp": "2025-10-16T09:59:31.766Z", "file": "/home/theflow/projects/tractatus/public/locales/en/researcher.json", "result": "passed", "reason": null }, { "hook": "validate-file-write", "timestamp": "2025-10-16T09:59:32.123Z", "file": "/home/theflow/projects/tractatus/public/locales/en/leader.json", "result": "passed", "reason": null }, { "hook": "validate-file-write", "timestamp": "2025-10-16T09:59:32.555Z", "file": "/home/theflow/projects/tractatus/public/locales/en/implementer.json", "result": "passed", "reason": null }, { "hook": "validate-file-write", "timestamp": "2025-10-16T09:59:32.884Z", "file": "/home/theflow/projects/tractatus/public/locales/en/about.json", "result": "passed", "reason": null }, { "hook": "validate-file-write", "timestamp": "2025-10-16T09:59:33.172Z", "file": "/home/theflow/projects/tractatus/public/locales/en/faq.json", "result": "passed", "reason": null }, { "hook": "validate-file-write", "timestamp": "2025-10-16T10:02:12.472Z", "file": "/home/theflow/projects/tractatus/public/locales/de/researcher.json", "result": "passed", "reason": null }, { "hook": "validate-file-write", "timestamp": "2025-10-16T10:02:12.721Z", "file": "/home/theflow/projects/tractatus/public/locales/de/leader.json", "result": "passed", "reason": null }, { "hook": "validate-file-write", "timestamp": "2025-10-16T10:02:13.002Z", "file": "/home/theflow/projects/tractatus/public/locales/de/implementer.json", "result": "passed", "reason": null }, { "hook": "validate-file-write", "timestamp": "2025-10-16T10:02:13.266Z", "file": "/home/theflow/projects/tractatus/public/locales/de/about.json", "result": "passed", "reason": null }, { "hook": "validate-file-write", "timestamp": "2025-10-16T10:02:13.556Z", "file": "/home/theflow/projects/tractatus/public/locales/de/faq.json", "result": "passed", "reason": null }, { "hook": "validate-file-write", "timestamp": "2025-10-16T10:04:45.290Z", "file": "/home/theflow/projects/tractatus/public/locales/fr/researcher.json", "result": "passed", "reason": null }, { "hook": "validate-file-write", "timestamp": "2025-10-16T10:04:45.667Z", "file": "/home/theflow/projects/tractatus/public/locales/fr/leader.json", "result": "passed", "reason": null }, { "hook": "validate-file-write", "timestamp": "2025-10-16T10:04:46.213Z", "file": "/home/theflow/projects/tractatus/public/locales/fr/implementer.json", "result": "passed", "reason": null }, { "hook": "validate-file-write", "timestamp": "2025-10-16T10:04:46.571Z", "file": "/home/theflow/projects/tractatus/public/locales/fr/about.json", "result": "passed", "reason": null }, { "hook": "validate-file-write", "timestamp": "2025-10-16T10:04:46.872Z", "file": "/home/theflow/projects/tractatus/public/locales/fr/faq.json", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T10:05:30.498Z", "file": "/home/theflow/projects/tractatus/public/js/i18n-simple.js", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T10:05:56.337Z", "file": "/home/theflow/projects/tractatus/public/researcher.html", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T10:05:56.726Z", "file": "/home/theflow/projects/tractatus/public/researcher.html", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T10:05:57.131Z", "file": "/home/theflow/projects/tractatus/public/researcher.html", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T10:19:43.324Z", "file": "/home/theflow/projects/tractatus/public/js/components/navbar.js", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T10:21:49.374Z", "file": "/home/theflow/projects/tractatus/public/about.html", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T10:21:49.749Z", "file": "/home/theflow/projects/tractatus/public/about.html", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T10:21:50.057Z", "file": "/home/theflow/projects/tractatus/public/about.html", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T10:22:57.389Z", "file": "/home/theflow/projects/tractatus/public/about.html", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T10:22:57.910Z", "file": "/home/theflow/projects/tractatus/public/about.html", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T10:22:58.409Z", "file": "/home/theflow/projects/tractatus/public/about.html", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T10:22:58.860Z", "file": "/home/theflow/projects/tractatus/public/about.html", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T19:04:27.986Z", "file": "/home/theflow/projects/tractatus/public/about.html", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T19:09:33.733Z", "file": "/home/theflow/projects/tractatus/public/researcher.html", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T19:09:41.133Z", "file": "/home/theflow/projects/tractatus/public/researcher.html", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T19:09:50.873Z", "file": "/home/theflow/projects/tractatus/public/researcher.html", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T19:09:58.877Z", "file": "/home/theflow/projects/tractatus/public/researcher.html", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T19:10:06.126Z", "file": "/home/theflow/projects/tractatus/public/researcher.html", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T19:10:12.751Z", "file": "/home/theflow/projects/tractatus/public/researcher.html", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T19:10:21.724Z", "file": "/home/theflow/projects/tractatus/public/researcher.html", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T19:10:31.999Z", "file": "/home/theflow/projects/tractatus/public/researcher.html", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T19:10:41.414Z", "file": "/home/theflow/projects/tractatus/public/researcher.html", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T19:10:57.623Z", "file": "/home/theflow/projects/tractatus/public/researcher.html", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T19:11:04.268Z", "file": "/home/theflow/projects/tractatus/public/researcher.html", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T19:11:13.335Z", "file": "/home/theflow/projects/tractatus/public/researcher.html", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T19:11:25.363Z", "file": "/home/theflow/projects/tractatus/public/researcher.html", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T19:12:15.627Z", "file": "/home/theflow/projects/tractatus/public/leader.html", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T19:12:31.501Z", "file": "/home/theflow/projects/tractatus/public/leader.html", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T19:12:40.659Z", "file": "/home/theflow/projects/tractatus/public/leader.html", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T19:12:50.643Z", "file": "/home/theflow/projects/tractatus/public/leader.html", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T19:13:02.907Z", "file": "/home/theflow/projects/tractatus/public/leader.html", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T19:13:11.949Z", "file": "/home/theflow/projects/tractatus/public/leader.html", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T19:13:23.571Z", "file": "/home/theflow/projects/tractatus/public/leader.html", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T19:13:37.259Z", "file": "/home/theflow/projects/tractatus/public/leader.html", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T19:13:46.869Z", "file": "/home/theflow/projects/tractatus/public/leader.html", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T19:13:56.091Z", "file": "/home/theflow/projects/tractatus/public/leader.html", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T19:14:06.318Z", "file": "/home/theflow/projects/tractatus/public/leader.html", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T19:14:22.183Z", "file": "/home/theflow/projects/tractatus/public/leader.html", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T19:14:43.252Z", "file": "/home/theflow/projects/tractatus/public/leader.html", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T19:15:40.747Z", "file": "/home/theflow/projects/tractatus/public/implementer.html", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T19:15:56.366Z", "file": "/home/theflow/projects/tractatus/public/implementer.html", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T19:16:24.772Z", "file": "/home/theflow/projects/tractatus/public/implementer.html", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T19:16:25.320Z", "file": "/home/theflow/projects/tractatus/public/implementer.html", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T19:16:25.650Z", "file": "/home/theflow/projects/tractatus/public/implementer.html", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T19:16:25.959Z", "file": "/home/theflow/projects/tractatus/public/implementer.html", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T19:16:26.287Z", "file": "/home/theflow/projects/tractatus/public/implementer.html", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T19:16:26.629Z", "file": "/home/theflow/projects/tractatus/public/implementer.html", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T19:17:27.449Z", "file": "/home/theflow/projects/tractatus/public/faq.html", "result": "blocked", "reason": "Pre-action check failed (CSP violation or file restriction)" }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T19:17:27.739Z", "file": "/home/theflow/projects/tractatus/public/faq.html", "result": "blocked", "reason": "Pre-action check failed (CSP violation or file restriction)" }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T19:17:27.982Z", "file": "/home/theflow/projects/tractatus/public/faq.html", "result": "blocked", "reason": "Pre-action check failed (CSP violation or file restriction)" }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T19:17:28.149Z", "file": "/home/theflow/projects/tractatus/public/faq.html", "result": "blocked", "reason": "Pre-action check failed (CSP violation or file restriction)" }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T19:21:07.160Z", "file": "/home/theflow/projects/tractatus/public/js/components/language-selector.js", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T19:21:14.897Z", "file": "/home/theflow/projects/tractatus/public/js/components/language-selector.js", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T19:24:21.973Z", "file": "/home/theflow/projects/tractatus/public/faq.html", "result": "blocked", "reason": "Pre-action check failed (CSP violation or file restriction)" }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T19:24:22.130Z", "file": "/home/theflow/projects/tractatus/public/faq.html", "result": "blocked", "reason": "Pre-action check failed (CSP violation or file restriction)" }, { "hook": "validate-file-write", "timestamp": "2025-10-16T19:28:46.661Z", "file": "/home/theflow/projects/tractatus/public/faq.html", "result": "blocked", "reason": "Pre-action check failed (CSP violation or file restriction)" }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T19:38:45.989Z", "file": "/home/theflow/projects/tractatus/public/faq.html", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T19:39:24.948Z", "file": "/home/theflow/projects/tractatus/public/faq.html", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T19:40:04.096Z", "file": "/home/theflow/projects/tractatus/public/faq.html", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T19:40:04.514Z", "file": "/home/theflow/projects/tractatus/public/faq.html", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T19:40:39.354Z", "file": "/home/theflow/projects/tractatus/public/faq.html", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T19:41:11.086Z", "file": "/home/theflow/projects/tractatus/public/faq.html", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T19:45:57.600Z", "file": "/home/theflow/projects/tractatus/public/index.html", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T19:45:58.032Z", "file": "/home/theflow/projects/tractatus/public/about.html", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T19:45:58.478Z", "file": "/home/theflow/projects/tractatus/public/researcher.html", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T19:45:58.774Z", "file": "/home/theflow/projects/tractatus/public/leader.html", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T19:45:59.082Z", "file": "/home/theflow/projects/tractatus/public/implementer.html", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T19:45:59.441Z", "file": "/home/theflow/projects/tractatus/public/faq.html", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T19:46:22.106Z", "file": "/home/theflow/projects/tractatus/public/docs.html", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T19:50:15.951Z", "file": "/home/theflow/projects/tractatus/public/js/components/language-selector.js", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T19:54:54.774Z", "file": "/home/theflow/projects/tractatus/public/js/components/language-selector.js", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T19:59:48.394Z", "file": "/home/theflow/projects/tractatus/public/js/components/language-selector.js", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T20:04:37.279Z", "file": "/home/theflow/projects/tractatus/public/js/components/language-selector.js", "result": "passed", "reason": null }, { "hook": "validate-file-write", "timestamp": "2025-10-16T20:33:31.206Z", "file": "/home/theflow/projects/tractatus/SESSION_HANDOFF_2025-10-17_LANGUAGE_SELECTOR.md", "result": "passed", "reason": null }, { "hook": "validate-file-write", "timestamp": "2025-10-16T20:34:36.004Z", "file": "/home/theflow/projects/tractatus/NEW_SESSION_PROMPT.md", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T20:40:33.390Z", "file": "/home/theflow/projects/tractatus/SESSION_HANDOFF_2025-10-17_LANGUAGE_SELECTOR.md", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T20:40:43.811Z", "file": "/home/theflow/projects/tractatus/SESSION_HANDOFF_2025-10-17_LANGUAGE_SELECTOR.md", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T20:40:54.937Z", "file": "/home/theflow/projects/tractatus/NEW_SESSION_PROMPT.md", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T20:41:05.170Z", "file": "/home/theflow/projects/tractatus/SESSION_HANDOFF_2025-10-17_LANGUAGE_SELECTOR.md", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T20:41:23.194Z", "file": "/home/theflow/projects/tractatus/SESSION_HANDOFF_2025-10-17_LANGUAGE_SELECTOR.md", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T20:41:39.062Z", "file": "/home/theflow/projects/tractatus/SESSION_HANDOFF_2025-10-17_LANGUAGE_SELECTOR.md", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T20:46:13.809Z", "file": "/home/theflow/projects/tractatus/docs/plans/integrated-implementation-roadmap-2025.md", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T20:46:44.082Z", "file": "/home/theflow/projects/tractatus/docs/plans/integrated-implementation-roadmap-2025.md", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T20:47:00.123Z", "file": "/home/theflow/projects/tractatus/docs/plans/integrated-implementation-roadmap-2025.md", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T20:47:00.385Z", "file": "/home/theflow/projects/tractatus/docs/plans/integrated-implementation-roadmap-2025.md", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T20:47:14.492Z", "file": "/home/theflow/projects/tractatus/docs/plans/integrated-implementation-roadmap-2025.md", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T20:52:15.299Z", "file": "/home/theflow/projects/tractatus/docs/plans/integrated-implementation-roadmap-2025.md", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T21:01:01.922Z", "file": "/home/theflow/projects/tractatus/.claude/settings.local.json", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T21:04:24.599Z", "file": "/home/theflow/projects/tractatus/.claude/instruction-history.json", "result": "passed", "reason": null }, { "hook": "validate-file-write", "timestamp": "2025-10-16T21:11:45.440Z", "file": "/tmp/scan-csp.sh", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T21:12:48.872Z", "file": "/home/theflow/projects/tractatus/public/demos/27027-demo.html", "result": "blocked", "reason": "Pre-action check failed (CSP violation or file restriction)" }, { "hook": "validate-file-write", "timestamp": "2025-10-16T21:13:27.814Z", "file": "/home/theflow/projects/tractatus/public/demos/27027-demo.html", "result": "blocked", "reason": "Pre-action check failed (CSP violation or file restriction)" }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T21:24:10.976Z", "file": "/home/theflow/projects/tractatus/scripts/hook-validators/validate-file-write.js", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T21:24:23.202Z", "file": "/home/theflow/projects/tractatus/scripts/hook-validators/validate-file-write.js", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T21:25:03.361Z", "file": "/home/theflow/projects/tractatus/scripts/hook-validators/validate-file-edit.js", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T21:25:15.367Z", "file": "/home/theflow/projects/tractatus/scripts/hook-validators/validate-file-edit.js", "result": "error", "reason": "runPreActionCheck is not defined" }, { "hook": "validate-file-write", "timestamp": "2025-10-16T21:32:34.337Z", "file": "/home/theflow/projects/tractatus/public/demos/27027-demo.html", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T21:34:43.215Z", "file": "/home/theflow/projects/tractatus/public/demos/tractatus-demo.html", "result": "passed", "reason": null }, { "hook": "validate-file-write", "timestamp": "2025-10-16T21:35:05.327Z", "file": "/home/theflow/projects/tractatus/public/js/check-version.js", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T21:35:18.883Z", "file": "/home/theflow/projects/tractatus/public/check-version.html", "result": "passed", "reason": null }, { "hook": "validate-file-write", "timestamp": "2025-10-16T21:35:42.525Z", "file": "/home/theflow/projects/tractatus/public/js/media-inquiry.js", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T21:35:54.260Z", "file": "/home/theflow/projects/tractatus/public/media-inquiry.html", "result": "passed", "reason": null }, { "hook": "validate-file-write", "timestamp": "2025-10-16T21:36:20.127Z", "file": "/home/theflow/projects/tractatus/public/js/case-submission.js", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T21:36:30.466Z", "file": "/home/theflow/projects/tractatus/public/case-submission.html", "result": "blocked", "reason": "CSP violations in content after edit" }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T21:36:45.357Z", "file": "/home/theflow/projects/tractatus/public/case-submission.html", "result": "blocked", "reason": "CSP violations in content after edit" }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T21:37:58.968Z", "file": "/home/theflow/projects/tractatus/public/case-submission.html", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T21:38:51.285Z", "file": "/home/theflow/projects/tractatus/public/media-triage-transparency.html", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T21:39:35.673Z", "file": "/home/theflow/projects/tractatus/public/koha/transparency.html", "result": "passed", "reason": null }, { "hook": "validate-file-write", "timestamp": "2025-10-16T21:40:26.960Z", "file": "/home/theflow/projects/tractatus/public/js/koha-success.js", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T21:41:06.816Z", "file": "/home/theflow/projects/tractatus/public/koha/success.html", "result": "blocked", "reason": "CSP violations in content after edit" }, { "hook": "validate-file-write", "timestamp": "2025-10-16T21:42:28.940Z", "file": "/home/theflow/projects/tractatus/public/koha/success.html", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T21:57:10.680Z", "file": "/home/theflow/projects/tractatus/.claude/instruction-history.json", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T21:57:19.676Z", "file": "/home/theflow/projects/tractatus/.claude/instruction-history.json", "result": "passed", "reason": null }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T21:57:27.229Z", "file": "/home/theflow/projects/tractatus/.claude/instruction-history.json", "result": "passed", "reason": null } ], "blocks": [ { "hook": "validate-file-edit", "timestamp": "2025-10-15T08:46:05.418Z", "file": "/home/theflow/projects/tractatus/public/researcher.html", "reason": "Pre-action check failed (CSP violation or file restriction)" }, { "hook": "validate-file-edit", "timestamp": "2025-10-15T18:48:14.911Z", "file": "/home/theflow/projects/tractatus/public/js/admin/case-moderation.js", "reason": "Pre-action check failed (CSP violation or file restriction)" }, { "hook": "validate-file-edit", "timestamp": "2025-10-15T18:48:15.070Z", "file": "/home/theflow/projects/tractatus/public/js/admin/case-moderation.js", "reason": "Pre-action check failed (CSP violation or file restriction)" }, { "hook": "validate-file-edit", "timestamp": "2025-10-15T18:48:15.236Z", "file": "/home/theflow/projects/tractatus/public/js/admin/case-moderation.js", "reason": "Pre-action check failed (CSP violation or file restriction)" }, { "hook": "validate-file-edit", "timestamp": "2025-10-15T18:48:15.397Z", "file": "/home/theflow/projects/tractatus/public/js/admin/case-moderation.js", "reason": "Pre-action check failed (CSP violation or file restriction)" }, { "hook": "validate-file-edit", "timestamp": "2025-10-15T18:48:32.438Z", "file": "/home/theflow/projects/tractatus/public/js/admin/case-moderation.js", "reason": "Pre-action check failed (CSP violation or file restriction)" }, { "hook": "validate-file-write", "timestamp": "2025-10-15T18:49:58.575Z", "file": "/home/theflow/projects/tractatus/public/js/admin/case-moderation.js", "reason": "Pre-action check failed (CSP violation or file restriction)" }, { "hook": "validate-file-edit", "timestamp": "2025-10-15T19:57:46.652Z", "file": "/home/theflow/projects/tractatus/scripts/generate-pdf-custom-footer.js", "reason": "Pre-action check failed (CSP violation or file restriction)" }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T19:17:27.449Z", "file": "/home/theflow/projects/tractatus/public/faq.html", "reason": "Pre-action check failed (CSP violation or file restriction)" }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T19:17:27.739Z", "file": "/home/theflow/projects/tractatus/public/faq.html", "reason": "Pre-action check failed (CSP violation or file restriction)" }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T19:17:27.982Z", "file": "/home/theflow/projects/tractatus/public/faq.html", "reason": "Pre-action check failed (CSP violation or file restriction)" }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T19:17:28.149Z", "file": "/home/theflow/projects/tractatus/public/faq.html", "reason": "Pre-action check failed (CSP violation or file restriction)" }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T19:24:21.973Z", "file": "/home/theflow/projects/tractatus/public/faq.html", "reason": "Pre-action check failed (CSP violation or file restriction)" }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T19:24:22.131Z", "file": "/home/theflow/projects/tractatus/public/faq.html", "reason": "Pre-action check failed (CSP violation or file restriction)" }, { "hook": "validate-file-write", "timestamp": "2025-10-16T19:28:46.661Z", "file": "/home/theflow/projects/tractatus/public/faq.html", "reason": "Pre-action check failed (CSP violation or file restriction)" }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T21:12:48.872Z", "file": "/home/theflow/projects/tractatus/public/demos/27027-demo.html", "reason": "Pre-action check failed (CSP violation or file restriction)" }, { "hook": "validate-file-write", "timestamp": "2025-10-16T21:13:27.814Z", "file": "/home/theflow/projects/tractatus/public/demos/27027-demo.html", "reason": "Pre-action check failed (CSP violation or file restriction)" }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T21:36:30.467Z", "file": "/home/theflow/projects/tractatus/public/case-submission.html", "reason": "CSP violations in content after edit" }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T21:36:45.357Z", "file": "/home/theflow/projects/tractatus/public/case-submission.html", "reason": "CSP violations in content after edit" }, { "hook": "validate-file-edit", "timestamp": "2025-10-16T21:41:06.816Z", "file": "/home/theflow/projects/tractatus/public/koha/success.html", "reason": "CSP violations in content after edit" } ], "session_stats": { "total_edit_hooks": 138, "total_edit_blocks": 17, "last_updated": "2025-10-22T05:59:52.331Z", "total_write_hooks": 40, "total_write_blocks": 3, "total_bash_hooks": 7 }, "executions": [ { "hook": "validate-bash-command", "timestamp": "2025-10-22T05:59:07.668Z", "command": "cp /tmp/implementer-backup.html public/implementer.html && \\\ncp /tmp/researcher-backup.html public/r", "result": "passed" }, { "hook": "validate-bash-command", "timestamp": "2025-10-22T05:59:08.239Z", "command": "npm start > /tmp/tractatus-server.log 2>&1 &\necho \"Server PID: $!\"", "result": "passed" }, { "hook": "validate-bash-command", "timestamp": "2025-10-22T05:59:19.248Z", "command": "sleep 4 && tail -30 /tmp/tractatus-server.log", "result": "passed" }, { "hook": "validate-bash-command", "timestamp": "2025-10-22T05:59:30.446Z", "command": "sleep 5 && tail -20 /tmp/tractatus-server.log", "result": "passed" }, { "hook": "validate-bash-command", "timestamp": "2025-10-22T05:59:36.108Z", "command": "lsof -i :9000 2>/dev/null", "result": "passed" }, { "hook": "validate-bash-command", "timestamp": "2025-10-22T05:59:48.165Z", "command": "systemctl status mongodb --no-pager 2>&1 | head -10", "result": "passed" }, { "hook": "validate-bash-command", "timestamp": "2025-10-22T05:59:52.331Z", "command": "ls -la .env .env.example 2>&1", "result": "passed" } ] } } ] }