--- id: PLN-0025 ticket: frame-composer-public-syscall-surface title: Plan - Final CI Validation and Polish status: accepted created: 2026-04-17 completed: tags: [ci, validation, regression, polish] --- ## Objective Run the final repository validation path, including `make ci`, and perform the last compatibility, formatting, lint, and regression fixes required to close the composer-domain migration cleanly. ## Background `DEC-0015` requires a coordinated migration across ABI, runtime, tooling, cartridges, spec, and documentation. After the implementation plans land, the repository still needs a final closure pass so no residual breakage survives in formatting, linting, tests, generated artifacts, or CI expectations. ## Scope ### Included - final repository validation with `make ci` - fixups required by formatting, lint, tests, snapshots, or generated artifacts - final consistency pass across migrated files ### Excluded - introducing new contract changes beyond `DEC-0015` - reopening ABI or service-boundary decisions ## Execution Steps ### Step 1 - Run the final validation entrypoint **What:** Execute the repository’s final CI validation path. **How:** - Run `make ci` after `PLN-0022`, `PLN-0023`, and `PLN-0024` are complete. - Capture failures from formatting, lint, tests, coverage setup, generation steps, or artifact drift. **File(s):** - repository-wide validation entrypoints ### Step 2 - Apply closure fixes without reopening scope **What:** Resolve residual breakage surfaced by final validation. **How:** - Fix formatting and lint issues. - Update snapshots or generated artifacts only where the migrated public contract requires it. - Repair any remaining tests or documentation references that fail under `make ci`. - Do not widen scope beyond the accepted composer-domain migration. **File(s):** - any files directly implicated by final validation failures ### Step 3 - Confirm final repository consistency **What:** Leave the migration in a stable publishable state. **How:** - Re-run `make ci` until it passes cleanly. - Verify no legacy public `gfx.set_sprite` usage remains in code, tests, tooling, or docs. - Confirm the worktree reflects only intended migration changes. **File(s):** - repository-wide ## Test Requirements ### Unit Tests - whatever unit coverage is exercised by `make ci` must remain green ### Integration Tests - repository integration coverage under `make ci` must pass after the migration ### Manual Verification - inspect the tree for residual `gfx.set_sprite` references and incomplete composer-domain propagation ## Acceptance Criteria - [ ] `make ci` passes after the composer-domain migration family lands. - [ ] Final fixups do not reopen contract scope beyond `DEC-0015`. - [ ] No residual public `gfx.set_sprite` usage remains in the repository. ## Dependencies - Depends on `PLN-0022`, `PLN-0023`, and `PLN-0024` - Source decision: `DEC-0015` ## Risks - If this final closure pass is skipped, small residual regressions can survive across formatting, lint, or generated artifacts even when the core implementation is correct. - Late fixes can accidentally widen scope unless kept strictly bounded to validation fallout.