Commit graph

  • 6ea8fbfec1 feat: Stage 2 — SeverityClassifier for multi-agent diagnose pipeline (issue #29) pyr0ball 2026-05-25 13:27:17 -0700
  • 3b04c81a2b refactor: split TimelineReconstructor.reconstruct into helpers, fix magic number + error handling pyr0ball 2026-05-25 13:22:18 -0700
  • 7abb76e628 refactor: split TimelineReconstructor.reconstruct into helpers, fix magic number + error handling pyr0ball 2026-05-25 13:22:18 -0700
  • 7cff98b1c3 feat: Stage 1 — TimelineReconstructor for multi-agent diagnose pipeline (issue #29) pyr0ball 2026-05-25 12:54:15 -0700
  • f7429ee963 feat: Stage 1 — TimelineReconstructor for multi-agent diagnose pipeline (issue #29) pyr0ball 2026-05-25 12:54:15 -0700
  • 959a6cbf1c fix: frozen dataclasses, clean __all__, improve exception logging in diagnose package pyr0ball 2026-05-25 12:31:07 -0700
  • afab3ca869 fix: frozen dataclasses, clean __all__, improve exception logging in diagnose package pyr0ball 2026-05-25 12:31:07 -0700
  • 664ab50433 refactor: convert diagnose module to package for multi-agent pipeline (issue #29) pyr0ball 2026-05-25 11:12:39 -0700
  • da28757a20 refactor: convert diagnose module to package for multi-agent pipeline (issue #29) pyr0ball 2026-05-25 11:12:39 -0700
  • 5f32a6678d refactor: extract embeddings service layer — decouple context embedder from Ollama pyr0ball 2026-05-25 11:01:25 -0700
  • f7bcc6c9b7 refactor: extract embeddings service layer — decouple context embedder from Ollama feat/ssh-remote-glean pyr0ball 2026-05-25 11:01:25 -0700
  • 2fde3a1814 feat: fingerprint-based incremental glean — skip unchanged files (#30) pyr0ball 2026-05-25 11:01:18 -0700
  • 6fec294a53 feat: fingerprint-based incremental glean — skip unchanged files (#30) pyr0ball 2026-05-25 11:01:18 -0700
  • e746d55730 feat: SSH remote glean — transport layer, pipeline integration, REST + UI (#22) pyr0ball 2026-05-21 12:37:30 -0700
  • 41fc89c474 feat: SSH remote glean — transport layer, pipeline integration, REST + UI (#22) pyr0ball 2026-05-21 12:37:30 -0700
  • 81a9b0f49d feat: SSH remote host glean — transport layer and pipeline integration (closes #22, backend) pyr0ball 2026-05-20 23:03:13 -0700
  • 39c13f39ba feat: SSH remote host glean — transport layer and pipeline integration (closes #22, backend) pyr0ball 2026-05-20 23:03:13 -0700
  • 12cd0a23d5 refactor: rename ingest → glean throughout codebase pyr0ball 2026-05-20 23:02:55 -0700
  • 828b69768a refactor: rename ingest → glean throughout codebase pyr0ball 2026-05-20 23:02:55 -0700
  • 82977f365b feat: periodic ingest scheduler + Orchard submission pipeline pyr0ball 2026-05-20 08:57:25 -0700
  • 63c742a708 feat: periodic ingest scheduler + Orchard submission pipeline pyr0ball 2026-05-20 08:57:25 -0700
  • f09de1c28a fix: make sqlite-vec download non-fatal in Dockerfile pyr0ball 2026-05-19 13:02:15 -0700
  • 6144ba99d9 fix: make sqlite-vec download non-fatal in Dockerfile pyr0ball 2026-05-19 13:02:15 -0700
  • 95d7c141ca fix: use curl instead of wget for sqlite-vec download in Dockerfile pyr0ball 2026-05-19 13:01:45 -0700
  • 510499aba3 fix: use curl instead of wget for sqlite-vec download in Dockerfile pyr0ball 2026-05-19 13:01:45 -0700
  • 16fe5f70a5 feat: Alpha milestone — corpus management, upload ingest, harvester agent v0.5.0 pyr0ball 2026-05-19 07:45:58 -0700
  • ed0a4bb469 feat: Alpha milestone — corpus management, upload ingest, harvester agent pyr0ball 2026-05-19 07:45:58 -0700
  • c40e79bb9e docs: bump version badge to match latest Forgejo release pyr0ball 2026-05-17 11:19:13 -0700
  • 1361547c36 docs: bump version badge to match latest Forgejo release pyr0ball 2026-05-17 11:19:13 -0700
  • 560eaf706d fix(ui): nested overflow wrapper to prevent overflow-hidden clipping table columns pyr0ball 2026-05-16 09:11:42 -0700
  • 9f2ae5464a fix(ui): nested overflow wrapper to prevent overflow-hidden clipping table columns pyr0ball 2026-05-16 09:11:42 -0700
  • f5132d5a5c feat(ui): mobile fixes for Dashboard and Diagnose views pyr0ball 2026-05-16 09:04:37 -0700
  • 0d60533576 feat(ui): mobile fixes for Dashboard and Diagnose views pyr0ball 2026-05-16 09:04:37 -0700
  • 1538a3cf69 feat(ui): mobile responsive layout pyr0ball 2026-05-16 02:11:58 -0700
  • 807fe516a6 feat(ui): mobile responsive layout pyr0ball 2026-05-16 02:11:58 -0700
  • 9052939ae1 fix(blocklist): render llm_score, fix load() error handling, fix severity override mutations pyr0ball 2026-05-16 01:57:18 -0700
  • 83691ceb94 fix(blocklist): render llm_score, fix load() error handling, fix severity override mutations pyr0ball 2026-05-16 01:57:18 -0700
  • 171fa578eb feat(blocklist): BlocklistView + Pi-hole settings UI pyr0ball 2026-05-15 21:23:03 -0700
  • 175bdff9cd feat(blocklist): BlocklistView + Pi-hole settings UI pyr0ball 2026-05-15 21:23:03 -0700
  • 7f63f155e2 fix(blocklist): get_candidate for O(1) push/unblock, 400 on malformed device_names JSON pyr0ball 2026-05-15 21:19:02 -0700
  • 5263a67fb3 fix(blocklist): get_candidate for O(1) push/unblock, 400 on malformed device_names JSON pyr0ball 2026-05-15 21:19:02 -0700
  • e44c6fd680 feat(blocklist): 6 REST endpoints + Pi-hole settings fields pyr0ball 2026-05-15 21:15:09 -0700
  • 1e186591d7 feat(blocklist): 6 REST endpoints + Pi-hole settings fields pyr0ball 2026-05-15 21:15:09 -0700
  • c813832cbe feat(blocklist): extraction scan + candidate CRUD + full test suite pyr0ball 2026-05-15 21:05:49 -0700
  • aa55a1ce24 feat(blocklist): extraction scan + candidate CRUD + full test suite pyr0ball 2026-05-15 21:05:49 -0700
  • 0e887837d1 fix(blocklist): validate _v6_auth session JSON, add auth-failure test pyr0ball 2026-05-15 21:03:03 -0700
  • 38138dc0c0 fix(blocklist): validate _v6_auth session JSON, add auth-failure test pyr0ball 2026-05-15 21:03:03 -0700
  • a683297d8b feat(blocklist): Pi-hole v5/v6 API client + tests pyr0ball 2026-05-15 21:00:01 -0700
  • dceb2d30ca feat(blocklist): Pi-hole v5/v6 API client + tests pyr0ball 2026-05-15 21:00:01 -0700
  • 1a3c753093 fix(blocklist): remove premature imports from blocklist.py (Task 2 scope) pyr0ball 2026-05-15 20:58:04 -0700
  • 383b855483 fix(blocklist): remove premature imports from blocklist.py (Task 2 scope) pyr0ball 2026-05-15 20:58:04 -0700
  • 8832061de2 feat(blocklist): telemetry YAML list + loader + domain matcher pyr0ball 2026-05-15 20:54:40 -0700
  • f469692c52 feat(blocklist): telemetry YAML list + loader + domain matcher pyr0ball 2026-05-15 20:54:40 -0700
  • 2967036503 feat(blocklist): blocklist_candidates schema + tests pyr0ball 2026-05-15 20:51:00 -0700
  • 4d7c436721 feat(blocklist): blocklist_candidates schema + tests pyr0ball 2026-05-15 20:51:00 -0700
  • 1fb726bfc1 docs: update status badge to beta pyr0ball 2026-05-15 20:13:47 -0700
  • 135dd02423 docs: update status badge to beta pyr0ball 2026-05-15 20:13:47 -0700
  • 9e5c5da7e9 chore: remove stale load_patterns import from rest.py pyr0ball 2026-05-13 21:52:03 -0700
  • 842d83b68e chore: remove stale load_patterns import from rest.py pyr0ball 2026-05-13 21:52:03 -0700
  • 950a854b58 fix: tautulli — hmac token compare, public pattern loader, startup cache, endpoint tests pyr0ball 2026-05-13 19:08:49 -0700
  • 279b01902f fix: tautulli — hmac token compare, public pattern loader, startup cache, endpoint tests pyr0ball 2026-05-13 19:08:49 -0700
  • 72800332c9 fix: tautulli — entry_id collision on missing ts, token settings, test coverage pyr0ball 2026-05-13 19:04:07 -0700
  • 581e0314b4 fix: tautulli — entry_id collision on missing ts, token settings, test coverage pyr0ball 2026-05-13 19:04:07 -0700
  • b61a85dc62 feat: Tautulli webhook ingest endpoint — plex events -> log_entries pyr0ball 2026-05-13 18:41:03 -0700
  • 4fbac2554e feat: Tautulli webhook ingest endpoint — plex events -> log_entries pyr0ball 2026-05-13 18:41:03 -0700
  • 63af5aa14b fix: time window regex misses fuzzy quantifiers like 'last few hours' pyr0ball 2026-05-13 18:32:54 -0700
  • 3501240231 fix: time window regex misses fuzzy quantifiers like 'last few hours' pyr0ball 2026-05-13 18:32:54 -0700
  • 32f44700f9 fix: ingestors treat naive log timestamps as local time, not UTC pyr0ball 2026-05-13 18:16:33 -0700
  • 0b3d95cd26 fix: ingestors treat naive log timestamps as local time, not UTC pyr0ball 2026-05-13 18:16:33 -0700
  • e6075f80b3 fix: final review fixes — port guard, network error handling, wizard back nav, tablist arrow keys, dialog focus trap pyr0ball 2026-05-13 17:40:40 -0700
  • 251109ae96 fix: final review fixes — port guard, network error handling, wizard back nav, tablist arrow keys, dialog focus trap pyr0ball 2026-05-13 17:40:40 -0700
  • 7895366d67 fix: drag flicker guard, error body parsing, wizard session restore answer pyr0ball 2026-05-13 17:07:56 -0700
  • a047555031 fix: drag flicker guard, error body parsing, wizard session restore answer pyr0ball 2026-05-13 17:07:56 -0700
  • e0bb4f0d8d feat: WizardOverlay and DocUploadZone — accessible multi-step wizard and upload UI pyr0ball 2026-05-13 17:04:15 -0700
  • 5068fabb54 feat: WizardOverlay and DocUploadZone — accessible multi-step wizard and upload UI pyr0ball 2026-05-13 17:04:15 -0700
  • 5f25d9a350 fix: add error handling to context doc/fact load functions pyr0ball 2026-05-13 17:00:29 -0700
  • 6f9cfb8018 fix: add error handling to context doc/fact load functions pyr0ball 2026-05-13 17:00:29 -0700
  • e8a1e2d77d feat: Context view — document and fact management with accessible tables pyr0ball 2026-05-13 16:57:38 -0700
  • 4096f890be feat: Context view — document and fact management with accessible tables pyr0ball 2026-05-13 16:57:38 -0700
  • 2fbf623f02 fix: a11y — tab panels v-show, radio roving-tabindex, table header label pyr0ball 2026-05-13 16:53:41 -0700
  • 88b27a1454 fix: a11y — tab panels v-show, radio roving-tabindex, table header label pyr0ball 2026-05-13 16:53:41 -0700
  • b41ca4910a fix: a11y — tablist, health dots, table headers, switch roles, nav landmark pyr0ball 2026-05-13 16:48:38 -0700
  • 29fb31d76c fix: a11y — tablist, health dots, table headers, switch roles, nav landmark pyr0ball 2026-05-13 16:48:38 -0700
  • 5d6ecfea62 fix: a11y — QuickCapture label/role/aria-live/spinner, LogEntryRow expand button pyr0ball 2026-05-13 16:42:46 -0700
  • b7e71b0e78 fix: a11y — QuickCapture label/role/aria-live/spinner, LogEntryRow expand button pyr0ball 2026-05-13 16:42:46 -0700
  • 82d3d37790 feat: optional sqlite-vec embedding pipeline for Paid-tier RAG pyr0ball 2026-05-13 16:32:57 -0700
  • e0bfa11642 feat: optional sqlite-vec embedding pipeline for Paid-tier RAG pyr0ball 2026-05-13 16:32:57 -0700
  • 074240c061 feat: context REST API — docs, facts, wizard, and debug endpoints pyr0ball 2026-05-13 16:31:07 -0700
  • d8c3eba0f8 feat: context REST API — docs, facts, wizard, and debug endpoints pyr0ball 2026-05-13 16:31:07 -0700
  • f19f896300 feat: inject environment context into diagnose pipeline and LLM prompt pyr0ball 2026-05-13 16:29:26 -0700
  • b5ce0a24b2 feat: inject environment context into diagnose pipeline and LLM prompt pyr0ball 2026-05-13 16:29:26 -0700
  • abb61a6e90 feat: wizard state machine — structured Q&A writes context facts and source config pyr0ball 2026-05-13 16:25:52 -0700
  • 783edbe496 feat: wizard state machine — structured Q&A writes context facts and source config pyr0ball 2026-05-13 16:25:52 -0700
  • de662725ee feat: context retriever — keyword fact lookup and chunk search pyr0ball 2026-05-13 16:23:54 -0700
  • ef8d164188 feat: context retriever — keyword fact lookup and chunk search pyr0ball 2026-05-13 16:23:54 -0700
  • d7b892bfcf feat: doc upload adapter — writes facts, document, and chunks to context store pyr0ball 2026-05-13 16:21:55 -0700
  • ebbb1af32d feat: doc upload adapter — writes facts, document, and chunks to context store pyr0ball 2026-05-13 16:21:55 -0700
  • c17bbf6e26 feat: context chunker — type detection, YAML extraction, text chunking pyr0ball 2026-05-13 15:54:51 -0700
  • b23a60a602 feat: context chunker — type detection, YAML extraction, text chunking pyr0ball 2026-05-13 15:54:51 -0700
  • 36c9e607b7 feat: context store — fact and document CRUD pyr0ball 2026-05-13 15:53:03 -0700