Commit Graph

190 Commits

Author SHA1 Message Date
Claudio Ortolina 1ade749cfe ML-177: plan 2026-05-10 20:23:03 +01:00
Claudio Ortolina 4babb29d73 ML-176: implementation complete 2026-05-10 15:59:49 +01:00
Claudio Ortolina d4242b6e93 ML-176.2: add presto splash, search 2026-05-10 15:59:37 +01:00
Claudio Ortolina 8475126a80 ML-176.2: plan 2026-05-10 15:20:22 +01:00
Claudio Ortolina 4edf2f0cfe ML-176.2: research and implementation plan 2026-05-10 15:07:06 +01:00
Claudio Ortolina a3bc6d7cf3 ML-176.1: support search in collection api controller 2026-05-10 14:52:01 +01:00
Claudio Ortolina 12747738af ML-176.1: plan 2026-05-10 14:44:19 +01:00
Claudio Ortolina cc0d97b160 ML-176: requirements 2026-05-10 14:39:03 +01:00
Claudio Ortolina 0ad3c9315b draft-1: research 2026-05-10 08:01:06 +01:00
Claudio Ortolina ab4548b748 ML-175: research and plan 2026-05-10 07:51:18 +01:00
Claudio Ortolina a0539cf2ea ML-174: research and plan 2026-05-09 19:06:29 +01:00
Claudio Ortolina 6f865a7b4d ML-173: replace aws-sdk with aws4 + built-in fetch
Replace @aws-sdk/client-s3 (~150 transitive deps, ~14MB) with aws4
(0 transitive deps, ~40KB) and Node.js built-in fetch+crypto for
S3 ListObjectsV2 against Hetzner Object Storage.

- New s3-client.ts: SigV4 signing via aws4, regex-based XML parsing
  with namespace tolerance, pagination support, 5 error categories
- 29 unit tests (node:test, zero-dependency) covering signing,
  parsing, entities, missing fields, pagination, abort, errors
- Settlement guard for double done(null) on abort
- XML entity decoding and regex metacharacter escaping
- Dependency surface: 150 packages → 1 (aws4, single-file, auditable)
2026-05-09 10:46:07 +01:00
Claudio Ortolina d21cbb306c ML-173: research and plan 2026-05-09 09:49:38 +01:00
Claudio Ortolina ce014db1d5 ML-168: account for counts and pagination shift 2026-05-09 07:17:36 +01:00
Claudio Ortolina 17f2635fa6 ML-172: add research task 2026-05-09 06:52:10 +01:00
Claudio Ortolina f8780f3582 ML-171: research and plan 2026-05-09 06:29:38 +01:00
Claudio Ortolina 87310fd8ce ML-170: research and plan 2026-05-08 15:07:50 +01:00
Claudio Ortolina 1247b89892 ML-169: add subtasks 2026-05-08 10:57:06 +01:00
Claudio Ortolina 07d2e3fee3 ML-169: research and plan 2026-05-08 09:57:00 +01:00
Claudio Ortolina 231fdc3bad ML-168: format 2026-05-08 09:54:57 +01:00
Claudio Ortolina 3876861f6f ML-168: research and plan 2026-05-08 07:04:20 +01:00
Claudio Ortolina 365195ff75 Backlog cleanup 2026-05-07 10:01:47 +01:00
Claudio Ortolina c550cb8c35 ML-167: presto performance improvements 2026-05-06 12:01:27 +01:00
Claudio Ortolina 9d0ab1ffc6 ML-166: First working implementation 2026-05-05 16:34:09 +01:00
Claudio Ortolina cccd28a9f9 ML-165: implementation 2026-05-05 13:43:18 +01:00
Claudio Ortolina 34ead6e8b5 ML-165: research and plan 2026-05-05 13:11:19 +01:00
Claudio Ortolina 5888324cc7 Run prettier on all relevant files 2026-05-05 10:45:25 +01:00
Claudio Ortolina 53217d6c0c Add consolidated nerves deployment summary 2026-05-04 22:32:18 +01:00
Claudio Ortolina 7efe277fba Add research docs about nerves deployment 2026-05-04 22:21:38 +01:00
Claudio Ortolina dc3b31378d Run prettier on backlog folder 2026-05-04 21:22:27 +01:00
Claudio Ortolina 7c6760d7db ML-158: force single-line log output in production
Three-layer architecture:
- Logster v2 handles HTTP request and LiveView socket telemetry in logfmt format
- Custom formatter as safety net escaping any remaining embedded newlines
- Config flag (single_line_logging) gating Logster attachment to prod only

Dev environment retains multi-line format for readability.
2026-05-04 15:01:10 +01:00
Claudio Ortolina 55f05d2011 ML-161: umbrella issue is done 2026-05-04 14:19:21 +01:00
Claudio Ortolina 26a9469b3f ML-164: implementation 2026-05-04 13:47:34 +01:00
Claudio Ortolina 904f540031 ML-163: implementation 2026-05-04 13:25:08 +01:00
Claudio Ortolina 51bd24d5b4 ML-162: enable /api/v1/errors endpoint 2026-05-04 13:14:40 +01:00
Claudio Ortolina 213ca31a42 Fix parent task IDs 2026-05-04 11:04:47 +01:00
Claudio Ortolina 2bf943a206 ML-163: plan 2026-05-04 10:33:08 +01:00
Claudio Ortolina 85275cb88b Ml-162: plan 2026-05-04 10:13:09 +01:00
Claudio Ortolina 3d7e076906 Streamline backlog task tags 2026-05-04 09:20:11 +01:00
Claudio Ortolina 50b9023707 ML-161 (and subtasks): research and plan 2026-05-04 09:17:16 +01:00
Claudio Ortolina 218ddca62d ML-160: enable llm access to production logs 2026-05-04 08:36:00 +01:00
Claudio Ortolina 5073e681d2 Rename backlog documents 2026-05-04 07:56:21 +01:00
Claudio Ortolina 3f2f03849a ML-160: research and plan 2026-05-04 07:52:29 +01:00
Claudio Ortolina 51390974a8 ML-159: add cursor and visual mode to log browser 2026-05-03 22:34:50 +01:00
Claudio Ortolina 3512f812ba ML-159: plan review 2026-05-03 22:21:48 +01:00
Claudio Ortolina cb07e70d36 ML-159: research and plan 2026-05-03 22:14:49 +01:00
Claudio Ortolina 010c89774a ML-159: cancelled as not fit for purpose 2026-05-03 20:47:01 +01:00
Claudio Ortolina 5981970039 ML-157: implementation and configuration 2026-05-03 16:33:23 +01:00
Claudio Ortolina a6ef5996ed Backlog cleanup 2026-05-03 15:40:20 +01:00
Claudio Ortolina b7666168dc ML-158: plan review 2026-05-03 15:39:19 +01:00