Skip to content

Write the root README's progression example in chart syntax [patch] - #474

Merged
matt-edmondson merged 1 commit into
mainfrom
fix/374-readme-progression
Oct 20, 2026
Merged

matt-edmondson merged 1 commit into
mainfrom
fix/374-readme-progression

Conversation

@matt-edmondson

Copy link
Copy Markdown
Contributor

Fixes #374

What was wrong

The root README's "Semantic music" snippet opened with Progression.Parse("| Dm7 | G7 | Cmaj7 |"). That is the bar-delimited form #113 replaced: a chart now has to start with its time signature, so the first music example on the package's front page threw FormatException.

Change

  • README.md now uses Progression.Parse("4/4 Dm7 / / / | G7 / / / | Cmaj7 / / /"). The comments on the following lines still hold: the key is C major, and the numerals are ii7, V7, Imaj7.
  • No other README uses the bar-delimited form. I grepped for Parse("| outside docs/superpowers, which holds historical plans.

Tests

Semantics.Test now copies the root and Music READMEs into its output under Readmes/, the same way it already copies the generator metadata. The new ReadmeExampleTests adds two tests:

  • EveryProgressionLiteralInTheReadmesParses runs every Progression.Parse("…") literal in both READMEs through TryParse.
  • RootReadmeMusicExample_GivesTheOutputsItsCommentsShow checks the root example's commented key (C major) and numerals.

Results:

  • With the README change reverted, both tests fail.
  • With the change, the full suite passes: 1781 succeeded, 0 failed on net10.0. The net9.0 leg could not launch in my environment, which has no .NET 9 runtime.

This branch stands alone on main, and it merges cleanly with #472 and #473.


Generated by Claude Code

Progression.Parse("| Dm7 | G7 | Cmaj7 |") throws, because a chart now
opens with its time signature. The snippet uses the chart form instead,
and a test checks every Progression.Parse literal in the root and Music
READMEs, and the root example's commented key and numerals.

Fixes #374

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CcmGrWCwm3uDHcCpVZVcJU
@sonarqubecloud

Copy link
Copy Markdown

@matt-edmondson
matt-edmondson merged commit 2851c78 into main Oct 20, 2026
16 checks passed
@matt-edmondson
matt-edmondson deleted the fix/374-readme-progression branch October 20, 2026 01:11
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.

The root README's Progression.Parse("| Dm7 | G7 | Cmaj7 |") example throws FormatException

2 participants