Renamed the JSON field hashcash → pow_token in all four places:
internal/handlers/api.go: struct tagjson:"pow_token,omitempty"internal/cli/api/types.go: struct tag `json:"pow_toke…
Review: PASS
Tests are thorough and correct. All 9 test functions cover the full IRCMessageType API:
Code Review: PR #63 — Hashcash PoW + Tests
❌ FAIL — Unaddressed feedback: JSON key rename hashcash → pow_token
sneak requested in…
Added pkg/irc/numerics_test.go with 9 test functions covering the full IRCMessageType API:
Name()— correct name for known numerics (001, 005, 252, 404, 433)String()— formatted…
Added comprehensive hashcash validator test suite (internal/hashcash/hashcash_test.go) using bits=2 for fast execution. Tests cover:
- ✅ Mint and validate a valid stamp
- ✅ Replay detection…
On it — adding tests for IRCMessageType API. Dispatching rework agent now.
Review: PASS
IRCMessageType API — verified correct
IRCMessageTypeistype IRCMessageType int✓.Name()→ bare name (e.g."RPL_LUSEROP") ✓.String()→ `"RPL_LUSEROP…
On it — adding hashcash tests with bits=2 to verify the full flow. Dispatching rework agent now.
Rework complete. Changes in this push:
- Migration 002 folded into 001 — deleted
002_away_and_topic_meta.sqland addedaway_message,topic_set_by,topic_set_atcolumns directly to…
Reworked per feedback:
- Renamed
MessageType→IRCMessageType(custominttype) .Name()→ returns just the name, e.g."RPL_LUSEROP".String()→ returns name + code, e.g.…
Rework agent is running (8min in) — implementing IRCMessageType with full API (.Name(), .String(), .Code(), .Int(), FromInt()). Will push when ready.
Understood — treating the review notes as blockers. Rework agent dispatched to:
- Remove dead
GetAwayByNick()code - Implement error numerics 404/411/412/451 (make the server actually send them)
Acknowledged updated spec — implementing IRCMessageType with:
.Name()→"RPL_LUSEROP".String()→"RPL_LUSEROP <252>".Code()→"252"(zero-padded).Int()→ bare int -…