⚠️ CRITICAL: JCOP GP Auth Counter — Locked Fob Incident

# ⚠️ JCOP GP Authentication Counter — Critical Warning

## What Happened

One key fob was permanently locked during development testing. The card returns:
- `69FF` for INITIALIZE UPDATE
- `6280` with data `"auth exceed"` (hex: `6175746820657863656564`) for SELECT by DF name

## Root Cause

NXP JCOP cards have a **GP authentication retry counter** that:
- Increments on each failed INITIALIZE UPDATE (wrong key version, malformed command)
- Does NOT auto-reset on power cycle (stored in EEPROM)
- When exhausted, **permanently blocks** all GP operations (INITIALIZE UPDATE, EXTERNAL AUTHENTICATE)

Our code sent INITIALIZE UPDATE 3x per card insertion (trying key_ver 0x00, 0xFF, 0x01). Over 10+ test runs = 30+ attempts, exhausting the counter.

## Prevention Rules

1. **NEVER retry INITIALIZE UPDATE with different key versions** — always use P1=0x00 (default)
2. **Send INITIALIZE UPDATE exactly ONCE** per card insertion
3. **If it fails, do NOT retry** — remove and re-place the card instead
4. **Never send EXTERNAL AUTHENTICATE** without a successful INITIALIZE UPDATE first
5. **Test on fresh cards** — don't reuse the same fob across many test cycles

## Recovery Options (all require contact interface)

Since fobs are sealed (no exposed contact pads):
- ❌ JCShell via contact reader (`/term SCComm:1`)
- ❌ Factory reset via NXP tools
- ❌ GP key replacement via contact

**The locked fob is permanently unusable for GP operations.**

## Code Fix Applied

`crates/kf-dev-station/src/nfc_reader.rs`: removed the `for key_ver in [0x00, 0xFF, 0x01]` loop. Now sends a single INITIALIZE UPDATE with P1=0x00.


id: a386ab6973a14c798022b3e19c464954
parent_id: beb251c3b3f9490285e6cb68942a5145
created_time: 2026-08-03T16:20:11.234Z
updated_time: 2026-08-03T16:20:11.234Z
is_conflict: 0
latitude: 0.00000000
longitude: 0.00000000
altitude: 0.0000
author: 
source_url: 
is_todo: 0
todo_due: 0
todo_completed: 0
source: joplin-desktop
source_application: net.cozic.joplin-desktop
application_data: 
order: 1785774011234
user_created_time: 2026-08-03T16:20:11.234Z
user_updated_time: 2026-08-03T16:20:11.234Z
encryption_cipher_text: 
encryption_applied: 0
markup_language: 1
is_shared: 0
share_id: 
conflict_original_id: 
master_key_id: 
user_data: 
deleted_time: 0
is_locked: 0
extracted_resource_ids: 
type_: 1