2026-07-14 - 2026-10-14

Overview

5 Active Pull Requests
38 Active Issues
Excluding merges, 1 author has pushed 21 commits to main and 381 commits to all branches. On main, 128 files have changed and there have been 16410 additions and 451 deletions.

7 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

5 Pull requests merged by 1 user

18 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 #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 #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 #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

38 Issues created by 1 user

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

15 Unresolved Conversations

Open #9 chat: dedicated completion-token budget (TAPIR_CHAT_MAX_TOKENS) 2026-08-27 05:28:18 +00:00

Open #7 bug(scheduler): discovery runs for connection-less users -> spurious token errors; + stale Dex-era orphan user 2026-08-27 05:25:46 +00:00

Open #16 SPA-like reader: summaries + Q&A integrated in the main view (HTMX inline-expand) 2026-08-27 05:25:46 +00:00

Open #18 LANGUAGE.md pilot: hand-written vocabulary + caveman rubric (Phase 1) 2026-08-27 05:25:46 +00:00

Open #22 feat(summarizer): upgrade to Anthropic Haiku (primary) + Sonnet (chat) via LiteLLM after infra#154 2026-08-27 05:25:46 +00:00

Open #15 Observability: slog + Prometheus metrics (AI-focused) via middleware 2026-08-27 05:25:46 +00:00

Open #10 chat v2: show-source / transcript-verification UI 2026-08-27 05:25:46 +00:00

Open #17 Visual refresh: cohesive TUI/charm aesthetic (sketch-first) 2026-08-27 05:25:46 +00:00

Open #3 Investigate/rescue orphan pre-multiuser user 2b85ade1 (287 videos, no identity) 2026-08-27 05:25:46 +00:00

Open #12 Onboarding burst: honest "taster" framing copy (deferred from ADR-028) 2026-08-27 05:25:46 +00:00

Open #13 duration_s backfills lazily — existing rows stay NULL until re-discovered (ADR-028) 2026-08-27 05:25:46 +00:00

Open #1 feat: proper 429 backoff + retry — prerequisite for auto-summarization default 2026-08-27 05:25:46 +00:00

Open #11 chat: optional streamed answers (SSE) instead of POST-and-render 2026-08-27 05:25:46 +00:00

Open #5 Process: enforce SemVer tag on arch/requirements-change commits 2026-08-27 05:25:46 +00:00

Open #14 Revisit cached-first burst + shared caption-availability if cross-user overlap grows (ADR-028/ADR-024) 2026-08-27 05:25:46 +00:00