SpaceAge Release Readiness Checklist
SpaceAge Release Readiness Checklist
Version: 1.0
Baseline date: 2026-07-16
Fixed denominator: 72 checks
Scoring Contract
This checklist is the stable product-shipping denominator. A new feature does not silently enlarge or shrink this version. Scope changes require a numbered checklist revision and an explicit explanation of the denominator change.
Each check has one state: NOT RUN, PASS, FAIL, or BLOCKED. Completion is PASS / 72. A green automated backend test is evidence for the named check only; it does not automatically certify a complete musician workflow. SpaceAge is a release candidate only when every check is PASS, every PASS has named evidence, and no open crash, data-loss, stuck-note, silent-audio, or hearing-safety defect exists.
The governed closeout map is Resources/ReleaseHumanEvidencePlan.json. It must match every currently open ledger row exactly and assigns each one an evidence class, owner, concrete action, and required receipt. tools/test-release-human-evidence-plan.ps1 rejects missing, duplicated, stale, or unclassified work; it does not promote an item to PASS before its receipt exists.
Automated Evidence Available (2026-08-03)
Launch-convergence evidence (2026-08-11): all 79/79 named automated gates pass in
reports/release-convergence-named-green-20260811.out. The complete broad application self-test passes independently inreports/broad-selftest-launch-readiness-green-20260811.out. Coverage includes standalone launch, strict VST3 bundle inventory and host smoke at 44.1/48 kHz, MIDI protocol and closeout, Arrangement and Sequencer workflows, lane-owned Instruments, all native engines and 619 factory presets, Mixer/effects/audio safety, export, project/recovery, and responsive UI contracts. This does not change the fixed 72-check denominator or replace any required human, hardware, legal, installer, clean-machine, or listening receipt. Release hygiene still reports 15 blocked shipping assets.I01-Csupporting Instrument evidence (2026-08-11): the production Library Starting Point callbacks now form a named canonical convergence gate. It audits all 528 generated pad slots across nine collections, checks the expected engine/model family and finite state, renders every collection, and proves audible finite output. The current release pass reconciles the complete 629-preset runtime fingerprint as9823f3087acf82d2across runtime, inventory, hygiene, provenance, and package evidence. This is software evidence; human musical-quality review remains separate.M01-AthroughM07-Asupporting MIDI evidence (2026-08-10): canonical release convergence now names and runs the focused latency/health, concurrent-input, MIDI 1.0 protocol, RPN/control queue, sync-policy, learn/persistence, SysEx capture/restore, and transactional MIDI-import contracts that previously lived outside the release runner. All ten focused selectors pass against the Release self-test binary. These gates make the software boundary harder to regress; the corresponding M rows remain open for their exact USB/DIN, external-device, real-file, and musician receipts.U07-Apartial software evidence (2026-08-06): all six remaining Windows-native message boxes were replaced by one SpaceAge-owned JUCEAlertWindowpath. A release source contract prohibitsNativeMessageBoxand requires the shared helper plus a visible OK action. Human beta still reviews all tooltip, warning, confirmation, destructive-action, dismissal, and plain-language behavior beforeU07can pass.U06readiness doorway evidence (2026-08-06): Sequencer Settings now exposes the authoritative beta-readiness model directly throughBETA READINESS. It shows all eight blocker categories, evidence details, and next actions; copies the complete checklist; and links to MIDI Health without mutating project, routing, audio, MIDI, or hardware state. The Settings root contract now audits 40 visible controls, and canonical Release convergence remains 63/63. This doorway makes unresolved human proof visible; it does not mark those checks complete.P01PASS evidence:P01-A Deterministic blank-project lifecycle resetstarts from a deliberately contaminated session and proves transport/record state, tempo/host sync, loops, notes, chords, automation, pattern lengths, playback snapshots, Sections, clips, private Instrument metadata, Flux, SoundFont/Quasar paths and caches, missing-asset receipts, MIDI mappings, Hardware Passports, and SysEx snapshots return to canonical defaults. Saving and reopening that blank project remains non-recoverable and deterministic.P02/P03PASS evidence:P02-P03-A Project Save As, save-over, independent reopen, and failure isolationdrives the production editor load/adoption path and restores tempo, loop, Sections, lane Instrument/Mixer/MIDI route, Mixer gain/pan/send and deliberately disabled return, clips, long pattern length, Chord Engine performance state, notes, and automation. Save As remains byte-independent from the source project, reopens after the source is changed and deleted and the process working directory is moved, Save Over updates only the chosen target, malformed loads preserve the open project and target, relative asset references are refused, corrupt existing audio produces a repair receipt, and opening another project clears the prior project's Undo/Redo history. Human chooser feel and permission-denied wording remain in the hands-on matrix rather than weakening this software-contract PASS.P06PASS evidence:P06-A Honest project-load acknowledgement and stale-feedback isolationproves immediate visible acknowledgement, deliberately indeterminate progress rather than an invented percentage, disabled startup choices and keyboard commands during restore, generation-guarded delayed completion, and durable completion/failure status. Load Last retains a remembered removable/network path when it is temporarily unavailable, and archive import keeps a loading boundary visible through project activation. Receipt:reports/p06-project-load-feedback-convergence-20260803.out(canonical 40/40 PASS).P08PASS evidence:P08-A Clean close, relaunch, and wrapper-owned startup contractstarts from active playback, recording, sustain, live note ownership, and queued hardware output; then proves idempotent shutdown stops transport and recording, retires voices and ownership, drains 96 MIDI safety messages before hardware closure, and leaves no future note behind. Standalone relaunch ignores JUCE's hidden wrapper state so SpaceAge's startup choices remain authoritative, while hosted VST3 state still restores normally and does not show standalone startup surfaces. Receipt:reports/p08-clean-close-relaunch-convergence-20260803.out(canonical 42/42 PASS).P04PASS software evidence:P04-C Recovery collision, eligibility, retention, and isolationproves distinct snapshot identities, broad recoverability, bounded retention, malformed-snapshot cleanup, and unrelated-file isolation.P04-D Recovery startup discovery, exact restore, unsaved identity, and Save Asproves parameter-only, pattern-length-only, routing-only, Flux-only, and MIDI-mapping-only work is eligible; the startup chooser discovers and explains the newest recovery; exact musical/project state restores through the production adoption path; the recovered session is explicitly unsaved; the prior Last Project preference is preserved; malformed recovery leaves the open session untouched; and Save As creates an independent project. Human Windows forced interruption, real missing-library repair, and wording/readability checks remain hands-on evidence rather than weakening this software-contract PASS.L02/L03PASS evidence: the expandedL01-A Lane-owned Instrument workflowuses the production editor callbacks to replace a lane Instrument, produce finite audible output, open the matching Synth Editor page, display the lane and patch identity, preserve Mixer routing, and survive project round trip. It also clicks the real Add Clip and Add Drum Clip controls and proves empty-lane, append-at-measure-one, deliberate-playhead, other-lane, and Drum-lane placement. Receipt:reports/l02-l03-lane-workflow-20260802.out.L04/L05PASS evidence: the production lane Mixer reassignment transaction now refreshes an armed lane's live Instrument/Mixer destination immediately, updates the visible lane route, renders through the newly assigned Mixer rather than the old channel, and survives project round trip. The paired MIDI policy contract drives the customer routing-panel callbacks and proves input channel/device, fixed output channel/device, route target, Hardware Passport, Mixer channel, restored control selections, and customer-facing route summary reopen identically. The complete MIDI-closeout aggregate and hostile source-cardinality audio route remain green. Receipts:reports/l04-l05-lane-routing-20260802.out,reports/l05-route-status-20260802.out,reports/l04-source-cardinality-audio-20260802.out, andreports/l04-l05-midi-closeout-regression-20260802.out.L06PASS evidence: Drum-versus-Instrument ownership now comes from the lane record rather than lane position or stale clip metadata. The focused workflow inserts an Instrument at lane zero, creates a Drum lane elsewhere, normalizes deliberately contradictory clip types, preserves separate Drum Pad and private Instrument state, and reopens the same boundary from project state. Source-cardinality audio proof remains green. Receipts:reports/l06-drum-instrument-boundary-20260802.outandreports/l06-source-cardinality-audio-20260802.out.L07/A04PASS evidence: the production CLONE callback keeps a new placement linked to the same musical pattern while assigning a separate clip identity and copying clip-local automation into independently editable ownership. The production VARIANT callback forks notes, chords, and shared-pattern automation into a new independent pattern while retaining the lane, Instrument, Mixer, MIDI route, clip-local automation, and patch state. Both contracts survive real project save/reopen. Receipts:reports/l07-clone-variant-contract-20260802.out,reports/l07-lane-workflow-20260802.out,reports/l07-automation-ownership-20260802.out, andreports/l07-source-cardinality-audio-20260802.out.A05PASS evidence: the production length control now supports Instrument source windows through 4096 steps without applying the Drum Composer's 64-step ceiling. Shrink and re-expand preserve notes, chords, repeats, transpose, notes text, shared automation, and clip-local automation; Undo/Redo restores exact non-bank-aligned source spans. Ctrl+U partitions clip-local automation by source range, gives every piece a distinct clip ID, and explicitly marks the pieces as linked views of one score. Invalid source windows and repeated-clip cuts refuse mutation. Split state survives save/reopen. Receipts:reports/a05-resize-split-contract-20260802.outandreports/release-convergence-a05-20260802.out(25/25 named gates PASS).A06PASS evidence: REMOVE creates one canonical gap for the clip's occupied timeline span. Real copy/remove/paste callbacks prove shorter replacement leaves one exact remainder, equal replacement consumes the gap, and longer replacement consumes adjacent gaps without moving later clips. The Drum chain projection updates only its primary owned lane, while additional Drum lanes, unrelated Instrument lanes, Sections, notes, chords, and all automation owners remain unchanged. Undo/Redo and save/reopen pass. Canonical convergence passes 28/28 named automated gates.A07PASS evidence: cut, Instrument paste, linked clone, shift-clone, and Drum paste now calculate their complete accepted layout before checkpointing. Capacity includes canonical left/right gap fragments, real-clip splits, future Drum chain slots, retained non-primary Drum clips, and the Drum timeline ceiling. Exact-fit clone reaches 512 objects with both gap remnants intact; one-slot-over operations refuse byte-identically while preserving an already populated Redo entry. Recording creation uses the same gap-aware preflight, and the gap normalizer refuses an impossible canonical result rather than dropping a fragment. Receipts:reports/a07-capacity-contract-20260802-r2.outandreports/release-convergence-a07-20260802.out.I02PASS software evidence: every reusable native Instrument now exposes Save Patch, Load Patch, a current patch readout, and a dirty*marker. The production patch parser is exercised through TG-55 as well as the existing engines; visible choices and continuous controls recall immediately, and Undo restores the pre-load value and clean marker. Receipt:reports/i02-native-patch-lifecycle-20260803.out.I06PASS software evidence: Kick Lab, Snare Lab, and Hat Lab each render through the production offline path to finite, non-silent 48 kHz / 24-bit stereo WAV. Flux ranges clamp to0...1, cadence and ranges survive a full state round trip, progress is bounded and monotonic, and Reset clears the feature. Per-hit randomness remains intentionally variable; musical usefulness remains a hands-on listening judgment. Receipt:reports/i06-drum-lab-flux-render-20260803.out.X06/X07/X08PASS software evidence: Panic retires sounding state without changing project authorship; Reset Audio is one Undoable restoration transaction; the master limiter is transparent below threshold and enforces its configured sample-peak ceiling; project volume scales predictably; loop wrap and all seven covered page/bank navigation paths remain finite and continuous. Receipt:reports/release-convergence-audio-safety-final-20260803.out.Canonical Release convergence now passes 63/63 named automated gates, including standalone launch, the complete application self-test, native patch lifecycle and control quality, the complete factory-preset safety sweep, Drum Lab Flux/render, all factory synth audio smoke, Instrument source independence, CPU budgets, all eight shared effects, Mixer routing/persistence, audio safety, live/offline full-arrangement render parity, Arrangement/Sequencer workflows, MIDI closeout, project lifecycle, recovery, export, production Quasar capture, the strengthened three-preset SoundFont workstation contract, hostile SoundFont/Quasar replacement isolation, same-project reload after external asset corruption, production Sequencer Settings containment, Arrangement overview geometry, rendered Arrangement lane-state distinction, primary-page ownership, shared-effect enable-state distinction, all eight Effects detail editors, the production Automation editor in compact and focused modes, responsive Mixer-strip/Master geometry, startup-choice/loading-card containment, and responsive Library hierarchy/action-grid containment. Receipt:
reports/release-convergence-u01-library-layout-20260804.out.U04partial software evidence:U04-A Sequencer Settings root containment and doorway hit-target contractopens the real production Settings component inside the supported1100x800viewport and checks all 40 visible controls for containment plus minimum button hit targets. It also proves oversized1320x940destination content retains its full natural dimensions inside the bounded scrollable shell.U04-Bpresses all 14 real destination buttons twice in opposing order, requires one stable and distinct destination component per doorway, verifies bounded reachability plus Escape handling at1100x800, and proves browsing those panels leaves serialized project state unchanged.U04remains open for human navigation, readability, dismissal, and Windows display-scaling judgment.U05partial software evidence:U05-A Arrangement overview maximum-scale width and conditional lane-height contractdrives FIT,O,Ctrl+O, andShift+4through the production editor. A roomy four-lane Arrangement retains the full 88-pixel lane height; a 16-lane Arrangement uses the maximum 35-pixel height that fits the viewport. Both cases fit the complete authored width and return the viewport to the song origin.U05remains open for human judgment of smoothness, visual context, zoom/pan feel, and supported-screen behavior.U02partial software evidence:U02-A Arrangement lane selection, MIDI arm, mute, and solo visual-state contractrenders the production Arrangement canvas and proves the neutral and selected lane badges differ visibly. It also proves the armed control changes fromARMtoLIVE IN, and that Mute and Solo publish independent active states rather than sharing ambiguous styling.U02-B Primary page and shared-effects enabled-state visual contractproves exactly one public page is active and visible, active PADS/SEQUENCERS remain in their note-input blue family while differing from their inactive state, all other active pages differ from idle pages, and every shared-effect enable toggle publishes a distinct active colour.U02-C Arrangement recording disabled, ready, count-in, and active visual-state contractprovesARM LANE, blueREC, amberCOUNT, and dark-orangeREC INdiffer in text and color, while enabled/alpha state and minimum hit targets remain truthful at1800x1000and1100x800. It also prevents a cleared destination from being silently restored by the hidden compatibility selector.U02remains open for human review of colour comfort, readability, and Windows scaling.I03PASS software evidence:I03-A Eight-note instrument CPU headroombenchmarks lane-owned Redshift, Propulsion 1 with five-way unison, Liftoff with four-way unison, Glass Moon, Moonshadow Normal, Lunacy Normal, generated SoundFont, and generated Quasar playback in Release at 48 kHz / 512 samples.I03-B Multi-lane Arrangement CPU headroomadds synthesized drums, five independent tonal lanes, lane-owned pan automation, distinct Mixer channels, and active Halostar/EchoRay/chorus returns.I03-C Complete factory-preset tuning and parameter safetywalks all 619 customer-visible factory choices through the real UI manifests, verifies finite/in-range state, deterministic recall, category-aware pitch bounds, visible control agreement, and clean voice retirement. Human listening and target-machine profiling remain required release QA, not an untested software-contract gap.X03PASS software evidence:X03-A Shared effects signal, tail, and control responserenders one deterministic source through dry and all eight shared returns. Halostar, Reverb, and EchoRay must differ from dry, remain finite, produce an audible post-note tail, and respond measurably to defining controls. Chorus, Flanger, Phaser, Tremolo, and Octave must transform active input, respond to defining controls, remain finite, and return to silence. The strengthened gate exposed and removed Octave's silence-time DC output. Human listening and UI-control review remain in the QA matrix.X05PASS software evidence:X05-A Live/offline full-arrangement render parityrenders one captured project through normalprocessBlockplayback and the production offline exporter. The 24-bit result agrees within encoding tolerance, preserves tempo-derived duration, late material, Mixer/effect routing, bounded tail decay, and monotonic progress, and cannot replace an existing destination when cancelled. Human listening and cancellation of a long real project remain in the QA matrix.U06PASS software evidence: the Beta Readiness model now consolidates three production progress contracts rather than inferring progress from button text.P06-Aproves immediate project-load acknowledgement, an honest indeterminate state, command blocking, and stale-completion isolation;X05-Aproves bounded monotonic whole-song render progress and destination-preserving cancellation;I05-Bproves bounded monotonic Quasar capture progress, cancellation cleanup, and atomic publication. Human beta still judges responsiveness and presentation with genuinely large work.I04/I05/P07/I08PASS software evidence: generated sample-layer, one-shot, loop, SoundFont, and Quasar fixtures prove complete missing-asset receipts, conservative folder relink, ambiguous-name refusal, stale-receipt rejection, finite restored audio, explicit resave guidance, and repaired-project reopen without bundling personal or third-party content. The strengthenedI04-Afixture is a moderate-size three-preset SF2 and also proves preset enumeration, both-direction index clamping, audible preset differentiation, isolated cutoff response, independent attack/decay/sustain/release response, saved control state, and sample-identical selected-preset recovery metrics after relink.I08-B/Cadds bounded structural preflight, path containment, failed-replacement isolation, cross-engine exclusivity, project-epoch receipt rejection, and exact same-project known-good fallback when an already-live external asset becomes corrupt on disk. Large real libraries, interruption/storage failures, and human workflow/message QA remain required.R01PASS evidence: exact candidate0b0fafe08d78996e5286b448f2c1e6b5bb7b9156passed a detached, clean-checkout configure/build and canonical 21/21 Release convergence run. Receipt:test-reports/clean-checkout-convergence-0b0fafe08d78-20260731-202928.out.R04partial evidence: the support bundle has a typedspaceage-support-v5allowlist and an exact three-file archive contract. It records a closed standalone/hosted runtime mode, numeric sample rate and block size, and the same prior-session lifecycle truth used by startup recovery. State isunknown,clean, orunclean_or_interrupted; stage is one of six fixed phases from process start through clean shutdown. No host name, exception text, musical data, hardware identity, or private path is admitted. Human Windows support/recovery workflow QA remains open.R04ownership evidence: the Sequencer Settings root is editor-owned, its MIDI Input/Timing/Sync/Output callbacks use safe component pointers, and Setup Guide processor callbacks use weak ownership. The automated detached-callout audit is closed; human Windows cancellation, closure, recovery, and bundle review remain open.U01/U03partial evidence:SYNTH_CONTROL_QUALITYopens every native Synth Engine route and subpage at both1800x1000and the exact supported minimum1100x800. It checks 590 visible control instances for page containment, interaction, readable values, gesture completion, and Undo behavior.U01-A EFFECTS_DETAIL_LAYOUTadditionally opens all eight production Effects detail editors at both viewports and audits 312 title, hint, close, label, dial, choice, and toggle instances for containment, minimum target size, label/control separation, and EchoRay card ownership.U01-F MIDI_TRANSFER_LAYOUTproves the production MIDI export preview and MIDI import review panels fit inside the exact supported1100x800viewport, retain every primary action without horizontal scrolling, and reserve the complete import review/control stack without hidden bottom content.U01-B AUTOMATION_EDITOR_LAYOUTopens the production MIDI Expression/Automation callback and audits 29 visible controls, the bounded scrolling shell, compact row-list and graph geometry, focused graph geometry, and Escape/X dismissal. It exposed and fixed focusedROW VIEWpainting its hidden row-list content into zero remaining height.U01-C MIXER_LAYOUTaudits 2,306 production Mixer control instances at roomy and minimum viewports, proves all detail panels remain reachable, protects an 80-pixel minimum strip width through horizontal scrolling, and verifies the responsive Master column.U01-D STARTUP_DIALOG_LAYOUTaudits all 20 startup controls and loading-feedback surfaces against one shared painted/layout card boundary.U01-E LIBRARY_LAYOUTaudits 58 production Library controls across roomy and minimum viewports, preserving the centered Save hero while file, bank, recovery, starting-point, and generated-project actions flow through responsive grids without clipping or overlap. Human whole-app readability, target comfort, Windows scaling, and remaining surfaces stay open, so neither row advances.R06PASS evidence:test-release-resource-privacy.ps1proves the two customer splash choices are compiled into BinaryData, the runtime stores only a numeric anti-repeat choice, deprecated Documents/OneDrive/executable-sibling PNG discovery is absent, and common private development-path signatures do not occur in shipping source. Artwork ownership remains independently blocked underR05; embedding does not imply rights clearance.These notes do not change the fixed 72-check denominator or mark a row complete.
1. Project Lifecycle (8)
- P01 PASS - Blank project opens with deterministic defaults (
P01-A, 2026-07-30). - P02 Existing project loads with instruments, tempo, clips, routing, and automation intact. (
P02-P03-A, 2026-08-03) - P03 Save and Save As produce reopenable projects without hidden path dependencies. (
P02-P03-A, 2026-08-03) - P04 Recovery snapshot restores the latest recoverable state and explains what was recovered. (
P04-C/P04-D, 2026-08-03) - P05 Undo/Redo remains coherent across clip, lane, instrument, automation, and mixer edits.
- P06 Load Last Project reports progress and cannot appear to ignore the user. (
P06-A, 2026-08-03) - P07 Missing external assets offer a safe locate/relink workflow.
P07-Ccovers all five external asset classes together, refuses ambiguous duplicate filenames, deduplicates Quasar directory/manifest discovery, rejects stale repair callbacks, and proves save/reopen after repair. Receipt:reports/p07-missing-asset-repair-convergence-20260803.out. - P08 Clean close and relaunch produce no stale audio, MIDI, or editor state. (
P08-A, 2026-08-03)
P06 closure (2026-08-03): project-loading routes acknowledge immediately and show an honest indeterminate state while work is in progress. Startup commands are disabled, keyboard commands are consumed, delayed completion is generation-guarded, and result messages cannot be erased by the Arrangement timer before they can be read. Large real-library responsiveness remains a hands-on beta observation because asset restoration is still synchronous; no fake work-based percentage is claimed.
P08 closure (2026-08-03): closing SpaceAge is now a defined runtime transaction. Audio and MIDI producers stop, all-notes-off and sustain-off safety messages drain before hardware outputs close, and the clean-session marker is written only after runtime owners are quiet. Relaunch begins from SpaceAge's explicit startup decision rather than an undocumented standalone-wrapper snapshot. Hosted plugin state remains host-owned. Human QA still needs one ordinary close/relaunch and one forced-interruption recovery observation on the target Windows machine.
P04 closure (2026-08-03): the standalone startup chooser now exposes the newest usable recovery with a human timestamp and meaningful summary. The Library and startup routes share one exact restore path; restored work is labeled Recovered Session (Unsaved), does not replace the remembered Last Project, and directs the musician to Save As. Recovery eligibility includes sound-design, routing, Flux, MIDI, and explicit-duration changes rather than relying on a narrow note/clip summary. Hosted editors do not write global standalone recovery snapshots, unchanged snapshots do not evict useful history, fallback storage remains discoverable, and delayed restore callbacks are generation-guarded. Human QA still must force-terminate the Windows standalone, inspect the actual startup wording, and repair a recovered project whose personal assets were moved.
2. Lane and Instrument Ownership (8)
- L01 A new non-drum lane owns an independent Instrument instance, not a user-facing Pad proxy. (
L01-A, 2026-08-02) - L02 Choosing or changing a lane instrument updates playback, badge, preset, and editor consistently. (
L02-A, 2026-08-02) - L03 Adding a clip targets the selected lane and documented playhead/end-of-lane rule. (
L03-A, 2026-08-02) - L04 Lane mixer assignment is visible, persistent, and agrees with audible routing. (
L04-A, 2026-08-02) - L05 Lane MIDI channel/input/output policy is visible and survives save/reload. (
L05-A, 2026-08-02) - L06 Drum lanes retain intentional pad-bank behavior without contaminating non-drum lanes. (
L06-A, 2026-08-02) - L07 Duplicated clips and variants have explicit linked-versus-independent musical behavior. (
A04-A, 2026-08-02) - L08 Rendered lane stems match the lane's instrument, routing, mute/solo, and name. (
L08-A, 2026-08-02)
3. Sequencers and Musical Input (8)
- S01 Drum Composer note entry, selection, ratchets, probability, accent, and Clear are predictable and undoable. (
S01-A, 2026-08-02) - S02 Piano Roll note creation, resize, move, erase-paint, velocity, and selection follow documented conventions at the automated contract level. Human tactile/visual QA remains below.
- S03 Chord Engine creation, voicing, split, resize, arp, audition, persistence, and export preserve musical intent at the automated contract level. Human tactile/visual QA remains below.
- S04 Arrangement recording captures note start, duration, velocity, release velocity, and channel accurately. (
S04-A, 2026-08-02) - S05 Count-in, metronome, rewind, playhead, loop, and Spacebar behavior agree across workspaces. (
S05-A, 2026-08-02) - S06 Long Instrument clips remain navigable and editable beyond the classic 64-step Drum Composer surface. (
S06-A, 2026-08-03) - S07 Clear affects only the visible sequencer scope and uses the designed confirmation where required.
- S08 Keyboard shortcuts are consistent, discoverable, and do not conflict with text entry. (
S08-A, 2026-08-03)
4. Arrangement Integrity (8)
- A01 Move, group move, and auto-scroll preserve lane, start, length, and selection. (
A01-A, 2026-08-03) - A02 Copy/paste at the playhead shifts the complete song span consistently across lanes.
- A03 Delete preserves timeline space unless an explicit ripple operation is chosen. (
A03-A, 2026-08-03) - A04 Clone and Variant preserve the documented linked-versus-independent contract. (
A04-A, 2026-08-02) - A05 Resize and split preserve source data, repeats, clip-local automation, and chord content. (
A05-A, 2026-08-02) - A06 Gap replacement handles shorter, equal, and longer material without hidden clips or duplicate gaps. (
A06-A, 2026-08-02) - A07 Capacity refusal for cut/paste/clone is atomic and leaves project plus Undo/Redo untouched. (
A07-A, 2026-08-02) - A08 Section markers and clips can move together without destructive implicit rearrangement.
5. MIDI 1.0 and Hardware (8)
- M01 USB and 5-pin DIN input latency is measured, documented, and acceptable on target hardware.
- M02 Multiple simultaneous controllers retain independent note ownership and routing.
- M03 CC, pitch bend, channel/poly pressure, sustain, RPN/NRPN, Program/Bank, and channel mode follow MIDI 1.0 policy.
- M04 MIDI Clock, Start/Continue/Stop, SPP, MTC, and MMC behavior is verified against external hardware.
- M05 MIDI Learn conflict, pickup, 7-bit, and 14-bit workflows are visible and persistent.
- M06 SysEx capture, archive, guarded send, response, timeout, and failure receipts are verified on supported devices.
- M07 Real MIDI files round-trip through at least two external DAWs without timing or data corruption.
- M08 Hardware Passport setup, disconnect, reconnect, panic, and restore workflows are understandable and safe.
6. Audio, Mixer, and Effects (8)
- X01 Every lane reaches exactly the expected mixer channel with stable metering. (
X01-A, 2026-08-03) - X02 Mute, solo, pan, gain, output, and channel persistence work across banks and page changes. (
X02-A, 2026-08-03) - X03 Halostar, Reverb, EchoRay, and all other shared effects pass signal and expose working controls. (
X03-A, 2026-08-03; human listening and UI-control review remain in QA) - X04 Synth patches contain no hidden effect sends; effects are controlled from the assigned mixer path.
- X05 Offline render matches audible Arrangement length, routing, tails, and progress reporting. (
X05-A, 2026-08-03; human listening and long real-project cancellation remain in QA) - X06 Panic and Reset Audio terminate stuck notes without corrupting project state. (
X06-X08-A, 2026-08-03) - X07 Master limiter and project volume protect against unsafe peaks without unexplained coloration. (
X06-X08-A, 2026-08-03; human coloration judgment remains in QA) - X08 Audio remains stable through page changes, mixer-bank changes, loops, and long playback. (
X06-X08-A, 2026-08-03)
7. Instruments and Sampling (8)
- I01 Every self-contained factory instrument produces audio, obeys A440 where tonal, and has a safe default patch. (
I01-B, 2026-08-03; SoundFont and Quasar remain under their asset-backed I04/I05 gates) - I02 Preset load/save/rename/dirty-state behavior is consistent across engines. (
I02-B, 2026-08-03; human per-engine control review remains in QA) - I03 Factory presets are chord-safe where claimed and remain within CPU/voice limits. (
I03-A/I03-B/I03-C, 2026-08-03; human listening and target-machine profiling remain in QA) - I04 SoundFont loading, preset selection, relinking, ADSR/filter controls, and large-file behavior are stable. (
I04-Acloses the reproducible software contract; a release-candidate run with Shane's large GM bank and an independent bank remains required) - I05 Quasar capture/package/reveal/reload completes with progress, portable filenames, and correct mapping. (
I05-Aconsumer/relink plusI05-Bproduction builder; 2026-08-03) - I06 Drum Labs render samples correctly and Flux Nodes remain bounded, musical, and reproducible. (
I06-A, 2026-08-03; musical judgment remains in QA) - I07 Synth controls support fine adjustment, Undo, readable values, and no hidden/clipped parameters. (
I07-A, 2026-08-03; human tactile/readability review remains in QA) - I08 Instrument and sample resource failures are contained rather than producing partial adoption, silence, or crashes. (
I08-B/C, 2026-08-03; human review of failure wording remains under U07)
8. UI, Accessibility, and Workflow (8)
- U01 No supported window size contains clipped, overlapping, or unreadable customer-facing text.
- U02 Active, selected, armed, muted, soloed, enabled, and disabled states are visually distinct. (
U02-A/B/Cnow cover lane, page, effect, and recording-state truth in software; full human visual review remains.) - U03 Core controls have usable hit targets, sensible drag sensitivity, and consistent hover feedback. (Shared button/combo/slider hover and keyboard-focus treatment added 2026-08-07; all 590 visible native-synth sliders now publish parameter names and keyboard focus. Hit-target and tactile human QA remains.)
- U04 Settings and popup panels are navigable without hidden bottom content. (Shared Settings shell now provides scrolling, focus ownership, and Escape/click-away dismissal; specialized transactional panels and human minimum-screen review remain.)
- U05 Lane collapse/overview/fit/zoom/pan workflows remain smooth and preserve context.
- U06 Progress feedback exists for project load, render, Quasar capture, and other long operations. (
P06-A,X05-A, andI05-B; consolidated Beta Readiness contract, 2026-08-04) - U07 Tooltips, error messages, and confirmation dialogs use SpaceAge styling and plain language.
- U07-A supporting evidence: every discovered customer-facing AlertWindow path now has an explicit SpaceAge component or look-and-feel owner; primary UI, all Settings destinations, MIDI Health, and complete MIDI closeout pass. Human wording and mixed-DPI wrap review remain under U07.
- U08 A first-time musician can complete the documented start-to-song workflow without undocumented steps.
- U08-A supporting evidence: About exposes a six-step in-app Start Song Guide using the real workflow vocabulary at both supported viewports; human blank-project completion remains under U08.
9. Release, Legal, and Distribution (8)
- R01 PASS - Release build and the complete automated regression suite pass from exact clean checkout
0b0fafe08d78996e5286b448f2c1e6b5bb7b9156(21/21 receipt named above). - R02 Standalone and VST3 packages install and launch on a clean supported Windows machine.
- R03 Plugin host validation passes in the named supported DAWs.
- R04 Crash logging and support-report collection provide actionable diagnostics without exposing private paths.
- R05 Third-party code, presets, fonts, and assets have recorded compatible licenses and required notices.
- R06 Splash art and bundled resources are embedded without exposing Shane's source folders or cloud drives. (
test-release-resource-privacy.ps1, 2026-08-04) - R07 Source repository, tags, reproducible build instructions, and release artifacts are backed up and recoverable.
- R08 Public documentation and marketing claims match only the functionality certified by this checklist.
R08 supporting evidence (2026-08-04): the obsolete shipping README was replaced with current lane-owned Instrument, Mixer-owned effects, Arrangement, project, render, and beta-boundary language. Resources/PublicClaimsRegistry.json hash-binds the complete shipping README, maps present-tense claims only to passed readiness IDs, keeps Instrument and MIDI language conditional on open human checks, and explicitly excludes MPE, MIDI 2.0, universal hardware compatibility, and third-party plug-in hosting. test-public-claims.ps1 enforces this contract and public packaging requires separate human approval. R08 remains open until Shane reviews the exact README plus About, website/store/Kickstarter, manual, and release-note copy.
R05 supporting evidence (updated 2026-08-11): all 16 resources embedded by SampleSquadAssets have exact entries and SHA-256 fingerprints in Resources/ReleaseAssetClearance.json; release hygiene checks one-to-one coverage, current bytes, and evidence-file existence, and the public package command refuses to run while blocked entries remain. Resources/DependencyLicenseManifest.json records eleven integrated dependency families and hash-locks fourteen retained source/font/license artifacts. The local JUCE tree was independently compared with official commit d6181bde38d858c283c3b7bf699ce6340c050b5d; its 4,249-file fingerprint is recorded in Resources/JuceSourceFingerprint.json and rechecked offline before public compilation. Hygiene fails on manifest drift, changed evidence, missing notices, or any unregistered Source/ThirdParty file. Public packaging also requires completed human signoff, a clean exact Git commit, correct standalone/VST3 identity, copied-standalone launch, and emits a checksummed ReleaseManifest.json. The 619 factory choices have deterministic inventory fingerprint 4d2ddc400437c5d6, enforced in runtime safety testing, release hygiene, and package evidence. R05 correctly stays open until framework, artwork, TG55, and preset rights decisions are recorded and the blocked asset count reaches zero.
Additional packaging evidence (2026-08-04): public packaging has no stale-binary bypass, rejects build-directory overrides, requires the detached clean-checkout convergence PASS receipt for the exact source commit, binds its cache to the current source root, and performs a clean-first build. The receipt ships as hash-locked evidence. Packaging records the Windows runtime imports and build toolchain, creates the archive under a private random staging name, and reopens the extracted ZIP to verify exact file-set equality, sizes, hashes, identity, imports, VST3 structure, and standalone launch before atomically publishing it with an adjacent .sha256 checksum. A synthetic archive contract proves valid acceptance, executable-corruption rejection, and unmanifested-file rejection. The pre-build legal checklist uses fixed decision IDs; after packaging, a separate attestation is generated with the exact ZIP filename, SHA-256, and source commit and must be completed before publication.
Evidence Rule
Evidence must name the checklist ID, date, build or commit, tester/device when physical hardware is involved, result, and artifact or receipt location. A check cannot be marked PASS from memory or from a different feature's test. FAIL and BLOCKED remain visible until superseded by newer evidence.
2026-07-16 Convergence Evidence Snapshot
This is evidence, not a replacement score for the 72 checks above.
- PASS M04-B: 2026-07-24 automated Arrangement record timing regression passed after first-measure clamp and direct-source cleanup work. Covered evidence includes first-measure capture, four-measure Arrangement capture, long clip capture, source-aware ownership, two-controller direct input policy, stale direct-device rejection, direct slot reuse handoff, and callback timestamp placement.
- PASS M03-C/M08-B supporting gates: 2026-07-24
MIDI_HEALTH,MIDI_CLOSEOUT, andMIDI_READINESSfocused gates passed after the timing fix. This is automated backend/model evidence only; M01/M06/M07/M08 still require real hardware, real-file, and human workflow receipts before public MIDI completion claims. - PASS I01-A: every registered factory synth in the audio smoke gate produced audio and released its voice.
- PASS I03-A supporting gate: after replacing Liftoff's realtime additive harmonic reconstruction with prepared band-limited wavetable mip levels, the latest Release eight-note lane-Instrument workload passed for Redshift (7.14%), Propulsion 1 five-way unison (5.46%), Liftoff four-way unison (8.53%), Glass Moon (4.55%), Moonshadow Normal (5.94%), Lunacy Normal (4.46%), generated SoundFont (2.18%), and generated Quasar (1.56%) against a 70% real-time ceiling at 48 kHz / 512 samples. Percentages are evidence from this machine and workload, not universal hardware claims.
- PASS I03-B supporting gate: a looping Arrangement with three synthesized drum voices, five tonal lane Instruments, distinct Mixer channels, lane-owned pan automation, and active Halostar/EchoRay/chorus returns rendered at 67.67% of the real-time window in the latest complete convergence pass. It produced finite audible output, advanced and wrapped transport, and retired all voices against an 80% ceiling. Target-machine profiling remains required.
- PASS I03-C supporting gate: the safety fixture enumerates the actual customer-visible preset ComboBoxes rather than a parallel hard-coded sample. All 619 choices have unique names within their bank, apply without stale-index clamping, recall visible controls, keep every parameter finite and normalized, obey family-specific pitch/tuning contracts, and retire audition voices. Lunacy tonal families now reset inherited vibrato/gate state and use restrained pitch spread; Texture and Atmosphere remain deliberately broader experimental families.
- PASS X03-A supporting gate: Halostar, Reverb, and EchoRay each changed a deterministic dry source, produced a finite post-note tail, and responded measurably to alternate character settings. This gate exposed and fixed EchoRay delay-line sleep occurring before longer synchronized repeats reached their taps.
- PASS I04-A/I05-A supporting gates: generated SoundFont and Quasar assets passed load, finite output, release, project round trip, missing-path reporting, relink, and restored-audio checks.
- PASS M03-SNAPSHOT: Arrangement note/chord playback now reads published sequencer and pattern snapshots instead of live Arrangement/pattern note containers during audio rendering; Release build and focused MIDI gates passed on 2026-07-16.
- PASS M03-EXPRESSION-SNAPSHOT: Arrangement expression playback now reads Shared PTN, Lane Local, and Clip Local expression data from published playback snapshots; Release build and focused MIDI gates passed on 2026-07-16.
- PASS A07-A: lane instrument replacement preserved lane identity, mixer channel, gain, pan, shared-effect send, compressor settings, and the user's explicit Pad Settings clipboard; repeated clips preserved source-cycle length and repeat count while exposing one canonical occupied duration, including drum-chain conversion and save/load.
- PASS M03-A: MIDI closeout regression.
- PASS M03-B: Shared PTN, Clip Local, and Lane Local automation ownership.
- PASS M04-A: Arrangement recording timing, four-measure capture, dual-controller source ownership, sustain/channel mode, disconnect generation, and source-policy matrices.
- PASS S04-A: Arrangement recording preserves measure-one attacks, fractional starts and durations, velocity/release velocity/channel, source-window offsets, exact repeated-clip endpoints, same-note retriggers, dual-controller ownership, interruption closure, lane routing, one-step Undo/Redo, save/reopen, and Piano Roll visibility. The recording queues are fenced before state-sensitive operations.
- PASS M08-A: MIDI project readiness and Hardware Passport foundation.
- PASS R01-A: MIDI QA receipt persistence.
- PASS R01-B broad-suite prerequisite: all automated convergence gates passed, including the 64-pad/effects performance stress at 7,492 ms against the 8,000 ms ceiling. Physical-device and human workflow checks remain separate checklist evidence.
2026-07-16 - Arranger Timeline Boundary Evidence
- PASS A07-A boundary contract: an exact-fit repeated clip (
start 4032,length 16,repeats 4) is accepted and survives save/load with occupied end 4096. - PASS A07-A overflow contract: add/set operations crossing step 4096 are refused with clip count and prior clip state unchanged.
- PASS compound preflight: resize, move, section-assisted move, clone, snap, and paste validate the post-overlap lane layout before checkpoint or mutation.
- PASS broad application self-test after updating the obsolete stem fixture to assert model-level overflow refusal; performance stress completed in 7,542.63 ms under the 8,000 ms ceiling.
- HUMAN QA REMAINS: drag/resize/clone/snap/paste at the visible right edge should be exercised in the desktop UI to confirm refusal wording and focus behavior.
2026-07-16 - Arranger Transaction Integrity Evidence
- PASS A07-B editor refusal contract: with a drum clip occupying the timeline through step 4096, invoking the real Arranger + ADD DRUM CLIP callback refuses before checkpoint; clip count remains unchanged and Undo remains empty.
- PASS section transaction guard: same-label assignments create no checkpoint, and creating a section at capacity refuses before checkpoint.
- PASS lane-rename transaction guard: SAVE revalidates the lane and same-name saves create no checkpoint.
- PASS broad application self-test after transaction hardening; performance stress completed in 7,547.06 ms under the 8,000 ms ceiling.
- HUMAN QA REMAINS: confirm refusal text/focus at the visible right edge and exercise section-label capacity from the desktop UI.
2026-07-16 - Arranger Gesture Transaction Evidence
- PASS A07-B inspector transaction contract: pattern reassignment, section assignment, generic inspector values, clip/section length, and notes refuse stale or unchanged targets and checkpoint accepted edits once per user gesture/session.
- PASS A07-B canvas no-op contract: editor-level section resize and clip move callbacks at their existing snapped geometry leave Undo empty.
- PASS A07-B canvas mutation contract: a genuine section resize restores its original geometry in exactly one Undo step.
- PASS A07-B lane-state contract: muting a soloed lane changes both flags atomically; one Undo restores the prior muted/solo pair and no extra Undo remains.
- PASS A07-B chain-order contract: legacy chain drag-end reordering checkpoints only a normalized source/destination change.
- PASS A07-B section vocabulary contract: section type 105 is accepted and survives project state round-trip; processor, form, and paste paths share maxArrangementSectionType.
- PASS focused Arranger edit contract with gestureTransactions=1, laneMuteTransaction=1, and extendedSections=1.
- PASS complete AudioSelfTest after the transaction implementation; all audio, MIDI, project, export, and editor contracts passed, with performance stress at 7,249.88 ms under the 8,000 ms ceiling.
- HUMAN QA REMAINS: exercise long slider drags, typed inspector values, notes focus changes, lane M/S, and snapped click-release gestures in the desktop UI.
2026-07-16 - Bulk Arranger Transaction Evidence
- Reapplying an identical song-form preset creates no checkpoint; one Undo after two applications restores the original form directly.
- Unsupported song-form IDs are refused without mutation.
- Cloning a populated clip at the 4096-step boundary leaves clip count, target payload, and Undo unchanged.
- Bulk drum removal with no available gap patterns refuses atomically and leaves the chain untouched.
- Focused Arranger contract reports
formPresetTransaction=1,cloneBoundaryRefusal=1, anddrumRemovalCapacityRefusal=1.
2026-07-16 - AUTO LANES Atomic Editing Evidence
- Single continuous-lane point moves refuse an occupied same-lane tick without mutation.
- Stale group moves and value edits refuse atomically; no surviving subset is changed.
- Group moves refuse collisions with unselected same-lane points.
- A valid non-colliding group move still succeeds and returns both moved point indices.
- Empty CLEAR STEP and graph erasure do not create Undo checkpoints.
- Duplicate ADD POINT at the same lane/tick is refused before checkpointing.
- Permanently hidden legacy chain-row controls and callbacks were removed.
- Focused MIDI closeout regression passed with expressionMoves=1.
- Complete AudioSelfTest passed; performance stress was 5,922.08 ms under the 8,000 ms ceiling.
- HUMAN QA: verify collision wording, group-selection retention/clearing, empty erase strokes, and single-gesture Undo from the desktop AUTO LANES panel.
2026-07-16 - MIDI closeout evidence and remaining blockers
- AUTO host fallback remains deterministic when unrelated direct ports are open.
- AUTO pinned-direct mode rejects a second controller.
- Equal-tick RPN sequence survives sort and persistence round-trip.
- SysEx ownership and cancellation lifecycle regression passes.
- Focused MIDI timing and closeout gates pass.
- Complete AudioSelfTest passes.
- Keep SoundFont copy/warming work off the live note-start path through prepared voice checkout.
- Move isolated pattern playback off patternMutex through immutable pattern snapshots.
- Move Arrangement note/chord/expression playback off patternMutex through sequencer, pattern, lane-local, and clip-local snapshots.
- Preserve sample offsets for note-off and expression rendering.
- Make panic/disconnect cancellation race-proof for queued hardware output.
- Complete real hardware QA with mioXL DIN and USB controllers simultaneously.
2026-07-16 - Incoming MIDI Sample-Accuracy Evidence
- Host note-on and note-off dispatch at their exact audio-block sample offsets.
- Sustain down/up, pitch bend, and CC1 dispatch at their exact offsets.
- Equal-sample pitch bend and CC1 retain source insertion order.
- Recording timing remains distinct from live playback timing.
- Queue overflow fails safe against stuck notes.
- Focused MIDI timing and multi-controller regression passes.
- Complete AudioSelfTest passes with exit code 0 in 177.0 seconds after combined host/direct ordering coverage.
- HUMAN QA: measure simultaneous mioXL DIN and USB monitoring/capture latency and save the MIDI Health receipt.
- HARDENING: apply sequencer-generated internal expression at its emitted sample offset.
- HARDENING: give queued hardware output panic/disconnect cancellation an epoch or equivalent race-proof invalidation contract.
2026-07-16 - Hardware MIDI output release gate
- Audio callback avoids hardware profile/device locks and OS output opening.
- Route and reset epochs cancel stale queued traffic.
- Panic bypasses delayed musical traffic.
- Rerouting releases the old endpoint/channel.
- Full Release self-test suite passes.
- Virtual-output/manual-clock tests directly prove reroute/reset cancellation, Panic priority, and stable equal-deadline ordering.
- Real hardware soak test covers simultaneous USB and DIN-routed controllers/outputs.
2026-07-16 - Hardware MIDI output release gate update
- Virtual-output/manual-clock harness exercises the production dispatcher.
- Heap-resident lane reroute cancels stale musical traffic and releases the old channel.
- Heap-resident queue reset cancels live and recall traffic.
- Panic bypasses a future heap head and emits immediate safety traffic.
- Equal-deadline live/recall messages preserve enqueue order.
- Complete Release AudioSelfTest passes with exit code 0.
- HUMAN QA: simultaneous mioXL USB and DIN latency calibration and monitoring comparison.
- HUMAN QA: disconnect/reconnect, reroute, Stop, and Panic soak on real hardware.
2026-07-16 - Hardware MIDI safety/reconnect gate
- Safety intent survives burst pressure and duplicate Panic requests coalesce.
- Disconnected outputs advance generation and invalidate lane/clock route publications.
- Reconnected devices bind by stable JUCE identifier, not a recycled slot number.
- Old-generation scheduled and safety traffic cannot reach the reconnected endpoint.
- Progress includes pending emergency release traffic and excludes stale heap entries.
- Non-physical route-mode changes preserve queued note-offs.
- Complete Release AudioSelfTest passes with exit code 0 in 182.4 seconds.
- HUMAN QA: simultaneous mioXL USB and DIN latency/recording comparison with saved MIDI Health receipt.
- HUMAN QA: unplug/replug while notes, sustain, clock, and SysEx are active; verify no stuck notes and clean reconnection.
- PRODUCT POLICY: warn or document that multiple lanes sharing one hardware endpoint/channel cannot be independently released without affecting one another.
2026-07-17 - Internal instrument audio-output release gate
- Automated processor smoke gate confirms non-silent finite audio and clean note-off retirement for self-contained synth/lab engines.
- TG55 factory programs are covered by dedicated output and stability tests.
- HUMAN QA: run the full playable-engine pass before any public build: every synth, lab, sampler, SoundFont, Quasar package, preset save/load path, lane assignment, mixer channel, and panic/stop behavior must produce expected audio without stuck notes or runaway CPU.
- HUMAN QA: include at least one real SoundFont and one real Quasar package fixture because those engines depend on external assets and cannot be honestly certified from empty state alone.
- HUMAN QA: verify no synth/sampler page depends on hidden effect sends; effects must come from the assigned mixer channel.
2026-07-30 - Asset-backed Quasar recovery evidence
- PASS I05-A/P07-A automated fixture: a generated Quasar package loads into a private lane Instrument, produces finite non-silent audio, and retires its voice.
- The package path and zone map survive project save/load with no missing-asset receipt while the package remains present.
- Moving the package produces one typed Quasar missing-asset receipt with the original source slot and path.
- Relinking to the moved package clears the receipt and restores the same audible/release behavior.
- Short Release convergence passes 9/9 with I05-A included.
- HUMAN QA: repeat with a large user-created Quasar package and listen for mapping, velocity-layer, round-robin, loop, and release quality.
- AUTOMATION: generated standards-valid SoundFont fixture added; personal SoundFont libraries remain excluded from release-test dependencies.
2026-07-30 - Asset-backed SoundFont recovery evidence
- PASS I04-A/P07-B automated fixture: a generated moderate-size SF2 bank with three presets and one long sample loads into a private lane Instrument, produces finite non-silent audio, and retires its voice.
- SoundFont preset enumeration, first/middle/last selection, negative and positive out-of-range clamping, preset metadata, and source path behave deterministically.
- Three deliberately different preset programs produce three measured output levels; low-pass cutoff, attack, decay, sustain, and release each change a dedicated audio metric while other relevant controls remain fixed.
- Trigger mode, ADSR/filter values, and selected preset survive project save/load.
- Moving the SF2 produces one typed SoundFont missing-asset receipt containing the source slot, preset index, and original path.
- Relinking the moved SF2 clears the receipt and reproduces the saved render peak, early/mid RMS, and voice-retirement block within deterministic tolerance.
- The generated fixture contains no personal or third-party sample content.
- Focused SoundFont evidence:
reports/i04-soundfont-controls-final-20260804.out. - Short Release convergence passes 10/10 with both Quasar and SoundFont asset gates included.
- Short Release convergence passes 12/12 with I03-A isolated polyphony and I03-B full Arrangement CPU evidence included.
- Short Release convergence passes 13/13 with X03-A shared-return signal, tail, and control-response evidence included.
- Complete monolithic Release self-test passes from the current working tree; receipt:
broad-selftest-20260730.out. - HUMAN QA: repeat with Shane's large GM SoundFont and another independently authored bank; verify preset changes, controller response, Panic, CPU/memory behavior, and reopen/relink experience.
2026-07-30 - Deterministic Blank-Project Evidence
- PASS P01-A: Blank Project is a hard lifecycle boundary that sends Panic before discarding MIDI routes.
- Runtime transport, recording, count-in, loop, tempo, and host-sync state return to canonical defaults.
- Drum steps, Piano Roll notes, Chord Engine markers, automation, explicit pattern lengths, and audio-thread pattern snapshots are cleared together.
- All 80 source slots clear labels, modulation routes, round-robin state, and Flux Nodes; private Instrument state cannot survive outside the 64 Drum Pads.
- SoundFont and Quasar paths/caches, missing-asset receipts, MIDI mappings, Hardware Passports, and SysEx snapshots are cleared.
- The canonical 64-step default Section and single 16-step Drum clip are correctly recognized as blank rather than recoverable work.
- Saving and reopening the blank state remains deterministic and non-recoverable.
- Focused Release convergence passes 14/14 with P01-A included; receipt:
blank-project-convergence-20260730.out. - Complete monolithic Release self-test passes after the lifecycle changes; receipt:
blank-project-broad-selftest-20260730.out. - HUMAN QA: invoke Load Blank Project from the startup dialog and from a busy audible session; confirm progress copy, focus, visual defaults, and external hardware silence.
2026-07-30 - Project File Trust And Failure Isolation
- New project files identify themselves with
format: SpaceAgeProjectand an explicit format version. - Older SpaceAge project files remain accepted when they contain the required parameter tree and source array.
- A JSON object is no longer considered a project merely because it parses; malformed files and unrelated JSON are rejected before state restoration begins.
- Failed loads leave the currently open tempo, notes, and Arrangement clips unchanged.
- Project saves are staged and verified through a same-destination
juce::TemporaryFilebefore replacing the target. - Save/Save As and ordinary load paths update the current-project target and remembered Last Project only after processor persistence succeeds.
- Recovery restores intentionally remain untitled so the musician must explicitly save the recovered work as a project.
- Focused P01-A/P04-A and all 14 named Release convergence gates pass; receipts:
project-trust-blank-20260730.out,project-trust-persistence-20260730.out,project-trust-convergence-20260730.out, andproject-trust-r01-20260730.out. - Complete monolithic Release self-test passes with exit code 0; receipt:
project-trust-broad-selftest-20260730.out. - HUMAN QA: exercise Save, Save As, Load Last, Load Project File, recovery restore, missing assets, cancelled choosers, unwritable destinations, and a deliberately damaged
.sskit.
2026-07-30 - Startup And Recovery Trust
- Load Last Project is offered when a remembered path exists; validation occurs only after the musician asks to load it.
- A temporarily unavailable removable/network target is retained so reconnecting the drive can restore the remembered action.
- Failed Load Last keeps the startup choices visible, restores the normal cursor/loading state, and leaves the current session unchanged.
- Last Project preference updates use staged replacement rather than a direct truncating write.
- Cancelled Save Kit and Save Project choosers perform no write and no status/current-project mutation.
- Save chooser callbacks use a safe editor pointer.
- Recovery discovery considers only SpaceAge-generated recovery filenames and only structurally recognizable, musically useful snapshots.
- Recovery retention keeps the newest eight valid snapshots, removes invalid generated snapshots, and does not touch unrelated
.sskitfiles. - Focused recovery-retention, persistence, and Blank Project gates pass; receipts:
project-trust-recovery-retention-20260730.out,project-trust-persistence-startup-20260730.out, andproject-trust-blank-startup-20260730.out. - Complete Release self-test passes with exit code 0; receipt:
project-trust-startup-recovery-broad-20260730.out. - HUMAN QA: confirm startup copy and button state with valid, moved, deleted, damaged, and permission-denied Last Project targets.
- HUMAN QA: cancel Save Kit and Save Project, then test an unwritable destination and verify the previous target remains byte-for-byte intact.
- HUMAN QA: inspect and load several recovery snapshots, including missing-asset sessions, and confirm the recovered session remains untitled.
2026-07-30 - Portable Project Archive And Asset-Repair Trust
- Archive export stages the project, assets, Quasar packages, manifest, and README before writing the destination.
- Existing archive destinations are replaced only after the staged ZIP is readable and passes structural inspection.
- Local source paths are replaced by internal archive placeholders and are not copied into the archive manifest.
- Import treats ZIP contents as hostile: absolute paths, traversal, control characters, symbolic links, duplicate paths, oversized entries, and excessive total expansion are rejected before extraction.
- Asset and Quasar manifest entries are bound to their expected placeholder kind and archive-relative location.
- Import extracts into a staging directory, validates the project and every mapped asset, then commits the directory only after all checks pass.
- A generated sample remains audible after archive export, deletion of the original source, import, remapping, and project load.
- SoundFont and Quasar relink tests repair the captured missing-asset identity and reject a repeated stale chooser callback.
- Export captures a stable project/archive plan on the message thread, then performs ZIP creation and verification on a worker thread.
- Import inspection and extraction run on a worker thread; validated project loading returns to the message thread.
- Export and import display determinate progress windows, and focused proof observes 8 export updates and 6 import updates.
- Focused archive, SoundFont, Quasar, persistence, recovery, and blank-project gates pass with native exit code 0.
- Complete Release AudioSelfTest reaches its final chain-export PASS checkpoint after the progress/threading refactor; receipt:
project-archive-progress-broad-20260730-v2.out. - HUMAN QA: export/import Shane's large GM SoundFont project and a multi-layer Quasar package; verify progress movement, responsiveness, memory use, preset identity, audio, and reopen.
- HUMAN QA: cancel archive choosers and test an unwritable, full, disconnected, or removed destination without damaging an existing archive.
- HUMAN QA: close the editor/application during a long archive operation and confirm shutdown is orderly and no incomplete destination is presented as valid.
- HUMAN QA: inspect missing-asset repair wording and replacement choices with multiple simultaneously missing files.
Automated Evidence Receipt - 2026-07-31
- Fresh internal Release self-test build: PASS.
- Complete automated convergence suite: 15/15 PASS.
- Focused convergence after adding maximum-lane proof: 15/15 PASS.
- New
I02-Agate: all 16 supported Arrangement lanes retain independent Instrument IDs, private sources, Mixer routes, MIDI channels, and labels through project round trip while visible Drum Pad state remains isolated. - Customer executable was not produced in this pass.
The 72 shipping checks above remain the release denominator. Automated evidence narrows risk; it does not mark musician-in-the-chair, hardware, dialog, installer, or clean-machine checks complete.
2026-07-31 - Bounded Instrument Gate Verification
Internal Release self-test rebuilt successfully. Focused verification passed:
- MIDI Health: PASS, including beta blocker transition assertions.
- Source Cardinality: PASS with maxLaneRoundTrip=1.
- Focused release convergence: 15/15 PASS.
- Instrument Bay / lane independence now reports READY under the explicit 16-lane beta contract.
- The beta gate now tracks seven remaining human/release blockers instead of incorrectly tracking eight.
- No customer executable was produced in this pass.
2026-07-31 - Packaging Identity And Legal-Notice Gate
- Customer-facing CMake metadata identifies the product as
SPACEAGE by Sample Squad, companySample Squad, and bundlecom.samplesquad.spaceage. - Internal CMake target and C++ class names remain historical implementation details and are not exposed as product branding.
- Release packages stage binaries, README, third-party ledger, Inter OFL notice, and TinySoundFont MIT notice in a clean archive.
-
R02-Aautomatically verifies identity, offline JUCE boundaries, required legal source files, ledger coverage, and package-script notice inclusion. - Disposable no-build archive inspection passed with all six required payload classes present; the proof archive was removed afterward.
- Internal Release self-test target reconfigured and built successfully after the metadata change.
- Focused release convergence passes 21/21, including full-arrangement WAV, arrangement MIDI, MIDI stem-package, realtime asset-retirement, and exact automation-ownership truth gates.
- HUMAN QA/LEGAL: confirm the shipping entity's commercial JUCE license and Steinberg VST3 proprietary-license path.
- HUMAN QA/LEGAL: confirm rights for every bundled sound, preset, image, icon, font treatment, and marketing asset.
- HUMAN QA: produce an installer, sign the shipping artifacts, and complete a clean-machine install/launch/uninstall pass.
- No customer executable was produced in this pass.
2026-07-31 - Full-Arrangement WAV Truth Gate
-
X05-Aruns the full-arrangement WAV regression as an isolated release gate and compares its rendered audio with normal liveprocessBlockplayback from the identical captured state. - Export ignores active Arrangement and step-loop selections rather than rendering only the loop.
- A late event near the end of the musical timeline is present in the rendered file.
- Variable-tempo slot multipliers are integrated into exact musical duration instead of assuming the project base BPM.
- The render is verified as stereo 24-bit WAV with exact sample length and includes a five-second decay phase.
- Progress is monotonic from zero to one, and a staged temporary file replaces the destination only after successful format/length verification.
- Transport stops before the decay phase, preventing the arrangement opening from retriggering inside the tail.
- The final tail reaches silence instead of looping or ringing indefinitely.
- Latest focused release convergence passes 21/21.
-
E02-Aproves exact MIDI note timing/length, lane-channel routing, drums-only isolation, bank/program/CC preservation, long-clip coverage, and tempo/meter/key metadata. -
E03-Aproves a checksummed, manifest-backed, lane-isolated MIDI stem package with full-arrangement MIDI and import-ready files. -
L08-Aproves time-aligned stereo 24-bit lane-audio packages with stable lane names/IDs, Instrument and Mixer metadata, saved mute/solo policy, external-only explanations, cancellation cleanup, and non-destructive destination refusal. - HUMAN QA: listen to full-song, loop/selection, MIDI, automation, asset-instrument, progress, and effects-tail exports in Session 5 of the Human Beta QA Matrix; re-import the MIDI package in an external DAW.
2026-08-02 - Drum Composer Edit And Undo Contract
-
S01-Adrives the real Drum Composer callbacks for note entry/re-audition, selection, deletion, property editing, visible-bank deletion, and Clear. - Accent, probability, and ratchet slider drags create one Undo transaction per gesture; no-op values create no history entry.
- A newly entered step becomes the active property target. Disabled cells cannot accumulate hidden property state.
- Clear removes only Drum steps, preserves Piano Roll and Chord Engine payloads plus explicit pattern duration, refuses cross-lane ownership, and does not checkpoint an already-empty pattern.
- Focused
S01-A, neighboringA07-A, representativeP04-Asave/reopen proof, standalone launch, and canonical Release convergence pass 29/29. Evidence:reports/s01-drum-composer-20260802.outandreports/s01-release-convergence-broad-20260802.out. Physical mouse feel, tooltip readability, and designed confirmation presentation remain human QA.
2026-08-02 - Lane-Owned Audio Stem Package
- The Arrangement
RENDERmenu exposesRender Time-Aligned Lane Audio Stemswith progress, status, cancellation, and a final output location. - Every Arrangement lane receives one aligned stereo 24-bit/48 kHz WAV with a shared five-second tail policy.
- Lane isolation occurs at Arrangement event scheduling, before Mixer processing; Drum lanes may therefore span their Pad Mixer channels without contaminating Instrument stems.
- Saved lane and Mixer mute/solo, gain, pan, effects, and Master processing remain part of each rendered result.
- The manifest records stable lane identity, lane name/type, Instrument identity/slot/name, Mixer destination, MIDI route, audible state, silence reason, filename, and exact sample counts.
- Muted, solo-excluded, empty, and external-only lanes remain time-aligned files and explain why they are silent instead of disappearing from the package.
- Rendering captures project state once, suppresses hardware MIDI/transport output, stages the complete package, verifies each WAV, refuses an existing destination, and removes partial output on failure or cancellation.
-
L08-Apasses inreports/l08-audio-stems-20260802.out; full convergence passes 28/28 inreports/l08-release-convergence-broad-20260802.out. Human listening and external-DAW alignment remain Session 5 QA.
2026-07-31 - Candidate-Bound Clean-Checkout Proof Wiring
- Canonical convergence includes
I08-A REALTIME_INSTRUMENT_ASSET_RETIREMENTin both the environment reset manifest and named gate list. -
tools/test-clean-checkout-convergence.ps1resolves a supplied candidate to an exact commit SHA and rejects dirty or untracked required source/package dependencies before creating a worktree. - The runner uses a guarded detached worktree under the system temporary directory, verifies required CMake/package inputs are tracked, configures from scratch, builds only
SampleSquadAudioTest, runs canonical convergence, runsgit diff --check, rejects test-created mutations, records an exact-SHA receipt, and removes only its guarded temporary worktree. - Cheap runner self-validation passes for
09b96f90f523d4c3815cda467ddb291c5e26ed01; release hygiene passes and the dirty-dependency refusal path is deterministic. -
R01CLEAN CHECKOUT passed for exact candidate0b0fafe08d78996e5286b448f2c1e6b5bb7b9156; receipttest-reports/clean-checkout-convergence-0b0fafe08d78-20260731-202928.outrecords 21/21 PASS. - Human hardware, listening, installer, signing, and clean-machine evidence remains separate; the clean-checkout runner does not claim those results.
- No customer executable was built by this wiring verification.
2026-07-31 - Privacy-Safe Support Bundle Foundation
- Settings exposes
CREATE SUPPORT BUNDLEand writes a timestamped ZIP under the user's Documents folder. - The archive contains only
README.txt,system.txt, anddiagnostics.txt; it does not copy project text, note/chord payloads, device identifiers/names, lane or Hardware Passport names, audio, samples, SoundFonts, presets, or source assets. - Fixed system metadata retains Windows/macOS/Linux home-style path redaction as a second line of defence.
- A focused test verifies the exact three-entry archive, complete diagnostic-key allowlist, sentinel-name absence, and fallback private-path redaction.
-
R04remains open until human Windows forced-interruption, customer-facing recovery/support workflow, and generated-bundle review are complete.
2026-08-01 - Async Lifetime And MIDI Teardown Trust
- All audited file-chooser completions resolve a safe editor pointer before touching UI or project state.
- Six remaining asynchronous popup-menu completions now refuse work after editor destruction.
- External MIDI producers stop before five owner-backed worker queues are joined during processor destruction.
- MIDI control mapping, SysEx capture/restore response, expression recording, and note recording have deterministic blocking shutdown contracts.
- The configured Release audio-test target compiles after the lifetime changes.
- MIDI recording timing, MIDI health, and MIDI closeout gates pass.
- Major detached MIDI callout hardening is complete: MIDI Health, MIDI Maps, SysEx Vault, Hardware Passport, MIDI Patch, and Automation/MIDI Expression now use explicit lifetime guards; smaller creative surfaces use the same owner contract.
- Bounded standalone session evidence is implemented with exact-schema privacy and concurrent-instance protection.
-
R04remains open only for human Windows support/recovery workflow QA. - No customer executable was produced.
SysEx Vault detached lifetime - verified 2026-08-01
- Vault CallOutBox uses weak processor ownership.
- Timer stops and panel dismisses when its owner expires.
- Async snapshot removal checks both component and processor lifetime.
- SysEx capture gate passes.
- SysEx restore-response gate passes.
- Full MIDI closeout gate passes.
Hardware Passport detached lifetime - verified 2026-08-01
- Passport CallOutBox uses weak processor ownership.
- Paint/report paths stop when the owner expires.
- Sync-policy and recall confirmations validate panel and processor lifetime.
- Parameter-table asynchronous selection validates panel and processor lifetime.
- MIDI sync-policy gate passes.
- MIDI setup/recall queue gate passes.
- Full MIDI closeout gate passes.
MIDI Patch detached lifetime - verified 2026-08-01
- MIDI Patch owns its editor through
Component::SafePointer. - Delayed NRPN, setup-card, bend-test, bend-verification, and MIDI OUT bridge callbacks validate all UI owners before acting.
- Setup-card queue and hardware sync-policy gates pass.
- Full MIDI closeout gate passes.
Automation detached lifetime - verified 2026-08-01
- The Automation/MIDI Expression CallOutBox owns its editor through
Component::SafePointer. - Interactive and mutating entry paths stop after editor detachment, and the panel retires itself through a bounded lifetime monitor.
- Automation restore and ownership gates pass.
- Full MIDI closeout gate passes, including live pan immediacy, paste/update behavior, and deletion/reset behavior.
Typed support snapshot - verified 2026-08-04
- Support diagnostics accept only typed numeric and boolean health values.
- The diagnostic writer emits only the closed
spaceage-support-v5key allowlist, including runtime mode, sample rate, block size, typed prior-session lifecycle state, and last completed lifecycle stage. - Lifecycle evidence uses fixed enums and timestamps only; it does not admit exception text, project content, MIDI content, device identity, asset names, or private paths.
- Whole MIDI reports and arbitrary warning strings are no longer accepted by the support-bundle API.
- Device/lane/Passport names and identifiers have no serialization field.
- Focused archive regression, full standalone compilation, and MIDI closeout pass.
- Human Windows creation, reveal, ZIP inspection, and support handoff remain required.
Sequencer Settings ownership root - verified 2026-08-01
- The root Settings
CallOutBoxis parent-owned by the editor. - MIDI Input, Timing, Sync, and Output callbacks use
Component::SafePointerand stop after Settings dismissal. - MIDI Setup Guide processor callbacks use
WeakReferenceand fail closed after processor teardown. - The editor compiles and MIDI closeout, health, sync-policy, and setup-queue gates pass.
-
R04remains open for supported-Windows cancellation, forced-close, recovery wording, and generated-bundle inspection.
2026-08-01 - Standalone startup gate
- Root cause confirmed: Windows exception
0xC00000FDoccurred because the standalone retained a 1 MiB stack while startup frames exceeded that reserve. -
CinematicDrums_Standalonenow reserves a measured 16 MiB stack; the VST3 target remains host-owned and unchanged. - The corrected standalone creates a main window, accepts normal close, and exits with code 0.
-
tools/test-standalone-launch.ps1verifies those exact customer-visible conditions. - Release build, canonical convergence, clean-checkout convergence, and package staging now include the standalone launch proof; package staging tests the copied executable.
- Canonical release convergence passes 23/23, including the customer-executable launch gate.
- Clean supported-Windows installer/runtime proof remains part of human
R02QA.
2026-08-01 - Continuous Mixer gesture Undo
- Mixer gain, pan, auto-pan depth, shared-effect sends, delay darkening, compression, saturation, and musical EQ sliders create one project checkpoint at drag start.
- Synth and Mixer sliders share one gesture-Undo helper instead of maintaining divergent rules.
- The real-editor regression opens Mixer, edits the visible gain fader, and proves exact one-step Undo and Redo.
- Focused arranger-edit contract reports
mixerSliderTransaction=1. - Human QA still needs to confirm button/selector edits and mixed edit sequences across clips, Instruments, automation, and Mixer controls.
2026-08-01 - Discrete Mixer control Undo
- Mute, Solo, channel processor enable switches, Auto Pan timing, EchoRay timing, and output routing enter project Undo before their APVTS attachment changes the parameter.
- Master compressor and limiter enable switches use the same rule.
- Parameter-driven refresh and Mixer-bank attachment are rejected as non-user history events.
- Compact choice menus use JUCE-equivalent nearest-index comparison instead of unsafe float equality.
- Focused real-editor regression reports
mixerDiscreteTransaction=1and preserves every existing no-op transaction boundary. - Human QA should combine slider drags, toggles, routing changes, bank switches, Undo, and Redo while audio is playing.
2026-08-01 - Master and mixed Mixer Undo
- Master threshold, ratio, makeup, limiter ceiling, low-pass, and volume create one project checkpoint at drag start.
- Stable Master component IDs expose the real controls to editor-level regression.
- Mixed Master-volume, channel-Mute, and output-routing edits Undo in exact reverse order and Redo in exact forward order.
- Focused Arranger/Mixer contract reports
mixerMixedHistory=1. - MIDI timing, MIDI health, MIDI closeout, and full application self-tests pass.
- Human Windows QA should confirm audible restoration and tactile behavior while playback is running across all four Mixer banks and the Master section.
2026-08-01 - Effects and alternate-input Undo
- Typed Master-slider values and double-click reset enter the same one-decision history as pointer drags.
- No redundant typed/reset listeners were added; JUCE's native drag notifications provide the transaction boundary.
- Compact Effects sliders, enable toggles, Octave routing, selected-source sends, and deep-editor controls enter project Undo.
- A selected-source send and its automatic return-enable change Undo and Redo as one transaction.
- Focused real-editor regression reports
mixerAlternateInput=1andeffectsMixedHistory=1. - MIDI record timing, MIDI health, MIDI closeout, and the full application self-test pass; the captured full suite exits with code 0.
- Human Windows QA should audition these operations during playback and confirm tactile behavior, effect return restoration, and popup dismissal across supported display scales.
2026-08-01 - Cross-system project history closed
- Project volume and Pad gain, pitch, decay, pan, blend, engine, output, performance filter, and performance MIDI-source controls enter project Undo.
- Instrument Bay sliders, mode selectors, and toggles across Generic Synth, Classic, Physical, Redshift, Propulsion, Liftoff, Glass Moon, Moonshadow, Lunacy, SoundFont, and TG55 use the shared history contract.
- TG55 controls are included in the common slider history arming pass.
- The real-editor regression performs eight Instrument/control edits and proves exactly eight Undo and eight Redo operations.
- The cross-system regression performs one clip, lane, Instrument, automation, and Mixer edit and proves exact reverse Undo plus forward Redo order.
- Focused Arranger history, MIDI record timing, MIDI health, MIDI closeout, and the complete application self-test pass.
- Human Windows QA should audition mixed edit sequences during playback and confirm tactile restoration, popup refresh, and the eight-action history boundary.
2026-08-01 - Project format compatibility boundary
- Saved projects declare the
SpaceAgeProjectidentity and format version 1. - Project-file preflight rejects malformed JSON, unrelated JSON, and unsupported future format versions.
- Host/plugin state restoration uses the same compatibility guard.
- Rejected future state leaves the open session's tempo, notes, and Arrangement clips unchanged.
- Focused persistence regression reports
futureVersionRejected=1andfuturePluginStatePreserved=1; canonical focused Release convergence passes 23/23, including the Golden Project Lifecycle gate. P02/P03 supporting note: software contracts are closed byP02-P03-A; human Windows chooser cancellation, unwritable-destination wording, and tactile progress checks remain explicit QA rather than untested backend assumptions.
2026-08-01 - Golden Project Lifecycle
-
P04-Bsaves a representative Arrangement and destroys the original processor before reopen. - Two lane-owned Instruments, a Drum lane, Chord Marker, private source IDs, distinct Mixer routes, loop state, lane-local CC10 automation, and Halostar send survive disk round trip.
- Reopened production playback is finite and contains audible opening and late-song material.
- Production WAV export ignores the stored loop and writes exactly 336,000 stereo 24-bit samples at 48 kHz.
- The WAV proves late musical content, rightward automation, an audible early Halostar tail, and a quiet final tail.
- All 659 export progress values are finite, bounded, and monotonic.
- Offline duration uses captured renderer tempo; non-finite render buffers are rejected before WAV encoding.
- Canonical focused Release convergence passes 23/23.
- Human Windows project workflows, listening, cancellation, missing assets, unwritable destinations, installation, and clean-machine launch remain required.
2026-08-01 - Project save failure boundary
-
saveKitrejects empty and directory targets before temporary staging. - Destination-parent creation failure is checked rather than ignored.
- Deterministic blocked-parent and directory-target saves return failure.
- The prior project remains byte-for-byte unchanged and reopenable after both failures.
- Unsaved live-session edits survive the failed destination attempts.
- Failed Save As retains the current project target and names the rejected destination with an access hint.
- Focused persistence and canonical Release convergence pass; canonical evidence is 23/23.
- Human Windows QA must still cover chooser cancellation, real permission denial, disconnected/removable destinations, Save Over/Save As focus, and customer-facing wording.
2026-08-01 - Recovery Snapshot Integrity
-
P04-Callocates a unique recovery filename even when two snapshots are created at the same millisecond; identity combines a sortable millisecond timestamp with a UUID. - Recovery creation and discovery now agree that customized Sections, a modified single clip, custom Drum Pad labels, and private Instrument labels are useful recoverable work.
- The newest eight valid generated snapshots remain available; malformed generated snapshots are removed; unrelated
.sskitproject files are never pruned. - Restored snapshots are labeled
Recovered Session (Unsaved)and never become an implicit overwrite destination. - The named
RECOVERY_RETENTIONwrapper gate passes withcollisionProof=1andusefulStateParity=1. - Canonical focused Release convergence passes 24/24, including
P04-C. - File load, recovery discovery, and host/plugin restore now share a deep semantic preflight for nested Pads, steps, Piano Roll notes, Chord Markers, automation payloads, chain slots, lanes, clips, and Sections. Exact Pad/loop-bank cardinality, declared layer counts, fixed one-shot/mod-route counts, and clip-to-existing-lane references are enforced before mutation.
- Malformed-but-parseable nested state is rejected before restoration; exact before/after project-state comparison proves no partial mutation.
- Focused persistence reports
malformedSemanticRejected=1andmalformedSemanticPreserved=1. P04 human follow-up remains in the QA matrix for supported-Windows restore choice, forced interruption, missing-asset relink, honest wording, and support-bundle inspection. This is supporting human observation, not a second readiness-ledger entry. - Any future project-schema expansion must add its semantic invariants to the shared preflight in the same change;
restoreStateObjectdeliberately assumes accepted or trusted internal state.
2026-08-02 - Preset Recall Presentation Integrity
- Factory and file-based preset loaders complete through one audible-and-visible presentation refresh.
- Open Synth Engine controls are rebound after recall; selectors, toggles, patch readouts, source labels, ADSR graphics, and spectral-envelope graphics refresh from recalled state.
- Automated coverage compares visible controls with APVTS parameter values for Generic Synth, Classic Machines, Physical Model, Redshift, Propulsion 1, Liftoff, Glass Moon, Moonshadow, Lunacy, Kick Lab, Snare Lab, and Hat Lab.
- Saved Redshift and native
.ssynthpatch files are loaded through production parsers and prove their recalled sliders and choices appear immediately. - Focused MIDI Closeout regression passes with
presetControlsRecall=1andpatchFileControlsRecall=1; the complete application self-test also passes. - Human beta QA should load visibly different presets in every engine and confirm the controls jump immediately before touching any parameter.
2026-08-02 - L01 Lane-Owned Instrument Boundary Closed
- Public Pad-record lookup rejects every private Arrangement Instrument source instead of clamping or interpreting it as a Pad.
- Private Instrument-record lookup rejects visible Drum Pad sources and resolves its Mixer destination through the owning lane.
- Fresh lane creation preserves a deliberately modified visible Drum Pad label, pitch, selected Pad, and Pad page.
-
L01-Aproves independent Instrument IDs and source slots, starter clips, copy, Variant, fresh replacement, Automation targeting, and Arrangement MIDI-record targeting. -
SOURCE_CARDINALITYproves the 64 Drum Pad / 16 private Instrument / 64 Mixer boundaries, hostile-route playback, maximum-lane save/load, Pad rejection, and finite private-Instrument audio. - Release receipts:
reports/l01-lane-owned-instrument-20260802.outandreports/l01-source-cardinality-20260802.out. - The complete Release self-test also passes through final WAV export; receipt:
reports/l01-broad-regression-20260802.out. L02/L03 supporting note: both now have separate production-path workflow proof; human tactile review remains listed in the Human Beta QA Matrix rather than blocking the backend contract.
2026-08-02 - L02/L03 Lane Sound And Clip Placement Closed
-
L02-Areplaces a selected lane Instrument through the same convergence path used by the UI and proves the new engine is immediately audible. - The lane badge/preset identity, active Synth Editor source and engine tab, Mixer Channel, MIDI route, and saved/restored project all agree after replacement.
-
L03-Aclicks the real Add Clip control and proves an empty selected lane receives its first clip at step 0. - With the playhead at step 0 on an occupied lane, Add Clip appends after that lane's existing material rather than inserting at the song start.
- A deliberate nonzero playhead target inserts on the selected lane at that target; switching the selected lane changes the destination.
- Add Drum Clip targets the selected Drum lane, preserves the chosen Drum pattern and intrinsic length, and does not change the selected destination lane.
- Focused Release receipt:
reports/l02-l03-lane-workflow-20260802.out. - Complete Release regression passed through final WAV export:
reports/l02-l03-complete-regression-20260802.out. - Human beta should still judge the selection highlight, landing animation, and placement feel on supported Windows displays.
2026-08-02 - A08 Exact Section And Clip Moves Closed
- A mixed Selection of Instrument clips and Section markers moves as one rigid horizontal transaction.
- The edit preflights bounds and collisions for the complete destination before checkpointing or mutation.
- A refused move leaves clips, Sections, project history, and an existing Redo entry unchanged.
- Successful joint moves preserve clip IDs, Clip Local automation ownership, unrelated sentinels, Undo/Redo, and project round trip.
- The first Drum lane is explicitly owned by the legacy Chain projection and refuses mixed native drag; additional Drum lanes remain independent.
- Chain projection uses persistent per-slot clip IDs, preserves Clip Local automation across edits and reordering, and gives duplicated slots fresh IDs.
- Focused Arranger contract reports
sectionClipJointMove=1anddrumProjectionIdentity=1; all adjacent Release gates and the complete application self-test pass. - Human beta should still judge cursor lift, target-line clarity, collision refusal feedback, and mixed-selection feel on supported Windows displays.
2026-08-02 - S02 Piano Roll Reliability Closed
- Note creation, selected-note movement, left/right resize, velocity drawing, right-drag erase painting, and Shift-drag clone run through explicit edit gestures.
- One continuous gesture creates one Undo record; no-op gestures preserve the existing Redo branch.
- Stacked notes with identical musical values remain independently selectable because selection identity is index-based rather than value-derived.
- Group movement and resize use one bounded delta, preserving relative note spacing at pattern boundaries.
- FIT centers selected notes; reset returns to the complete editable source window. Long clips, nonzero source offsets, and MIDI notes 0 through 127 remain reachable.
- Instrument-owned clips accept Piano Roll edits; Drum-owned clips refuse them without changing data or history.
- Focused evidence:
reports/s02-piano-roll-20260802.out. Canonical Release convergence passes 30/30:reports/s02-release-convergence-broad-20260802.out. - Human beta must still judge cursor edge feedback, stacked-note selection clarity, drag sensitivity, erase-paint feel, long-clip navigation, and Undo/Redo presentation on supported Windows displays.
2026-08-02 - S03 Chord Engine Reliability Closed
- Chord Marker create, multi-update move/resize, multi-delete, Clone, split, and no-op transactions each preserve one-action Undo/Redo behavior.
- Chord ownership rejects edits against Drum-owned patterns without creating Undo history.
- Typed entry accepts common
m/minaliases, valid slash inversions, and six-note comma-delimited clusters; unsupported slash basses, out-of-range notes, and oversized clusters fail atomically. - Gain, pan, all six voice velocities, strum, humanize, arp, playback mode, preserve-end, mute, and custom-note data survive exact save/reopen round trips.
- Mixed split selections preserve unsplittable short markers instead of deleting them.
- Arp rendering writes notes and converts the source marker to silent reference mode in one Undoable transaction.
- Pattern MIDI export honors Chord Engine playback mode, mute state, performance pan, arp timing, and authored performance data.
- Focused evidence:
reports/s03-chord-engine-20260802.out. Canonical Release convergence passes 31/31:reports/s03-release-convergence-broad-20260802.out. - Human QA still required for pointer feel, visual lift, resize cursors, honeycomb audition sound, popup readability, and musical judgment of strum/arp output.
2026-08-02 - S04 Arrangement Recording Reliability Closed
- A take begins at measure one without losing its first attack and records fractional start, duration, velocity, release velocity, and MIDI channel.
- Active-note ownership is keyed by input source, channel, and note; two controllers may hold the same pitch independently, and a same-source retrigger closes the earlier note without erasing either event.
- Nonzero source windows and latency compensation remain inside the selected clip; an exact release at the end of a repeated clip maps to one source-cycle endpoint rather than creating a full-cycle duplicate.
- Stop, disarm, target change, restart, loop interruption, and Panic close held recording notes before target state is retired.
- Asynchronous note/expression recording queues expose a bounded drain fence before save/state capture, target changes, interruption cleanup, and other state-sensitive work.
- One recording transaction can be undone/redone and survives save/reopen with the same Piano Roll payload and lane route.
- Focused receipt:
reports/s04-arrangement-recording-20260802.out. Canonical Release convergence passes 32/32:reports/s04-release-convergence-broad-20260802.out. - Human beta still must compare real USB and mioXL DIN timing, count-in feel, interruption behavior, and recorded performance against what the musician actually played.
2026-08-03 - S07 Context-Local Sequencer Clear Closed
- Drum Composer Clear removes Drum steps only.
- Piano Roll Clear removes Piano notes and Chord Engine markers only in one atomic publication.
- Shared PTN, Clip Local, and Lane Local automation survive both Clear commands.
- Explicit Pattern duration, clip placement/source windows, Drum-chain length/repeats, routing, and unrelated payloads remain unchanged.
- Confirmation pins its original Pattern target and reports Arrangement plus Drum-chain reference counts.
- Linked clips reflect their shared Pattern edit while an independent VARIANT remains untouched.
- Already-empty, cancelled, and ownership-refused operations preserve project history and Redo; one successful Clear is one Undo action.
- Focused
S07-A, neighboring edit/persistence gates, and canonical Release convergence pass 35/35. - Human beta should judge confirmation wording, shared-reference clarity, VARIANT guidance, and tactile Undo/Redo behavior.
2026-08-03 - S08 Shortcut Consistency Closed
- One keyboard event enters one command path; obsolete Arranger timer polling no longer duplicates Copy, Paste, or Escape.
- Text editors, menus, sliders, and buttons own the keys needed for text/value interaction without triggering unrelated song edits behind them.
- Global Space transport, Undo/Redo, measure-one, and documented workspace commands remain available when focus is on a passive control.
- Plain
Xdismisses supported overlays whileCtrl+Xremains Cut; modified keys cannot accidentally invoke unmodified commands. - Piano Roll Home/End, transpose, selection-length snap, and copy behavior converge across incidental focus states; mixed note/chord transpose is one atomic history action.
- Empty Copy preserves the previous internal clipboard, refused/no-op commands preserve Redo, and clearing Arranger selection cannot leave a hidden delete target.
- The in-app shortcut guide and
Shortcut_Cheat_Sheet.mdnow agree on current commands and focus behavior. - Focused
S08-A, neighboring edit/automation gates, and canonical Release convergence pass 36/36. - Human beta should still judge real control-focus propagation, keyboard-layout differences, mnemonic discoverability, and shortcut feel on supported Windows systems.
2026-08-03 - A01 Arrangement Move Contract Closed
- Single clips, clip groups, and mixed clip/Section selections preserve lane, start delta, source length, repeats, stable clip identity, and visible selection after a successful move.
- Edge scrolling continues at 60 Hz while the pointer is held near an edge during clip, Section, or lasso gestures; scrolling no longer depends on fresh mouse-move events.
- Section-led and clip-led mixed selections share one lifted preview, so the visual object matches the object that will be committed.
- Occupied or out-of-range destinations refuse the exact requested drop instead of silently relocating it. The local preview refreshes back to processor truth and refused moves preserve Redo.
- Escape cancels the active drag/resize/lasso gesture before clearing selection, preventing a later mouse-up from committing an operation the musician already abandoned.
- Ctrl-click removal cannot immediately reselect or drag the item it removed. Canvas selection is authoritative at commit boundaries, preventing stale hidden clips or Sections from moving.
- Focused
A01-A, neighboring Arranger/long-clip/shortcut/automation gates, standalone launch, and canonical Release convergence pass 37/37. - Human beta should judge magnetic lift, stationary edge-scroll speed, lasso feel, snap communication, collision refusal messaging, and Escape cancellation on supported Windows displays.
2026-08-03 - A02 Whole-Song Playhead Insertion Closed
- A mixed clipboard derives one global source span from Instrument clips, primary and secondary Drum clips, and Section Markers; relative offsets survive at the destination.
- Explicit playhead paste inserts at the snapped target and shifts every affected lane by the longest copied span, including lanes absent from the copied selection.
- Primary Drum-chain ownership remains authoritative. Exact boundaries and preserved gaps are supported; insertion through the middle of a real Drum block refuses atomically with clear guidance.
- Named Sections shift and copy with the inserted song span. A crossed Section is split only when named Section material is actually being inserted; otherwise it expands across the new time.
- Lane Local automation at or after the insertion point shifts by the same span. Clip Local automation follows each copied clip, including primary Drum projections.
- Preflight covers clip, chain, Section, automation, and timeline capacity before one checkpoint. Successful insertion is one Undo action; refusal preserves project state and Redo.
- Save/reopen retains the inserted clips, Drum chain, Sections, automation ownership, and exact timing.
- Focused
A02-A, shortcut, neighboring Arranger/automation/persistence gates, standalone launch, and canonical Release convergence pass 38/38. - Human beta should judge playhead-target clarity, ripple-insertion messaging, copied-stack placement, Drum-edge refusal language, and tactile Undo/Redo behavior.
2026-08-03 - A03 Preserve-Time Delete Closed
- The
86button and canvas removal use one deletion transaction for clips, primary Drum-chain blocks, secondary Drum clips, and Section markers. - Native Arrangement clips are removed by stable
clipId; unrelated or stacked clips that merely overlap the selected time range survive unchanged. - A removed real clip leaves one canonical
SILENT GAPcovering its full occupied duration. Deleting an existing native gap removes only that container and never shifts later material. - Primary Drum blocks become same-duration silent chain slots. Secondary Drum lanes follow the native clip contract instead of being mistaken for primary-chain projections.
- Mixed clip and Section selections commit in one checkpoint. Later clips, Drum slots, Section positions, and Lane Local automation do not move.
- Clip Local automation retires with its deleted clip; Shared Pattern automation and Lane Local automation retain their respective owners and timing.
- Minimum-Section and empty-pattern refusals mutate nothing and preserve an existing Redo branch.
- Focused
A03-A, neighboring A02/A06/A07 gates, Undo/Redo, save/reopen, the complete application self-test, and canonical Release convergence pass 39/39. - Human beta should judge silent-gap discoverability, mixed-selection status wording, and whether the distinction between normal Delete and future explicit Ripple Delete feels obvious.
2026-08-03 - P02/P03 Project Trust Closed
- Every successful customer project route converges on one editor adoption path that updates the current target, last-project preference, labels, tempo, Instruments, Arrangement, Mixer, loops, auxiliary editors, Library, and initial Arrangement fit.
- Save As creates a separate project without modifying or embedding the original project-file path. The copy reopens after the source is changed and deleted and after the process working directory moves elsewhere.
- Save Over updates the user-chosen target and that updated state reopens correctly.
- A failed or malformed load leaves the currently open project, save target, last-project preference, and musical state unchanged and reports that the current session was not changed.
- Loading another project clears the former project's Undo, Redo, and MIDI-template rollback history so Undo cannot resurrect a different song under the new filename.
- Mixer return enable state is restored exactly; a saved nonzero send does not silently enable a return that the musician deliberately disabled.
- Relative external-asset references are rejected as ambiguous. Existing but undecodable sample audio is retained as a repair receipt rather than failing silently.
- Focused
P02-P03-A, the complete application self-test, and canonical Release convergence pass 39/39 after the boundary changes (reports/p02-p03-project-trust-convergence-20260803.out). - Human beta should exercise Save, Save As, Load Project File, Load Last, cancellation, overwrite confirmation, unwritable destinations, real missing/corrupt libraries, and large-project progress on Windows.
2026-08-03 - X04 Native Patch / Mixer Ownership Closed
- Native synth factory presets and patch files exclude Mixer gain, pan, mute, output, EQ, and every shared-effects send.
- Hostile legacy patch fields carrying Mixer values are ignored by both Redshift and Propulsion production load paths.
- The Synth Engine no longer presents an
EFFECTSorEQpatch tab. Intrinsic oscillator/filter/transient processing is namedVOICE SHAPINGso it cannot be confused with Mixer sends. - Shared Reverb, Halostar, EchoRay, modulation, and octave sends remain owned exclusively by the assigned Mixer channel.
- Focused evidence:
reports/x04-synth-patch-mixer-ownership-20260803.out. Canonical Release convergence passes 44/44 named automated gates. - Human beta should set conspicuous Mixer gain/pan/send values, load and save several native patches, reassign a lane, and confirm those Mixer choices remain unchanged and audible.
2026-08-03 - X01/X02 Mixer Routing And Persistence Closed
- Four private lane Instruments route to deliberately nonmatching Mixer Channels across all four banks; only the assigned meter moves and hard/partial pan shapes appear on the expected side.
- Assigned-channel Mute, foreign Solo exclusion, and assigned Solo playback are enforced on rendered audio and meters.
- Lane Mute/Solo masks voices that were already sounding on the next audio block; it is not limited to suppressing future note triggers.
- Private Instrument audition, MIDI step input, and other callers that omit an explicit destination resolve through the owning lane instead of falling back to Mixer 64.
- Live MIDI route lookup and source-to-Mixer resolution read an immutable Arrangement snapshot rather than racing editor mutations.
- Mixer bank attachment detaches the outgoing controls before constructing incoming attachments. Channel values can no longer bleed into another bank during rebinding.
- Gain, pan, mute, solo, output assignment, and lane route survive bank navigation, page navigation, and project round trip.
- Mixer bank navigation preserves hidden Solo state; Reset Audio remains the explicit command that clears mute/solo and restores Main routing.
- Reset Audio republishes the immutable lane snapshot after clearing lane mute/solo, and audio-stem plans account for assigned Mixer Mute/Solo rather than promising inaudible material.
- Exact-source evidence:
reports/x01-mixer-lane-routing-20260803.out,reports/x02-mixer-state-persistence-20260803.out,reports/x01-x02-chain-audio-export-20260803.out, and final canonical convergence 46/46 inreports/release-convergence-x01-x02-final-20260803.out. - Human beta should route audible lanes into every bank, watch real meters, switch banks/pages during playback, save/reopen, and verify physical/host multi-output compatibility.
2026-08-03 - X03/X05/X06/X07/X08 Audio Safety And Continuity Closed
- Halostar, Reverb, and EchoRay each pass signal, produce finite tails, and respond measurably to their exposed controls through the production shared-effects path.
- Whole-song WAV export reaches late Arrangement material, writes 24-bit audio with monotonic progress, and retains a bounded final effects tail. Lane stems remain time-aligned and lane-isolated.
- Panic stops transport and sounding voices, emits all-notes-off and sustain-off across all 16 MIDI channels, and leaves serialized project authorship byte-identical.
- Reset Audio is one explicit, Undoable rescue transaction. Undo restores authored mute, solo, output, master volume, LPF, and lane state.
- The master limiter is transparent below its threshold, reaches the requested ceiling above it, and project volume follows exact linear gain scaling in deterministic audio fixtures.
- Arrangement loop wrap and seven page/bank navigation transitions preserve finite, audible output and Mixer values during continuous playback.
- Focused receipts:
reports/x03-shared-effects-signal-20260803.out,reports/x05-offline-render-20260803.out,reports/x06-x08-audio-safety-continuity-20260803.out, andreports/x02-mixer-state-persistence-after-audio-safety-20260803.out. - Canonical Release convergence passes 47/47 named automated gates:
reports/release-convergence-audio-safety-final-20260803.out. - Human beta must still judge effects sound, tail character, limiter behavior on musical peaks, live control feel, long-playback continuity, host output behavior, and real-device recovery. The current limiter contract is sample-peak safety, not a claim of inter-sample true-peak mastering.
2026-08-03 - Native Patch Lifecycle And Drum Lab Render Closed
- TG-55 now has the same native Save Patch, Load Patch, current-patch readout, and dirty-marker contract as the other reusable Instruments.
- The
I02-Bproduction-path fixture proves every native reusable engine has Save/Load controls, all 15 patch readouts exist, every engine has an explicit patch parameter allowlist, TG-55 choices and continuous controls recall visibly, dirty state appears after a change, and Undo restores the recalled state. - Kick Lab, Snare Lab, and Hat Lab render through
renderPadEngineSamplerather than a test-only approximation. - Each rendered fixture is a readable 48 kHz / 24-bit stereo WAV, finite, non-silent, sensibly bounded, and accompanied by monotonic progress that reaches completion.
- Flux ranges clamp at the model boundary, authored cadence/ranges survive project-state round trip, and Reset clears enable, cadence, and every range.
- Canonical Release convergence passes 49/49 named automated gates:
reports/release-convergence-instrument-final-20260803.out. - Human beta must still judge preset naming, default-patch appeal, chord safety, knob feel, rendered Drum Lab usefulness, and whether Flux variation sounds intentional at conservative and extreme settings.
2026-08-03 - I01 Factory Instrument Default And Concert Pitch Closed
-
I01-Bloads the first customer-visible factory preset for every self-contained engine through the same applicator and visible-control refresh path used by the Instrument editor. - The fixture auditions each engine through a private Instrument Lane source rather than the Drum-pad note map, then proves finite, audible, bounded output and complete voice retirement.
- Physical Modeling, Redshift, Propulsion 1, Liftoff, Glass Moon, Moonshadow, Lunacy, and TG-55 expose a stable A4 fundamental within 35 cents of 440 Hz. Percussive/noise engines retain their explicitly non-tonal contract.
- Lunacy no longer advances grain position and grain age as two independent pitch clocks. Grain age owns oscillator phase while grain position remains the stable source offset, correcting both generated and imported-source tuning.
- SoundFont and Quasar remain in
I04-AandI05-A; they cannot be truthfully auditioned without asset fixtures. - Focused evidence:
reports/i01b-factory-instrument-default-20260803.out. Canonical Release convergence passes 52/52 named automated gates inreports/release-convergence-i01b-20260803.out. - Human beta must still judge whether every default is attractive, useful, comfortably voiced across registers, and musically convincing in chords.
2026-08-03 - I05 Quasar Production Capture And Package Builder Closed
- The customer-facing progress window and automated gate call one processor-owned package builder; capture semantics no longer live only inside editor code.
- One frozen source snapshot feeds the complete build, so changing the live Instrument while roots, velocity layers, or round robins render cannot produce a hybrid package.
-
I05-Bbuilds two roots by two velocity layers by two round robins through the production path and proves all eight WAV zones, exact note/velocity ranges, round-robin masks, portable ASCII filenames, manifest metadata, and immediate Quasar playback. - Progress is monotonic and reaches 100% only after publication. Cancellation interrupts individual sample rendering and removes the staging package; an existing target and its contents are never overwritten.
- Publication moves a completed staging directory into place. A successful commit remains success even if Cancel arrives too late, while editor completion auto-loads only when the original slot, engine, and patch fingerprint still own the request.
-
I05-Acontinues to prove load, finite output, voice retirement, project round trip, missing-package reporting, stale-receipt rejection, relink, and restored audio. - Focused evidence:
reports/i05b-quasar-production-build-20260803.out. Canonical Release convergence passes 53/53 named automated gates inreports/release-convergence-i05b-final-20260803.out. - Human beta must still build a large musical package, judge progress/cancellation feel, navigate or reassign the source during capture, audition mapping/loops/round robins, reveal the package, reopen it, and observe application or machine interruption during a long build.
2026-08-03 - I08 Hostile Instrument Resource Handling Closed
- SoundFont candidates receive bounded RIFF/SF2 structural validation before TinySoundFont is allowed to parse them.
- Quasar candidates require a supported manifest, bounded zone/sample data, finite numeric values, safe package-relative paths, and resolved containment inside the package.
- A failed replacement preserves the active Instrument path, metadata, cache generation, engine selection, lane identity, Mixer route, MIDI route, and audible output.
- SoundFont and Quasar are mutually exclusive within one Instrument slot; save/reopen cannot resurrect the stale external engine.
- Missing-asset receipts carry a project epoch, so an old chooser callback cannot repair a later project that happens to reuse the same path and slot.
- Same-project reload after live SoundFont/Quasar disk corruption preserves exact decoded cache generations, lane/Instrument ownership, Mixer/MIDI routing, serialized state, audible output, and independent repair receipts.
- Focused evidence:
reports/hostile-instrument-resource-i08b-final.outandreports/hostile-instrument-resource-i08c.out. Canonical Release convergence passes 54/54 inreports/release-convergence-i08c-final-20260803.out. - Human beta still covers real vendor libraries, very large packages, interrupted storage, removable media, and whether the generic failure receipts explain the next action clearly.
2026-08-06 - U06-B Actionable Beta Readiness Evidence
- Settings > Beta Readiness renders the processor-owned readiness gate rather than calculating a second customer-facing verdict.
- The first unresolved blocker is selected automatically, and all eight blocker cards are directly selectable.
COPY NEXT TESTcopies the selected blocker's authoritative status, next action, mapped detailed checklist, source, and a cold-action receipt.- Real MIDI hardware proof delegates to the existing MIDI gate and Hardware Proof summaries, with MIDI Health as the deeper diagnostic surface.
- The action surface does not mutate project, routing, audio, MIDI, or hardware state and does not manufacture human pass evidence.
- Focused source contract:
tools/test-beta-readiness-action-surface.ps1. - Human beta should judge card readability, selection clarity, copied wording, and whether each copied test gives a tester enough direction without opening engineering documents.
2026-08-06 - U06-C Build-Scoped Human QA Evidence
- Human QA results are stored outside project files and cannot alter songs, routing, MIDI, audio, or external hardware state.
- The result selector begins at
SELECT RESULT; PASS is never implied or preselected. - PASS, FAIL, and BLOCKED require tester, timestamp, build identity, environment, evidence notes, and evidence references; BLOCKED additionally requires a reason.
- Build identity includes app version, architecture, and the running executable's SHA-256 digest.
- Receipts form a continuous SHA-256 history chain and are rejected if content, sequence, or previous-fingerprint linkage no longer matches the stored chain.
- Appends re-read under an interprocess lock, preserve a backup, publish atomically, and verify the result after writing.
- Parse, schema, or integrity failure locks saving and preserves the untrusted ledger for diagnosis.
- The UI says
HUMAN QA REPORTED, not release-approved or blocker-closed. - Focused runtime receipt regression, Beta Readiness action-surface contract, Release self-test compilation, and standalone Release compilation pass.
- Human beta should confirm dialog readability, plaintext/privacy guidance, evidence-file conventions, multi-instance behavior, and the usefulness of copied/reviewed reports on supported Windows systems.
- Public-release attestation may add an external signature or trusted CI copy. The local SHA-256 chain is integrity evidence, not a signature against an adversary who can rewrite and rehash the entire ledger.
2026-08-07 - U03 Critical-Control And Density-Mode Evidence
- Arrangement ARM, Mute, and Solo meet tested minimum targets in both pinned and ordinary layout paths at
1800x1000and1100x800. - All 16 Pad cards keep layer, MIDI CC, Save, Load, Clear, performance, and synth-edit actions contained and separated at both supported viewports.
- Standard Drum Composer and Compact Drum Composer have separate, explicit hit-area contracts; Compact retains its 64-step no-scroll design.
- Focused Release gates pass:
ARRANGEMENT_LANE_VISUAL_STATE,ARRANGEMENT_OVERVIEW_LAYOUT, and expandedPRIMARY_UI_VISUAL_STATE. - Human beta still needs to judge target comfort with a mouse and touchpad, Pad hierarchy at Windows scaling above 100%, and Compact Drum Composer precision during rapid editing.
2026-08-07 - U03 Chord And Automation Accessibility Evidence
- Chord Suggestion supports roving keyboard selection, audition, commit, Home/End navigation, and Escape/X dismissal without adding a tab stop per hex.
- Chord Create, Chord Performance, Flux Nodes, Piano Roll, and Automation publish explicit accessible identities and musician-facing control names.
- Automation publishes selected-row guidance and requires all 29 visible production controls to have non-empty accessible titles.
- Focused Release gates pass:
PRIMARY_UI_VISUAL_STATE,AUTOMATION_EDITOR_LAYOUT, andSYNTH_CONTROL_QUALITY(590/590 controls). - Human beta still needs Windows Narrator/NVDA review, child-focused Escape review, and keyboard-only single-note/chord traversal in the Piano Roll.
2026-08-08 - Active Arrangement Loop WAV Software Contract
- Full Arrangement WAV remains immune to Arrangement and step-loop playback state.
- A separate active-loop WAV action is disabled when no valid Arrangement loop exists.
- Loop boundaries are captured before asynchronous rendering and cannot drift with later UI edits.
- Offline duration honors only the requested overlap with saved tempo multipliers.
- Range output retains the existing progress, cancellation, tail, verification, and atomic-publication contracts.
- CHAIN_AUDIO_EXPORT, Arrangement overview, primary UI visual state, and complete MIDI closeout pass.
- Human beta: listen to a real loop render, move/delete the live loop after starting, cancel a long render, and inspect the prior destination plus final WAV.
2026-08-08 - Portable Liftoff/Lunacy Patch Contract
- Source-backed patches prefer their portable bundled WAV over stale absolute originals.
- Missing or unreadable source files refuse atomically without changing the current Instrument, patch name, parameters, Undo history, or audition state.
- Saving over a patch whose source already occupies its bundle does not delete the source.
- INSTRUMENT_PATCH_LIFECYCLE, FACTORY_INSTRUMENT_DEFAULT, AUDIO_SAFETY_CONTINUITY, MIDI_CLOSEOUT, and RECOVERY_WORKFLOW pass.
- Human beta: save Liftoff and Lunacy patches, move each patch with its _Sources folder, remove the original WAV, reload, audition, and repeat save-over.
- Project-level missing-source repair rows use Instrument-semantic labels and refresh after Load Source/Clear Source.
2026-08-08 - Project Source Repair Contract
- Project restore distinguishes Liftoff and Lunacy sources from ordinary sample layers.
- Existing but undecodable source files remain visible as unavailable.
- Private Arrangement slots use Instrument-facing repair descriptions rather than Pad identities.
- Load Source and Clear Source invalidate stale receipts and refresh source/Library presentation immediately.
- MISSING_ASSET_REPAIR proves all seven asset classes, ambiguity safety, audible recovery, save/reopen, source replacement, and source clearing.
- INSTRUMENT_PATCH_LIFECYCLE, RECOVERY_WORKFLOW, FACTORY_INSTRUMENT_DEFAULT, and MIDI_CLOSEOUT remain green.
- Human beta: move real Liftoff/Lunacy sources, repair each from Library, intentionally clear each source, and confirm labels, sound, and unrelated assets.
2026-08-08 - Complete Project Includes Private Instrument Sources
- Complete-project asset enumeration covers all source slots, including private Arrangement Instrument slots beyond the 64 visible Drum Pads.
- Archive publication rescans dependencies and refuses with a repair-or-clear instruction when any referenced asset is unavailable.
- Pad, Liftoff, Lunacy, SoundFont, and Quasar resources are redacted from the staged project and remapped below the imported project root.
- Missing Lunacy, SoundFont, and Quasar resources together prevent publication and report the exact missing count plus repair-or-clear guidance.
- Archive project validation explicitly accepts only safe internal asset/Quasar placeholders and rejects traversal-shaped suffixes.
- PROJECT_ARCHIVE proves five remapped references and finite nonzero restored audio from Liftoff, Lunacy, SoundFont, and Quasar.
- After import, ordinary Save and Reopen in a fresh processor preserve all five resource bindings and playable output (resave=1/1/1).
- PROJECT_ARCHIVE, PROJECT_PERSISTENCE, GOLDEN_PROJECT_LIFECYCLE, MISSING_ASSET_REPAIR, SOUNDFONT, RECOVERY_WORKFLOW, HOSTILE_INSTRUMENT_RESOURCE, and MIDI_CLOSEOUT pass.
- Human beta: export a real mixed-resource project; remove all originals; import elsewhere; confirm every Instrument sounds and identity is correct; save normally; close/reopen; confirm identical playback and no repair rows.
2026-08-09 - Complete Project Content Integrity
- Export validates every staged dependency through a fresh production processor before publication.
- Import validates resource activation against extracted staging paths before committing the destination.
- Corrupt audio, SoundFont, and Quasar export fixtures are refused despite healthy decoded data remaining in the active session.
- A structurally valid archive with corrupt packaged audio is refused during import.
- Folder repair understands archive-indexed audio and Quasar names; manual replacement includes FLAC.
- Mixed-provenance recovery preserves a healthy imported source while repairing exactly one relocated external source, then survives save/reopen with both audible.
- PROJECT_ARCHIVE, MISSING_ASSET_REPAIR, PROJECT_PERSISTENCE, RECOVERY_WORKFLOW, GOLDEN_PROJECT_LIFECYCLE, and MIDI_CLOSEOUT pass.
- Human beta: perform the same complete-project, corruption-refusal, original-folder relink, FLAC relink, and mixed-recovery flow with real assets on a clean machine.
2026-08-09 wrapper and archive safeguards
- Completed temporary project archives pass the production import validator before destination replacement.
- Automated VST3 wrapper smoke (R03-A): scan, instantiate, process at 44.1/48 kHz, state restore, editor reopen.
- The copied staging VST3 bundle receives the same host smoke before packaging.
- Asset clearance (R02-A): 16 embedded assets remain blocked in the current ledger.
- Named-DAW human VST3 validation (R03): complete the matrix and attach receipts.
2026-08-10 - U04-B Settings Destination Control Audit
- All 14 production Settings destination buttons launch one stable, distinct destination twice in opposing order at
1100x800. - Every destination remains reachable through the production scrolling shell, accepts focus, and dismisses with Escape.
- All 306 visible interactive controls have contained nonempty geometry, usable minimum target size, and a customer-facing accessible title.
- Browsing every destination leaves serialized project state byte-for-byte unchanged.
-
SETTINGS_DESTINATION_REACHABILITY,SETTINGS_ROOT_LAYOUT,PRIMARY_UI_VISUAL_STATE,AUTOMATION_EDITOR_LAYOUT, andMIDI_CLOSEOUTpass from the rebuilt test binary. - Human U04 signoff remains open for supported Windows display scaling, keyboard focus order, screen-reader output, readability, and control comfort.
2026-08-10 - U08-B Truthful Startup Starting Points
- Removed the enabled startup action whose only result was
TEMPLATES | COMING SOON. -
BROWSE STARTING POINTSnames the real destination and available kits/Instruments. - The production callback opens Library Starting Points, reports the next action, and focuses the first usable choice.
-
STARTUP_DIALOG_LAYOUTinvokes and verifies the real navigation path rather than checking geometry alone. - Human U08 review remains open for a first-time walkthrough and Windows scaling review.
2026-08-10 - U07-B Arrangement Lane Menu Honesty
- Removed seven disabled
coming sooncommands from the production L and V lane menus. - L/S/V tooltips now describe only the actions those surfaces can perform.
- The primary UI gate opens all three production panels and rejects disabled or placeholder commands.
- Arrangement lane-state, overview, shortcut, primary-UI, and complete MIDI-closeout gates pass.
- Human U07 review remains open for wording, discoverability, pointer comfort, keyboard, and mixed-DPI behavior.
2026-08-10 - U07-C Library Starting Point Identity
-
CHROMATIC MARIMBAnow names the physical tuned-bar bank it actually loads. -
STACCATO BASSnow names the physical bass bank it actually loads. -
LIBRARY_LAYOUTrequires both exact labels, live callbacks, Starting Points ownership, and responsive containment. - Startup, primary UI, Library, and complete MIDI-closeout gates pass from the rebuilt Release test binary.
- Human audition remains open to confirm both banks communicate their promised identity across useful registers.
2026-08-10 - R01-B First-Party Diagnostic Cleanup
- Replaced the deprecated JUCE text-width API used by the custom
86button. - Removed avoidable first-party conversion and state-shadowing warnings in synthesis, EchoRay, MIDI Learn, and offline rendering.
- The rebuilt Release test target emits none of the corrected warning set.
- MIDI protocol/closeout, synth-control quality, Drum Lab rendering, and primary UI gates pass after the cleanup.
- Third-party TinySoundFont warnings remain isolated vendor diagnostics and were not modified in this pass.
2026-08-11 - A08-B Complete Song-Form Preset Matrix
- All eight visible form choices are selected through the production ComboBox and
APPLY FORMcallback. - Modern Pop, Simple Verse/Chorus, Rock Standard, EDM Build/Drop, Hip-Hop/R&B, AABA, 12-Bar Blues, and Through-Composed Starter produce their exact Section types, starts, and lengths.
- Representative Drum and Instrument clips remain byte-identical while forms change.
- Reapplying an identical form is a no-op; one Undo restores the prior form with no hidden extra history entry.
- The final Section map and untouched clips survive project save/reopen.
- Human musical judgment remains open for form proportions, naming, and discoverability in a populated project.
2026-08-11 - I01-B Library Starting Point Audio Matrix
- Added a dedicated gate for all nine visible Library Starting Point callbacks.
- Validated 528 configured pad slots across eight 64-slot collections and the intentional 16-slot Drunk Color Wheel collection.
- Verified customer labels, expected engine/model families, and finite core parameters.
- Rendered finite, non-silent output from a representative pad in every collection.
- Panic isolates each bank so audition voices cannot contaminate subsequent evidence.
- Factory defaults, all 619 factory presets, audio safety, Library layout, primary UI, and complete MIDI closeout pass.
- Human listening review remains open for artistic usefulness, loudness balance, and name-to-sound identity.
2026-08-12 - M02-B Realtime Performance Filter Safety
- Mapped CC and pitch-wheel cutoff changes reach audio through fixed atomic state in the same processing block.
- The realtime callback performs no parameter lookup, host notification, listener callback, allocation, or lock for this mapping path.
- Dense events are coalesced into one settled host/UI publication after the audio block completes.
- Host/listener publication runs only through the message-thread handoff; serial-aware clearing preserves newer gestures across adjacent blocks.
-
REALTIME_PERFORMANCE_FILTERproves a 128-event burst plus cross-block latest-value coalescing, immediate DSP response, no realtime-thread notification, one settled publication, and no duplicate second drain. - The complete broad application self-test passes the same contract through hardware scheduling, project lifecycle, and audio export.
- Human beta: verify smooth mapped-filter response and final-value agreement over USB and 5-pin DIN on the exact candidate build.
2026-08-12 - R06 Effect-Tail-Aware Mix And Stem Export
- Full-song and stem exports no longer use a hard-coded five-second ending.
- One processor-owned tail budget covers active Halostar, Reverb, and EchoRay returns and sends.
- Halostar decay, predelay, and shimmer feedback contribute to the derived duration.
- EchoRay uses the slowest active project tempo division, feedback decay, and its real delay-buffer limit.
- Freeze and unsafe non-decaying feedback remain finite through a documented 45-second export cap.
- Mixes and every stem remain timeline-aligned and report the same rendered tail in the stem manifest.
-
CHAIN_AUDIO_EXPORTproves a greater-than-five-second tail, live/offline parity, audible decay, final silence, cancellation safety, range export, and stem parity. -
GOLDEN_PROJECT_LIFECYCLEremains green with the dynamic duration contract. - Human beta: audition long Halostar, slow EchoRay, stems, Freeze, and unsafe-feedback exports for musically appropriate endings and acceptable progress duration.
2026-08-12 - R07 Background Recovery Autosave
- Recovery autosave captures live session state once on the message thread, then performs file work on a low-priority worker.
- The worker owns immutable JSON only and retains no processor, editor, or UI references.
- Writes use a temporary file, full project-semantic verification, and atomic target replacement.
- A busy autosave keeps one replaceable pending request rather than an unbounded queue.
- An unchanged project does not create duplicate recovery snapshots.
- Invalid generated recovery files are removed; unrelated user files are preserved; the newest eight valid snapshots remain.
- Editor shutdown stops and joins the worker before session-owned objects are destroyed.
-
RECOVERY_RETENTION,RECOVERY_WORKFLOW, and the complete broad application self-test pass. - Human beta: edit and play continuously across several autosave intervals, then close during or immediately after a save and confirm responsive UI, clean shutdown, and exact recovery.
2026-08-13 - R08 Background Project Save And Archive Preparation
- Complete-project Save and Save As capture one exact project document on the message thread, then perform transactional disk writing and semantic verification on a low-priority worker.
- The Save worker retains no processor, editor, UI component, mutable project container, or session-owned MIDI queue.
- Editing may continue after Save is pressed; the destination contains the captured moment rather than a torn mixture of old and new state.
- Loading recovery, loading another project, or creating a blank project advances a generation receipt so an older Save completion cannot rename or adopt the newer session.
- Portable archive staging, resource discovery, path remapping, compression, and package validation operate from immutable captured JSON plus a private verifier.
- Archive progress now includes staging and resource validation instead of beginning only after those formerly synchronous operations finish.
- Missing, unreadable, changed-after-planning, corrupt, unsafe, and mismatched archive inputs remain rejected without replacing a known-good destination.
-
PROJECT_PERSISTENCEproves production background Save completion, exact click-time capture, continued live editing, and correct destination adoption. -
PROJECT_ARCHIVEproves immutable capture isolation plus complete resource portability and restored audio. -
PROJECT_LOAD_FEEDBACK,RECOVERY_WORKFLOW, and the complete broad application self-test pass. - Human beta: exercise Save, Save As, project switching during Save, slow-drive failure, portable archive export, and application close during Save with large real projects.
- Follow-up completed in R09: portable archive import preparation no longer retains or consults the live processor.
- Follow-up: profile the bounded last-project preference write and Library refresh before changing them.
2026-08-13 - R09 Background Portable Archive Import
- Archive unpacking, project recognition, manifest validation, resource verification, and path remapping run without retaining or consulting the active editor or processor.
- Packaged project recognition uses immutable JSON; resource verification loads through a private processor instance owned entirely by the worker path.
- Import launch is refused while a complete-project Save is still running.
- The import captures the current project-generation receipt and checks it both when preparation completes and immediately before delayed activation.
- Loading another project, loading recovery, or creating a blank session while import runs preserves the newer session and deletes the stale prepared import.
- Failed, corrupt, unsafe, malformed, and mismatched imports leave the visible session unchanged.
-
PROJECT_ARCHIVE,PROJECT_PERSISTENCE,PROJECT_LOAD_FEEDBACK,RECOVERY_WORKFLOW, and the complete broad application self-test pass. - Human beta: import a large archive during playback, switch projects before completion, test slow-drive behavior, and confirm progress/status wording and stale-import cleanup.
2026-08-13 - R10 Background Library Preset Index
- Recursive
.sskitdiscovery and favorite-sidecar checks no longer run on the message thread. - The worker owns only a preset folder, favorite-filter value, generation receipt, and its private result.
- One active scan retains at most one replaceable pending request; rapid filter/load changes cannot accumulate unbounded workers.
- Only the newest generation may replace the visible preset list.
- Missing-asset status remains immediate and is no longer coupled to recursive preset discovery.
- Applying a new index preserves the selected preset when it still exists.
- Editor shutdown signals, joins, and releases the Library worker before UI state disappears.
-
LIBRARY_LAYOUTproves worker settlement, latest-request-wins behavior, favorite filtering, full-list restoration, action state, accessibility, and responsive geometry. - Project persistence/load feedback, startup, recovery, primary UI, and complete broad application regressions pass.
- Human beta: stress a large nested Library during playback, rapid filtering, project switching, and application close.
2026-08-13 - R11 Background Project-Load Preparation
- Load Last, Load Project, Library project presets, and recovery snapshots read files, parse JSON, and run complete recognizable-project semantic preflight on a low-priority worker.
- The worker retains no processor, editor, UI component, audio queue, or mutable live-session container.
- Each candidate carries both a request generation and the project generation that existed when preparation began.
- Cancelled, malformed, superseded, and stale candidates are discarded before any live processor mutation.
- A valid candidate is adopted exactly once on the message thread through the shared prepared-snapshot boundary.
- Recovery adoption preserves its unsaved identity and does not replace the remembered last-project preference.
- Editor shutdown invalidates, signals, joins, and releases the worker deterministically.
- PROJECT_LOAD_FEEDBACK proves production background adoption, malformed-file isolation, stale-session rejection, honest progress feedback, and command blocking.
- PROJECT_PERSISTENCE, PROJECT_ARCHIVE, RECOVERY_WORKFLOW, RECOVERY_RETENTION, LIBRARY_LAYOUT, and the complete broad application self-test pass.
- Human beta: load large mixed-resource projects and recoveries from slow/removable drives, close during preparation, and judge the remaining final adoption pause.
- Follow-up: design decoded sample, SoundFont, Quasar, and loop-resource candidate bundles before moving final live-resource adoption off the message thread.
2026-08-13 - R12 Background SoundFont Project Preparation
- Project-load workers validate SF2 structure, decode each requested SoundFont, resolve presets, configure the current audio rate, and prewarm all 48 voice instances before adoption.
- The worker owns only files, immutable project state, opaque prepared resources, and cancellation state; it never retains or mutates the live processor or editor.
- Cancellation is checked before each source slot and each prepared SoundFont voice instance.
- Request and session-generation checks reject stale work before prepared resources can touch the audible session.
- Prepared SoundFonts require exact stored-path and audio-rate agreement at adoption.
- Successful adoption transfers shared resource ownership, publishes a fresh live cache generation, and retires the prior generation through the established safe path.
- Missing or corrupt SoundFonts preserve an exact known-good live resource when available and retain the normal repair receipt.
- Project load, SoundFont, recovery, missing-asset, realtime retirement, persistence, archive, and complete broad regressions pass.
- Human beta: load a real approximately 1.9 GB SF2 project during playback; close, supersede, and change device sample rate during preparation; judge responsiveness and final adoption latency.
- Follow-up: design equivalent prepared candidates for ordinary sample layers/one-shots, Quasar packages, and arrangement loop audio before moving those decoders off final adoption.
2026-08-13 - R13 Background Sample Project Preparation
- Project-load workers decode every referenced ordinary sample layer and bonus one-shot before live adoption.
- Manual sample loading and project preparation share one format, size, channel, and streaming policy.
- Short resources decode in bounded chunks with cancellation checks; long eligible WAV/AIFF resources retain memory-mapped playback.
- The worker owns prepared audio handles and never mutates the processor, editor, cache generations, or parameter tree.
- Restore adopts exact-path candidates and publishes one immutable sample generation per source slot.
- Per-layer velocity, region, fade, gain, pan, pitch, reverse, and round-robin settings remain restored and sanitized.
- Missing/corrupt resources retain only an exact-path known-good prior buffer or mapped reader; unrelated stale audio is rejected.
- Realtime retirement, persistence, repair, hostile-resource, archive, recovery, load-feedback, golden lifecycle, and complete broad regressions pass from the rebuilt binary.
- Human beta: load, cancel, supersede, and close sample-heavy projects containing short layers, one-shots, and long memory-mapped files while playback continues.
- Human beta: profile temporary peak memory while both the current project and a large incoming all-memory sample project coexist during preparation.
- Follow-up: prepare Quasar packages and arrangement loop audio through resource-specific candidates before final adoption.
2026-08-13 - R14 Background Quasar Project Preparation
- Project-load workers parse and validate each requested Quasar manifest before live adoption.
- Quasar zones decode and receive finite-sample validation in bounded chunks with cancellation checks.
- The static decoder owns no processor, editor, parameter, round-robin, or cache-publication state.
- Interactive Quasar loading and prepared project restore share one atomic adoption boundary.
- Successful adoption publishes one zone-cache generation, resets round robin, clears incompatible SoundFont state, and selects Quasar.
- Missing or corrupt packages retain only an exact-path known-good prior generation and preserve asset-repair reporting.
- Persistence, production build, hostile resource, repair, load feedback, realtime retirement, archive, and golden lifecycle gates pass from the rebuilt binary.
- Human beta: cancel, supersede, and close during a genuinely large multi-zone Quasar project load while playback continues.
- Human beta: corrupt or move one zone after a known-good package is live and confirm exact fallback plus honest repair UI.
- Human beta: profile temporary peak memory while current and incoming Quasar generations coexist.
- The complete broad application self-test passes from the rebuilt binary; receipt:
reports/background-quasar-project-preparation-20260813.out. - Follow-up: move arrangement loop-audio file preparation behind its immutable playback-snapshot boundary.
2026-08-13 - R15 Background Loop-Audio Project Preparation
- Project-load workers prepare every referenced arrangement loop before live project adoption.
- WAV and AIFF loops retain memory-mapped playback; other supported formats decode in bounded 65,536-sample chunks with cancellation checks.
- Reader metadata, decode success, supported size, channel count, sample rate, and finite decoded audio are validated before publication.
- The worker owns only files, immutable project state, prepared audio handles, and cancellation state; it never mutates the processor, editor, loop runtime, or playback snapshot.
- The currently audible immutable loop bank remains published throughout project preparation.
- Restore assembles all incoming loop resources and settings before taking the short live-model lock.
- Missing or corrupt files retain only an exact-path known-good prior audio resource and still produce repair receipts.
- Each loop generation advances once and the completed bank receives exactly one snapshot publication.
- Interactive loop loading shares the same validated decoder.
- Real-time loop, persistence, load feedback, missing-asset repair, archive, recovery, golden lifecycle, and complete broad regressions pass.
- Human beta: cancel, supersede, close, and continue playback during large loop-heavy project loads from slow or removable storage.
- Human beta: compare long mapped WAV/AIFF and compressed-loop memory use, final adoption latency, and missing-file repair feedback.
- Verification receipt:
reports/background-loop-project-preparation-20260813.out.
2026-08-13 - R16 Batched Pattern Project Adoption
- Project restore builds Drum steps, Piano Roll notes, Chord Engine clips, and shared MIDI expression in a private candidate bank.
- Interactive editing and project restore share note, chord, and MIDI-event validation rules.
- Growing note and chord vectors are no longer copied and republished after every restored item.
- Pattern spans are inferred only after all restored content exists.
- Persisted explicit pattern lengths remain authoritative, including deliberate truncation.
- The complete candidate bank replaces mutable pattern state under one lock.
- Every populated and empty pattern publishes exactly one immutable playback snapshot during adoption.
-
PROJECT_PERSISTENCE, project-load feedback, missing-asset repair, golden lifecycle, MIDI closeout, and the complete broad application self-test pass. - Verification receipt:
reports/batched-pattern-project-adoption-20260813.out. - Human beta: compare dense-project adoption latency and confirm first playback contains no partial patterns, length drift, or expression-owner drift.
2026-08-14 - R17 Batched Sequencer Project Adoption
- Chain, lane, clip, Section, loop-state, and expression mutations remain private during project restoration.
- Intermediate restore setters defer sequencer publication instead of exposing a growing arrangement.
- Chain restore no longer rebuilds the Drum projection once per serialized slot.
- Interactive, replacement, and restoration paths share one chain-slot sanitizer.
- An empty serialized chain receives a valid default slot.
- The completed arrangement publishes exactly one immutable sequencer generation.
-
PROJECT_PERSISTENCEproves an exact one-generation increase and exact restored state. - Project-load feedback, missing-asset repair, golden lifecycle, and MIDI closeout gates pass.
- The first broad run reached the final project-lifecycle/export checkpoint with no failed regression; subsequent exit-receipt reruns were interrupted externally.
- Human beta: compare dense-song adoption latency, first playback, and visible Arrangement state against the previous build.
- Human beta: confirm no partial chain, lane, clip, or Section state becomes visible or audible during load.
- Focused receipts:
reports/batched-sequencer-project-persistence-20260814.out,reports/batched-sequencer-project-load-feedback-20260814.out,reports/batched-sequencer-missing-assets-20260814.out,reports/batched-sequencer-golden-lifecycle-20260814.out, andreports/batched-sequencer-midi-closeout-20260814.out.
2026-08-14 - R18 Minimal Sample-Cache Project Adoption
- Empty-to-empty source slots retain their existing immutable sample-cache generation.
- A slot that gains sample or one-shot audio still publishes a new cache.
- A slot that loses audio still publishes an explicit empty cache.
- The persistence regression proves both the required clear and the skipped no-op exchange.
- Hostile-resource refusal and exact known-good fallback remain intact.
- Missing-asset repair and archive portability remain intact.
- Real-time asset retirement reports zero callback locks, allocations, destruction, TSF closes, and mapped-reader closes.
- The golden project lifecycle retains audible live and exported output.
- Human beta: compare repeated sparse-project loads and confirm faster adoption with no stale sample playback.
- Receipts:
reports/minimal-sample-cache-project-persistence-20260814.out,reports/minimal-sample-cache-hostile-resource-20260814.out,reports/minimal-sample-cache-missing-repair-20260814.out,reports/minimal-sample-cache-realtime-retirement-20260814.out,reports/minimal-sample-cache-project-archive-20260814.out, andreports/minimal-sample-cache-golden-lifecycle-20260814.out.
2026-08-15 - R19 Constant-Time Delay Retirement And Prepared Parameters
- Panic, project reset, source reset, and EchoRay disable no longer clear multi-megabyte delay histories synchronously.
- Per-channel valid-history horizons make stale delay samples inaudible immediately after invalidation.
- New delay history becomes readable only after enough current-generation samples exist for the requested delay time.
- Serialized parameter XML is parsed and validated during project preparation.
- Final project adoption publishes the prepared parameter tree without reparsing XML.
-
PROJECT_PERSISTENCEandSHARED_EFFECTS_SIGNALpass. - Release build, standalone launch, and VST3 host/audio/state/editor smoke checks pass.
- Human beta: load EchoRay-heavy projects during playback and verify adoption latency, immediate reset silence, and normal new-tail buildup.
- User-build SHA-256:
930A0A52D15FEF458C71C8D0FB5210C16A830E18EFD562BAB282BE716818FC1F.
2026-08-15 - R20 Single Prepared-Project Trust Boundary
- Typed prepared-project adoption no longer repeats full project semantic validation.
- Typed adoption still requires valid object state and a valid prepared parameter tree.
- Raw state, host state, recovery, and file-load preflight retain full recognition and semantic validation.
- Four rebuilt
PROJECT_PERSISTENCEruns pass with exact restored state and rejection behavior. - Repeated final-adoption timing improved from 127-132 ms to 72.6-78.5 ms in the regression fixture.
-
SHARED_EFFECTS_SIGNALremains finite and non-silent across all shared effects. - Human beta: compare dense real-project adoption latency and malformed-project refusal through every public load doorway.
2026-08-15 - R21 Minimal Pattern Snapshot Publication
- Populated restored patterns publish one complete immutable playback snapshot.
- A previously populated pattern that becomes empty publishes a real clear.
- Empty-to-empty patterns with unchanged lengths retain their existing snapshot generation.
- Pattern-length changes still publish even when the pattern contains no events.
- Drum steps, Piano Roll notes, Chord Engine markers, and MIDI expression are included in the content decision.
- Warm final-adoption timing improved from 72.6-78.5 ms to 61.2-63.0 ms in the regression fixture.
-
PROJECT_PERSISTENCE,MIDI_RECORD_TIMING,AUTOMATION_RESTORE,AUTOMATION_OWNERSHIP, andGOLDEN_PROJECT_LIFECYCLEpass. - Human beta: compare sparse and dense project loads, immediate playback, and patterns that intentionally clear prior content.
2026-08-15 - R22 Single-Parse Prepared Parameters
- Typed project preparation parses the serialized parameter tree once.
- The recognizer returns the same validated
ValueTreeused by final adoption. - Boolean-only recognition callers retain their existing contract.
- Format, version, semantic, portable-path, and parameter-tree validation remain mandatory.
- Preparation timing improved from about 93.9 ms to 45.5-47.6 ms in the regression fixture.
-
PROJECT_PERSISTENCE,HOSTILE_INSTRUMENT_RESOURCE, andGOLDEN_PROJECT_LIFECYCLEpass. - Human beta: compare projects with large parameter trees and external resources, including malformed and missing-asset variants.
2026-08-15 - R23 Current Shipping Rights Boundary
- All eleven integrated dependency families are registered with versions, sources, licenses, and required notices.
- Fourteen dependency/license artifacts are hash-locked.
- All sixteen CMake-embedded assets are registered and hash-locked.
- Public packaging fails closed for changed, unregistered, or blocked assets.
- Release archive identity, checksum sidecar, attestation binding, and reproducibility contracts pass.
- User-loaded SoundFonts and samples are explicitly separated from bundled-content rights.
- Confirm ownership of five first-party splash/About artwork files.
- Resolve provenance for nine TG55 WAVs and
Resources/TG55/catalog.jsonby reproducible generation, creator attestation, or replacement. - Confirm the shipping entity's commercial JUCE and proprietary VST3 license paths.
2026-08-15 - R24 Detached Clean-Checkout Convergence
- Candidate commit
699cfb95a3ab7feb049d49dd785cc4584638e30awas checked out into a guarded temporary worktree with no working-tree changes or existing build products. - Fresh JUCE configure and Release builds completed for the audio self-test, focused evidence runner, standalone application, and VST3.
- The standalone application launched from the detached build.
- The detached VST3 passed discovery plus audio, parameter, state, and editor-reopen host smoke checks.
- All 83 named automated release gates passed.
- All 619 factory presets rendered finite, audible, bounded audio with zero failures.
- MIDI timing, two-controller ownership, SysEx, RPN/NRPN, automation, project persistence, recovery, Arrangement editing, exports, UI geometry, synth control quality, and complete application self-test gates passed.
- Release hygiene and the embedded-asset inventory audit passed against the exact candidate source.
- Verification receipt:
test-reports/clean-checkout-convergence-699cfb95a3ab-20260815-120107.out. - Resolve the separately tracked artwork, TG55, commercial-license, physical-hardware, human-UI, clean-machine, named-host, support, claims, and source-recovery evidence before public packaging.
2026-08-15 - R25 Musical Shared-Effects Control Audit
- Halostar Tail devotes more travel to practical decay times while retaining extreme long tails.
- Chorus, Flanger, Phaser, and Tremolo use effect-specific musical rate ranges.
- Modulation depth uses a finer low-depth curve.
- Tremolo attenuates the Mixer dry path instead of acting as a parallel volume boost.
- EchoRay Brightness responds across its complete range.
- EchoRay character modes produce distinct coloration.
- EchoRay Link L/R and Haas behavior reach the DSP and have distinct results.
- EchoRay Drift affects every modulation shape without allocating or locking in the callback.
- EchoRay Noise no longer activates and sums all unused channel delay paths.
- Safe feedback uses the complete visible knob range.
- Focused signal, control-response, safety, ownership, persistence, and CPU gates pass.
- Human beta: audition all effects on drums, bass, chords, and transient leads; confirm musical centers, smooth subtle motion, and useful extremes.
2026-08-15 - R26 Musical Octave And Isolated Effect Controls
- Octave no longer relies on rectification or zero-crossing sign toggling.
- All four Octave choices use a preallocated crossfaded pitch-window processor.
- Octave history invalidates in constant time when disabled and does not leak on re-enable.
- Reverb damping and stereo width respond independently.
- Chorus rate, Flanger depth, Phaser rate, and Tremolo rate have isolated response proof.
- All Octave choices are distinct, finite, audible, and bounded.
- Safety, CPU, project persistence, and full live/export lifecycle gates pass.
- Human beta: audition Octave on monophonic drums, basses, leads, and voice-like material at all four shifts.
- Human beta: confirm each effect's useful center, subtle first half, and intentional upper extreme by ear.
2026-08-15 - R27 Mixer And Master Processor Control Audit
- Channel-strip Compressor produces finite, audible, independently responsive results.
- Channel-strip Saturation Drive, Tone, and Mix produce finite, audible, independently responsive results.
- Saturation Tone no longer reaches an early coefficient ceiling; the complete frequency range is usable.
- Channel-strip Musical EQ low shelf, mid bell/frequency, and high shelf produce distinct output.
- Master Compressor and master performance Low Pass produce independently responsive output.
- Compressor Ratio controls prioritize common musical ratios while retaining the full 20:1 extreme.
- Mixer ownership remains outside synth patches and survives state restoration.
- Expanded effects signal, safety, ownership, persistence, and polyphonic CPU gates pass.
- Human beta: audition strip dynamics and EQ on drums, bass, chords, and leads at low, center, and high settings.
- Human beta: confirm useful master-compressor behavior and smooth master Low Pass sweeps by ear.
2026-08-15 - R28 Effect State And Detailed-Control Truth
- Chorus, Flanger, and Phaser clear internal history on enabled-to-disabled transitions.
- Tremolo returns to a deterministic phase when disabled.
- Re-enabling a modulation return cannot resume a frozen pre-bypass sweep.
- Detailed effect knobs use finer velocity-sensitive dragging and Shift precision.
- Double-click restores the actual APVTS parameter default rather than a generic zero.
- Detailed controls explain broad drag, fine drag, and reset behavior in tooltips.
- All 312 detailed-effect controls remain contained and usable at supported window sizes.
- Shared-effects signal, safety continuity, and Mixer state persistence gates pass.
- Human beta: audition bypass/re-enable transitions and detailed knob feel across every effect.
2026-08-15 - R29 EchoRay Wet-Only Return Contract
- EchoRay follows the shared Mixer send/return model and cannot duplicate source dry signal.
- Obsolete Dry Level and Kill Dry parameters were removed from DSP, state, UI, and tests.
- Wet Level, Output Gain, and Return remain as distinct processed-signal stages.
- The detailed editor no longer presents insert-style controls for an auxiliary return.
- Effects detail layout passes with 306 contained controls at supported window sizes.
- Signal regression proves the obsolete parameter IDs are absent and EchoRay remains audible and responsive.
- Safety continuity, project persistence, and complete live/export lifecycle gates pass.
- Human beta: confirm EchoRay never changes direct-signal loudness when no repeat has arrived and that its three surviving level stages feel predictable.
2026-08-15 - R30 Halostar Control-By-Control Proof
- Halostar Damping produces independently distinct output.
- Halostar Width measurably expands stereo spread from mono to wide.
- Shimmer amount is independently audible with feedback removed from the comparison.
- Up, Down, and Dual octave modes each produce distinct finite output.
- Shimmer Feedback increases late-tail energy in the expected direction.
- Pre-delay produces a distinct time-domain result across its intended range.
- Tail length remains directionally correct and independently proven.
- Standard Reverb damping and width retain isolated response proof.
- Human beta: audition Halostar control centers and extremes on transient, sustained, and harmonically dense material.
2026-08-15 - R31 Shared Return Level And Silence Contracts
- Reverb Size produces independently distinct output.
- EchoRay Wet Level independently changes processed-delay level.
- EchoRay Output Gain independently changes post-effect output in dB.
- EchoRay Return independently changes the final shared-rack contribution.
- Halostar at zero Return produces no late-tail energy.
- Reverb at zero Return produces no late-tail energy.
- EchoRay at zero Wet or zero Return produces no late-tail energy.
- Disabled Halostar, Reverb, and EchoRay produce no late-tail energy.
- Human beta: confirm shared-return level staging and enable transitions by ear on a representative arrangement.
2026-08-15 - R32 Modulation And Octave Return Contracts
- Chorus Return independently reaches the mix; zero and disabled states remain below the dry-variance ceiling.
- Flanger Return independently reaches the mix; zero and disabled states remain below the dry-variance ceiling.
- Phaser Return independently reaches the mix; zero and disabled states remain below the dry-variance ceiling.
- Tremolo Return independently controls the gain-delta contribution; zero and disabled states remain below the dry-variance ceiling.
- Octave Return independently reaches the mix; zero and disabled states remain below the dry-variance ceiling.
- Rate/depth and octave-choice proofs remain active in the same focused gate.
- Stateful modulation and Octave processors retain deterministic reset ownership on disable.
- Human beta: audition zero/center/unity Return and disable/re-enable transitions for all five effects.
2026-08-15 - R33 Shared-Effect Automation And Persistence Boundary
- All 70 shared-effect parameters report host-automation support.
- All 70 shared-effect parameters resolve through the SpaceAge MIDI controller-target registry.
- Continuous, Boolean, and choice effect parameters survive exact project save/load recall.
- Arrangement AUTOMATION remains MIDI-expression-owned rather than silently becoming global shared-rack automation.
- Mixer sends remain the correct future target for per-lane effect movement.
- Shared-effect signal, 306-control detail layout, audio safety, and complete project lifecycle gates pass from the compiled checkpoint.
- Human beta: record representative shared-effect automation in a named VST host.
- Human beta: map hardware controls to representative shared-effect parameters and audition live response.
2026-08-15 - R34 Shared-Effect Real-Time Return Smoothing
- Halostar return level advances through a 5 ms sample-rate-aware ramp inside its wet renderer.
- Reverb return gain is separated from the JUCE reverb character state and smoothed at the shared return boundary.
- EchoRay Return, Wet Level, and Output Gain converge into one smoothed output stage while feedback and character remain independent.
- EchoRay reuses one block-aligned return envelope across every active Mixer send, keeping smoothing time independent of lane count.
- Chorus, Flanger, Phaser, Tremolo, and Octave returns use the same audio-rate smoothing policy.
- Zero and disabled returns remain effectively silent; effect contrasts and musical control ranges remain above their regression floors.
- Focused
SHARED_EFFECTS_SIGNALpasses after a clean compile. - Neighboring
PROJECT_PERSISTENCE,AUDIO_SAFETY_CONTINUITY, andGOLDEN_PROJECT_LIFECYCLEgates pass without rebuilding. - Human beta: sweep each shared return over sustained drums, chords, and a reverb/delay tail; listen specifically for ticks while confirming that 5 ms still feels immediate.
2026-08-15 - R35 Mixer Gain And Pan Real-Time Smoothing
- Mixer gain and pan now advance through sample-rate-aware five-millisecond smoothing at the resolved channel boundary.
- Synthesis voices no longer multiply Mixer gain internally; all voices assigned to one channel hear the same channel state once.
- Stereo side signal follows the same smoothed gain, preventing channel-level movement from changing mid/side balance.
- First-block priming preserves exact loaded gain and hard-pan values instead of fading from initialization defaults.
- Automated evidence passed:
MIXER_LANE_ROUTING,MIXER_STATE_PERSISTENCE,AUTOMATION_OWNERSHIP,POLYPHONIC_CPU,SHARED_EFFECTS_SIGNAL, andGOLDEN_PROJECT_LIFECYCLE. - Human beta evidence still required: sweep channel gain and pan during sustained polyphonic material and confirm responsive, click-free motion.
2026-08-15 - R36 Mixer Send Real-Time Smoothing
- Eight channel-owned sends now share five-millisecond sample-rate-aware smoothing: Halostar, reverb, EchoRay, octave, chorus, flanger, phaser, and tremolo.
- Send smoothing occurs once per Mixer channel and sample, independent of instrument polyphony.
- Effect enable state remains authoritative; smoothing changes send movement without redefining processor bypass or return-tail behavior.
- First-block priming preserves exact loaded send values.
- Automated evidence passed:
SHARED_EFFECTS_SIGNAL,AUTOMATION_OWNERSHIP,MIXER_LANE_ROUTING, andMIXER_STATE_PERSISTENCE. - Human beta evidence still required: sweep each channel send during sustained audio and confirm immediate-feeling, click-free movement and natural tails.
2026-08-15 - R37 Project-Level Volume Real-Time Smoothing
- The globally visible project-volume control now uses five-millisecond sample-rate-aware smoothing at the final master gain boundary.
- Stored automation and project state remain in decibels; the audio path converts the target to linear gain and interpolates sample by sample.
- The smoother is primed from the loaded value during audio preparation, preventing an unintended startup fade.
- Automated evidence passed:
SHARED_EFFECTS_SIGNAL,MIXER_STATE_PERSISTENCE, andGOLDEN_PROJECT_LIFECYCLE. - Human beta evidence still required: sweep project volume during sustained audio and confirm click-free, responsive hearing-protection behavior.
2026-08-15 - R38 Channel Compressor And Saturation Smoothing
- Eight continuous channel-processor controls now use five-millisecond sample-rate-aware smoothing: compressor threshold, ratio, attack, release, and makeup; saturation drive, tone, and mix.
- Processing consumes one smooth state per Mixer channel, so response does not vary with instrument voice count.
- Compressor and saturation enable controls remain immediate discrete switches.
- Audio preparation primes all values from current project state, avoiding startup drift.
- Automated evidence passed:
SHARED_EFFECTS_SIGNAL,MIXER_STATE_PERSISTENCE, andAUTOMATION_OWNERSHIP. - Human beta evidence still required: sweep all eight controls across sustained and transient-rich material and confirm responsive, click-resistant changes.
2026-08-15 - R39 Master Dynamics Filter And Limiter Smoothing
- Master compressor threshold, ratio, and makeup now use five-millisecond sample-rate-aware smoothing.
- Master low-pass cutoff moves smoothly, avoids repeated trigonometric coefficient work once settled, and becomes a true bypass at the fully open endpoint.
- Master limiter gain reduction remains immediate whenever the ceiling is threatened; only release toward unity is smoothed.
- Limiter gain is shared across stereo channels per sample, preserving image stability.
- Disabled compressor and limiter states remain immediate and advance or reset their smooth state deterministically.
- Automated evidence passed:
SHARED_EFFECTS_SIGNAL,MIXER_STATE_PERSISTENCE, andGOLDEN_PROJECT_LIFECYCLE. - Human beta evidence still required: sweep the master controls and audition limiter attack/recovery on transient-rich full mixes.
2026-08-15 - R40 Shared Modulation Rate And Depth Smoothing
- Chorus, flanger, phaser, and tremolo rate/depth controls now use five-millisecond sample-rate-aware smoothing.
- Tremolo advances rate and depth per sample.
- JUCE chorus, flanger, and phaser process 32-sample control slices, preserving smooth gestures without unnecessary per-sample processor reconfiguration.
- Existing squared depth curves, effect-specific center-delay/feedback mappings, enable behavior, and return smoothing remain intact.
- Disabled processors advance their control state deterministically so re-enable does not replay a stale ramp.
- Automated evidence passed:
SHARED_EFFECTS_SIGNAL,AUTOMATION_OWNERSHIP,MIXER_STATE_PERSISTENCE, andGOLDEN_PROJECT_LIFECYCLE. - Human beta evidence still required: sweep every modulation rate/depth control and judge smoothness, responsiveness, and musical range.
2026-08-15 - R41 EchoRay Continuous-Control Smoothing
- EchoRay Input Gain, Feedback, Mod Rate, Mod Depth, Wow/Flutter, Drift, Ducking, Width, and L/R Offset now use five-millisecond sample-rate-aware smoothing.
- Each smooth value is consumed inside EchoRay's per-sample delay, feedback, modulation, ducking, or stereo path.
- Loaded values prime the smoothers during audio preparation, preventing startup drift.
- Character, Stereo Mode, Mod Shape, Freeze, Safe, Link L/R, Noise, and Limiter remain immediate discrete controls.
- Safe Feedback mapping remains bounded; unsafe mode retains its intentional soft-limited extended range.
- Automated evidence passed:
SHARED_EFFECTS_SIGNAL,AUTOMATION_OWNERSHIP,MIXER_STATE_PERSISTENCE, andGOLDEN_PROJECT_LIFECYCLE. - Human beta evidence still required: sweep all nine controls over active repeats and judge zipper resistance, response time, stereo stability, and feedback safety.
2026-08-15 - R42 Halostar Continuous-Control Smoothing
- Halostar Size, Damping, Width, Tail, Shimmer, Shimmer Feedback, and Predelay now use five-millisecond sample-rate-aware smoothing.
- Halostar consumes control movement in bounded 32-sample slices, balancing clean motion with predictable CPU cost.
- First processing after prepare/reset primes from exact current parameters, avoiding a startup glide from defaults.
- Shimmer Mode remains an immediate discrete algorithm choice; Return retains its existing per-sample smoother.
- Dedicated Halostar tail, damping, width, shimmer, mode, feedback, and predelay regression contrasts remain above their required floors.
- Automated evidence passed:
SHARED_EFFECTS_SIGNAL,AUTOMATION_OWNERSHIP,MIXER_STATE_PERSISTENCE, andGOLDEN_PROJECT_LIFECYCLE. - Human beta evidence still required: sweep every Halostar control over active tails and judge response, smoothness, and musical continuity.
2026-08-15 - R43 Standard Reverb Character Smoothing
- Standard Reverb Size, Damping, and Width now use five-millisecond sample-rate-aware smoothing.
- JUCE Reverb consumes changes in bounded 32-sample processing slices.
- Return remains independently sample-smoothed; Enable remains an immediate discrete control.
- Disabled processing advances character and Return smoothers deterministically, preventing stale ramps after re-enable.
- Dedicated Reverb Size, Damping, Width, tail, silence, and finite-output regressions remain above their required floors.
- Automated evidence passed:
SHARED_EFFECTS_SIGNAL,AUTOMATION_OWNERSHIP,MIXER_STATE_PERSISTENCE, andGOLDEN_PROJECT_LIFECYCLE. - Human beta evidence still required: sweep Size, Damping, and Width across active tails and judge smoothness, response, and stereo stability.
2026-08-15 - R44 Octave Ratio Transition
- Octave ratio changes now use an eight-millisecond sample-rate-aware transition instead of changing the time-domain shifter ratio at a block boundary.
- The four customer choices remain exact destinations: -2, -1, +1, and +2 octaves.
- Return smoothing, enable/reset behavior, pitch-shifter allocation policy, and output filtering remain unchanged.
- Automated evidence passed:
SHARED_EFFECTS_SIGNAL,AUTOMATION_OWNERSHIP,MIXER_STATE_PERSISTENCE, andGOLDEN_PROJECT_LIFECYCLE. - Human beta evidence still required: change octave choices during sustained and transient material and confirm the transition is click-resistant but still feels immediate.
2026-08-15 - R45 EchoRay Input-Character Smoothing
- EchoRay Drive, Color, Headroom, Brightness, and Grit now use five-millisecond sample-rate-aware smoothing.
- Combined saturation and brightness coefficients update in bounded 32-sample slices rather than jumping per audio block or recalculating expensive mappings per sample.
- Character remains an immediate discrete mode; the five continuous controls retain their established ranges and mappings.
- Automated evidence passed:
SHARED_EFFECTS_SIGNAL,AUTOMATION_OWNERSHIP,MIXER_STATE_PERSISTENCE, andGOLDEN_PROJECT_LIFECYCLE. - Human beta evidence still required: sweep all five controls over active input and repeats and judge smoothness, responsiveness, and musical range.
2026-08-15 - R46 EchoRay Feedback-Path Smoothing
- EchoRay Feedback Tone, Feedback High Pass, Feedback Low Pass, Feedback Saturation, and Repeat Age now use five-millisecond sample-rate-aware smoothing.
- Filter coefficients and repeat-aging drive update together in bounded 32-sample slices.
- Safe, Freeze, Stereo Mode, and other discrete routing/protection controls remain immediate.
- Existing feedback bounds and soft limiting remain unchanged.
- Automated evidence passed:
SHARED_EFFECTS_SIGNAL,AUTOMATION_OWNERSHIP,MIXER_STATE_PERSISTENCE, andGOLDEN_PROJECT_LIFECYCLE. - Human beta evidence still required: sweep all five controls over sustained repeats and judge continuity, response, safety, and musical range.
2026-08-15 - R47 EchoRay Continuous-Control Closeout
- EchoRay Noise Floor amount, Mod Phase, Pre High Pass, Pre Low Pass, and Wet Tilt now use five-millisecond sample-rate-aware smoothing.
- Coefficients and derived values update in bounded 32-sample slices.
- Noise Enable remains immediate; only its continuous amount is smoothed.
- Mod Shape, Character, Stereo Mode, Safe, Freeze, Link L/R, and Limiter remain immediate discrete choices.
- Combined with R41, R45, and R46, every exposed continuous EchoRay DSP control now has a deliberate real-time transition policy.
- Automated evidence passed:
SHARED_EFFECTS_SIGNAL,AUTOMATION_OWNERSHIP,MIXER_STATE_PERSISTENCE, andGOLDEN_PROJECT_LIFECYCLE. - Human beta evidence still required: sweep the completed EchoRay surface over active repeats and judge smoothness, responsiveness, stereo behavior, noise usefulness, and CPU stability.
2026-08-15 - R48 Shared-Effect Disabled-State Synchronization
- Disabled Chorus, Flanger, Phaser, and Tremolo now advance rate, depth, and return smoothers toward current parameter values.
- Disabled Octave silently adopts its selected fixed ratio after pitch-memory reset and advances its Return smoother.
- Re-enabling these effects no longer begins from stale hidden control ramps.
- Processor reset and immediate Enable semantics remain unchanged.
- Automated evidence passed:
SHARED_EFFECTS_SIGNAL,AUTOMATION_OWNERSHIP,MIXER_STATE_PERSISTENCE, andGOLDEN_PROJECT_LIFECYCLE. - Human beta evidence still required: edit each effect while disabled, re-enable during playback, and confirm that the first audible result matches the visible controls.
2026-08-15 - R49 Halostar Disabled-State Synchronization
- Disabled Halostar now synchronizes Size, Damping, Width, Return, Tail, Shimmer, Shimmer Feedback, and Predelay without processing its reverb network.
- Bypass continues to clear Halostar delay and shimmer memory, preserving silence and preventing old-tail revival.
- The first disabled block primes exact visible values; later disabled blocks advance five-millisecond transitions deterministically.
- Re-enabling Halostar no longer starts from stale hidden control values.
- Automated evidence passed:
SHARED_EFFECTS_SIGNAL,AUTOMATION_OWNERSHIP,MIXER_STATE_PERSISTENCE, andGOLDEN_PROJECT_LIFECYCLE. - Human beta evidence still required: edit every Halostar control while disabled, enable during playback, and confirm immediate audible agreement with the interface.
2026-08-15 - R50 EchoRay Disabled-Path Efficiency
- Disabled EchoRay now advances all 24 continuous control smoothers once per block.
- Disabled processing skips repeated coefficient refreshes and per-sample smoother consumption.
- Bypass continues to clear delay, filter, activity, and ducking state, preventing old-repeat revival.
- Re-enable begins from current visible controls rather than stale hidden ramps.
- Automated evidence passed:
SHARED_EFFECTS_SIGNAL,AUTOMATION_OWNERSHIP,MIXER_STATE_PERSISTENCE, andGOLDEN_PROJECT_LIFECYCLE. - Human beta evidence still required: compare disabled/enabled idle CPU and confirm that edits made while disabled are heard immediately after enable.
2026-08-15 - R51 Dynamics Bypass-Memory Reset
- Bypassed mixer-strip compressors clear stale detector envelopes once per audio block.
- Bypassed mixer-strip saturators clear stale left/right tone-filter memories once per block.
- The bypassed master compressor clears its stale detector envelope.
- Threshold, ratio, attack, release, makeup, drive, tone, and mix state continue following their existing smoothing contract.
- Re-enabling dynamics processing now reacts to current audio rather than obsolete pre-bypass signal history.
- Automated evidence passed:
SHARED_EFFECTS_SIGNAL,AUTOMATION_OWNERSHIP,MIXER_STATE_PERSISTENCE, andGOLDEN_PROJECT_LIFECYCLE. - Human beta evidence still required: bypass/re-enable strip and master dynamics across loud-to-quiet transitions and listen for stale gain reduction or tonal transients.
2026-08-15 - R52 Sample-Accurate Master Limiter
- The master limiter now computes a stereo-linked gain target per sample.
- Either channel crossing the ceiling triggers immediate linked gain reduction, preserving stereo balance.
- Gain recovery retains the existing five-millisecond smoothing behavior.
- The former block-wide target could begin releasing before a later transient and no longer governs limiting.
- The safety regression now uses a quiet signal followed by a late full-level transient.
- Automated evidence passed:
AUDIO_SAFETY_CONTINUITY,SHARED_EFFECTS_SIGNAL,AUTOMATION_OWNERSHIP,MIXER_STATE_PERSISTENCE, andGOLDEN_PROJECT_LIFECYCLE. - Human beta evidence still required: audition isolated transients and dense mixes across several ceilings and judge release transparency.
2026-08-16 - R53 Audition Safety and Embedded Splash Set
- Selecting an existing Piano Roll note now invokes the established finite, self-releasing preview path.
- Selecting an Arrangement clip during playback no longer refreshes pattern-backed sequencer or step-editor state.
- The exact 45 supplied SpaceAge splash images are embedded into the executable; source-to-resource hashes were verified byte-for-byte.
- Random splash selection retains the no-immediate-repeat behavior.
- The Release standalone builds and passes an automated launch-and-graceful-exit check.
- Automated evidence passed:
AUDIO_SAFETY_CONTINUITY,SHARED_EFFECTS_SIGNAL,AUTOMATION_OWNERSHIP,MIXER_STATE_PERSISTENCE, andGOLDEN_PROJECT_LIFECYCLE. - Human beta evidence still required: verify note-selection previews and click mixed chord/note clips repeatedly during playback while checking for stuck notes.
2026-08-16 - R54 Audition and Live-Selection Regression Proof
- The keyboard workflow gate now exercises the real existing-note preview callback with a prepared audio engine.
- The regression proves that the requested note starts on the Piano Roll instrument slot and releases without Panic.
- The same gate invokes the real Arrangement clip-selection callback during playback and proves that transport remains running at the same position.
- Automated evidence passed:
KEYBOARD_SHORTCUT_WORKFLOW,ARRANGER_EDIT_CONTRACT,AUDIO_SAFETY_CONTINUITY, andSYNTH_PATCH_MIXER_OWNERSHIP. - Human beta evidence remains useful for judging preview loudness and repeatedly selecting mixed chord/note clips during real playback.
2026-08-16 - R55 Beta Readiness Horizontal Fit
- Beta Readiness now fits inside the supported
1100x800editor width without horizontal scrolling. - The release report remains vertically scrollable, preserving the complete blocker and evidence surface.
- The real Settings-destination regression now explicitly enforces horizontal fit for this doorway in addition to bounded reachability, accessibility metadata, and Escape dismissal.
- Automated evidence passed:
SETTINGS_DESTINATION_REACHABILITYandSETTINGS_ROOT_LAYOUT. - Human beta evidence still required: inspect Beta Readiness at Windows display scaling values used by the launch cohort.
2026-08-16 - R56 Hardware Passport Horizontal Fit
- MIDI Hardware Passports now fit inside the supported
1100x800editor width without horizontal scrolling. - The complete passport history remains vertically scrollable, while the two detail cards divide the available width evenly.
- The synchronization-policy action row was compacted without removing controls or reducing typography.
- The real Settings-destination regression now enforces horizontal fit for both Beta Readiness and MIDI Hardware.
- Automated evidence passed:
SETTINGS_DESTINATION_REACHABILITY,SETTINGS_ROOT_LAYOUT, andMIDI_SYNC_POLICY. - Human beta evidence still required: inspect Hardware Passports at Windows display scaling values used by the launch cohort.
2026-08-16 - R57 MIDI Patch Action Dock Horizontal Fit
- MIDI Patch now fits inside the supported
1100x800editor width without horizontal scrolling. - Its ten hardware actions are arranged as two intentional five-action rows: profile and mapping work above, setup and output work below.
- The panel gained the vertical room required by the second row, preserving the complete patch-review list and its vertical scroll behavior.
- The real Settings-destination regression now explicitly enforces horizontal fit for MIDI Patch as well as Beta Readiness and MIDI Hardware.
- Automated evidence passed:
SETTINGS_DESTINATION_REACHABILITY,SETTINGS_ROOT_LAYOUT, andMIDI_SETUP_QUEUE. - Human beta evidence still required: inspect MIDI Patch at Windows display scaling values used by the launch cohort and confirm that both action groups scan naturally.
2026-08-16 - R58 MIDI Control Maps Horizontal Fit
- MIDI Control Maps now fits inside the supported
1100x800editor width without horizontal scrolling. - MIDI Learn uses two readable task rows: target selection above, then capture filters and actions below.
- Each mapping uses two action tiers: state/range above, then shaping, ownership, and deletion below.
- Source, target, and mapping evidence regain readable width without removing controls or shrinking typography.
- The real Settings-destination regression now explicitly enforces horizontal fit for MIDI Maps.
- Automated evidence passed:
SETTINGS_DESTINATION_REACHABILITY,SETTINGS_ROOT_LAYOUT, andMIDI_CONTROL_QUEUE. - Human beta evidence still required: inspect MIDI Maps at Windows display scaling values used by the launch cohort and confirm that multi-row mapping actions remain easy to scan.