--- id: PLN-0166 ticket: hub-suspended-game-kill-affordance title: Publish Hub Kill Contract Spec And Lesson Hooks status: open created: 2026-07-05 ref_decisions: [DEC-0040] tags: [hub, lifecycle, game, ui] --- ## Briefing DEC-0040 introduces a user-visible Hub lifecycle control. Any canonical spec covering Hub, lifecycle, resident games, or cartridge switching must reflect the accepted contract before implementation is considered complete. ## Objective Publish the Hub suspended-game kill contract in the appropriate canonical spec location and prepare the discussion thread for post-execution lessons. ## Dependencies - Source decision: DEC-0040. - Should run after PLN-0164, PLN-0163, and PLN-0165 identify the exact final module boundaries. ## Scope - Locate canonical specs for Hub behavior, SystemOS lifecycle, resident game state, and cartridge switching. - Add English normative text for the red bottom-right kill affordance. - Document the cleanup contract at the spec level. - Document required log/event behavior. - Leave lesson creation for post-execution housekeeping. ## Non-Goals - Do not create lessons before implementation is complete. - Do not move discussion artifacts into legacy docs paths. - Do not reopen DEC-0040 semantics unless implementation proves the contract insufficient. ## Execution Method 1. Locate canonical specs. - Search existing `specs/`, runtime docs, or repository-approved spec paths. - Do not write new normative text under `discussion/lessons/`. 2. Update Hub spec text. - State that Hub shows a bottom-right red control when a `Game` resident/suspended cartridge exists. - State that the control displays only the game title. - State that click kills immediately and keeps the user in Hub. 3. Update lifecycle/spec text. - State that manual Hub kill uses the same resident-game termination path as cartridge switching. - State cleanup obligations: task/process, VM session, resident state, render ownership, audio lifecycle, composer, assets, physical banks. - State that the killed game cannot be resumed. 4. Update logging/spec text if a logging contract exists. - Record the required INFO event and message shape. 5. Prepare housekeeping note. - After implementation and validation, run discussion housekeeping for DSC-0044 with an English lesson if the implementation yields durable knowledge. ## Acceptance Criteria - [ ] Canonical spec text exists for the Hub kill affordance. - [ ] Spec text is in English. - [ ] Spec text includes visibility, layout, click behavior, cleanup, no-resume behavior, and log event requirements. - [ ] No normative text is added to `discussion/lessons/`. - [ ] `discussion validate` passes after artifact/spec updates. ## Tests - `discussion validate` - Documentation/spec review against DEC-0040 - Any repository doc lint/check if present ## Affected Artifacts - Canonical specs location, to be identified during execution - `discussion/workflow/plans/` - Later `discussion/lessons/` only through housekeeping after implementation