Skip to content

Reference RatioTap from the README, book, and comparison doc - #44

Merged
tap merged 1 commit into
mainfrom
claude/ci-failures-repo-audit-x9sqwu
Aug 7, 2026
Merged

Reference RatioTap from the README, book, and comparison doc#44
tap merged 1 commit into
mainfrom
claude/ci-failures-repo-audit-x9sqwu

Conversation

@tap

@tap tap commented Aug 7, 2026

Copy link
Copy Markdown
Owner

What this changes

Adds the missing back-references to RatioTap: a "Position in the Tap family" section in the README (family diagram, clock-topology decision rule, composition recipe), a redirect in the Limitations bullet, a RatioTap mention where the book's survey chapter recommends synchronous resamplers, a new Part V subsection on the 44.1 ↔ 48 composition, and one line in docs/COMPARISON.md so the book's paraphrase of it stays accurate.

Why

The relationship between the two rate converters was documented entirely one-directionally. RatioTap's README carries the family diagram, the "boundaries are identity" delegation to this library, the bluetooth_bridge composition example, and a test-only submodule of this repo for golden cross-validation — while this repo never mentioned RatioTap (or DspTap) outside header comments. Two places actively sent readers elsewhere: the README's Limitations ended at "No 44.1 ↔ 48 kHz conversion" with no pointer to the sibling built for exactly that, and book/src/part0/two-crystals.md recommended soxr/libsamplerate for genuine conversion — text that predates RatioTap shipping.

The Part V addition is deliberately prose rather than a code walk, and says so in the text: the book's include-anchor contract quotes only from this tree, and including RatioTap source would require submoduling it back — a cycle against its test-only submodule of this repo. The working recipe stays RatioTap's; this book contributes the decision rule (which engine applies is a property of the clock topology, never inferred from a float ratio).

Verification

  • Pinned mdBook v0.4.40 (same digest CI verifies) builds the book with zero warnings/errors — the exact book job gate.
  • The image-reference check from ci.yml passes.
  • Every quoted figure was checked against RatioTap's current README (v0.2): 160/147 and 147/160 ratio pair, −109 dB / −99 dB cross-validation over every phase, bluetooth_bridge's +200 ppm / 997 Hz / 2.0 ms; the ±1.5 × max_deviation_ppm servo clamp was verified against include/srt/pi_servo.h.
  • Not run locally: the full CI matrix — this is a docs-only change (README, two book chapters, one comparison-doc bullet); no code, tables, or figures touched, so the icount ratchet and docs-freshness gates are unaffected by construction. The appended "Verify it yourself" recipe (clone RatioTap, build bluetooth_bridge) was checked against RatioTap's examples/CMakeLists.txt target name but not executed here.

Notes for the reviewer

  • The docs/COMPARISON.md edit is the one file beyond the README/book scope, touched only because two-crystals.md characterizes what that document says; updating one without the other would make the book's paraphrase false.

🤖 Generated with Claude Code

https://claude.ai/code/session_015nKdmj5kcJrD3yH8BnD3Yd


Generated by Claude Code

The RatioTap relationship was documented entirely one-directionally:
RatioTap's README carries the family diagram, the clock-topology decision
rule, the bluetooth_bridge composition recipe, and a test-only submodule
of this repo for golden cross-validation — while this repo never mentioned
RatioTap (or DspTap) once outside header comments. Worse, two places
actively sent readers elsewhere: the README's Limitations said "No
44.1 <-> 48 kHz conversion" with no pointer to the sibling built for
exactly that, and the book's survey chapter recommended soxr/libsamplerate
for genuine conversion, text that predates RatioTap shipping.

- README: new "Position in the Tap family" section (reciprocal of
  RatioTap's diagram, which also finally explains the DspTap submodule),
  plus the clock-topology decision rule and the composition recipe; the
  Limitations bullet now redirects to it.
- book/part0/two-crystals.md: the synchronous-resampler recommendation now
  names RatioTap alongside soxr/libsamplerate.
- book/part5/scaling.md: new "A different rate on each side belongs to
  RatioTap" subsection under the Rates axis — the decision rule, the
  composed bridge numbers, and the cross-validation figures — with the
  runnable sibling-repo recipe appended to Verify it yourself. Prose, not
  a code walk: the working code is RatioTap's, and the book's
  include-anchor contract quotes only from this tree (a full chapter would
  require submoduling RatioTap back, creating a cycle against its
  test-only submodule of this repo).
- docs/COMPARISON.md: the "put soxr/libsamplerate in the chain" guidance
  now includes RatioTap, keeping the book's paraphrase of it accurate.

All figures quoted from RatioTap's README (v0.2): 160/147 and 147/160
ratio pair, -109/-99 dB cross-validation, bluetooth_bridge's 2.0 ms.
Verified: pinned mdBook v0.4.40 builds the book with zero
warnings/errors and the image-reference check passes.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015nKdmj5kcJrD3yH8BnD3Yd
@tap
tap merged commit 0922541 into main Aug 7, 2026
32 checks passed
@tap
tap deleted the claude/ci-failures-repo-audit-x9sqwu branch August 7, 2026 02:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants