Skip to content

diskmargin: drop the delay-margin line from show#152

Merged
baggepinnen merged 1 commit into
masterfrom
fix/drop-diskmargin-delay-print
Jun 24, 2026
Merged

diskmargin: drop the delay-margin line from show#152
baggepinnen merged 1 commit into
masterfrom
fix/drop-diskmargin-delay-print

Conversation

@baggepinnen

@baggepinnen baggepinnen commented Jun 24, 2026

Copy link
Copy Markdown
Member

Motivation

show(::Diskmargin) printed a delay margin computed as ϕm/ω0, where ω0 is the disk-margin critical frequency (the skewed-sensitivity peak).

This is misleading:

  • It is not the classical delay margin, which uses the gain crossover frequency ω_gc. For a disk margin there is no clean gain crossover, and ω0 ≠ ω_gc in general.
  • More importantly it is not a valid lower bound on the smallest destabilizing delay. A delay's phase lag ωτ grows linearly with frequency, so the binding frequency is wherever ϕm(ω)/ω is smallest — generally not ω0. Evaluating the ratio only at ω0 can overstate the tolerable delay.

A genuine lower bound would be min_ω ϕm(ω)/ω, which requires the frequency-dependent disk margin rather than the single critical-frequency value. Rather than print a number that reads as a guarantee but isn't one, this PR drops the line. A proper delaymargin based on the frequency sweep can be added later if wanted.

Change

Remove the "Delay margin" (and discrete "samples") output from Base.show(::Diskmargin). No tests or docs depend on it.

🤖 Generated with Claude Code

@codecov-commenter

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 91.89%. Comparing base (ce8094d) to head (460981f).

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #152      +/-   ##
==========================================
+ Coverage   91.84%   91.89%   +0.04%     
==========================================
  Files          20       20              
  Lines        3067     3061       -6     
==========================================
- Hits         2817     2813       -4     
+ Misses        250      248       -2     
Flag Coverage Δ
unittests 91.89% <ø> (+0.04%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

The printed delay margin was computed as ϕm/ω0 using the disk-margin critical
frequency (the skewed-sensitivity peak). This is not the classical delay margin
(which uses the gain crossover frequency) and, more importantly, is not a valid
lower bound on the destabilizing delay: a delay's phase lag ωτ grows with
frequency, so the binding frequency is wherever ϕm(ω)/ω is smallest, which is
generally not ω0. Evaluating the ratio only at ω0 can therefore overstate the
tolerable delay. Drop the misleading line rather than print a number that reads
as a guarantee but isn't one.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@baggepinnen baggepinnen force-pushed the fix/drop-diskmargin-delay-print branch from 460981f to 24b9ce7 Compare June 24, 2026 08:27
@baggepinnen baggepinnen merged commit 5fafc2e into master Jun 24, 2026
0 of 2 checks passed
@baggepinnen baggepinnen deleted the fix/drop-diskmargin-delay-print branch June 24, 2026 08:27
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