Skip to content

0.4 Beta Testing

Nick Hamze edited this page Jul 19, 2026 · 3 revisions

0.4 Beta Testing

Test only game, homebrew, and SDK project material you own or are authorized to use. Never attach ROMs, saves, private screenshots, audio captures, cartridge source evidence, or project evidence to a public report.

This page covers the SwanSong 0.4.3 beta. Start with the parts of the app you care about, then use the focused checks below to help make the next build even better.

Primary test areas

  • use the verified SwanSong SDK 0.4.0 payload or select a 0.4.0-or-newer development checkout and verify Doctor reports the SDK, schema, Wonderful, SwanSong, Python, paths, and project configuration;
  • create Arcade Action, Menu Puzzle, and Grid Tactics projects, then move each through Assets, Build, Test, Play, Profile, Evidence, and Release;
  • run Dev, trigger source and asset rebuilds, relaunch through SwanSong, and confirm Cancel leaves no watcher or child process behind;
  • convert an actual-input export with Scenario Recorder, edit the frame plan, and prove repeated play produces deterministic state and evidence;
  • exercise deterministic fuzzing, Sprite/VRAM profiling, Asset Optimizer, and every Save/RTC Laboratory fault mode;
  • create, validate, report, and export all six authoring document kinds; inspect replay timelines; and minimize an intentional deterministic failure;
  • create intentional PNG and WAV changes, inspect them in Evidence Diff, and confirm incomplete or stale evidence blocks Release;
  • probe map, raster, palette, and sprite-attribute sources through ABI 9 and confirm private OAM ownership plus exact or conservative cartridge lineage while MCP returns source-free aggregates;
  • retain deterministic routes, paired capture, display-owner probing, observed-play recovery, the complete installed MCP surface, and normal Open IPL, play, controller, Time Ribbon, and updater coverage;
  • inspect SwanSong's Finder, Dock, direct-launch, and menu-bar swan artwork on both Apple silicon and Intel.

Guardrails

  • Studio invokes exact SDK commands and rejects unknown structured-result schemas. It does not reinterpret swan.toml, compile assets itself, or own a second release policy.
  • SwanSong is the only gameplay-validation backend. No alternate emulator may appear in commands, reports, documentation, or acceptance evidence.
  • Project folders must be explicitly selected. The bundled SDK is verified in place; choosing an external SDK is an explicit development override. Private source, ROM, save, state, persistence, diagnostics, capture, audio, and cartridge-lineage bytes stay local.
  • Only one SDK command may run at once. Cancellation terminates its process group before another command begins.
  • Release requires inspected, current, hash-bound observations for every Play Contract check. Execution success or changing hashes alone are insufficient.
  • Source probing rejects invalid geometry and keeps cartridge ranges, emulated addresses, OAM fields, display chains, executed-read context, conservative origins, and outside consumers in the private project. Ambiguous, genuinely overflowing, or conservative dataflow is marked incomplete. More than eight disjoint exact ranges are permitted only inside the 256-range and 64 MiB private-evidence bounds.
  • Live MCP stays off by default, token-authenticated, and limited to its documented data and tool allowlists.

Expected boundaries

SwanSong 0.4.3 embeds SDK 0.4.0 but not Python or Wonderful. Install those external dependencies before running Doctor or a build.

The published Homebrew Catalog must remain network-silent until the tester explicitly chooses Browse Games, Refresh, or a listed download. The Analogue Pocket tool remains locked until a verified stable Core release is published. Raw HID mappings are not guessed; physical input and signed update installation still require hands-on testing.

Treat Picture Appeared as a useful smoke-test result, not a complete compatibility verdict. Long play, save/restore, controller behavior, and any title-specific quirks still deserve hands-on attention.

Reporting checklist

  1. Confirm SwanSong 0.4.3 (9) in About SwanSong.
  2. Record Mac model, macOS version, architecture, SDK version, Python version, Wonderful revision, and controller when relevant.
  3. Include the Studio workspace, exact visible command, project recipe, and whether a new generated project reproduces the issue.
  4. For Play, Evidence, or Release, include the scenario/check name and sanitized status without attaching private media, paths, or identifiers.
  5. For source provenance, report only frame, rectangle dimensions, selected components, completeness, and source-free counts.
  6. For Dev or cancellation, say whether a child process remained.
  7. Distinguish Picture Appeared from an end-to-end Works verdict.

See SwanSong Studio, Translation Lab, Local MCP and Automation, Build and Test, Release Gates, App Updates, and Playing and Library for exact boundaries.

Clone this wiki locally