Twenty-nine files land in this directory over time, most of them dated audits. This index says which one to open and, just as importantly, which ones are history rather than current state — several were accurate on the day they were written and have been overtaken since. Where that is true it says so on the row.
The four documents that are always current live outside this directory:
../README.md |
What Cinder is, and how to install it. |
../RECOVERY.md |
Read before flashing anything. No public DFU or EDL path exists for this device. |
../cinder-home/STATUS.md |
The feature matrix — current state, kept current rather than aspirational. |
../VISION.md |
The living goals list and the rationale. |
| Document | What it is |
|---|---|
PLAN_2026-09-14.md |
The current audit and forward plan. Every offline gate re-run against v0.3.4, what is open and in what order, the revised skins contract, and how the maintainer watch works. Start here if you are asking "what should I do next". |
DEVICE_CHECKLIST.md |
The run sheet. Every device-gated item in the project in one ordered list, safety rules first, with what a PASS looks like for each. If you have the player in your hand, this is the file. |
SHORTCOMINGS.md |
Standing reference: what is structurally weak about the project and its repository, with evidence per claim. Cited by section ID (A1, B1, D4…) from other documents. |
HISTORY_REWRITE.md |
Open repository decision. Taking Sony's files and superseded build output out of every commit — prepared and rehearsed, never pushed: what it removes, what it breaks, and the order to do it in — and the commands that first move Sony's files to a repository of their own. |
DEVICE_TESTS.md |
The backlog of things only ears or a hand can settle, ordered by payoff. |
DEVICE_SHELL_GOTCHAS.md |
The device's busybox is not your shell. Written after an install reported success while doing three things wrong. Read before writing anything that runs on the player. |
| Document | What it is |
|---|---|
baseline_v1.4.md |
The NW-A55 technical baseline, with explicit trust tiers per claim ([Verified] / inferred). The longest-lived document here. |
AUDIT_2026-08-18_device_vs_sony.md |
What the hardware can do versus what Sony's services expose. Prompted by the FM result: the chip could seek and measure signal; TunerPlayerService could not. |
COMPARISON_cinder_wampy_sony.md |
How Cinder, Wampy and the stock player each solve the same problems. Bluetooth and FM rows revised 2026-08-26. |
adb_setup.md |
adb on the dev channel — fast iteration and reverse-engineering access. |
open-questions.md |
What is still unknown about the device. Several entries closed by on-device work; see the header. |
| Document | What it is |
|---|---|
PLAN_bluetooth_stack.md |
Reaching the Bluetooth stack below Sony's services. Rewritten 2026-08-19 from measurement — the earlier route was wrong. |
PALETTES.md |
Writing a palette: the colour keys, the readability rules the player enforces, and previewing one on a PC. |
PLAN_skins.md |
Swappable UIs: palettes (done), then skins behind one layout contract — the coupling measured, the design, and the order. |
BATTERY_BT.md |
Battery during Bluetooth playback: the measurement method first, then the finding. Written before any optimisation on purpose. |
PLAYLISTS.md |
Playlists made on the device (.m3u8 under /contents, negative ids). |
LIKES_SYNC.md |
The liked-songs device ⇄ PC contract, and the TSV format it crosses as. |
PERF_PLAN_2026-08-20.md |
The remaining list-render cost, against measured render_bench numbers rather than estimates. Its P2/P3/P6-half landed; P4 and P5 are still open — see AUDIT_BATTERY_PERF_2026-09-05.md §B5, which also argues they should be re-costed after the compiler-profile change rather than taken at these numbers. |
Each is a point-in-time pass with the tree SHA it was run against. Newer audits supersede older ones where they overlap; the header of each says what it covers.
| Audit | Scope | Standing |
|---|---|---|
AUDIT_2026-09-06_ui.md |
The UI and its consistency across the device — every screen read as code and looked at as pixels. Nine defects, all fixed (Folders reserving a Now Playing bar it never drew, the Menu's inert back chevron, an invisible and mis-scaled scrollbar on both pickers, a caption claiming NFC was not wired when it works, a Receiver switch that could not be moved, and no empty state on any Library tab). Four consistency findings reported and deliberately not fixed — row heights, the type scale, the header's right slot, and three different scrolling experiences. Also: the committed preview screenshots are two stale, divergent sets totalling 26 MB. | Most recent. Current; its Part C is the open design list and Part D an open repo decision. |
AUDIT_2026-09-06_queue_playback.md |
The queue and playback system end to end: the queue/context model, the resolve-and-flush layer, the shell's transport and end-of-queue watcher, the sequence shim. Twelve defects, all twelve fixed — among them a swipe that queued a track and never told the shell, Up Next naming the previous song for the whole of a queued one, SHUFFLE starting playback on a paused player, and repeat-all both looping a truncated sequence and firing on a pause near the end of any track. | Current; supersedes the queue/playback half of AUDIT_2026-08-16.md. |
AUDIT_BATTERY_PERF_2026-09-05.md |
Battery, performance and optimisation, whole tree. Twelve findings ranked by impact × effort, each tied to file:line. The headline is measured: the player is compiled opt-level = "z", and 2 is 2.2–3.2× faster for +4.6% size. Also finds the early-suspend lever shipping disabled, the 2026-08-18 N+1 freeze surviving at four more call sites, and a fork-free volume path already written but never wired up. |
Most recent battery/performance pass. Its Part D is the ordered work list; Part C is what must not be undone. |
AUDIT_2026-09-01.md |
Repository, CI and release process, plus a defect pass over the guard/watchdog machinery. Found main red, two open defects in the guard, and 863 MB of committed binaries in a 1.3 GB .git. |
Most recent repository pass. Its Part D is the open decision list. |
AUDIT_2026-08-26_bluetooth.md |
Pairing, connecting, NFC tap-to-pair. | Most recent Bluetooth pass. |
AUDIT_2026-08-24_deep_sweep.md |
Cross-thread state, the setuid helpers, the untested shim layer, panic reachability in Rust, the SQL. | Current. |
AUDIT_2026-08-24_stalled_bringup.md |
One defect: a bring-up that never completes froze the whole app. Found off-device by the harness's first exploratory run. | Fixed; kept as the worked example of what the harness is for. |
AUDIT_2026-08-23_sound_effects.md |
The DSP/effects chain. Five defects, all fixed. | Current. |
AUDIT_2026-08-23_three_reports.md |
Three user-reported defects run to root cause. | Current. |
AUDIT_2026-08-16.md |
Sony functional parity, queue/playback behaviour, and a measured performance + battery sweep. | Largely worked off; its ordering superseded the ROADMAP's. Its queue/playback half is superseded by AUDIT_2026-09-06_queue_playback.md. |
AUDIT_2026-07-26.md |
Full project audit — every existing and planned feature against the code. | History. Useful for the touch-input sweep in §F6b; otherwise overtaken. |
audit_notes.md |
How two external audits were integrated into the v1.4 baseline. | History. |
| Document | Why it is still here |
|---|---|
../cinder-home/ROADMAP.md |
The 2026-07-28 forward plan, now carrying a banner saying so. Several entries are still open; it predates Bluetooth, NFC, FM, playlists and the August audits. The live plan is DEVICE_CHECKLIST.md. |
PRODUCTION_READINESS.md |
The 2026-07-28 gap list. Its headline count ("33 commits since the last hardware-verified one") is long out of date, but the shape of the argument — what has to be true before this is something a stranger relies on — is the one this project keeps returning to. |
FLASH_NEXT.md |
The 2026-07-28 flash run sheet. Superseded by DEVICE_CHECKLIST.md; kept as the model of what a run sheet should contain. |
- A claim states its evidence class. Measured means a number was taken; device-verified means it was executed on hardware; inferred means it was reasoned from the binaries and has not been run. Documents that mix the three say which is which per claim, and the ones that do not are the ones that have misled a later session.
- Dated filenames are deliberate. An audit is a photograph, not a specification. When one is overtaken it is not edited into agreement — it is superseded, and the newer document says so.
- Section IDs are stable.
SHORTCOMINGS.md §A1means the same thing in six months.