2025-10-14 - 2026-10-14

Overview

7 Active Pull Requests
58 Active Issues
Excluding merges, 2 authors have pushed 241 commits to main and 627 commits to all branches. On main, 304 files have changed and there have been 49354 additions and 12532 deletions.

43 Releases published by 1 user

Published v0.33.2 2026-10-10 08:59:50 +00:00

Published v0.33.1 2026-10-05 04:59:55 +00:00

Published v0.33.0 2026-10-05 04:59:40 +00:00

Published v0.32.1 2026-10-04 21:11:03 +00:00

Published v0.32.0 2026-10-03 22:31:31 +00:00

Published v0.31.1 2026-10-03 19:20:00 +00:00

Published v0.31.0 2026-10-03 14:13:45 +00:00

Published v0.15.2 2026-07-02 12:49:02 +00:00

Published v0.15.1 2026-07-02 12:37:36 +00:00

Published v0.30.0 2026-06-12 10:54:06 +00:00

Published v0.29.0 2026-06-12 08:47:47 +00:00

Published v0.28.0 2026-06-12 06:49:51 +00:00

Published v0.27.0 2026-06-11 21:07:13 +00:00

Published v0.26.0 2026-06-11 20:52:15 +00:00

Published v0.25.0 2026-06-11 17:54:45 +00:00

Published v0.24.0 2026-06-11 12:02:45 +00:00

Published v0.23.0 2026-06-11 07:57:24 +00:00

Published v0.22.0 2026-06-11 05:54:56 +00:00

Published v0.21.1 2026-06-11 05:26:33 +00:00

Published v0.21.0 2026-06-10 20:10:15 +00:00

Published v0.20.1 2026-06-10 19:59:12 +00:00

Published v0.20.0 2026-06-10 19:52:33 +00:00

Published v0.19.0 2026-06-10 18:27:25 +00:00

Published v0.18.0 2026-06-10 17:34:45 +00:00

Published v0.17.1 2026-06-10 16:28:54 +00:00

Published v0.17.0 2026-06-10 16:07:01 +00:00

Published v0.16.0 2026-06-10 07:14:52 +00:00

Published v0.15.0 2026-06-10 06:36:16 +00:00

Published v0.14.0 2026-06-09 21:39:27 +00:00

Published v0.13.0 2026-06-09 21:02:54 +00:00

Published v0.12.1 2026-06-09 20:17:00 +00:00

Published v0.12.0 2026-06-09 20:07:35 +00:00

Published v0.11.0 2026-06-09 19:59:39 +00:00

Published v0.10.0 2026-06-09 19:17:17 +00:00

Published v0.9.0 2026-06-09 18:59:49 +00:00

Published v0.8.0 2026-06-08 13:48:36 +00:00

Published v0.7.0 2026-06-03 21:23:51 +00:00

Published v0.6.0 2026-06-03 20:57:28 +00:00

Published v0.5.0 2026-06-03 20:24:28 +00:00

Published v0.4.0 2026-06-03 18:26:49 +00:00

Published v0.3.0 2026-06-03 17:36:38 +00:00

Published v0.2.0 2026-06-03 15:33:50 +00:00

Published v0.1.0 2026-06-03 13:06:23 +00:00

7 Pull requests merged by 1 user

23 Issues closed from 1 user

Closed #56 Slow-drip upload body holds a receive slot without a time bound 2026-10-05 04:59:29 +00:00

Closed #59 serve exits when the OIDC issuer's discovery returns 503 at start-up 2026-10-04 20:52:59 +00:00

Closed #37 Uploads: per-recording delete, nav link, and the unverified deploy facts (ingress body limit, spool volume) 2026-10-04 06:46:56 +00:00

Closed #52 Say when a recording's audio went to the cloud: label the serving endpoint, and document that an empty transcript also triggers the fallback 2026-10-04 06:46:56 +00:00

Closed #53 LLM client reads an unbounded response body before checking the status 2026-10-03 22:40:55 +00:00

Closed #51 Progress tracker: a hung database save blocks reporting, and the heartbeat uses a different clock from the page 2026-10-03 22:40:55 +00:00

Closed #50 SIGTERM is not handled: every deploy kills the process without draining or failing the running row (interim fix; the full drain is recorded as a limitation) 2026-10-03 22:40:34 +00:00

Closed #47 Audio upload: cap concurrent uploads in flight, and give ffprobe its own deadline (found reviewing the production enablement, infra#520) 2026-10-03 19:22:07 +00:00

Closed #48 Security: refuse cross-origin POSTs; POST /account/delete is forgeable from a sibling *.d-ma.be origin 2026-10-03 19:22:06 +00:00

Closed #49 ffprobe/ffmpeg resource limits: a 900-stream file costs about 570 MB against the 512 Mi pod limit; no probe deadline; unbounded probe output 2026-10-03 19:22:06 +00:00

Closed #41 Taskfile lint step can never fail: golangci-lint run || echo "not installed" swallows findings 2026-10-03 19:19:55 +00:00

Closed #34 DECISION NEEDED: ffmpeg + ffprobe in the runtime image (blocks enabling audio upload) 2026-10-03 14:21:44 +00:00

Closed #44 Reconcile: store every adjudicated spot, and keep saved segments in step with the merged text 2026-10-03 14:13:58 +00:00

Closed #43 Upload worker logs nothing until the job ends: no start, phase, engine or adjudication lines 2026-10-03 14:13:56 +00:00

Closed #33 Upload an audio recording, get a Swedish transcript, discuss it (audio-only subset of #28) 2026-10-03 14:13:39 +00:00

Closed #42 Upload page: show progress, so the user can tell running from hung or crashed 2026-10-03 14:13:37 +00:00

Closed #40 Add iguana/pianissimo as a second local transcription backend (middle tier, or run both) 2026-10-02 14:23:21 +00:00

Closed #35 DECISION NEEDED: berget fallback for private audio — default on or off? 2026-10-02 14:23:19 +00:00

Closed #8 migrate up/down tests are coupled to the absolute HEAD migration count 2026-07-02 12:50:03 +00:00

Closed #20 chore: rename Go module path gitea.d-ma.be → git.d-ma.be 2026-07-02 12:37:38 +00:00

Closed #6 feat(discovery): event-trigger discovery on YouTube connect (+ throttled login refresh) 2026-06-09 19:18:08 +00:00

Closed #2 Auto-summarize only recent videos (recency window); older = on-demand 2026-06-09 19:04:16 +00:00

Closed #4 List view: sort videos by publish date (newest first) 2026-06-09 19:04:16 +00:00

58 Issues created by 1 user

Opened #1 feat: proper 429 backoff + retry — prerequisite for auto-summarization default 2026-06-03 20:39:57 +00:00

Opened #2 Auto-summarize only recent videos (recency window); older = on-demand 2026-06-08 05:00:09 +00:00

Opened #3 Investigate/rescue orphan pre-multiuser user 2b85ade1 (287 videos, no identity) 2026-06-08 05:00:09 +00:00

Opened #4 List view: sort videos by publish date (newest first) 2026-06-08 05:06:52 +00:00

Opened #5 Process: enforce SemVer tag on arch/requirements-change commits 2026-06-08 13:51:01 +00:00

Opened #6 feat(discovery): event-trigger discovery on YouTube connect (+ throttled login refresh) 2026-06-09 17:42:20 +00:00

Opened #7 bug(scheduler): discovery runs for connection-less users -> spurious token errors; + stale Dex-era orphan user 2026-06-09 17:42:20 +00:00

Opened #8 migrate up/down tests are coupled to the absolute HEAD migration count 2026-06-10 05:58:32 +00:00

Opened #9 chat: dedicated completion-token budget (TAPIR_CHAT_MAX_TOKENS) 2026-06-11 07:58:40 +00:00

Opened #10 chat v2: show-source / transcript-verification UI 2026-06-11 07:58:49 +00:00

Opened #11 chat: optional streamed answers (SSE) instead of POST-and-render 2026-06-11 07:59:01 +00:00

Opened #12 Onboarding burst: honest "taster" framing copy (deferred from ADR-028) 2026-06-11 17:55:55 +00:00

Opened #13 duration_s backfills lazily — existing rows stay NULL until re-discovered (ADR-028) 2026-06-11 17:56:06 +00:00

Opened #14 Revisit cached-first burst + shared caption-availability if cross-user overlap grows (ADR-028/ADR-024) 2026-06-11 17:56:13 +00:00

Opened #15 Observability: slog + Prometheus metrics (AI-focused) via middleware 2026-06-12 06:01:55 +00:00

Opened #16 SPA-like reader: summaries + Q&A integrated in the main view (HTMX inline-expand) 2026-06-12 06:02:01 +00:00

Opened #17 Visual refresh: cohesive TUI/charm aesthetic (sketch-first) 2026-06-12 06:02:08 +00:00

Opened #18 LANGUAGE.md pilot: hand-written vocabulary + caveman rubric (Phase 1) 2026-06-12 20:39:24 +00:00

Opened #20 chore: rename Go module path gitea.d-ma.be → git.d-ma.be 2026-06-15 03:44:35 +00:00

Opened #22 feat(summarizer): upgrade to Anthropic Haiku (primary) + Sonnet (chat) via LiteLLM after infra#154 2026-06-24 10:04:09 +00:00

Opened #23 API tokens for programmatic access 2026-07-27 13:53:54 +00:00

Opened #24 HTTP API: submit a video for summarization 2026-07-27 13:54:08 +00:00

Opened #25 HTTP API: read transcript, summary, and processing status 2026-07-27 13:54:25 +00:00

Opened #26 MCP server: summarize and read videos from an agent session 2026-07-27 13:54:43 +00:00

Opened #27 Implement ADR-015 envelope-encryption secrets store, retire the PVC FileStore (from infra#89) 2026-08-11 21:15:46 +00:00

Opened #28 Epic: upload any video, get a transcript and key takeaways (KB-Whisper for Swedish) 2026-08-12 18:53:45 +00:00

Opened #29 Spike B: does a new file reach a Swedish SRT unattended? (positive control, deliberate ceiling) 2026-08-12 21:45:54 +00:00

Opened #30 Spike A: does a locally-hosted model hold the /bygge schema? (runs today, no new file) 2026-08-12 21:46:29 +00:00

Opened #31 Chore: parametrize build_page.py and prove the page generalizes (not a spike) 2026-08-12 21:46:57 +00:00

Opened #32 Pre-spike: does anyone re-open /bygge? (blocks #29 and #30) 2026-08-13 09:37:42 +00:00

Opened #33 Upload an audio recording, get a Swedish transcript, discuss it (audio-only subset of #28) 2026-10-01 14:05:36 +00:00

Opened #34 DECISION NEEDED: ffmpeg + ffprobe in the runtime image (blocks enabling audio upload) 2026-10-01 15:09:26 +00:00

Opened #35 DECISION NEEDED: berget fallback for private audio — default on or off? 2026-10-01 15:09:30 +00:00

Opened #36 Chat over very long transcripts: per-model budgets, then retrieval (silent head truncation) 2026-10-01 15:09:35 +00:00

Opened #37 Uploads: per-recording delete, nav link, and the unverified deploy facts (ingress body limit, spool volume) 2026-10-01 15:09:40 +00:00

Opened #38 Unmeasured limits behind #33: >90 min, concurrent jobs, berget at length, real speech, Metal OOM 2026-10-01 15:09:44 +00:00

Opened #40 Add iguana/pianissimo as a second local transcription backend (middle tier, or run both) 2026-10-01 17:46:01 +00:00

Opened #41 Taskfile lint step can never fail: golangci-lint run || echo "not installed" swallows findings 2026-10-01 21:26:06 +00:00

Opened #42 Upload page: show progress, so the user can tell running from hung or crashed 2026-10-02 05:24:09 +00:00

Opened #43 Upload worker logs nothing until the job ends: no start, phase, engine or adjudication lines 2026-10-02 05:30:21 +00:00

Opened #44 Reconcile: store every adjudicated spot, and keep saved segments in step with the merged text 2026-10-02 06:01:39 +00:00

Opened #45 DECISION NEEDED: evaluate berget.ai models as the reconciler? It means sending private transcript text to a cloud API 2026-10-02 14:23:40 +00:00

Opened #46 Audio upload hardening follow-ups the first adversarial review could not verify or did not fix 2026-10-02 14:53:02 +00:00

Opened #47 Audio upload: cap concurrent uploads in flight, and give ffprobe its own deadline (found reviewing the production enablement, infra#520) 2026-10-03 14:25:52 +00:00

Opened #48 Security: refuse cross-origin POSTs; POST /account/delete is forgeable from a sibling *.d-ma.be origin 2026-10-03 18:47:59 +00:00

Opened #49 ffprobe/ffmpeg resource limits: a 900-stream file costs about 570 MB against the 512 Mi pod limit; no probe deadline; unbounded probe output 2026-10-03 18:48:06 +00:00

Opened #50 SIGTERM is not handled: every deploy kills the process without draining or failing the running row (interim fix; the full drain is recorded as a limitation) 2026-10-03 18:48:14 +00:00

Opened #51 Progress tracker: a hung database save blocks reporting, and the heartbeat uses a different clock from the page 2026-10-03 18:48:19 +00:00

Opened #52 Say when a recording's audio went to the cloud: label the serving endpoint, and document that an empty transcript also triggers the fallback 2026-10-03 18:48:22 +00:00

Opened #53 LLM client reads an unbounded response body before checking the status 2026-10-03 18:48:25 +00:00

Opened #54 Sprint: audio upload follow-ups (v0.31.1 hotfix, then v0.32.0) 2026-10-03 18:50:39 +00:00

Opened #56 Slow-drip upload body holds a receive slot without a time bound 2026-10-03 19:13:11 +00:00

Opened #57 Shutdown: log an undrained Shutdown and let a second signal kill the process 2026-10-03 19:13:13 +00:00

Opened #59 serve exits when the OIDC issuer's discovery returns 503 at start-up 2026-10-03 22:34:30 +00:00

Opened #60 Per-recording choice: keep this recording on local models only (prerequisite for allowing Berget as reconciler) 2026-10-04 06:46:44 +00:00

Opened #61 Uploads: choose the transcription language (Swedish / other / auto-detect), route to the right engine 2026-10-04 07:08:09 +00:00

Opened #64 Upload idle bound does not enforce a minimum rate: a 1-byte-per-59-s drip still holds a receive slot 2026-10-04 20:58:04 +00:00

Opened #65 test: two more tests derive their port from the PID (55000 + pid%1000) and can collide like the store test did 2026-10-10 09:02:06 +00:00