{"slug":"greenland-china","total":8,"limit":100,"offset":0,"since":null,"commits":[{"hash":"c534957","date":"2026-07-02 17:26:42 -0700","author":"Steve","subject":"Retrofit viewer to internal-line-viewer spec (astek 9944 pattern): left-panel collapsed field tables (10 facets, click=filter+teal badge), search+pattern type-ahead, card-field toggles to image-only wall, density 3-20 drives --cols+--fs type scale, tight 1px cards, data-href delegated clicks (no <a>-wrapped cards), grid/list with 11 sortable columns, location.origin fetches, greenland.* localStorage; new read-only /api/rows; E2E-verified chromium+webkit (0 console errors)","body":"Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>"},{"hash":"3bbaf26","date":"2026-07-01 10:51:33 -0700","author":"Steve","subject":"chore: lint defensive null-init (session close)","body":"Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>"},{"hash":"7a9094b","date":"2026-07-01 10:45:41 -0700","author":"Steve","subject":"greenland: fix sku/color field-mapping + colorway parser","body":"- scrape.js: derive real SKU (code-looking name > colorway model > code > GL-<id>);\n  read real colorway keys {model, colorDescription, thumbnail, imgs}; add collection/color\n- staging: patch 3 mis-mapped rows (862/260/262) from live detail — dupe 'JUNGLE PULSE' gone, 800/800 unique SKUs\n- viewer: color=r.color (was r.code, which is a style code not a color); pass collection\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>"},{"hash":"9e6e870","date":"2026-07-01 10:04:45 -0700","author":"Steve","subject":"extract-colors: URL-encode filenames w/ spaces + retry nulls; all 793 colors resolved","body":""},{"hash":"ea895c2","date":"2026-07-01 09:57:16 -0700","author":"Steve","subject":"greenland viewer: material+with-image filters, color-dot sorts, dominant-hex extractor; QA report + DW onboarding map","body":""},{"hash":"4ffa8a5","date":"2026-06-30 10:09:33 -0700","author":"Steve Abrams","subject":"auto-save: 2026-06-30T10:09:30 (1 files) — staging/greenland.jsonl","body":""},{"hash":"69b68a9","date":"2026-06-30 09:39:24 -0700","author":"Steve Abrams","subject":"auto-save: 2026-06-30T09:39:21 (1 files) — staging/","body":""},{"hash":"fc9618a","date":"2026-06-30 09:27:16 -0700","author":"Steve Abrams","subject":"scaffold greenland-china: feed-first scraper + Sangetsu-pattern viewer","body":"API discovered via SPA JS bundle reverse-engineering:\nbase=https://api.greenlandwallcoverings.com/api\n/product/page (paginated, total 880), /product/{id} (full specs),\n/category/0 (tree), /downloadFile (images). No anti-bot on the API.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>\n"}]}