diff --git a/AGENTS.md b/AGENTS.md index ea7ba56..b56165f 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -7,11 +7,14 @@ is tracked in the **towl** work-item store under project **`reddit-spotify-linke ## Stack & layout - `service/` — zero-dependency Node resolver (Node 18+, built-in `fetch`/`http`). - `resolver.js` = the HTTP server; `lib.js` = pure, side-effect-free logic (the + `resolver.js` = the thin HTTP server that wires the real Spotify search + ollama + classify into resolve-core; `resolve-core.js` = the pure resolve orchestration + (`resolveAll`/`resolveOne`/`pickDirect`/`cacheKey`, taking injected search/classify + fns — unit-testable without network); `lib.js` = pure, side-effect-free logic (the exact-name match precision lever + link shaping) so it's unit-testable; `llm.js` = pure ollama prompt/parse helpers (the optional local-LLM gate, HTTP-only — no - in-process model runtime); `lib.test.js` + `llm.test.js` = `node:test`. The only - music API is Spotify (MusicBrainz removed). The resolver confirms **both artists + in-process model runtime); `lib.test.js` + `llm.test.js` + `resolver.test.js` = + `node:test`. The only music API is Spotify (MusicBrainz removed). The resolver confirms **both artists and albums**: one `type=artist,album` Spotify search per candidate, exact case-insensitive name match against either; each result carries `kind: "artist" | "album"`.