| name | spiffy-carryover |
| description | Carry shared or u64-specific 1541ultimate changes into Spiffy c64u while preserving Spiffy-only behavior such as WASD differences. |
Intent
Use this skill when asked to onboard 1541ultimate u64 changes into c64u, sync Spiffy from 1541ultimate, or merge authored u64 carryover work without losing existing Spiffy behavior.
Workflow model: inventory -> compare -> merge -> validate, always ending with the patched outcome in patches/spiffy-ultimate.
Inputs
- The upstream
1541ultimate commit range, files, or feature area to carry over.
- The current Spiffy target area under
work/spiffy-ultimate or patches/spiffy-ultimate.
- The validation target, normally
c64u.
Execution
- Identify the exact
1541ultimate source changes that should move into Spiffy.
- Compare those changes against the current Spiffy source and any existing patch overlay before editing.
- Treat Spiffy-only behavior as authoritative local intent unless the user explicitly asked to drop it.
- When
1541ultimate and Spiffy both changed the same area, merge them deliberately instead of copying one side over the other.
- Preserve Spiffy-only deltas such as the existing WASD-related
c64u behavior while bringing over compatible 1541ultimate improvements.
- In the USB HID keyboard path, preserve Spiffy's boot-keyboard preference for boot-capable keyboards unless you have validated a replacement on real
c64u hardware; a report-protocol-first carryover can leave normal keys dead while special combinations such as CBM+Restore still appear to work.
- Write the merged outcome into
patches/spiffy-ultimate, not upstream/.
- Re-run the smallest relevant
./forge build ... validation, then transiently run on c64u when the task requires device validation.
Validation
- Confirm the final merged file or files live under
patches/spiffy-ultimate.
- State which Spiffy-only deltas were preserved during the merge.
- When the carryover touched USB HID input, explicitly confirm whether the boot-keyboard preference was preserved or intentionally replaced.
- Report the exact
./forge build c64u and ./forge run c64u results when the carryover touched runtime behavior.
Safety
- Never replace a Spiffy file wholesale with
1541ultimate content until you have checked for Spiffy-only deltas.
- Do not lose
c64u-side behavior that is absent upstream, including known WASD-related menu and input changes, unless the user explicitly asks for that regression.
- Treat any HID change that leaves only CBM+Restore working as a keyboard regression, not a partial success.
- Do not edit
upstream/; keep the shareable merged result in patches/spiffy-ultimate.