Japan Enrich

repo: ~/Projects/japan-enrich · 292 commits · 10 in last 24h, 58 in last 7d · ▇▅▆▇▅▆█

Search the build

292 commits indexed

  1. 12a4b77 2026-07-28 auto-save: 2026-07-28T08:28:39 (2 files) — staging/.onboard.lock staging/onboard-run.log
  2. cf89208 2026-07-28 auto-save: 2026-07-28T07:58:26 (2 files) — staging/onboard-run.log staging/.onboard.lock
  3. b75fcb1 2026-07-28 auto-save: 2026-07-28T03:57:08 (2 files) — staging/.onboard.lock staging/onboard-run.log
  4. 5c89de9 2026-07-28 auto-save: 2026-07-28T03:26:56 (2 files) — staging/onboard-run.log staging/.onboard.lock
  5. bf82c5d 2026-07-27 auto-save: 2026-07-27T23:25:34 (2 files) — staging/.onboard.lock staging/onboard-run.log
  6. 64ea808 2026-07-27 auto-save: 2026-07-27T22:55:20 (2 files) — staging/onboard-run.log staging/.onboard.lock
  7. 764fae1 2026-07-27 auto-save: 2026-07-27T18:53:10 (1 files) — staging/onboard-run.log
  8. 190237a 2026-07-27 auto-save: 2026-07-27T14:51:27 (2 files) — staging/.onboard.lock staging/onboard-run.log
  9. bb31915 2026-07-27 auto-save: 2026-07-27T14:21:14 (2 files) — staging/onboard-run.log staging/.onboard.lock
  10. 1256e40 2026-07-27 auto-save: 2026-07-27T10:19:40 (1 files) — staging/onboard-run.log
  11. 0354faf 2026-07-27 auto-save: 2026-07-27T06:18:28 (1 files) — staging/onboard-run.log
  12. 18f5572 2026-07-27 auto-save: 2026-07-27T02:17:19 (2 files) — staging/.onboard.lock staging/onboard-run.log
  13. 82ccce7 2026-07-27 auto-save: 2026-07-27T01:47:10 (2 files) — staging/onboard-run.log staging/.onboard.lock
  14. 18a80e6 2026-07-26 auto-save: 2026-07-26T21:46:09 (1 files) — staging/onboard-run.log
  15. 93e3405 2026-07-26 auto-save: 2026-07-26T17:44:55 (1 files) — staging/onboard-run.log
  16. 1f86a68 2026-07-26 auto-save: 2026-07-26T13:43:45 (2 files) — staging/.onboard.lock staging/onboard-run.log
  17. 9f3bffb 2026-07-26 auto-save: 2026-07-26T13:13:36 (2 files) — staging/onboard-run.log staging/.onboard.lock
  18. 6f70f91 2026-07-26 auto-save: 2026-07-26T09:12:24 (1 files) — staging/onboard-run.log
  19. 9a8f4c1 2026-07-26 auto-save: 2026-07-26T05:10:45 (2 files) — staging/.onboard.lock staging/onboard-run.log
  20. 968ad76 2026-07-26 auto-save: 2026-07-26T04:40:35 (2 files) — staging/onboard-run.log staging/.onboard.lock
  21. 319e12f 2026-07-26 auto-save: 2026-07-26T00:39:31 (1 files) — staging/onboard-run.log
  22. 3cd39e2 2026-07-25 auto-save: 2026-07-25T20:38:27 (1 files) — staging/onboard-run.log
  23. 5f9887d 2026-07-25 auto-save: 2026-07-25T16:37:21 (2 files) — staging/.onboard.lock staging/onboard-run.log
  24. 02f1dc3 2026-07-25 auto-save: 2026-07-25T16:07:12 (2 files) — staging/onboard-run.log staging/.onboard.lock
  25. 6820538 2026-07-25 auto-save: 2026-07-25T12:06:06 (1 files) — staging/onboard-run.log
  26. e8001ad 2026-07-25 auto-save: 2026-07-25T08:04:52 (2 files) — staging/.onboard.lock staging/onboard-run.log
  27. 36d7f48 2026-07-25 auto-save: 2026-07-25T07:34:42 (2 files) — staging/onboard-run.log staging/.onboard.lock
  28. 48adf93 2026-07-25 auto-save: 2026-07-25T03:33:15 (1 files) — staging/onboard-run.log
  29. e8a5583 2026-07-24 auto-save: 2026-07-24T23:30:18 (1 files) — staging/onboard-run.log
  30. 2b06f80 2026-07-24 auto-save: 2026-07-24T19:29:21 (2 files) — staging/.onboard.lock staging/onboard-run.log
  31. 5115769 2026-07-24 auto-save: 2026-07-24T18:59:11 (2 files) — staging/onboard-run.log staging/.onboard.lock
  32. a9df518 2026-07-24 auto-save: 2026-07-24T14:58:16 (1 files) — staging/onboard-run.log
  33. 1000e68 2026-07-24 auto-save: 2026-07-24T10:57:22 (2 files) — staging/.onboard.lock staging/onboard-run.log
  34. f8d7e28 2026-07-24 auto-save: 2026-07-24T10:27:15 (2 files) — staging/onboard-run.log staging/.onboard.lock
  35. 0086cd0 2026-07-24 auto-save: 2026-07-24T06:25:47 (1 files) — staging/onboard-run.log
  36. 1d1e318 2026-07-24 auto-save: 2026-07-24T02:24:51 (1 files) — staging/onboard-run.log
  37. aba2811 2026-07-23 auto-save: 2026-07-23T22:23:53 (2 files) — staging/.onboard.lock staging/onboard-run.log
  38. 84fc271 2026-07-23 auto-save: 2026-07-23T21:53:45 (2 files) — staging/onboard-run.log staging/.onboard.lock
  39. a8b3f88 2026-07-23 auto-save: 2026-07-23T17:52:50 (1 files) — staging/onboard-run.log
  40. 8e00209 2026-07-23 auto-save: 2026-07-23T13:51:43 (1 files) — staging/onboard-run.log
  41. 430c4c5 2026-07-23 auto-save: 2026-07-23T09:50:03 (2 files) — staging/.onboard.lock staging/onboard-run.log
  42. 48158bc 2026-07-23 auto-save: 2026-07-23T09:19:52 (2 files) — staging/onboard-run.log staging/.onboard.lock
  43. b73af89 2026-07-23 auto-save: 2026-07-23T05:18:46 (1 files) — staging/onboard-run.log
  44. 3ab0ac7 2026-07-23 auto-save: 2026-07-23T01:17:50 (2 files) — staging/.onboard.lock staging/onboard-run.log
  45. b346186 2026-07-23 auto-save: 2026-07-23T00:47:42 (2 files) — staging/onboard-run.log staging/.onboard.lock
  46. 633905b 2026-07-22 auto-save: 2026-07-22T20:46:37 (1 files) — staging/onboard-run.log
  47. 53ab475 2026-07-22 auto-save: 2026-07-22T16:45:31 (2 files) — staging/.onboard.lock staging/onboard-run.log
  48. 9b6e919 2026-07-22 auto-save: 2026-07-22T16:15:24 (2 files) — staging/onboard-run.log staging/.onboard.lock
  49. f63aead 2026-07-22 auto-save: 2026-07-22T12:13:58 (1 files) — staging/onboard-run.log
  50. a6650f6 2026-07-22 auto-save: 2026-07-22T08:12:31 (2 files) — staging/.onboard.lock staging/onboard-run.log
  51. f8eefb9 2026-07-22 auto-save: 2026-07-22T07:42:20 (2 files) — staging/onboard-run.log staging/.onboard.lock
  52. 312a6b1 2026-07-22 auto-save: 2026-07-22T03:41:10 (1 files) — staging/onboard-run.log
  53. c9054bf 2026-07-21 auto-save: 2026-07-21T23:40:18 (2 files) — staging/.onboard.lock staging/onboard-run.log
  54. c4375a2 2026-07-21 auto-save: 2026-07-21T23:10:10 (2 files) — staging/onboard-run.log staging/.onboard.lock
  55. 27d3984 2026-07-21 auto-save: 2026-07-21T19:09:20 (1 files) — staging/onboard-run.log
  56. 748ed5b 2026-07-21 auto-save: 2026-07-21T15:08:10 (2 files) — staging/.onboard.lock staging/onboard-run.log
  57. 3924f41 2026-07-21 auto-save: 2026-07-21T14:38:01 (2 files) — staging/onboard-run.log staging/.onboard.lock
  58. 0b5e1d1 2026-07-21 auto-save: 2026-07-21T10:37:02 (1 files) — staging/onboard-run.log
  59. 7130a83 2026-07-21 auto-save: 2026-07-21T06:36:08 (2 files) — staging/.onboard.lock staging/onboard-run.log
  60. fdd4719 2026-07-21 auto-save: 2026-07-21T06:06:01 (2 files) — staging/onboard-run.log staging/.onboard.lock
  61. c93884f 2026-07-21 auto-save: 2026-07-21T02:35:18 (2 files) — staging/.onboard.lock staging/onboard-run.log
  62. 574d767 2026-07-21 auto-save: 2026-07-21T02:05:11 (2 files) — staging/onboard-run.log staging/.onboard.lock
  63. 31ba129 2026-07-20 auto-save: 2026-07-20T22:04:23 (2 files) — staging/.onboard.lock staging/onboard-run.log
  64. 9eb6dfc 2026-07-20 auto-save: 2026-07-20T21:34:15 (2 files) — staging/onboard-run.log staging/.onboard.lock
  65. 7af490e 2026-07-20 auto-save: 2026-07-20T17:33:24 (1 files) — staging/onboard-run.log
  66. 19d64d6 2026-07-20 auto-save: 2026-07-20T13:32:24 (2 files) — staging/.onboard.lock staging/onboard-run.log
  67. f4bed86 2026-07-20 auto-save: 2026-07-20T13:02:15 (2 files) — staging/onboard-run.log staging/.onboard.lock
  68. 0c5066d 2026-07-20 auto-save: 2026-07-20T09:00:59 (1 files) — staging/onboard-run.log
  69. fd61ebd 2026-07-20 auto-save: 2026-07-20T04:59:59 (2 files) — staging/.onboard.lock staging/onboard-run.log
  70. 79c5edd 2026-07-20 auto-save: 2026-07-20T04:29:52 (2 files) — staging/onboard-run.log staging/.onboard.lock
  71. 05a231c 2026-07-20 auto-save: 2026-07-20T00:28:58 (1 files) — staging/onboard-run.log
  72. f46d46c 2026-07-19 auto-save: 2026-07-19T20:27:58 (2 files) — staging/.onboard.lock staging/onboard-run.log
  73. 9f5f068 2026-07-19 auto-save: 2026-07-19T19:57:51 (2 files) — staging/onboard-run.log staging/.onboard.lock
  74. 2a05605 2026-07-19 auto-save: 2026-07-19T15:57:02 (1 files) — staging/onboard-run.log
  75. cdffd80 2026-07-19 auto-save: 2026-07-19T11:56:13 (2 files) — staging/.onboard.lock staging/onboard-run.log
  76. f07f7d8 2026-07-19 auto-save: 2026-07-19T11:26:07 (2 files) — staging/onboard-run.log staging/.onboard.lock
  77. 0293d37 2026-07-19 auto-save: 2026-07-19T07:25:16 (1 files) — staging/onboard-run.log
  78. 4d70080 2026-07-19 auto-save: 2026-07-19T03:24:25 (1 files) — staging/onboard-run.log
  79. 9956776 2026-07-18 auto-save: 2026-07-18T23:23:33 (2 files) — staging/.onboard.lock staging/onboard-run.log
  80. 9e34cd1 2026-07-18 auto-save: 2026-07-18T22:53:23 (2 files) — staging/onboard-run.log staging/.onboard.lock
  81. 72bb2f4 2026-07-18 auto-save: 2026-07-18T18:52:32 (1 files) — staging/onboard-run.log
  82. 091777a 2026-07-18 auto-save: 2026-07-18T14:51:45 (2 files) — staging/.onboard.lock staging/onboard-run.log
  83. c138de1 2026-07-18 auto-save: 2026-07-18T14:21:38 (2 files) — staging/onboard-run.log staging/.onboard.lock
  84. 132b7d5 2026-07-18 auto-save: 2026-07-18T10:20:51 (1 files) — staging/onboard-run.log
  85. dd52f9c 2026-07-18 auto-save: 2026-07-18T06:19:57 (2 files) — staging/.onboard.lock staging/onboard-run.log
  86. babac71 2026-07-18 auto-save: 2026-07-18T05:49:50 (2 files) — staging/onboard-run.log staging/.onboard.lock
  87. bbfd831 2026-07-18 auto-save: 2026-07-18T01:48:57 (1 files) — staging/onboard-run.log
  88. 89ab462 2026-07-17 auto-save: 2026-07-17T21:48:00 (1 files) — staging/onboard-run.log
  89. 651253d 2026-07-17 auto-save: 2026-07-17T17:47:14 (2 files) — staging/.onboard.lock staging/onboard-run.log
  90. af5983f 2026-07-17 auto-save: 2026-07-17T17:17:09 (2 files) — staging/onboard-run.log staging/.onboard.lock
  91. 1077c1d 2026-07-17 auto-save: 2026-07-17T13:16:39 (1 files) — staging/onboard-run.log
  92. 8622a58 2026-07-17 auto-save: 2026-07-17T09:16:00 (2 files) — staging/.onboard.lock staging/onboard-run.log
  93. 3f05adc 2026-07-17 auto-save: 2026-07-17T08:45:54 (2 files) — staging/onboard-run.log staging/.onboard.lock
  94. 43c08b9 2026-07-17 auto-save: 2026-07-17T04:45:21 (1 files) — staging/onboard-run.log
  95. 9e9aea0 2026-07-17 auto-save: 2026-07-17T00:44:52 (1 files) — staging/onboard-run.log
  96. 292722c 2026-07-16 auto-save: 2026-07-16T20:44:21 (2 files) — staging/.onboard.lock staging/onboard-run.log
  97. 126551a 2026-07-16 auto-save: 2026-07-16T20:14:17 (2 files) — staging/onboard-run.log staging/.onboard.lock
  98. 46b7fa6 2026-07-16 auto-save: 2026-07-16T16:13:42 (1 files) — staging/onboard-run.log
  99. 3c5a40f 2026-07-16 auto-save: 2026-07-16T12:13:12 (2 files) — staging/.onboard.lock staging/onboard-run.log
  100. a0c0722 2026-07-16 auto-save: 2026-07-16T11:43:05 (2 files) — staging/onboard-run.log staging/.onboard.lock
  101. 5e27543 2026-07-16 auto-save: 2026-07-16T07:41:55 (1 files) — staging/onboard-run.log
  102. 5fce1c4 2026-07-16 auto-save: 2026-07-16T03:41:01 (2 files) — staging/.onboard.lock staging/onboard-run.log
  103. 11d1417 2026-07-16 auto-save: 2026-07-16T03:10:54 (2 files) — staging/onboard-run.log staging/.onboard.lock
  104. 5b81256 2026-07-15 auto-save: 2026-07-15T23:10:04 (1 files) — staging/onboard-run.log
  105. c02eec1 2026-07-15 auto-save: 2026-07-15T19:09:14 (2 files) — staging/.onboard.lock staging/onboard-run.log
  106. e9207c2 2026-07-15 auto-save: 2026-07-15T18:39:06 (2 files) — staging/onboard-run.log staging/.onboard.lock
  107. 6b341a4 2026-07-15 auto-save: 2026-07-15T14:37:13 (1 files) — staging/onboard-run.log
  108. daebcc9 2026-07-15 auto-save: 2026-07-15T10:35:56 (2 files) — staging/.onboard.lock staging/onboard-run.log
  109. 1854fd0 2026-07-15 auto-save: 2026-07-15T10:05:46 (2 files) — staging/onboard-run.log staging/.onboard.lock
  110. b93d89d 2026-07-15 auto-save: 2026-07-15T06:04:51 (1 files) — staging/onboard-run.log
  111. eb0228c 2026-07-15 auto-save: 2026-07-15T02:04:02 (1 files) — staging/onboard-run.log
  112. 6a195c5 2026-07-14 auto-save: 2026-07-14T22:03:13 (2 files) — staging/.onboard.lock staging/onboard-run.log
  113. dcabe58 2026-07-14 auto-save: 2026-07-14T21:33:02 (2 files) — staging/onboard-run.log staging/.onboard.lock
  114. 59c6553 2026-07-14 auto-save: 2026-07-14T17:32:12 (1 files) — staging/onboard-run.log
  115. a250564 2026-07-14 auto-save: 2026-07-14T13:31:22 (2 files) — staging/.onboard.lock staging/onboard-run.log
  116. f865f12 2026-07-14 auto-save: 2026-07-14T13:01:14 (2 files) — staging/onboard-run.log staging/.onboard.lock
  117. a987ecf 2026-07-14 auto-save: 2026-07-14T09:00:07 (1 files) — staging/onboard-run.log
  118. 4e0a410 2026-07-14 Revert "Add Activation Calendar tab (go-live date+time per staged SKU)"
  119. b7cbfbd 2026-07-14 Add Activation Calendar tab (go-live date+time per staged SKU)
  120. 161bdc7 2026-07-14 auto-save: 2026-07-14T04:59:06 (2 files) — staging/.onboard.lock staging/onboard-run.log
  121. 80cccc9 2026-07-14 auto-save: 2026-07-14T04:28:59 (2 files) — staging/onboard-run.log staging/.onboard.lock
  122. 3eb7092 2026-07-14 auto-save: 2026-07-14T00:28:06 (2 files) — staging/.onboard.lock staging/onboard-run.log
  123. 7c77597 2026-07-13 auto-save: 2026-07-13T23:57:59 (2 files) — staging/onboard-run.log staging/.onboard.lock
  124. c2ad8d7 2026-07-13 auto-save: 2026-07-13T19:57:00 (2 files) — staging/.onboard.lock staging/onboard-run.log
  125. 5cf8134 2026-07-13 auto-save: 2026-07-13T19:26:53 (2 files) — staging/onboard-run.log staging/.onboard.lock
  126. 873af58 2026-07-13 auto-save: 2026-07-13T15:25:47 (2 files) — staging/.onboard.lock staging/onboard-run.log
  127. fb777a1 2026-07-13 auto-save: 2026-07-13T14:55:38 (2 files) — staging/onboard-run.log staging/.onboard.lock
  128. ceef214 2026-07-13 auto-save: 2026-07-13T10:54:28 (1 files) — staging/onboard-run.log
  129. 856ae1a 2026-07-13 auto-save: 2026-07-13T06:53:18 (2 files) — staging/.onboard.lock staging/onboard-run.log
  130. 748d322 2026-07-13 auto-save: 2026-07-13T06:23:11 (2 files) — staging/onboard-run.log staging/.onboard.lock
  131. d47a40d 2026-07-13 auto-save: 2026-07-13T02:22:18 (2 files) — staging/.onboard.lock staging/onboard-run.log
  132. e7915d5 2026-07-13 auto-save: 2026-07-13T01:52:00 (2 files) — staging/onboard-run.log staging/.onboard.lock
  133. 1e5b042 2026-07-12 auto-save: 2026-07-12T21:50:32 (1 files) — staging/onboard-run.log
  134. aa0e688 2026-07-12 auto-save: 2026-07-12T17:49:31 (2 files) — staging/.onboard.lock staging/onboard-run.log
  135. 6a293f5 2026-07-12 auto-save: 2026-07-12T17:19:25 (2 files) — staging/onboard-run.log staging/.onboard.lock
  136. bfe4aab 2026-07-12 auto-save: 2026-07-12T13:18:21 (1 files) — staging/onboard-run.log
  137. ec10a13 2026-07-12 auto-save: 2026-07-12T09:17:21 (1 files) — staging/onboard-run.log
  138. 751af4b 2026-07-12 auto-save: 2026-07-12T05:16:30 (2 files) — staging/.onboard.lock staging/onboard-run.log
  139. 8d92982 2026-07-12 auto-save: 2026-07-12T04:46:24 (2 files) — staging/onboard-run.log staging/.onboard.lock
  140. 2bf112e 2026-07-12 auto-save: 2026-07-12T00:45:38 (1 files) — staging/onboard-run.log
  141. d8c5119 2026-07-11 auto-save: 2026-07-11T20:44:55 (1 files) — staging/onboard-run.log
  142. b4ccf79 2026-07-11 auto-save: 2026-07-11T16:44:11 (2 files) — staging/.onboard.lock staging/onboard-run.log
  143. 6b04cbb 2026-07-11 auto-save: 2026-07-11T16:14:04 (2 files) — staging/onboard-run.log staging/.onboard.lock
  144. 17af74f 2026-07-11 auto-save: 2026-07-11T12:13:17 (1 files) — staging/onboard-run.log
  145. cd8a539 2026-07-11 auto-save: 2026-07-11T08:12:22 (2 files) — staging/.onboard.lock staging/onboard-run.log
  146. 2f93d8d 2026-07-11 auto-save: 2026-07-11T07:42:17 (2 files) — staging/onboard-run.log staging/.onboard.lock
  147. d56889e 2026-07-11 auto-save: 2026-07-11T03:41:33 (1 files) — staging/onboard-run.log
  148. 3741ad7 2026-07-10 auto-save: 2026-07-10T23:40:50 (1 files) — staging/onboard-run.log
  149. 57e0a9d 2026-07-10 auto-save: 2026-07-10T19:40:07 (2 files) — staging/.onboard.lock staging/onboard-run.log
  150. 03e7b11 2026-07-10 auto-save: 2026-07-10T19:10:01 (2 files) — staging/onboard-run.log staging/.onboard.lock
  151. 2178f54 2026-07-10 auto-save: 2026-07-10T15:09:07 (1 files) — staging/onboard-run.log
  152. b4e7da4 2026-07-10 auto-save: 2026-07-10T11:07:57 (2 files) — staging/.onboard.lock staging/onboard-run.log
  153. b080244 2026-07-10 auto-save: 2026-07-10T10:37:42 (2 files) — staging/onboard-run.log staging/.onboard.lock
  154. 223a0f7 2026-07-10 auto-save: 2026-07-10T05:44:08 (2 files) — staging/.onboard.lock staging/onboard-run.log
  155. 1d5b8f7 2026-07-10 auto-save: 2026-07-10T05:14:01 (2 files) — staging/onboard-run.log staging/.onboard.lock
  156. 786483e 2026-07-10 auto-save: 2026-07-10T01:13:08 (1 files) — staging/onboard-run.log
  157. b6f4760 2026-07-09 auto-save: 2026-07-09T21:12:13 (1 files) — staging/onboard-run.log
  158. 2c384f4 2026-07-09 auto-save: 2026-07-09T17:11:25 (2 files) — staging/.onboard.lock staging/onboard-run.log
  159. 87e444f 2026-07-09 auto-save: 2026-07-09T16:41:19 (2 files) — staging/onboard-run.log staging/.onboard.lock
  160. e3ee7c8 2026-07-09 auto-save: 2026-07-09T12:40:29 (1 files) — staging/onboard-run.log
  161. 720a85f 2026-07-09 auto-save: 2026-07-09T08:39:40 (1 files) — staging/onboard-run.log
  162. 27ca5d8 2026-07-09 auto-save: 2026-07-09T04:38:56 (2 files) — staging/.onboard.lock staging/onboard-run.log
  163. d8de325 2026-07-09 auto-save: 2026-07-09T04:08:49 (2 files) — staging/onboard-run.log staging/.onboard.lock
  164. ca03efa 2026-07-09 auto-save: 2026-07-09T00:08:06 (1 files) — staging/onboard-run.log
  165. 86b1629 2026-07-08 auto-save: 2026-07-08T20:07:23 (1 files) — staging/onboard-run.log
  166. b8d26cf 2026-07-08 auto-save: 2026-07-08T16:06:38 (2 files) — staging/.onboard.lock staging/onboard-run.log
  167. 9717bce 2026-07-08 auto-save: 2026-07-08T15:36:30 (2 files) — staging/onboard-run.log staging/.onboard.lock
  168. f13dda8 2026-07-08 auto-save: 2026-07-08T11:35:28 (1 files) — staging/onboard-run.log
  169. 4e47ba6 2026-07-08 auto-save: 2026-07-08T07:34:38 (2 files) — staging/.onboard.lock staging/onboard-run.log
  170. 98bcc08 2026-07-08 auto-save: 2026-07-08T07:04:32 (2 files) — staging/onboard-run.log staging/.onboard.lock
  171. a6fee3a 2026-07-08 auto-save: 2026-07-08T03:03:50 (1 files) — staging/onboard-run.log
  172. 59a5b1f 2026-07-07 auto-save: 2026-07-07T23:03:07 (2 files) — staging/.onboard.lock staging/onboard-run.log
  173. d3079a4 2026-07-07 auto-save: 2026-07-07T22:33:01 (2 files) — staging/onboard-run.log staging/.onboard.lock
  174. e69803e 2026-07-07 auto-save: 2026-07-07T19:32:17 (2 files) — staging/.overnight.lock staging/overnight-yolo.log
  175. 4406e7d 2026-07-07 auto-save: 2026-07-07T18:32:03 (2 files) — staging/onboard-run.log staging/overnight-yolo.log
  176. a71f816 2026-07-07 auto-save: 2026-07-07T17:31:51 (1 files) — staging/overnight-yolo.log
  177. dea12f8 2026-07-07 auto-save: 2026-07-07T16:31:38 (1 files) — staging/overnight-yolo.log
  178. 5adfec4 2026-07-07 auto-save: 2026-07-07T16:01:30 (1 files) — staging/overnight-yolo.log
  179. cea0022 2026-07-07 auto-save: 2026-07-07T15:31:24 (1 files) — staging/overnight-yolo.log
  180. c43b574 2026-07-07 auto-save: 2026-07-07T15:01:17 (1 files) — staging/overnight-yolo.log
  181. a78eb0f 2026-07-07 auto-save: 2026-07-07T14:31:09 (2 files) — staging/onboard-run.log staging/overnight-yolo.log
  182. e38c361 2026-07-07 auto-save: 2026-07-07T14:01:00 (1 files) — staging/overnight-yolo.log
  183. 984f5bd 2026-07-07 auto-save: 2026-07-07T13:30:45 (1 files) — staging/overnight-yolo.log
  184. fec8336 2026-07-07 auto-save: 2026-07-07T13:00:27 (1 files) — staging/overnight-yolo.log
  185. 4541142 2026-07-07 auto-save: 2026-07-07T12:30:21 (1 files) — staging/overnight-yolo.log
  186. fa69856 2026-07-07 auto-save: 2026-07-07T12:00:16 (1 files) — staging/overnight-yolo.log
  187. 72c4c8f 2026-07-07 auto-save: 2026-07-07T11:30:11 (1 files) — staging/overnight-yolo.log
  188. 6dee5f9 2026-07-07 auto-save: 2026-07-07T11:00:06 (1 files) — staging/overnight-yolo.log
  189. 0ecd098 2026-07-07 auto-save: 2026-07-07T10:30:01 (3 files) — staging/.onboard.lock staging/onboard-run.log staging/overnight-yolo.log
  190. 4b43cbe 2026-07-07 auto-save: 2026-07-07T09:59:53 (3 files) — staging/onboard-run.log staging/overnight-yolo.log staging/.onboard.lock
  191. 2336e9f 2026-07-07 auto-save: 2026-07-07T09:29:44 (1 files) — staging/overnight-yolo.log
  192. b1692ed 2026-07-07 auto-save: 2026-07-07T08:56:34 (27 files) — staging/onboard-run.log staging/onboarding-manifest.json staging/overnight-yolo.log staging/corporate-colors.jsonl staging/corporate/armani-casa.jsonl
  193. d1e46a8 2026-07-06 chore: v1.1.0 (session close) — distributor microsites + catalog expansion + visual match + overnight crawl
  194. 2eb6f85 2026-07-06 japan: overnight vendor-corporate crawl — feed-first harvest of 25 vendors' full catalogs (Shopify products.json / sitemap) + local Pillow color-ID, $0 no-tokens, resumable loop (overnight_yolo.sh)
  195. b6d69f0 2026-07-06 japan: expand visual-match to ALL sub-vendors — +Morris&Co/Missoni/Zoffany/Armani Casa/Vahallan dw catalogs (13 total, 11,862 products); the 13 without a dw catalog match via reverse-image (Lens)+source
  196. a0a32aa 2026-07-06 japan: contrarian fixes to visual-match — disambiguate by distributor (sku collision bug), palette-weighted color distance (top-3, not single hex), stop-words + capped name bonus, real Google Lens URL when public image
  197. 54e6e3f 2026-07-06 japan: visual-match viewer — click item → our panel left + color-ranked distributor-catalog matches right (local hex/hue color-ID via dw_unified, name-boosted); reverse-image + source methods. /api/match + compute_distributor_colors.py
  198. 0f8c526 2026-07-06 japan: nginx-final-fix.sh (IP-specific listen 45.61.58.125:80 — the real routing bug) + Singapore distributors resolved 863/874
  199. 52c7000 2026-07-06 japan: get-all-live.sh — push all new patterns (Thailand-uncategorized + Singapore) to live by idempotent append + brand merge (no overwrite)
  200. d0a51a9 2026-07-06 japan: scrape_gg_sg_brands.py — resolve the 242 Singapore distributors (correct selector: psg-single-brands + /product_brand/)
  201. d2fb29e 2026-07-06 japan: nginx-fix-conflict.sh — strip the 19 distributor hostnames certbot added to japan.conf (incl the return-404 block) so distributor-microsites serves the ACME challenge; then --webroot certs. .bak + nginx -t gated
  202. 0dd7b32 2026-07-06 japan: nginx-diagnose.sh (read-only) to find the conflicting server_name block behind the cert failure
  203. 1398b4c 2026-07-06 japan: +242 Singapore wallcoverings onboarded; nginx setup rewritten to serve ACME challenge from webroot (fixes cert-fail; certbot --webroot)
  204. c7b77dd 2026-07-06 japan: onboard 242 NEW wallcoverings from goodrichglobal Singapore Store API (feed-first, wallcovering-only, brand-scraped) — nearly doubles the pattern catalog
  205. 8812a8f 2026-07-06 japan: append-9-to-live.sh — targeted idempotent append of the 9 new wallcoverings to live staging (no overwrite of the larger live set)
  206. c0773d3 2026-07-06 japan: +9 new Sangetsu wallcoverings (198 colorways) the sitemap missed — found via Store API (uncategorized), brand-scraped, staged; catalog 623→632 patterns
  207. f05a2b5 2026-07-06 japan: Store-API crawler finds full Sangetsu-Goodrich catalog (878 products vs 623 in sitemap); feed-first, $0
  208. a3d28d9 2026-07-06 japan: loader creates vendor_never_on_shopify if missing (canonical lacks it, unlike the mirror) — keep_offline insert no longer errors
  209. 23c5514 2026-07-06 japan: use_for_ai via side table vendor_ai_flags (NO ALTER on hot vendor_registry) — ends the lock contention; inserts/updates take only row locks. Verified on local mirror
  210. ffe7b6f 2026-07-06 japan: clear-hung-alter.sh (cancel a stuck vendor_registry ALTER) + loader retries the column-add 8x to catch a lock gap on the busy table
  211. c9bf0f6 2026-07-06 japan: loader ALTER safety — skip if use_for_ai exists (no lock), else lock_timeout=4s so a busy vendor_registry can't hang/queue-block prod; fail-fast with a maintenance-window hint
  212. 32cb9e4 2026-07-06 japan: rewrite nginx setup — separate conf via scp (server_name built by loop, not buggy sed); nginx -t gates reload, one certbot --expand for all 19
  213. e82b903 2026-07-06 japan: loader prefers dw_admin (owner) DSN so ALTER TABLE use_for_ai works; prints candidate users + table owner for diagnosis
  214. 329275d 2026-07-06 japan: loader wrapper uses quoted heredoc (fixes quote-stripping syntax error); auto-resolves dw_unified DSN + verifies db before load
  215. 6961b03 2026-07-06 japan: fix loader wrapper — manifest to staging/ (not db/), resolve DATABASE_URL by searching real project .env files for a dw_unified DSN (fixes ENOENT + missing .env path)
  216. d08e031 2026-07-06 japan: wrapper scripts for the 3 Steve-gated steps — create-distributor-dns.sh (Cloudflare), load-lines-remote.sh (canonical vendor lines), nginx-distributor-setup.sh (route + certs). Short single commands for Steve to run.
  217. a6bb3a2 2026-07-06 japan: viewer strips -sg subdomain suffix (koroseal-sg→Koroseal scope, avoids clobbering existing vendor subdomains); create-distributor-dns.sh (16 free + 3 -sg records, idempotent)
  218. b34412a 2026-07-06 japan: loader gives each distributor its OWN vendor id + unique compliant DW prefix + 5000-spaced range (proven on local mirror: 19 lines, forbidden-letter-safe, idempotent)
  219. 619957d 2026-07-06 japan: approved-execution runbook + load-distributor-lines.js (idempotent canonical loader: 20 internal lines, use_for_ai=true, vendor_never_on_shopify keep-offline, no Shopify)
  220. 51b7196 2026-07-06 japan: autonomous local-model onboarding pipeline (manifest + qwen2.5vl/Pillow enrich) + launchd plist ($0, resumable, unattended)
  221. 0b387d1 2026-07-06 japan viewer: per-distributor microsite host-scoping — <slug>.designerwallcoverings.com serves only that distributor's Sangetsu line (internal, read-only)
  222. efb2116 2026-07-06 japan: close distributor gap — scrape 40 more patterns, live coverage 18,233/18,272 (99.8%); real per-product distributor logged
  223. b29fdd5 2026-07-06 japan: real Sangetsu distributor brand map (619/623 patterns; Koroseal/J.Josephson/Carlisle&Co/Eijffinger/… entity-cleaned)
  224. dcf3072 2026-07-06 japan: scrape REAL per-pattern Sangetsu distributor (.psg-single-brands-main → Koroseal/Eijffinger/J.Josephson/Omexco/…) into sangetsu-brands.json; viewer reads the map (blank until scraped), replacing wrong host-derived Goodrich
  225. 5b7654c 2026-07-06 japan: Tier-1 canonical dw_unified stage runbook (approved; on_shopify=false, no Shopify, stage from live 18,272)
  226. 955be29 2026-07-06 japan viewer: contrarian-gate fixes — nginx port 9934, no-split distributor fallback, queue queued_at chip (CLAUDE.md admin-card rule), promote settlement guard
  227. 8b2471a 2026-07-06 japan viewer: URL-param deep-link + sharable state for every left-panel facet (readURL/syncURL)
  228. f26fe66 2026-07-06 deploy: japan viewer distributor feature LIVE on japan.designerwallcoverings.com (code-only; correct path/port 9934 recorded; no Shopify, data preserved 20,815)
  229. 1521e3c 2026-07-06 japan: code-only UPDATE runbook for live japan.designerwallcoverings.com (2 files + pm2 restart, no staging/DB/Shopify)
  230. 4ebbbd5 2026-07-06 japan: deploy artifacts for Kamatera go-live (nginx vhost japan+china, DEPLOY runbook, auth'd viewer, no Shopify publish)
  231. efb6472 2026-07-06 japan: bulk-stage full Sangetsu line into sangetsu_catalog (13,067 SKUs, us_distributor=Goodrich, on_shopify=false; dedupe cross-pattern SKUs)
  232. af6d4f1 2026-07-06 japan: create per-vendor *_catalog tables (promote-queue targets) + pg dep
  233. 9f2be43 2026-07-06 japan viewer: import-queue drawer — list queued SKUs, per-row remove, clear all
  234. ab44253 2026-07-06 japan viewer: '⤓ Import' button — enqueue SKUs for dw_unified onboarding (Shopify gated)
  235. 2cfccdd 2026-07-06 japan viewer: make distributor chip a link to the SKU's distributor-microsite page (import-from-here)
  236. 993b675 2026-07-06 japan: persist distributor field into staging + dw_unified onboarding plan
  237. b1fd6b0 2026-07-06 japan viewer: add distributor (buy-from channel) chip + facet + sort
  238. d13399a 2026-07-02 Retrofit japan/china staging viewer to internal-line-viewer spec (left-panel field tables, card-field toggles, density type-scale, data-href cards, gzipped /api/products); E2E-verified chromium+webkit
  239. d4d1634 2026-07-02 mobile: hamburger filter drawer + 2-up grid for japan/china staged viewer
  240. ac443bb 2026-07-02 auto-save: 2026-07-02T12:48:04 (1 files) — viewer-local/public/index.html
  241. 3b622c6 2026-07-02 auto-save: 2026-07-02T07:46:12 (4 files) — staging/sangetsu-staging.jsonl staging/sangetsu-staging.jsonl.bak-0723 staging/specfill-run.log staging/specfill.pid
  242. 84a131a 2026-07-02 title upgrade tool + ledger: 151-title real-translation blocked on Mac2 reboot (ollama zombie); current live state clean (0 katakana)
  243. a6b995b 2026-07-01 auto-save: 2026-07-01T19:08:14 (1 files) — upgrade_lilycolor_titles.py
  244. aac5201 2026-07-01 ledger: title residual cleared (0 katakana live on japan.)
  245. 27485cd 2026-07-01 lilycolor: clear 151 residual katakana title_en -> derived labels (ollama wedged; title_ja retained for future re-translation); redeployed
  246. 3b60ac9 2026-07-01 ledger: post-loop 4-item batch closeout (00cm live, swatches live, title_en live, image-loc done)
  247. 43c6a49 2026-07-01 viewer: lilycolor cards prefer draft title_en (EN → JP → SKU)
  248. e83f5b5 2026-07-01 auto-save: 2026-07-01T15:37:13 (1 files) — staging/lilycolor-unified-staging.jsonl
  249. 2a647d2 2026-07-01 lilycolor title_en synthesizer + per-item cleanup pass (draft EN titles, $0 local qwen)
  250. 5a103b4 2026-07-01 chore: lint (clean) + refactor (MIN_IMAGE_BYTES const), v0.4.0 (session close — all-vendor CDN independence)
  251. a4e6220 2026-07-01 lilycolor: fix 4 rows with truncated width '00cm' -> '100cm' (LLT6068, LWT1741/1752/1755)
  252. 79ba0fa 2026-07-01 lilycolor: fill 224 Henry-only image gaps on prod (make_lily_fill.py) -> 100% CDN-independent
  253. d6bab41 2026-07-01 ledger: shipped japan. Sangetsu swatches (14,097/159M, CDN-independent)
  254. df192e5 2026-07-01 deploy: ship Sangetsu color+spec enrichment to Kamatera japan-viewer (14,302 colorways live; facets verified)
  255. c966b64 2026-07-01 viewer: serve japan. Sangetsu cards from local /img/sangetsu/ swatches (256px, CDN-independent) + make_sangetsu_swatches.py downscaler
  256. e53e2b2 2026-07-01 ledger: shipped Greenland swatches to Kamatera (china. CDN-independent, 3028 swatches/32M)
  257. e9bfa45 2026-07-01 officer-yolo loop CONVERGED (Cycle 5): all high-value SAFE japan-side data work harvested
  258. ba08fec 2026-07-01 Cycle 4: project README (pipeline, host-scoping, deploy topology, data-regen)
  259. e4ec595 2026-07-01 Cycle 3: Lilycolor data-quality audit (title_en 100% gap, image bytes unfetched) -> out/lilycolor-audit.md
  260. 0c2eba5 2026-07-01 sangetsu Cycle 2: recover+complete color enrichment — 14,302 colorways w/ color_family+hex (hardened atomic write)
  261. dba9a4b 2026-07-01 keep enriched jsonl gitignored (regenerable via enrich_sangetsu.py; script+staging are source of truth)
  262. 5f92693 2026-07-01 sangetsu Cycle 2: color-family+hex enrichment complete (14,302 colorways, recovered from restart regression)
  263. 16752c3 2026-07-01 enricher: decouple slow vision (SANGETSU_VISION toggle, default off) — color pass is the goal, vision is opt-in bonus
  264. 0173358 2026-07-01 enricher: drop unused imports (pyflakes clean)
  265. 1aceaf0 2026-07-01 sangetsu enricher: atomic temp+rename checkpoint + carry-forward resume (restart can't truncate baseline)
  266. 2d6bdd6 2026-07-01 auto-save: 2026-07-01T12:12:34 (1 files) — out/officer-yolo-ledger.md
  267. 4bfcb68 2026-07-01 chore: gitignore __pycache__/*.pyc (auto-save hook was tracking bytecode)
  268. fe33219 2026-07-01 ledger: record Cycle 1 commit hash (beb1d0c)
  269. beb1d0c 2026-07-01 sangetsu: backfill product spec (width+type) for 557 missing patterns
  270. 1027fc6 2026-07-01 auto-save: 2026-07-01T11:42:20 (3 files) — __pycache__/scrape_sangetsu_specs.cpython-314.pyc out/officer-yolo-ledger.md scrape_sangetsu_specs.py
  271. 0f42607 2026-07-01 chore: lint (node -c + pyflakes clean), v0.3.0 (Greenland china. catalog — session close)
  272. 93611f5 2026-07-01 sangetsu: fix 6 straggler patterns (cover-only, no per-colorway swatch)
  273. 9f83f10 2026-07-01 greenland: clean material facet — scope to fiber taxonomy, drop collection/color pollution
  274. 6f12a63 2026-07-01 greenland: serve colorway swatches locally (/img/greenland/), self-contained china.
  275. 1f25bc6 2026-07-01 sangetsu: backfill colorways/images for 254 imageless patterns via WooCommerce Store API
  276. 501439c 2026-07-01 auto-save: 2026-07-01T10:11:20 (1 files) — scrape_sangetsu_backfill.py
  277. b644473 2026-07-01 greenland: per-colorway color enrichment (Pillow, $0 local, disk-safe)
  278. cb79303 2026-07-01 greenland: scrape vendor API → 880 patterns/3117 colorways, wire china. scope
  279. df5e3a0 2026-06-30 viewer: host-based scoping — china.=Greenland-only (empty state for now), japan.=Sangetsu+Lilycolor unchanged
  280. 1826109 2026-06-30 viewer: env-gated admin Basic Auth (REQUIRE_AUTH) for deploy; nginx is the live gate on japan./china.
  281. a06707a 2026-06-30 japan/china viewer: add 6 DW facets (collection, width, fire, performance, price band, image) to the enriched nav
  282. 5e316b7 2026-06-30 chore: lint (load() try/finally guard), refactor (siblingChip helper + named consts), v0.2.0 (session close)
  283. 4a7ec64 2026-06-30 viewer: live JPY→USD pricing onload, colorway sibling chips (other colors of each pattern), per-category All toggle to clear chip filters
  284. ef33cc0 2026-06-30 auto-save: 2026-06-30T12:10:12 (6 files) — __pycache__/enrich.cpython-314.pyc out/lilycolor-enriched.jsonl viewer-local/public/index.html viewer-local/server.js __pycache__/enrich_sangetsu.cpython-314.pyc
  285. 61ab243 2026-06-30 chore: gitignore data/images, VERSION 0.1.0 (session close)
  286. e6d7c13 2026-06-30 auto-save: 2026-06-30T11:39:59 (1 files) — out/lilycolor-enriched.jsonl
  287. 7f3f8ac 2026-06-30 Serve extracted Lilycolor colorway swatches in viewer (local /img/lily fallback to images/all_c)
  288. dbe4314 2026-06-30 Add Sangetsu pipeline (per-colorway hex + pattern-level vision) + wire enrichment into viewer
  289. a677460 2026-06-30 auto-save: 2026-06-30T11:09:49 (1 files) — out/lilycolor-enriched.jsonl
  290. c32ee1e 2026-06-30 auto-save: 2026-06-30T10:39:38 (1 files) — out/lilycolor-enriched.jsonl
  291. ad31a26 2026-06-30 auto-save: 2026-06-30T10:09:30 (1 files) — out/lilycolor-enriched.jsonl
  292. c1598bc 2026-06-30 japan viewer: enriched nav bar (color/style/material facets + drill-down counts + card color dots), local copy + enricher

Authors

Agents used

  • none detected

Skills used

  • /onboard-run176
  • /overnight-yolo19
  • /lilycolor-enriched5
  • /greenland4
  • /china4
  • /import-queue2
  • /import2
  • /index2
  • /sangetsu-staging2
  • /officer-yolo-ledger2
  • /images2
  • /product2
  • /scope2
  • /facets2
  • /onboarding-manifest1
  • /corporate-colors1
  • /corporate1
  • /armani-casa1
  • /hue1
  • /match1
  • /updates1
  • /queue-block1
  • /port1
  • /lilycolor1
  • /clear1
  • /promote-import-queue1
  • /distributor-field1
  • /sort1
  • /filter1
  • /products1

Creative ideas + design notes

Commits with substantial prose (≥120 chars) — the rationale behind each move.

af6d4f1 · 2026-07-06 · japan: create per-vendor *_catalog tables (promote-queue targets) + pg dep
sangetsu/lilycolor/greenland _catalog tables (vendor_catalog-subset shape, UNIQUE
(vendor_code,mfr_sku) for the upsert). Applied to local dw_unified mirror; DDL
file is the gated canonical version for Kamatera. Proved the full queue→--commit
path (us_distributor lands, on_shopify=false), then truncated back to empty.
9f2be43 · 2026-07-06 · japan viewer: import-queue drawer — list queued SKUs, per-row remove, clear all
Click the '⤓ N queued' badge to open a right-side drawer (thumb + sku +
distributor + title per row). Per-row ✕ removes; 'Clear all' empties the queue.
/api/import-queue now returns full items; added POST /api/import/clear. Panel
stays in sync with grid card chips (syncCardImp) and refreshes if open when you
queue from a card or bulk-import.
ab44253 · 2026-07-06 · japan viewer: '⤓ Import' button — enqueue SKUs for dw_unified onboarding (Shopify gated)
Per-card + 'Import filtered' bulk button POST to /api/import → append INTENT to
staging/import-queue.jsonl (local, reversible, toggle to un-queue; gitignored).
db/promote-import-queue.js promotes the queue into per-vendor *_catalog tables
with us_distributor set, on_shopify=false — dry-run by default, --commit gated,
never publishes to Shopify. Queue state reloads on refresh; handler now async.
2cfccdd · 2026-07-06 · japan viewer: make distributor chip a link to the SKU's distributor-microsite page (import-from-here)
The distributor chip + info-drawer row now open p.url (the exact product page on
sangetsu-goodrich.co.th) in a new tab — that URL is also the input the DW
product-import-from-url engine consumes, so 'open the microsite + import there' is
one click. Anchor is excluded from the card's delegated nav, so no double-open.
993b675 · 2026-07-06 · japan: persist distributor field into staging + dw_unified onboarding plan
annotate_distributor.py writes distributor + distributor_direct onto every
staging row (Goodrich Thailand for Sangetsu, direct for Lilycolor/Greenland),
mirroring the viewer's distInfo() so onboarding reads the channel off the row.
db/distributor-field.sql documents the dw_unified path: reuse existing
vendor_catalog.us_distributor (recommended, 0 schema change, flows to
shopify_products.supplier_name) vs a dedicated distributor column. Canonical
schema write stays gated.
b1fd6b0 · 2026-07-06 · japan viewer: add distributor (buy-from channel) chip + facet + sort
Sangetsu is the mill but its SKUs are only orderable through the Goodrich
distributor (sangetsu-goodrich.co.th) — surface that channel separately from
the brand. Derived from source_url host in distInfo(); ~84% of japan-scope
SKUs (13,358) are Goodrich-distributed. Direct-mill lines (Lilycolor/Greenland)
render a muted 'direct' chip. Added: card chip, left-panel facet, Distributor
A→Z sort, info-drawer row, free-text search, and server-side facet/sort/filter parity.
beb1d0c · 2026-07-01 · sangetsu: backfill product spec (width+type) for 557 missing patterns
scrape_sangetsu_specs.py fetches each pattern's WooCommerce Store API
description and parses the spec block (both 'Specifications' and 'Technical
Specifications' layouts, plus Dimension-Per-Unit / 'Length L x width W' /
standalone WIDTH: / Description-embedded freeform variants; HTML entities
decoded so widths parse). Only rows missing spec.width AND spec.type are
touched; atomic temp+rename; polite 0.25s + 4-try backoff; stdlib only.

Full 557-target pass, 0 fetch failures: +30 spec.width, +4 spec.type.
Catalog width 28->58, type 64->68 (feeds japan. Width + Fire-class facets).
527 still missing both are genuinely spec-less on the vendor (no header, or
'Available upon request') — 40-row audit confirmed parser miss-rate 0.
Read-only fetch + local staging write only; no Greenland/dw_unified/Shopify.
93611f5 · 2026-07-01 · sangetsu: fix 6 straggler patterns (cover-only, no per-colorway swatch)
The 7 patterns the main backfill skipped have real colorway SKUs in the
'Full Collection' attribute but the vendor published only one shared cover
image (no per-colorway swatches). fix_sangetsu_stragglers.py fills their SKU
list and maps every colorway to the shared cover so they render instead of
blank. japan no-image patterns: 257 → 8 (only Acadia, a dead vendor product,
and 7 pre-existing SKU-without-image rows remain).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
9f83f10 · 2026-07-01 · greenland: clean material facet — scope to fiber taxonomy, drop collection/color pollution
- scrape_greenland.py: classify categories by ANCESTOR-id membership (material subtrees
  {Printing Substrate, Engineering, Wallcovering>Category}), so books/campaigns
  (Collections, What's New: Story of Nature/Wabi Sabi/T173…) and color-name leaves no
  longer leak into the material field. Unclassified patterns get null, not a wrong fiber.
- viewer: fresh staging material wins over the enriched copy (staging is the clean source).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
6f12a63 · 2026-07-01 · greenland: serve colorway swatches locally (/img/greenland/), self-contained china.
- /img/greenland/<sku> route serves the downscaled swatch from images/greenland/<normSku>.jpg
  (path-guarded); greenSwatches Set built at load + refreshed on reload.
- greenland cards prefer the local swatch, falling back to the remote downloadFile CDN url
  for the ~717 cover-only/failed patterns. 120/120 first-page cards now serve locally.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1f25bc6 · 2026-07-01 · sangetsu: backfill colorways/images for 254 imageless patterns via WooCommerce Store API
The original Sangetsu scrape left 257 of 622 patterns with colorway_skus:[] —
blank cards on japan. Cracked the public /wc/store/v1 Store API (WP REST proper
is Kadence-locked): parent 'Full Collection' attribute = clean colorway SKUs,
variation image filenames = per-colorway images, mapped SKU→image by prefix.

scrape_sangetsu_backfill.py fills ONLY empty rows (populated rows untouched),
atomic temp+rename. Result: 254 patterns backfilled, +7678 colorways; japan
no-image patterns 257 → 14. 7 stragglers are slug mismatches (name-search TODO).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
b644473 · 2026-07-01 · greenland: per-colorway color enrichment (Pillow, $0 local, disk-safe)
- enrich_greenland.py: downloads each colorway swatch DOWNSCALED to 256px (~15KB)
  instead of keeping full-res (Greenland serves ~1MB even for thumbnails → 3GB avoided;
  actual footprint ~47MB). Pillow hex + color_family per colorway; material carried from
  the vendor category tree (no vision pass needed). → out/greenland-enriched.jsonl.
- viewer: greenland branch now reads the ENRICH index (hex/color_family/palette/siblings)
  so the color-family sort + swatch nav light up per colorway; ENRICH_FILES + watchFile
  wired for greenland-enriched so it hot-reloads as enrichment lands.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
cb79303 · 2026-07-01 · greenland: scrape vendor API → 880 patterns/3117 colorways, wire china. scope
- scrape_greenland.py: feed-first crawl of api.greenlandwallcoverings.com
  (/category/list + /product/page per-category for material facet + /product/search
  for colorways). No auth, no headless browser needed. → staging/greenland-staging.jsonl
- viewer buildRows: greenland branch fans each pattern to its colorway SKUs (Sangetsu
  shape); cover-image-only patterns fall back to one pattern card so all 880 render.
  Material (Sisal/Cork/Vinyl/XPE/Wood/Linen/Abaca/Hemp/Silk…) surfaced as the collection facet.
- china.designerwallcoverings.com now renders 3771 Greenland cards; japan. unchanged (13075), no cross-leak.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
df5e3a0 · 2026-06-30 · viewer: host-based scoping — china.=Greenland-only (empty state for now), japan.=Sangetsu+Lilycolor unchanged
server.js: per-request hostScope(req) reads Host header; china.* → source:'greenland' pool only, japan/local → lily+sangetsu (greenland excluded). Added /api/scope endpoint; /api/skus + /api/facets pre-filter ROWS by host pool and clamp f.source to in-scope sources so neither host can leak into the other. index.html fetches /api/scope first to set title/H1/subtitle + build source tabs (china: All+Greenland; japan: All+Lilycolor+Sangetsu) and shows a 'Greenland — catalog coming soon' empty state.
a06707a · 2026-06-30 · japan/china viewer: add 6 DW facets (collection, width, fire, performance, price band, image) to the enriched nav
- server: derived collection/fire_class/functions/price_band/image_state per row, both vendors degrade gracefully
- /api/facets: drill-down counts for all 6 new dims (functions multi-valued); fixed PRICE_BANDS comma-collision (≤¥1,000 → ≤¥1k) that broke CSV multi-select
- index.html: 6 new chip rows, state+localStorage persistence, active-filter chips, Clear all, price band fixed order

File tree

109 files tracked. Click any to browse the source at HEAD.

Other build journals

← Instant Audit  ·  all 4 projects  ·  Jf Fabrics Recrawl →

Export

commits.csv · feed.atom · project.json · commits.json

rendered in 1ms