Skip to content

0.8 Release Testing

Nick Hamze edited this page Jul 23, 2026 · 2 revisions

SwanSong 0.8 Release Testing

SwanSong 0.8 connects the Translation Lab's exact capture tools into a whole-game certification workflow, adds Story Forge quality evidence, and makes the signed Homebrew shelf more visual. Use only games, projects, manuscripts, and homebrew you own or are authorized to use.

Expected app identity: SwanSong 0.8.1 (17).

The joyful path

  1. Update from SwanSong 0.7.2 and confirm the library, artwork, saves, controller map, recent games, linked projects, and update preferences remain intact.
  2. Open Homebrew. Confirm approved title screens stay crisp, selection opens the redesigned inspector, status chips are accurate, actions span the inspector, and every resource row opens its named destination.
  3. Open a Translation Surface Suite, choose its qualified ABI, run the suite, review its native frames, and produce the final certificate.
  4. In Story Forge, build Narrative Pulse, preserve one live-reader moment, and create Story Proof and Story Ribbon from an exhaustive passing playthrough.
  5. Open a horizontal game, a vertical game, Time Ribbon, and a visual save state. The isolated engine should remain invisible during ordinary play.

Translation Surface Suites

  • Import only a source-free suite manifest. Every stable case ID must bind its exact Original and Patched diagnostic ROM digests, input plan digest, ordered checkpoints, endpoint fingerprints, and expected-change rectangles.
  • Use a suite with different viewer ROMs across cases. Confirm every lane starts from clean boot with empty persistence, fixed RTC, Open IPL, and the selected qualified ABI.
  • Capture several named checkpoints during one replay. Check that their native dimensions, orientation, frame identity, and ordering remain exact.
  • Interrupt a run, then resume it. A passed case may be reused only after its result and every generated artifact validate again. Failed and incomplete cases must run again.
  • Deliberately exercise wrong endpoint, no visible delta, dimension/orientation drift, protected-region changes, stale route, and changed ROM or input-plan digest. Each must fail before human approval is possible.

Native review and final handoff

  • Review every stable ID as Original, Patched, blink, and difference at exact native 1×. Scaling or interpolation must not disguise a fitting problem.
  • Record semantic, functional-microcopy, and visual-fit verdicts separately. A condensed rendering needs its own explicit decision.
  • Record observed audio status without treating routine PCM comparison as an automatic approval gate.
  • Complete every required decision, then create one immutable certificate. Confirm it binds stable paths, source and evidence digests, coverage counts, endpoints, native-frame reviews, and audio observations.
  • Try to certify a staging, temporary, partial, or per-case path. Final handoff must reject it. Repeating certification may reuse the existing certificate only after full revalidation produces identical bytes.

Route authoring

  • Append a bounded sequence of input holds in one observed-play operation and capture selected named checkpoints.
  • Branch from an exact saved frame prefix. The new session must reconstruct the prefix from clean boot and preserve the source session's private plan.
  • Finish both routes and confirm their persisted plans replay from boot without depending on a save state or hidden live-engine state.
  • Reject more than 256 segments, more than 600 frames in one hold, or more than 24,000 total frames.

Story quality workbench

  • Narrative Pulse should show load-bearing events, open questions, motif appearances, and long flat stretches without declaring a required emotional curve or quality score.
  • Begin a named, manuscript-bound live-reader session. Preserve laughed, moved, confused, paused, bored, and wanted-more moments as separate reader notes; a changed manuscript must require a fresh session.
  • Story Proof must bind intended turns and consequences to the exhaustive SwanSong route, accepted input, presentation, fade, native audio, reachable next state, and required ending. Story Ribbon should display the checkpoint sequence without claiming literary approval.

Homebrew Catalog

  • Confirm all approved bundled title screens render with nearest-neighbor pixels and the placeholder remains available for entries without artwork.
  • Exercise not-installed, installing, installed, update-available, canceled, and failed states. Badges and full-width actions must follow the real state.
  • Check the Details values and Release, Source Code, License, and Asset Provenance destinations against the signed catalog entry.
  • Keep the catalog network-silent until Browse, Refresh, or a listed download is explicitly selected.

Everyday library and Developer Tools

  • With Developer Tools off, confirm library cards omit Picture Appeared, Not Tested Yet, and Needs Attention compatibility badges.
  • Select a game and confirm the complete Game Confidence panel, compatibility verdict controls, notes, and related accessibility descriptions remain hidden while Play, repair, game details, and save controls stay available.
  • Enable Developer Tools and confirm those confidence surfaces return. Disable Developer Tools again and confirm they disappear without changing the saved compatibility evidence.

Trust and regression gates

  • Retain Open IPL, imports, keyboard/controller play, Time Ribbon, save states, portrait fitting, app updates, Safe Mode, and privacy-safe Support Bundles on both Apple silicon and Intel.
  • Confirm the sandboxed engine service, signed local helper, login-Keychain prohibition, capture-bound source-probe closure, ABI 9/10 selection, and General DMA lineage gates still pass.
  • Verify Developer ID signature, notarization ticket, staple, Gatekeeper, universal architectures, privacy manifest, exact source archive, SPDX SBOM, release manifest, checksums, and GitHub attestations as one release set.
  • Test the stable Sparkle update from 0.8.0 to 0.8.1, relaunch, library preservation, opted-out silence, and the current-version/no-update result.

For a report, create the privacy-safe Support Bundle and describe the visible result. Never attach a game, save, state, screenshot, private project, manuscript, Translation Lab evidence, or surface-suite artifact to a public issue.

Clone this wiki locally