• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

benwbrum / fromthepage / 29862605556
74%

Build:
DEFAULT BRANCH: development
Ran 21 Jul 2026 07:49PM UTC
Jobs 4
Files 271
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

21 Jul 2026 07:41PM UTC coverage: 73.782% (-0.01%) from 73.792%
29862605556

push

github

web-flow
Add per-field CDR and text-only CDR columns to AI disagreement report (#5706)

### Motivation

- Add finer-grained disagreement metrics to the AI disagreement CSV by exposing Character Disagreement Rate (CDR) for each transcription field so reviewers can see per-field differences between Claude and Gemini outputs.
- Provide both verbatim and normalized (text-only) CDR per field to separate punctuation/formatting errors from textual content differences.

### Description

- Discover transcription fields across the work/collection and preload `transcription_fields` with `:spreadsheet_columns`, excluding `description` and `instruction` input types, and build dynamic CSV headers for each field with `"<Field> CDR"` and `"<Field> Text-only CDR"`.
- Add `field_value_for_comparison` helper to extract a field's verbatim value from `transcription_json`, preserving existing spreadsheet-row concatenation logic, and add `normalize_text` for the text-only form.
- For each page, compute per-field verbatim and normalized CDRs only when both Claude and Gemini finished transcriptions exist and the page's collection includes the field; otherwise output blank columns to preserve CSV alignment.
- Use the existing `character_error_rate` implementation via `page.send(:character_error_rate, ...)` to compute CDRs so behavior is consistent with top-level disagreement columns.

### Testing

- Ran a Ruby syntax check: `bundle exec ruby -c lib/tasks/ai_disagreement_report.rake` which returned `Syntax OK`.
- Attempted to run `bundle exec rubocop lib/tasks/ai_disagreement_report.rake` but the `rubocop` executable was not available in the environment so it could not be executed.

2759 of 4321 branches covered (63.85%)

Branch coverage included in aggregate %.

11002 of 14330 relevant lines covered (76.78%)

199.1 hits per line

Coverage Regressions

Lines Coverage ∆ File
1
84.73
-0.36% app/controllers/transcribe_controller.rb
Jobs
ID Job ID Ran Files Coverage
1 rspec-3 - 29862605556.1 21 Jul 2026 07:49PM UTC 271
38.21
GitHub Action Run
2 rspec-2 - 29862605556.2 21 Jul 2026 07:50PM UTC 271
46.59
GitHub Action Run
3 rspec-0 - 29862605556.3 21 Jul 2026 07:50PM UTC 271
42.72
GitHub Action Run
4 rspec-1 - 29862605556.4 21 Jul 2026 07:52PM UTC 271
36.67
GitHub Action Run
Source Files on build 29862605556
  • Tree
  • List 271
  • Changed 1
  • Source Changed 0
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #29862605556
  • ab499ecb on github
  • Prev Build on development (#29862583082)
  • Next Build on development (#29862583082)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc