prometeu-studio/discussion/workflow/plans/PLN-0086-rgba8888-final-integration-and-residue-removal.md
2026-05-23 22:26:12 +01:00

160 lines
4.2 KiB
Markdown

---
id: PLN-0086
ticket: studio-packer-rgba8888-asset-pipeline
title: RGBA8888 Final Integration and Residue Removal
status: done
created: 2026-05-23
completed: 2026-05-23
ref_decisions:
- DEC-0037
tags:
- integration
- validation
- residue-removal
- rgba8888
---
## Objective
Run final integration checks and remove normal-path RGB565 residue after the
spec, model, emission, projection, and test plans are implemented.
## Background
`DEC-0037` prohibits RGB565 compatibility mode, normal `convertedRgb565`
projection, magenta color-key behavior, reserved palette index `0`, and partial
alpha flattening. Final validation must prove that the repository implements
those constraints coherently.
## Scope
### Included
- Repository-wide residue audit.
- Full relevant Gradle test execution.
- Discussion workflow validation.
- Final implementation notes for follow-up plan or lesson creation.
### Excluded
- New feature design.
- Runtime repository changes.
- Variable palette-count work in `DSC-0005`.
- Manual regeneration of `main` and `fragments`.
## Execution Steps
### Step 1 - Run focused residue searches
**What:** Find stale RGB565 palette-contract residue.
**How:** Search production specs/code/tests/fixtures for:
`convertedRgb565`, `originalArgb8888`, `RGB565`, `rgb565`, `COLOR_KEY`,
`magenta`, `2048`, `indices 1..15`, and partial-alpha flattening text.
Classify each match as removed, historical discussion-only, or out-of-scope.
**File(s):**
- `docs/specs/packer/**`
- `docs/specs/studio/**`
- `prometeu-packer/**`
### Step 2 - Run packer tests
**What:** Execute the packer test suite.
**How:** Run the Gradle test task that covers `prometeu-packer-v1` and related
API modules.
**File(s):**
- Gradle modules under `prometeu-packer`
### Step 3 - Run broader build validation
**What:** Verify Studio build integration still compiles.
**How:** Run the repository's standard build or the narrowest existing Gradle
task that compiles Studio plus packer consumers.
**File(s):**
- Root Gradle project
- `prometeu-app`
- `prometeu-packer`
### Step 4 - Validate discussion workflow
**What:** Ensure discussion artifacts remain consistent.
**How:** Run `discussion validate` after implementation and before any
housekeeping.
**File(s):**
- `discussion/index.ndjson`
- `discussion/workflow/**`
### Step 5 - Record remaining intentional residue
**What:** Document any allowed remaining RGB565 references.
**How:** If matches remain only in historical discussions, runtime references,
or explicit future migration notes, list them in the implementation summary so
housekeeping and lesson work can distinguish intentional context from missed
normal-path behavior.
**File(s):**
- Implementation summary or future lesson, after code work is complete.
## Test Requirements
### Unit Tests
- Packer unit tests must pass.
### Integration Tests
- Packer workspace build/materialization tests must pass.
- Studio compile/build validation must pass.
### Manual Verification
- Residue search results must contain no normal-path `convertedRgb565`,
RGB565 glyph palette payload, magenta color-key, reserved index `0`, or
partial-alpha flattening behavior.
## Acceptance Criteria
- [x] `discussion validate` passes.
- [x] Packer tests pass.
- [x] Studio/packer build validation passes.
- [x] Normal specs/code/tests/fixtures contain no stale RGB565 glyph-palette
contract residue.
- [x] Remaining stale-looking matches, if any, are documented as historical or
explicitly out of scope.
- [x] `DSC-0005` remains untouched except by explicit future work.
## Execution Notes
- `discussion validate` passed.
- `./gradlew build` passed.
- Residue search found only:
- normative spec statements explicitly saying `convertedRgb565` and magenta
color-key behavior are not normal contract;
- `test-projects/main` asset manifests, which are intentionally out of scope
for this implementation because they will be regenerated manually later.
- `DSC-0005` was not modified.
## Dependencies
- Depends on `PLN-0081` through `PLN-0085`.
## Risks
- A broad residue search may include historical discussions and cause false
positives.
- Generated project cache files may change during tests; those changes must be
reviewed separately from source edits.