138760f75c
"Failed: 9000" although the delete executed: the RAM helpers sent `sp-spi2` - the base SPI2 select, whose default is "00 - No PoR" - so the card answered the envelope 9000 with no PoR and the verdict treated the missing PoR as a failure. `cardsApplyFields` also set `sp-spi2-hex` from the preset and then `updateSp()` recomputed it from the selects (which the preset never updated), clobbering the preset byte for anything reading it. - `getRamSpParams()` reads the computed `sp-spi2-hex`; `cardsApplyFields` syncs the SPI2 selects from the preset byte (base = low 5 bits, bit 0x20 = PoR via SMS-SUBMIT, dynamic option for unlisted bases) and the base select gains the missing cipher + RC/CC/DS combinations (15/19/1D). - a missing PoR is no longer a failure (the SPI may request none, and the card sometimes refuses one): `OK` with the SW, or `OK (no PoR)`. - a successful delete drops the object from the Explore result locally (no re-explore): an applet row goes away; a cascade package delete also drops the applets whose AID starts with the package AID. The consumed counter is still saved. - tests: ramRemoveFromExplorer (app/cascade/prefix), the no-PoR flow, the SPI2 source guard, and the updated delete-flow stubs. 641 frontend / 496 Python green; version 3.6.13; sw simple-v286.