Skip to content

CHANGELOG: the partition limit that D15 removed and the one it left - #28

Merged
bmxcode merged 1 commit into
mainfrom
d17-changelog-stale-partition-limit
Aug 21, 2026
Merged

CHANGELOG: the partition limit that D15 removed and the one it left#28
bmxcode merged 1 commit into
mainfrom
d17-changelog-stale-partition-limit

Conversation

@bmxcode

@bmxcode bmxcode commented Aug 21, 2026

Copy link
Copy Markdown
Owner

What this fixes

The ## Unreleased section contradicted itself about AKAI partitions. Under Added:

Every partition of an AKAI disc is read, not just the first.

and forty lines below, under Known limits:

Only the first partition of an AKAI disc is read.

The second is stale. #26 / D15 read every partition from the table the disk declares at 0x4500 and closed #22; the Known limits entry should have been removed in that PR and was not. Confirmed against ADR-0023 and partitions() in src/samplerdisc/fs/akai.py:211, which walks every declared partition and yields each one the image confirms a header at.

Its explanation was superseded as well, not just its headline. The bullet described partitions as laid "end to end at multiples of the size declared at 0x00" — the observation from the issue, which ADR-0023 measured and rejected. The sizes are not all equal: the last partition is a remainder, and tiling invents a fourteenth partition on AKAI.S3000.Sound.Library.1 that the disk does not declare. Leaving that sentence in as history would have left a wrong statement about the format in the file a reader checks first.

What survives

One part of the old bullet is still true, and it is the part ADR-0023 states plainly under "Bad, and stated plainly": a declared partition with no header at its declared position is skipped, never searched for. So the entry is rewritten to that, rather than deleted:

A declared partition the image has no header at is skipped, never searched for. Nine of the 44 AKAI discs are short of the disc they were made from, and on those the missing header sits earlier — displaced by a whole number of the container's own 32 KB blocks, accumulating down the disc, from 4 blocks on Best Service - Alpha Dance I to 7 288 on AKAI.S3000.Sound.Library.7. Roughly fifteen thousand readable files stay unread on those images, which is deliberate rather than a gap in the walk: a search would find their partitions, and the audio inside a short image is displaced by the same missing blocks that moved the header — the nine wrong files above are the standing evidence of what displaced audio extracts as. list prints how many partitions the disc declares against how many the image holds, so the shortfall is a stated fact and not an absence.

Every figure in it comes from a measurement already in the repo: the displacement table in docs/formats/akai-fs.md has the nine discs and both endpoints, and the fifteen thousand is ADR-0023's own count for what scanning for headers would recover. The bullet sits directly after the Kickin' Lunatic Beats 2 CD1 entry, whose nine wrong files it points back at — the two limits are the same fault seen from outside and inside partition 1 — and it carries #25, which was open with nothing in the changelog pointing at it.

What this does not claim

No behaviour changes and no code is touched. This is the changelog catching up with what shipped; nothing here re-opens whether skipping a displaced partition is the right call. #25 stays open and stays the place that work is recorded.

Verification

uv run ruff check .          All checks passed!
uv run ruff format --check . 89 files already formatted
uv run pytest                286 passed, 56 skipped in 1.21s

The 56 skips are the real-disc tests, which skip with SAMPLERDISC_TEST_DISCS unset (ADR-0008).

🤖 Generated with Claude Code

The "Only the first partition of an AKAI disc is read" entry under
Unreleased / Known limits contradicted the Added bullet in the same
section: PR #26 read every partition from the table at 0x4500 and closed
issue #22, and this entry should have gone with it. Its own explanation
was also superseded — partitions come from the table, not from tiling at
multiples of the size at 0x00, and their sizes are not all equal
(ADR-0023).

What survives is the narrower limit ADR-0023 states plainly: a declared
partition with no header at its declared position is skipped rather than
searched for, leaving roughly fifteen thousand readable files unread on
the nine short images, which is issue #25. That is what the bullet now
says.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@bmxcode
bmxcode merged commit 9f1665b into main Aug 21, 2026
1 check passed
@bmxcode
bmxcode deleted the d17-changelog-stale-partition-limit branch August 21, 2026 07:39
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.

AKAI: only the first partition of a multi-partition disc is read

1 participant