Skip to content

Instantly share code, notes, and snippets.

View bogdan's full-sized avatar
๐Ÿ’ญ
Temporary enslaved by prompt

Bogdan Gusiev bogdan

๐Ÿ’ญ
Temporary enslaved by prompt
View GitHub Profile
Today there's one autosave path: any change to reviews, utterances, or the trim marks hasUnsavedChanges dirty, a $effect waits 1s of inactivity, then saveDraft() fires one PUT review_draft with the entire current reviews array + entire utterances array + trim. The response is reconciled back against snapshots (savedReviewSnapshot/savedUtterancesSnapshot) taken at send-time to avoid clobbering clicks made mid-request (MeetingReview.svelte:1003-1052).
Two things make this fragile:
- Snapshot drift: reviewSnapshot() is a string built from decision:start_at:end_at. Anything that changes server-side but isn't reflected identically in that string (rounding, reordering, a field the reconciliation didn't anticipate) makes reviewDecisionKey never re-equal savedReviewSnapshot, so hasUnsavedChanges stays permanently true โ†’ the 1s effect refires forever โ†’ indefinite "Savingโ€ฆ".
- Backend semantics assume a full snapshot. apply_phi_reviews/apply_bystander_reviews treat absence from the array as an explicit signal ("this m
This file has been truncated, but you can view the full file.
[
{
"meeting_id": 862,
"original_transcript": [
{
"end": 9.56,
"text": "ใ“ใ‚“ใซใกใฏใ€‚ๅŒปๅธซใฎๅณถๅŽŸใงใ™ใ€‚ใˆใ€ๆœฌใ€ใ”ๆœฌไบบๆง˜็ขบ่ชใฎใŸใ‚ใƒ•ใƒซใƒใƒผใƒ ใจ็”Ÿๅนดๆœˆๆ—ฅใ‚’ใŠ้ก˜ใ„ใ—ใพใ™ใ€‚",
"start": 0.0,
"words": [
{

Transcript Correction: Gemini vs Opus

Dataset #6 "Sample Import 2026-09-09 13:41" โ€” 7 meetings.

Each meeting's original transcript is corrected two ways and compared:

  • Gemini = original + issues found by gemini-3.1-flash-lite
  • Opus = original + stored transcript_issues (claude-opus-4-6)

For every meeting: first the plain-language list of what each model changed,

Transcript Correction: Gemini vs Opus

Dataset #6 "Sample Import 2026-09-09 13:41" โ€” 7 meetings.

For each meeting the original transcript is corrected two ways: applying the issues found by gemini-3.1-flash-lite and, separately, the stored Opus (claude-opus-4-6) transcript_issues. Each is rendered as human-readable text ([Speaker] ..., consecutive same-speaker turns merged, like Meeting#formatted_transcript), then diffed.

The diff is gemini-corrected โ†’ opus-corrected, character-level: [-only in gemini's version-], {+only in opus's version+}. Lines with no markers are unchanged context.


Removed. 57 tests, 4 skips (pending), 0 failures.
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ Original Phrase โ”‚ Translation โ”‚ Actual Split โ”‚ Correct Split โ”‚ Incorrect Split Translation โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ โ”‚ "I'm Shimada, your โ”‚ ๆ‹…ๅฝ“ | ๅŒป | ใฎ โ”‚ ๆ‹…ๅฝ“ๅŒป | ใฎ | โ”‚ "in-charge" + "medicine" + "'s" + "Shimada" + "am" โ€” the title "attending โ”‚
โ”‚ ๆ‹…ๅฝ“ๅŒปใฎๅถ‹็”ฐใงใ™ โ”‚ attending physician" โ”‚ | ๅถ‹็”ฐ | ใงใ™ โ”‚ ๅถ‹็”ฐ | ใงใ™ โ”‚ physician" collapses into "in-charge" plus a bare, meaningless "medicine" โ”‚
โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ character โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€
@bogdan
bogdan / PRICING.md
Last active September 9, 2026 12:53

Meeting Processing โ€” Cost Report

What it costs to run one meeting through the transcription pipeline, measured against meeting 850 with live LLM calls on 2026-09-09.

Meeting 850 โ€” online GP consultation (ja-JP, 5.0 min): patient with recurrent unilateral pulsatile headache since their early 20s, now increasing in frequency, with visual aura, nausea, photophobia/phonophobia, and sleep-deprivation / red-wine triggers. Doctor rules out red flags, does a brief video neuro exam, diagnoses migraine with aura, prescribes a triptan + antiemetic + prophylactic, and

require "google/cloud/ai_platform/v1"
module ClaudeClient
DEFAULT_MODEL = "claude-opus-4-6"
# us-east5 is a region-pinned endpoint with a data residency guarantee,
# unlike the "global" endpoint which may route requests to any region.
LOCATION = "us-east5"
ANTHROPIC_VERSION = "vertex-2023-10-16"
MAX_TOKENS = 8192

Dataset Quality Report: Mozu Research Corpus (Synthetic Telehealth Transcripts)

Generated 2026-08-07 13:40 UTC from training/eval_history.json. Re-run python training/generate_report.py after evaluating new checkpoints to refresh this report.

Purpose

This report evaluates whether the synthetic mozu-research-corpus transcript dataset carries enough real signal to train a model to perform a clinically meaningful task, by measuring how much fine-tuning on it improves an open-source model's output on a held-out test set. The underlying question is about dataset quality, not model selection: if fine-tuning on this

#!/usr/bin/env ruby
require_relative "../config/environment"
def rss_kb
`ps -o rss= -p #{Process.pid}`.to_i
end
$measure_depth = 0

Contribution to Ruby on Rails

Source: https://contributors.rubyonrails.org/contributors/bogdan-gusiev/commits (#76 all-time contributor, 143 commits, 2011โ€“2026)

  1. ActiveRecord querying & preloading โ€” refactored the preloader for performance, fixed duplicate record handling, implemented pluck, and improved #last to leverage SQL-level ordering.
  2. Association handling โ€” fixed counter cache calculation bugs, foreign key replacement in inverse associations, and collection association creation methods.
  3. ActiveSupport callbacks โ€” extensively refactored the callback system, removing dead code, deprecating legacy options, and simplifying/optimizing logic.

Overall focus: code quality, performance, and bug fixes rather than new feature work.