Guth
NewsDocs
Page actions
View as Markdown ↗
Explore MCP tools ↗

instrument mechanism / verified-clean

Beat/Measure Duration & Song Length Estimator mechanism

The inspectable method record for Beat/Measure Duration & Song Length Estimator, kept separate from implementation and qualification.

Status: VERIFIED_CLEANLifecycle: verified-clean

Model scope

The duration arithmetic is standard under the stated unit assumptions, but the instrument cannot be verified unambiguously until the BPM beat unit, time-signature-to-beatsPerBar mapping, reverse formula, and whole-bar policy are specified. The empty honest_label is a concern: the label should disclose that results assume constant tempo, a fixed meter, and a defined BPM beat unit.

  • The duration formula is correct only when BPM means the number of beats represented by beatsPerBar and the tempo is constant: duration_seconds = bars × beatsPerBar × 60/BPM.
  • The claimed reverse operation has no formula in the specification. It should explicitly define bars = targetDurationSeconds × BPM / (beatsPerBar × 60).
  • The specification does not define how BPM relates to the time signature. In compound meters such as 6/8, BPM may refer to eighth notes or dotted-quarter beats, producing different results.
  • The specification does not define whether bars must be whole numbers when calculating bars needed for a target duration.

Units and conventions

  • BPM is beats per minute for the beat counted by beatsPerBar.
  • 60/BPM converts one beat into seconds.
  • bars is dimensionless and beatsPerBar is beats per bar.
  • target duration used by the reverse calculation is in seconds; minutes must first be converted by multiplying by 60.
  • For a 6/8 example using beatsPerBar = 6, BPM is explicitly treated as eighth-note BPM, not dotted-quarter BPM.

Inspectable vector

One of 4 source-bound review vectors:

{
  "inputs": {
    "mode": "duration",
    "BPM": 120,
    "time_signature": "4/4",
    "beatsPerBar": 4,
    "bar_count": 16
  },
  "expected_outputs": {
    "duration_seconds": 32,
    "duration_minutes": 0.5333333333
  },
  "working": "Beat duration = 60/120 = 0.5 seconds. Beats in song = 16 × 4 = 64 beats. Duration = 64 × 0.5 = 32 seconds. Minutes = 32/60 = 0.5333333333 minutes."
}

Failure boundary

BREAK_CLAIMED · SELF_FLAGGED

BPM = 0 makes the duration formula undefined because it divides by zero; the instrument must reject that input. The 6/8 probe also exposes a convention hazard because treating the numerator as beatsPerBar differs from conventional compound-meter grouping.

Other records

Sources and evidence

These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.

  • VERIFIED_LEDGER.json
  • evidence-tranche4/tranche4-results.json
  • BOUNDARY_HAZARD_CATALOG.json