prometeu-runtime/discussion/workflow/plans/PLN-0166-publish-hub-kill-contract-spec-and-lesson-hooks.md
2026-07-05 09:42:57 +01:00

79 lines
3.0 KiB
Markdown

---
id: PLN-0166
ticket: hub-suspended-game-kill-affordance
title: Publish Hub Kill Contract Spec And Lesson Hooks
status: done
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