docs: update CLAUDE.md and progress for sim migration

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
michael
2026-03-18 20:05:55 -07:00
parent 668170457e
commit a7b24dc215
2 changed files with 35 additions and 7 deletions

View File

@@ -67,20 +67,32 @@ All directories have `__init__.py`. Model migration from sim worktree is a separ
## Phase 4 — Scaffold `reader/` and `sim/`
**Status: Complete (scaffolded)**
**Status: sim/ migrated, reader/ scaffolded**
### sim/ migration (complete)
Migrated full sim framework from `.worktrees/sim-framework/` to `pm3py/sim/`:
- 43 source files, ~7.8k LOC
- 23 test files, 686 tests
- Import fixes: 4 source files (..protocol/..transport → ..core.*), 1 source file (pm3py.hf_15 → pm3py.trace.ndef), 2 test files (flat → core.*)
- Added sim Cmd entries to `core/protocol.py` (EML_SETMEM, SIM_TABLE_*)
- Added deps to venv: `pycryptodome`, `bitarray`
- **751 total tests passing** (686 sim + 65 core)
### reader/ (scaffolded)
Created directory trees per design:
- `reader/hf/nxp/` — NXP reader ICs (CLRC663, PN5xx)
- `reader/hf/st/` — ST reader ICs
- `reader/lf/`
- `reader/modes/` — inventory, programming, access control workflows
- `sim/` — sim session, table compiler, relay (migrate from worktree)
All directories have `__init__.py`. Sim migration (~41 files, 7.8k LOC) is a separate effort.
All reader directories have `__init__.py` stubs.
## Next Steps
- Transponder migration: extract base classes from sim worktree, populate `transponders/` modules
- Sim migration: move sim session, table compiler, relay into `sim/`
- Reorganize transponder models from `sim/` into `transponders/` hierarchy (optional — sim/ works as-is)
- Reader modes: implement inventory, programming, access workflows in `reader/modes/`
- Sniff: add `decode_iso14a.py` stub when 14443-A sniff support is added
- Unify `sim/trace_fmt.py` with `trace/` package (dedup 15693 decoders, move 14443-A decoders)
- Sniff: add `decode_iso14a.py` using decoders from `sim/trace_fmt.py`
- Sim worktree cleanup: verify parity, then remove `.worktrees/sim-framework/`