SSPACEAGEDOCUMENTATION/
Release and Assurance

SpaceAge Human Beta QA Matrix

Updated Aug 29, 2026   |   48.3 KB   |   docs/Human_Beta_QA_Matrix.md

SpaceAge Human Beta QA Matrix

Last updated: 2026-08-10

Purpose

This is the hands-on acceptance run for the first SpaceAge beta. Automated convergence proves deterministic software contracts; this matrix proves the parts that require human ears, real hardware, real files, real displays, and a clean Windows environment.

A row passes only when its expected result is observed and its evidence field is filled. A failure must name the project, hardware/file involved, exact reproduction steps, and whether the defect is deterministic.

Use Resources/ReleaseHumanEvidencePlan.json as the assignment and receipt index for the currently open release rows. Before a beta session, run tools/test-release-human-evidence-plan.ps1; a failure means this matrix and the canonical release ledger have drifted apart.

Test Record

  • Tester:
  • Date:
  • Build/version:
  • Executable path:
  • Windows version and display scaling:
  • Audio interface, driver, sample rate, and buffer:
  • MIDI devices and connection paths:
  • Test project:
  • Result: NOT RUN / BLOCKED / PASS

Session 0 - Automated Baseline

Run:

powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\tools\run-release-convergence.ps1

Pass criteria:

  • Every named gate reports PASS.
  • Maximum-lane Instrument independence reports PASS.
  • No crash, assertion, sanitizer report, or unexpected file mutation occurs.
  • The current canonical receipt is reports/release-convergence-u01-library-layout-20260804.out and reports 63/63 PASS. U04-A verifies Settings containment and the bounded destination shell. The newer focused U04-B proof presses all 14 production Settings destination buttons twice in opposing order at 1100x800, requiring one stable, distinct, reachable destination and Escape handling per doorway while project state remains unchanged; it has not been folded into the older 63/63 receipt. U05-A verifies FIT/overview convergence, full-height preservation when lanes fit, maximum-height compression when they do not, complete authored-width fitting, and return to the song origin. U02-A renders the production Arrangement lane and proves selected, MIDI-armed, muted, and soloed states remain visually distinct. U02-B proves one active top-level page and distinct shared-effect enable states. The newer focused U02-C proof separately verifies disabled, ready, count-in, and active Arrangement recording states at 1800x1000 and 1100x800; it has not been folded into the older 63/63 receipt. U01-A opens all eight production Effects detail editors at both 1800x1000 and 1100x800, auditing 312 component instances for containment, target size, label separation, and EchoRay card ownership. U01-B opens the production Automation editor, audits 29 controls plus its scrolling shell, and verifies compact/focused geometry and Escape/X dismissal. U01-C audits 2,306 Mixer controls, readable strip width, hidden-page reachability, scrolling, and responsive Master geometry. U01-D audits all 20 startup choice/loading controls against their shared painted card. U01-E audits 58 Library controls across roomy and minimum viewports, including the Save hero and responsive action groups. Hands-on comfort, readability, and scaling remain part of the human UI sessions below.

Evidence:

  • PASS
  • Receipt/output path:
  • Notes:

Session 0A - Project Save, Save As, And Reopen

Use a representative project with multiple lane Instruments, Mixer routing, disabled and enabled shared returns, Chords, notes, automation, a SoundFont, and a Quasar package.

Check Expected result Result/evidence
Save As independence Save As a new name, edit the copy, close, and reopen both files Each file retains only its own edits and neither target unexpectedly changes the other
Save Over target Reopen the copy, alter tempo and one clip, then Save Over Only the visible current target changes; reopen restores the alteration exactly
Load Project File Load a different project while another project has Undo/Redo history The new project opens fully fitted; Undo/Redo cannot resurrect the prior song
Load Last Project Relaunch and choose Load Last The same project, BPM, Arrangement, Instruments, Mixer routes, returns, and automation return
Cancel and refusal Cancel the chooser, refuse overwrite, and attempt an unwritable destination The current project and save target remain unchanged; wording names the destination and the reason plainly
Asset repair Move one real layer sample, one-shot, loop, SoundFont, and Quasar package; include two files with the same missing filename and one corrupt audio file Every unavailable or undecodable asset is listed; unique matches repair, duplicate names remain explicitly ambiguous, successful relink restores audio without changing the composition, and Save/reopen keeps every repair
Large-project feedback Load the largest practical project/library fixture, press Space/transport shortcuts during restore, and repeat once with a removable-drive project temporarily unavailable Acknowledgement appears immediately; the loading state remains honest and blocks conflicting commands; success/failure remains readable; reconnecting the drive retains a retry path. Record whether the indeterminate animation pauses during synchronous asset restoration.

Session result: NOT RUN / BLOCKED / PASS

Session 1 - Real MIDI Hardware

Use at least one direct USB controller, one DIN controller through the mioXL, and both simultaneously.

Check Expected result Result/evidence
Direct USB monitoring Notes and chord readout respond immediately; no stuck notes
DIN monitoring Perceived timing is performance-usable; route is identified correctly
Two controllers Both inputs remain active without stealing or disabling each other
Four-bar recording First measure, note starts, durations, velocity, and bar placement match the performance
Release and retrigger Release velocity is retained; replaying the same pitch before release preserves both notes
Two-source same pitch USB and DIN controllers can hold/release the same note independently
Offset/repeated clip Recording into a split/offset or repeated clip stays visible in that clip and does not create a cycle-length duplicate at its final boundary
Interrupted take Stop, disarm, target change, loop interruption, and Panic close held notes cleanly
Take history One Undo removes the take, Redo restores it, and save/reopen shows the same notes in Piano Roll
Expression Sustain, mod wheel, pitch bend, channel pressure, and configured CC data work and record
Panic/stop All active voices stop without silencing future playback
SysEx Capture/send uses the intended device and preserves the message exactly
Reopen Hardware routing and safe device identity survive project reload

Session result: NOT RUN / BLOCKED / PASS

Session 2 - Instruments And Samplers

For every engine below: instantiate through the current lane or Drum workflow, play its intended material, change and save a patch, reload it, stop/panic, verify Mixer routing, and watch CPU. Synth patches must not secretly own Mixer effect sends.

Engine Audible Preset round trip Isolated route Stop/Panic CPU safe Notes
Internal Engine / Generic Synth
Classic Machines
Physical Modeling
Redshift
SoundFont
Kick Lab
Snare Lab
Hat Lab
Propulsion 1
Liftoff
Glass Moon
Moonshadow
Lunacy
Quasar
Layers Sampler
One-Shots
TG55

Additional required checks:

  • SoundFont small and large files load, enumerate/switch presets, respond to ADSR/filter controls, play, save, reopen, and relink. Automated I04-A now proves distinct preset audio, both-direction index clamping, isolated cutoff and complete ADSR response, persisted controls, and deterministic relink with a moderate-size three-preset generated bank; human QA must repeat them with Shane's large GM bank and an independently authored bank.
  • Quasar capture shows progress and generated filenames are portable.
  • With genuinely large work, project load, whole-song render, and Quasar capture remain responsive; progress wording and movement are understandable; cancellation leaves the prior destination/package intact. Automated P06-A, X05-A, and I05-B prove the underlying state, monotonicity, cancellation, and stale-completion contracts, but do not replace this perception check.
  • Drum Labs render usable samples and Flux Nodes remain musically intentional.
  • Sixteen Instrument lanes retain independent sounds, Mixer routes, and MIDI channels after save/load.

Drum Lab / Flux listening pass:

Check Human action Pass evidence
Conservative Flux In Kick, Snare, and Hat Labs, enable two musically relevant nodes at 5-15% and audition at every-hit, alternate-hit, and every-third-hit cadences Variation is audible but the sound retains its role and level; no click, runaway pitch, unsafe peak, or unrelated Instrument changes
Extreme Flux Raise several nodes to 75-100%, audition, Stop/Panic, then Reset Flux The result may be experimental but remains finite and responsive; Reset returns to the exact static sound with no hidden movement
Project persistence Save a project with distinct Flux settings on all three Labs, close, reopen, and inspect/audition Enable state, cadence, and every authored range return exactly
Render to Sample Render each Lab with progress visible, inspect the WAV in SpaceAge and an external editor, then repeat after a Flux change Files are playable stereo 48 kHz / 24-bit WAVs, progress reaches completion, names are portable, and the second render audibly reflects the changed design
Patch lifecycle For every reusable native Instrument, load two visibly different patches, alter one control, Undo, save a new patch, and reload it Controls jump immediately to the recalled values, the current name is correct, * appears only for unsaved change, Undo restores the prior clean state, and Mixer settings never move
Chord-Safe factory families On Redshift, Propulsion 1, Liftoff, Glass Moon, Moonshadow, Lunacy, and TG55, audition representative Keys, Pads, Plucks, Leads, Organs, and Bells as triads, sevenths, and close voicings in low/middle/high registers Presets advertised as tonal remain recognizably in tune, do not inherit movement from the previously loaded patch, and release cleanly. Any intentionally stacked interval is musically legible rather than accidental detuning.
Experimental factory families Audition Lunacy Texture and Atmosphere choices after several tonal presets, then return to a tonal choice Experimental spread may be broad, but output remains finite and intentional; returning to a tonal preset clears inherited vibrato, gate, and pitch-spread behavior immediately.
Factory starting sound Create a fresh lane for every self-contained engine without choosing a preset, then play A4, a major triad, a minor seventh, and low/middle/high-register notes Every engine speaks immediately, tonal engines agree with an external A440 reference, percussive engines remain intentionally non-tonal, releases end cleanly, and the starting sound feels useful rather than merely technically audible.
Target-machine CPU Repeat eight-note chords, rapid preset changes, long releases, five-unison Propulsion, four-unison Liftoff, Moonshadow, Lunacy, a large SoundFont, and a substantial Quasar package on minimum and recommended Windows hardware No preset exceeds realtime, creates a stuck voice, or causes an audio dropout. Record machine, audio-device, sample-rate, block-size, peak CPU, and preset name for every failure.

Session result: NOT RUN / BLOCKED / PASS

Session 3 - Arrangement And Automation

Check Expected result Result/evidence
Loop start Play and Spacebar begin at a visible loop start and loop cleanly
Playhead Audio and visual playheads remain locked through long clips and loops
Live edit Drawing pan or another audible automation target changes sound immediately
True delete Deleting a target removes its visible and audible automation immediately
Overview FIT, O, and Ctrl+O show the intended material at the largest practical scale
Long Piano Roll A 256-step clip scrolls and edits across its full duration
Clip preview 128/256-step clip thumbnails represent the complete note range; automated endpoint coverage is already green, while this row judges the real visual result
Lane Instrument replacement Changing a selected lane's Instrument updates the sound, badge, preset name, and Synth Editor immediately without moving clips or changing the Mixer route
Add Clip placement The selected-lane highlight is obvious; empty, append-at-measure-one, deliberate-playhead, and Drum-lane placements feel predictable
Group move Clips and Section markers move together without lane crossover or stacking
Preserve-time delete Deleting mixed clips and Section markers leaves later clips, primary and secondary Drum material, Sections, and automation at the same song positions
Arrangement record The armed lane records from the current Arrangement position with no lost first measure
Undo/redo Clip, lane, automation, and recording edits reverse and restore predictably

Session result: NOT RUN / BLOCKED / PASS

Session 4 - Save, Load, Recovery, And Assets

Create a multi-lane project using native synths, drums, automation, SoundFont, and Quasar.

Check Expected result Result/evidence
Startup choices Last, blank, and explicit file loading open the requested state
Musical state Tempo, meter, loop, playhead, clips, sections, and chord data match
Instrument state Lane instruments, patches, dirty state, MIDI channels, and Mixer destinations match
Mix state Faders, pan, mutes, solos, sends, effects, and automation match
Recovery Change only a synth parameter, pattern length, lane route, Flux value, or MIDI mapping; wait for recovery; force-terminate; relaunch; choose RECOVER LATEST SESSION. The startup summary names useful work, the exact state returns, the title says Recovered Session (Unsaved), Last Project remains the prior deliberate save, and Save As creates an independent project.
Last Project failure Moved, deleted, damaged, or permission-denied Last Project targets leave the current session intact and present an honest recovery path
Cancelled dialogs Cancelling Save, Save As, Load, Relink, or Recovery selection changes no project state or remembered target
Failed save destination An unwritable, disconnected, or removed destination preserves the prior project byte-for-byte and keeps unsaved work in memory
Multiple snapshots The recovery chooser distinguishes multiple snapshots, orders the newest correctly, and restores the chosen snapshot
Recovered identity The restored window reports Recovered Session (Unsaved) and the next save requires an explicit destination
Recovery plus assets A recovered session with moved SoundFont, Quasar, or sample assets offers relink and becomes audible after repair
Forced interruption Launch the standalone, reach the stable main UI, force-terminate it, relaunch, and create a support bundle. Startup wording and the bundle must report unclean_or_interrupted with last stage steady_state. If practical, repeat during startup to observe an earlier truthful stage. Confirm the bundle contains no project, lane, preset, sample, MIDI/device, or private-path names. An ordinary close must report clean with stage clean_shutdown.
Clean close and relaunch Start playback with sustained notes and routed hardware MIDI, close normally, relaunch, and confirm silence, stopped transport, no stale editor panel, and the expected startup choices
Hosted editor reopen Close and reopen the VST3 editor in a host; host state remains intact and no standalone splash or startup chooser appears
Missing assets Relink locates moved SoundFont/Quasar/sample assets and reports unresolved files clearly
Project archive Portable package opens from a different folder without hidden absolute-path dependence
Large project Progress remains visible and the UI does not appear frozen

Session result: NOT RUN / BLOCKED / PASS

Session 5 - Render And Export

Check Expected result Result/evidence
Whole-song WAV Duration and content cover the full visible arrangement
Selection/loop render Boundaries match the selected musical range exactly Software PASS: active Arrangement-loop WAV export captures immutable start/end boundaries, exact tempo-derived duration, range-relative playback, monotonic progress, and atomic invalid-range refusal. Human listening remains open.
MIDI stems Each file contains the intended lane only, has a useful name, and passes manifest/checksum inspection
Audio stems One aligned WAV per lane; names, instruments, Mixer routing, mute/solo, silent-state reasons, and manifest agree with the saved project
MIDI export Note timing, lengths, channels, drums, CC, bend, and bank/program data survive inspection/re-import
Automation Active automation renders; deleted automation does not
Effects tails Halostar, Reverb, and EchoRay tails are neither cut short nor endless
Asset instruments SoundFont, Quasar, Layers, and One-Shots render without substitution or silence
Progress Long renders show progress, completion, and output location

Session result: NOT RUN / BLOCKED / PASS

Session 6 - UI Readability And Workflow

Test at the intended default window size and one smaller supported size, including Windows display scaling.

  • Main pages and top transport.
  • Arrangement lane badges, long names, L/S/V controls, and collapsed overview.
  • Piano Roll, Drum Composer, Chord Engine, honeycomb, automation, and MIDI Tasks popups.
  • Every Synth Engine and Drum Lab page with a dirty patch.
  • On several synth knobs, drag slowly for surgical movement, then faster for a broad sweep; type an exact value, Undo the drag, and confirm one gesture creates one history action.
  • Visit every Redshift and Glass Moon subpage plus SoundFont at default size and a smaller supported size; confirm every label, readout, selector, and bottom-row control remains visible at Windows display scaling.
  • Effects rack and every detailed editor.
  • Mixer banks, hidden panels, sends, Darken readout, and Master section.
  • Settings, MIDI Hardware, MIDI Health, MIDI Protocol, and MIDI Setup.
  • Splash, startup chooser, Library, save/load, recovery, and progress dialogs.
  • ESC and click-away dismissal are consistent where promised.
  • No clipped text, overlapping labels, hidden lower rows, tiny accidental hit targets, or misleading disabled states.

Software evidence note (2026-08-10): U04-B now recursively verifies 306/306 named, contained, usable interactive controls across all 14 Settings destinations and proves browsing them does not mutate project state. The human Settings session still needs to verify display scaling, focus order, screen-reader phrasing, readability, and comfort.

Session result: NOT RUN / BLOCKED / PASS

Session 7 - Packaging, Rights, And Clean Machine

  • Third-party code and licenses ledger is complete and source-linked.
  • GPL/AGPL and incompatible dependencies or copied code are absent.
  • Factory presets, samples, SoundFonts, splash art, icons, and marketing assets have documented rights.
  • Final splash assets are embedded; automated R06 prevents external splash-folder overrides. Human QA still confirms the intended images and presentation in the release candidate.
  • Installer works from a clean Windows user profile without development tools.
  • App name, executable, version, About page, and installer metadata agree.
  • Public claims do not exceed saved hardware, render, instrument, or workflow evidence.
  • Review the exact hash-bound shipping README and all About, website/store/Kickstarter, manual, and release-note copy against Resources/PublicClaimsRegistry.json; approve the registry only after every public surface agrees.
  • Current offline/network/privacy behavior is documented and unsurprising.

Session result: NOT RUN / BLOCKED / PASS

Defect Record

For every failure record:

  • ID:
  • Session/check:
  • Severity: BLOCKER / MAJOR / MINOR / COSMETIC
  • Reproduction steps:
  • Expected:
  • Actual:
  • Project/file/hardware:
  • Frequency:
  • Screenshot/video/audio/log:
  • Retest build and result:

Beta Decision

SpaceAge is ready for beta review only when:

  1. Automated convergence is green.
  2. Sessions 1 through 7 have no open BLOCKER or MAJOR defect.
  3. Instrument Bay remains green under the explicit 16-lane beta ceiling.
  4. A clean-machine installation and launch pass.
  5. Admiral gives final human signoff.

Latest Automated Baseline

2026-08-04 internal Release evidence:

  • Canonical convergence: 54/54 named automated gates PASS in reports/release-convergence-i04-controls-final-20260804.out, including Arrangement/Sequencer workflows, MIDI and automation, project lifecycle, routing and effects, all registered native instruments, patch lifecycle, Drum Lab Flux/render, native-control geometry/interaction/Undo, complete factory-preset safety, factory default audio/concert-pitch truth, the production Quasar capture/package builder, the strengthened SoundFont workstation contract, and hostile SoundFont/Quasar replacement isolation.
  • SoundFont I04-A: a generated three-preset bank proves distinct preset audio, first/middle/last selection, both-direction clamping, isolated cutoff and independent attack/decay/sustain/release response, saved control state, project reopen, relocation receipt, stale-receipt rejection, and deterministic restored audio. This does not replace large real-library listening and performance QA.

Hostile Instrument Resource Hands-On Checks

Check Human action Pass evidence
Real corrupt SoundFont While a known-good SoundFont Instrument is audible, attempt to load truncated and corrupt real .sf2 files. SpaceAge stays responsive, reports failure plainly, and the prior Instrument remains selected, audible, routed, and reopenable.
Real corrupt Quasar While a known-good Quasar Instrument is audible, attempt malformed manifests, missing/corrupt WAVs, and an edited package containing traversal or absolute paths. No partial package is adopted; the prior Instrument remains intact; the message explains that the candidate was rejected.
Failed replacement recovery Reject several bad candidates, then load a valid replacement and save/reopen. The valid replacement works immediately, only one external engine owns the slot, and reopen restores that same winner.
Slow/removable storage Load and relink large assets from slow or removable media, then remove or exhaust the destination during disposable tests. No crash, silent partial adoption, stale success message, or replacement of known-good state occurs.
Same-project external corruption Load a valid external Instrument, alter its disk asset outside SpaceAge, then reload the same project in the current session. Automated proof now preserves the exact known-good live Instrument and creates a repair receipt. Human beta should confirm the message is understandable, the sound remains uninterrupted, and real-library relink feels trustworthy.

Quasar Production Capture Hands-On Checks

Check Human action Pass evidence
Large package Build a musically useful Quasar Instrument with several roots, velocity layers, round robins, long captures, normalization, and loops. Progress remains understandable and responsive; the package completes, reveals, loads, plays every range/layer/RR, and reopens in a saved project.
Mid-build cancellation Cancel during a long individual sample and again between zones. Cancellation responds promptly, reports cancellation rather than success, leaves no selectable partial package, and does not alter an existing package.
Source ownership change Start a build, then change the source lane's patch or Instrument before completion. The captured package remains a consistent snapshot of the starting sound; it is published but does not replace the newly chosen lane Instrument.
Interruption and storage failure During disposable builds, close the app or interrupt the machine; repeat with a removed/full destination when practical. No completed package is presented as corrupt or partial, existing user material survives, and abandoned staging data is either absent or clearly recoverable/removable.
  • I01-B proves thirteen self-contained engines load their first visible preset through a private Instrument Lane, produce finite bounded audio, retire voices, and meet the A440 contract where tonal. Human beta still judges musical appeal, register balance, and chord usefulness.
  • S07 proves Piano Roll Clear removes notes and Chord markers only; Drum Composer Clear removes Drum steps only. Both preserve automation, duration, clip geometry, repeats, routing, and unrelated payloads.
  • Confirmation pins the pattern it describes even if selection changes before the user responds. Shared-pattern warnings report Arrangement and Drum-chain reference counts and direct one-clip edits toward VARIANT.
  • A 4,096-step target, linked clips, an independent Variant, repeated Drum-chain slots, no-op history, ownership refusal, and full project persistence remain green.
  • S06 proves a 512-step pattern, a nonzero 128-step source window, bounded selection and mutation, source-to-song cursor/loop translation, late-note editing, tiled repeated previews, and save/reopen.
  • S05 proves exact pause/resume, Arrangement-loop start, Piano Roll-to-Arrangement cursor translation, isolated and Arrangement boundary navigation, mutually exclusive loop scopes, count-in rollback, refused-arm Redo preservation, metronome accenting, and transport-state persistence.
  • S04 proves first-measure capture, fractional note timing, velocity/release velocity/channel, dual-controller ownership, retrigger preservation, source-window and repeat boundaries, interruption closure, lane route, Undo/Redo, persistence, and Piano Roll truth.
  • The recording queues now have an explicit bounded drain fence before state-sensitive operations; project serialization copies note and pattern-length data under the pattern lock.
  • Physical USB/DIN timing, count-in comfort, and musician judgment remain unsigned human evidence.

2026-08-03 Arrangement Move Hands-On Checks

Check Human action Pass evidence
A01 Mixed magnetic move Select clips on several lanes plus one or more Section Markers. Drag horizontally. Clips and Sections visibly lift as one object, retain their spacing and lanes, and remain selected after the exact snapped drop.
A01 Stationary edge scroll Hold a selected clip group or lasso near each viewport edge without continuing to wiggle the mouse. The canvas keeps scrolling smoothly until the pointer leaves the edge zone or reaches the boundary.
A01 Collision refusal Drop a single clip and a group onto occupied material. Nothing relocates to a surprising opening. The preview returns home, project data is unchanged, selection remains visible, and Redo still works.
A01 Escape cancellation Begin a clip move, mixed Section move, Section resize, and lasso; press Escape before releasing the mouse. The gesture is cancelled, local geometry returns to its origin, selection clears, and releasing the mouse commits nothing.
A01 selection subtraction Ctrl-click one item out of a multi-selection, then drag another selected item. The removed item stays put and cannot be immediately reselected by the same click.
A02 whole-song playhead insertion Copy a stack containing Instrument clips, a primary Drum clip, a secondary Drum clip, and a Section Marker. Include a silent lane with later material. Place the playhead at an exact Drum boundary and paste. Undo, Redo, save, and reopen. The copied stack lands at the playhead with its relative offsets intact. Every lane's later material moves by the longest copied span, including the silent lane. Sections and Lane Local automation stay aligned; Clip Local automation follows copies; Undo is one action and reopen is exact.
A02 unsafe Drum target refusal Prepare a Redo branch, then paste a mixed stack with the playhead inside a real primary Drum block rather than at its edge. SpaceAge explains that a Drum edge is required. No clips, gaps, Sections, automation, chain slots, selection, or history change, and the previous Redo still works.

Earlier 2026-07-31 clean-checkout evidence:

  • Focused convergence: 21/21 PASS from exact clean-checkout candidate 0b0fafe08d78996e5286b448f2c1e6b5bb7b9156.
  • Release package identity and legal-notice hygiene: PASS.
  • Disposable archive layout proof: PASS with executable, VST3, README, third-party ledger, Inter OFL notice, and TinySoundFont MIT notice.
  • MIDI Health with beta blocker transition assertions: PASS.
  • Maximum-lane Instrument source independence: PASS with maxLaneRoundTrip=1.
  • Full-arrangement WAV export: PASS software evidence (X05-A) with tempo-derived duration, active-loop immunity, 24-bit stereo output, monotonic progress, late-song content, shared-effect tail decay, live/offline render parity from the same captured state, atomic replacement, and cancellation preservation. Human listening and cancellation of a long real project remain required.
  • Arrangement MIDI export: PASS with exact note timing/length, lane channels, drums-only isolation, bank/program/CC payload, and tempo/meter/key metadata.
  • MIDI stem package: PASS with three lane-isolated stems, full arrangement, manifest, sizes, and checksums.
  • Customer-build sessions 1 through 7 remain intentionally unsigned.

The exact clean-checkout proof closes the automated R01 gate only. Physical MIDI latency, musician listening, visual readability, installer/signing, external-DAW compatibility, and TG55 distribution clearance remain human evidence. Automation apply/delete, recording publication, recovery retention, project archives, SysEx state handling, Panic reset, and Hardware Passport persistence have deterministic backend coverage, but their physical or perceptual portions remain in the sessions below.

2026-08-02 Lane Routing Hands-On Checks

Check Human action Pass evidence
L04 Mixer reassignment Arm an Instrument lane, play it live, reassign its Mixer channel, then mute the old and new channels in turn. Save and reopen. Live and arranged audio move immediately to the new channel; only the new channel controls/meter affect it; badge and reopened project show the same channel.
L05 MIDI policy Assign a specific input device/channel, MIDI output channel/device, route target, and Hardware Passport to one lane. Save and reopen the project. The routing panel and lane/status labels show the same policy after reopen; a real hardware note test follows that exact destination after confirmation.
L06 Drum/Instrument boundary Add an Instrument lane so it sits at the top of the stack, then add another Drum lane. Add and edit clips on both, open each editor, save, and reopen. Instrument clips always open Piano Roll/the assigned synth and never trigger Drum Pads; Drum clips always open Drum Composer and keep the chosen pad bank/pattern, regardless of lane position.
L07/A04 Clone and Variant CLONE one melodic clip, change its notes or chords, then give the two placements different Clip Local automation. Make one placement a VARIANT and edit it again. Save and reopen. Both CLONE placements share note, chord, and shared-pattern edits while retaining independent Clip Local automation. The VARIANT keeps the same lane, Instrument, Mixer, and MIDI route but its musical edits no longer affect the source or remaining clone.
A05 Resize and split Create a 128-step Instrument clip containing early and late notes, chords, and both shared and Clip Local automation. Shrink it to 32, Undo/Redo, expand to 128, then Ctrl+U it and move the pieces apart. Save and reopen. Shrink hides rather than deletes late source content; expansion restores it. Undo/Redo and reopen retain exact lengths and source offsets. Split pieces have separate clip identities and local automation but visibly remain linked to the same notes/chords. Events beginning on a cut boundary belong to the right-hand piece; a sustained event that began in the left piece is not cloned as a second trigger.
A06 Gap replacement On an Instrument lane and the primary Drum lane, REMOVE material to make preserved gaps. Paste shorter, equal, and longer clips into selected gaps, including a longer clip spanning two adjacent gaps. Undo/Redo and reopen after each case. Shorter paste leaves one selectable remainder; equal paste leaves none; longer paste consumes adjacent gaps. Nothing following the replacement moves, no hidden clip remains, and unrelated Instrument/Drum lanes, Sections, notes, and automation remain unchanged.
A07 Capacity refusal Build a dense Arrangement, leave a selected gap, then try CUT IN 2, CLONE/Shift-drag clone, Instrument paste, and Drum paste when the operation would exceed capacity. Before each attempt, perform and Undo a harmless edit so Redo is available. The operation either completes fully or reports that nothing changed. No gap edge disappears, no partial Drum chain update appears, project content is unchanged after refusal, and the prior Redo still restores its edit.
S01 Drum Composer editing Left-click an empty step, adjust Accent, Probability, and Ratchets with long drags, Undo/Redo each, then right-click the step. Use Ctrl+A/Delete within one 16-step bank. Finally Clear a 64-step Drum pattern that shares Piano Roll notes and Chord Engine markers. Entry selects the new step; another left click auditions without deleting; Shift+right selects and right-click deletes. Each drag is one Undo action. Bank deletion touches only the visible bank. Clear removes Drum steps only and preserves the 64-step duration plus melodic/chord data.
S02 Piano Roll editing In an Instrument clip, create notes, select and move stacked duplicate notes independently, resize from both edges, draw velocity through several values, right-drag across three notes to erase, and Shift-drag a note with and without actual movement. Undo/Redo after every gesture. Repeat in a 512-step clip and try opening a Drum-owned clip in Piano Roll. Each continuous gesture is one Undo decision; a click/no-movement clone creates nothing and preserves Redo. Duplicate notes remain independently selectable. FIT centers selection and reset exposes the full source window. Notes at MIDI 0/127 and late source offsets remain editable. Drum-owned material is refused without data/history changes.
S05 Transport consistency In Arrangement, place the playhead away from measure one, Play/Pause with both the button and Spacebar, enable a loop, and verify playback starts at its beginning. Open an Arrangement clip in Piano Roll, click its ruler, and Play. Enter isolated Drum Composer/Piano Roll mode and repeat rewind/forward. Start a count-in recording, cancel before playing, then Undo/Redo. Finally send MIDI Start/Stop and MMC Play/Pause/Stop from configured hardware. Button and Spacebar agree; Pause/Resume retain exact position; restart/1 is distinct; an active Arrangement loop wins on Play; Piano Roll ruler clicks land at the corresponding absolute song step; isolated boundary navigation never jumps to Arrangement clips/Sections; only one loop scope remains active; cancelled count-in leaves no created clip and restores metronome/history. Hardware chase pauses/starts cleanly and does not leave recording armed, held notes, or a stranded metronome state.
S06 Long Instrument clips Create or import 128-, 256-, and 512-step Instrument material, including a clip that exposes a nonzero source offset. FIT the clip, zoom into an early and late note, scroll and middle-drag to both ends, play through the zoomed view, edit a late note, set a Piano Roll loop, save, close, and reopen. Also extend a Drum clip beyond 64 steps. FIT shows the complete selected source window at the largest useful scale; selected-note FIT centers it; scrolling cannot escape the source window; a zoomed view follows only when playback exits it; late edits affect only the visible excerpt; the loop lands on the corresponding Arrangement steps; reopen preserves source offset, length, edits, view-safe behavior, and loop. A long Drum clip repeats its authored 64-step Drum Composer cycle rather than inventing inaccessible source notes.
S07 Context-local Clear Put Drum steps, Piano notes, Chord markers, Shared PTN automation, Clip Local automation, and Lane Local automation into linked clips. Clear from Drum Composer, Undo/Redo, then Clear from Piano Roll and Undo/Redo. Repeat after selecting a different clip while the confirmation is open, and on a repeated Drum block. Drum Clear removes only Drum steps. Piano Clear removes only notes and Chord markers. The dialog identifies the original pattern and reports every Arrangement/chain reference. Selection changes cannot redirect the confirmed clear. Automation, duration, repeats, placement, routing, unrelated payloads, and an independent VARIANT remain unchanged. Cancel and already-empty Clear create no history.
S08 Shortcut consistency Exercise the shortcut guide from Arrangement, Piano Roll, Drum Composer, Automation, a focused text field, an open menu, a focused slider, and a recently clicked button. Test plain X versus Ctrl+X, Space, 1, Home/End, Copy/Paste, transpose, Undo/Redo, and Escape. Repeat on every supported keyboard layout available to beta testers. Each physical gesture performs exactly one documented command. Typing and value entry never change the song behind the focused control. Passive button focus does not block transport. Empty Copy preserves the previous clipboard, no-op commands preserve Redo, plain X dismisses without stealing Ctrl+X, and Escape removes both visible selection and any destructive hidden target.
X04 patch/Mixer ownership On an Instrument lane, set obvious gain, pan, EQ, Reverb, Halostar, and EchoRay values. Load several factory and user patches, save a new patch, switch Instruments, reassign the Mixer channel, save, and reopen. Patch changes alter only the Instrument voice. Mixer values never jump or reset; the assigned channel remains authoritative; stems and reopened playback retain the deliberate mix. VOICE SHAPING is understandable as part of the synth rather than a hidden send rack.
X01 lane/Mixer truth Route four audible Instrument lanes to channels in Mixer banks 1-16, 17-32, 33-48, and 49-64. Give them obvious pan positions, hold long live/arranged notes, toggle lane and Mixer Mute/Solo while they sound, and inspect each meter. Only the assigned strip meters and sounds; pan shape agrees; lane and Mixer Mute/Solo silence already-sounding voices immediately; the lane badge, Mixer tooltip, rendered sound, and stem description identify the same channel.
X02 Mixer persistence Set conspicuous gain, pan, mute, solo, and output choices in all four banks. Switch banks and pages repeatedly during playback, save, close, and reopen. Use Reset Audio only at the end. Navigation changes no value. Hidden Solo remains active and disclosed. Reopen restores controls and routing exactly. Reset Audio deliberately clears mute/solo, returns outputs to Main, and updates the Multi-Out button.
X01/X02 host outputs Enable Multi-Out in a host with auxiliary buses, route several channels to different outputs, then load another project and Reset Audio. Enabled buses receive their assigned channels; unavailable buses fail safely to Main; project load/button state agree; Reset Audio visibly returns everything to Main.

2026-08-03 Audio Safety And Continuity Hands-On Checks

Check Human action Pass evidence
Shared effects Feed obvious transients and sustained material into Halostar, Reverb, EchoRay, Chorus, Flanger, Phaser, Tremolo, and Octave. Move every exposed control while listening, then disable each return. Each processor has a distinct audible response, controls move the intended quality in real time, ambience/delay tails remain finite, modulation/pitch returns fall back to silence, and disabled returns are silent. Octave adds no idle DC or low-frequency thump.
Panic project purity Save, create held notes/sustain and active external MIDI, press Panic, then Undo and save again. Sound and held hardware state stop immediately; Panic creates no Undo item and does not change the saved song.
Reset Audio Undo Set conspicuous mute, solo, output, master volume, LPF, and lane states. Press Reset Audio, then Undo and Redo. Reset visibly restores an audible safe path as one action; Undo restores every authored value exactly; Redo reapplies the rescue.
Master volume and limiter Compare several musical passages at unity and reduced project volume, then deliberately exceed the limiter threshold. Volume changes are smooth and precise; limiter prevents overload without unexplained pumping, crackles, or image collapse at ordinary settings.
Long playback navigation Loop and play a dense project for at least 30 minutes while visiting every main page, Mixer bank, hidden channel panel, and Synth editor. Audio remains continuous and finite; no lane disappears, return goes silent, Mixer value changes, or measure-start stutter appears.
Render/listen comparison Render the whole song and lane stems with late clips and long effects tails, then compare against live playback. Duration, late material, lane isolation, level/pan, and audible tails agree; progress and completion location remain clear.

Session result: NOT RUN / BLOCKED / PASS

Automated baseline, 2026-08-08: the production 256-step note-to-thumbnail path retains opening and final temporal regions within its 32-mark budget, and the factory-instrument default sweep passes recall, finite audio, release, and concert-pitch contracts where applicable. Human inspection of thumbnail readability and human listening to every engine remain required.

2026-08-08 Portable Source-Backed Patch Check

Check Human action Pass evidence
Liftoff/Lunacy portability Load a distinctive WAV, save a patch, move the .ssynth together with its _Sources folder, remove or corrupt the original WAV, then load and audition the moved patch. Repeat for Liftoff and Lunacy. The moved patch loads from its bundle, displays the expected source and patch name, recalls its controls, and sounds like the saved source.
Save over portable patch With the moved patch loaded from its bundled WAV, change one parameter and save over the same patch. Close and reload it. The bundled WAV remains present and playable; the changed parameter recalls; no false success message appears.
Missing-source refusal Temporarily remove both bundled and original WAVs, first load another known Instrument sound, then attempt to load the broken patch. SpaceAge names the missing/unreadable source, does not audition, and leaves the previous sound, controls, and patch name unchanged.

2026-08-08 Project-Level Instrument Source Repair

Check Human action Pass evidence
Semantic Liftoff/Lunacy relink Save a project using distinctive external Liftoff and Lunacy WAV sources. Close SpaceAge, move both WAVs, reopen, and inspect Library repair. Repair once by folder and once with an explicit replacement file. The source fields say SOURCE MISSING, Library identifies Liftoff Source / Lunacy Source under the owning Instrument, repaired audio returns, the warning disappears immediately, and save/reopen retains the repaired path.
Intentional source clearing Recreate one missing Liftoff or Lunacy source, then use that engine's Clear Source action instead of relinking. The engine returns to its generated source, its missing-source receipt disappears immediately, and unrelated sample, SoundFont, Quasar, loop, and Instrument dependencies remain untouched.
Unreadable existing file Replace a referenced source WAV with a same-named corrupt file, then reopen the project. SpaceAge still reports the source as unavailable and does not mistake filesystem existence for a usable sound.

2026-08-08 Complete Project Private Instrument Portability

Check Human action Pass evidence
Missing-resource publication refusal With one project referencing external Lunacy, SoundFont, and Quasar resources, move all three away and immediately attempt Export Complete Project. Export stops before publication, reports all missing assets, and instructs the user to repair or clear them. No apparently complete package is produced.
Mixed-resource complete project Build a song using an ordinary Pad sample, distinctive external Liftoff and Lunacy sources, a SoundFont preset, and a Quasar Instrument. Export Complete Project, close SpaceAge, remove or move every original resource, then import the package into a new folder. Import reports five remapped references; Pad, Liftoff, Lunacy, SoundFont, and Quasar all sound immediately; resource labels point inside the imported project; Library shows no missing rows.
Package independence Copy the exported package to another writable drive or clean test machine and import it without recreating the original source-folder structure. The project opens and plays identically without asking for any original paths or exposing those private paths in the staged project data.
First ordinary save after import After the mixed-resource package opens and plays, use ordinary Save As, close SpaceAge, and reopen that newly saved project rather than importing the package again. Pad, Liftoff, Lunacy, SoundFont, and Quasar remain available and correctly identified; no original-machine path is requested; Library shows no missing rows.

2026-08-09 Complete Project Integrity And Mixed Recovery

Check Human action Pass evidence
Corrupt source refusal After loading external audio, SoundFont, and Quasar content, replace one copied source with corrupt bytes while SpaceAge remains open, then attempt Complete Project export. Export refuses before publication, identifies unreadable assets, and leaves the active project and prior destination intact.
Corrupt package import refusal Corrupt one packaged audio resource in a disposable Complete Project copy and attempt import. Import refuses before adopting the project; no half-imported session replaces the current work.
Original-name folder repair Import a Complete Project, remove its imported asset folder, then choose the original pre-export source folder in Repair Missing Assets. Archive-prefixed audio and Quasar dependencies reconnect in one folder-repair pass where names are unique.
Clear missing reference without repair Load a project with unavailable audio and Instrument sources. Use one per-asset Clear Without Repair action, then Clear All Without Repair, save, close, and reopen. Each action requires confirmation, the corresponding sound remains absent, cleared warnings disappear immediately, and they remain absent after save/reopen. Cancel leaves the project unchanged.
Mixed recovery provenance Start from an imported project, add one external source, create/load recovery after moving only that external source, repair it, save normally, and reopen. Only the moved external source is listed; imported resources remain audible and keep imported paths; both sources survive final reopen.
FLAC manual repair Relocate a referenced FLAC Pad, Liftoff, or Lunacy source and choose explicit replacement. FLAC is selectable and the repaired source becomes audible without affecting unrelated dependencies.

2026-08-09 VST3 host-session note

Automated R03-A now proves wrapper discovery, instantiate, MIDI-to-audio at 44.1/48 kHz, exact state restore, and editor reopen. Human beta still needs named-DAW checks for: scan location, project save/reopen, transport and tempo context, automation writing/reading, audio-device changes, editor resizing, and clean unload. Record the DAW name and version with each result.