michael
9c84f9e7b0
feat(rawcli): command catalog + function-style commands (Phase 4)
- catalog.py: declarative per-transponder command sets (name, params,
build(args)->bytes, help). Seeds: Type 2 (NTAG/UL: READ, FAST_READ,
GET_VERSION, READ_SIG, READ_CNT, WRITE), MIFARE Classic (READ/WRITE/
HALT), ISO 15693 (INVENTORY, READ_BLOCK, WRITE_BLOCK, GET_SYSTEM_INFO).
catalog_for(session) resolves by protocol + identified transponder.
- app: function-style calls (READ(4) -> build -> raw exchange ->
annotated trace); catalog-aware help (`help` lists the current tag's
commands, `help READ` shows one). Bad args print usage.
9 new tests (catalog builds, resolver, call dispatch, help). Command
knowledge is declarative + hardware-free-testable; the exchange is the
user's device test.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-14 12:13:14 -07:00
..
2026-03-15 22:11:38 -07:00
2026-07-14 09:05:55 -07:00
2026-07-04 22:48:23 -07:00
2026-07-05 22:20:04 -07:00
2026-07-05 22:20:04 -07:00
2026-07-05 00:08:40 -07:00
2026-07-05 00:34:15 -07:00
2026-07-05 00:40:07 -07:00
2026-07-05 00:08:40 -07:00
2026-07-14 09:34:24 -07:00
2026-07-05 00:08:40 -07:00
2026-07-05 00:40:07 -07:00
2026-07-05 00:10:31 -07:00
2026-07-07 18:50:02 -07:00
2026-07-14 12:13:14 -07:00
2026-07-05 18:29:12 -07:00
2026-03-18 20:56:40 -07:00
2026-03-18 20:56:40 -07:00
2026-03-18 20:04:55 -07:00
2026-03-18 20:56:40 -07:00
2026-03-18 20:56:40 -07:00
2026-03-18 20:56:40 -07:00
2026-03-18 20:56:40 -07:00
2026-03-18 20:04:55 -07:00
2026-03-18 20:56:40 -07:00
2026-03-18 20:56:40 -07:00
2026-03-18 20:56:40 -07:00
2026-03-18 20:56:40 -07:00
2026-03-18 20:04:55 -07:00
2026-03-18 20:04:55 -07:00
2026-03-18 20:56:40 -07:00
2026-03-18 20:56:40 -07:00
2026-07-05 09:53:52 -07:00
2026-03-18 20:56:40 -07:00
2026-03-18 20:56:40 -07:00
2026-07-05 09:53:52 -07:00
2026-07-05 09:53:52 -07:00
2026-03-18 20:56:40 -07:00
2026-07-05 09:53:52 -07:00
2026-03-18 20:04:55 -07:00
2026-03-18 20:04:55 -07:00
2026-07-05 09:53:52 -07:00
2026-07-05 09:53:52 -07:00
2026-07-05 09:53:52 -07:00
2026-07-05 09:53:52 -07:00
2026-07-05 09:53:52 -07:00
2026-07-05 09:53:52 -07:00
2026-07-05 09:53:52 -07:00
2026-03-18 20:56:40 -07:00
2026-07-05 09:53:52 -07:00
2026-07-05 12:58:37 -07:00
2026-07-05 01:50:39 -07:00
2026-07-05 09:53:52 -07:00
2026-03-19 12:34:10 -07:00
2026-07-05 00:20:03 -07:00
2026-07-05 01:50:39 -07:00
2026-03-18 19:24:05 -07:00