Japan Enrich
Search the build
-
12a4b772026-07-28 auto-save: 2026-07-28T08:28:39 (2 files) — staging/.onboard.lock staging/onboard-run.log -
cf892082026-07-28 auto-save: 2026-07-28T07:58:26 (2 files) — staging/onboard-run.log staging/.onboard.lock -
b75fcb12026-07-28 auto-save: 2026-07-28T03:57:08 (2 files) — staging/.onboard.lock staging/onboard-run.log -
5c89de92026-07-28 auto-save: 2026-07-28T03:26:56 (2 files) — staging/onboard-run.log staging/.onboard.lock -
bf82c5d2026-07-27 auto-save: 2026-07-27T23:25:34 (2 files) — staging/.onboard.lock staging/onboard-run.log -
64ea8082026-07-27 auto-save: 2026-07-27T22:55:20 (2 files) — staging/onboard-run.log staging/.onboard.lock -
764fae12026-07-27 auto-save: 2026-07-27T18:53:10 (1 files) — staging/onboard-run.log -
190237a2026-07-27 auto-save: 2026-07-27T14:51:27 (2 files) — staging/.onboard.lock staging/onboard-run.log -
bb319152026-07-27 auto-save: 2026-07-27T14:21:14 (2 files) — staging/onboard-run.log staging/.onboard.lock -
1256e402026-07-27 auto-save: 2026-07-27T10:19:40 (1 files) — staging/onboard-run.log -
0354faf2026-07-27 auto-save: 2026-07-27T06:18:28 (1 files) — staging/onboard-run.log -
18f55722026-07-27 auto-save: 2026-07-27T02:17:19 (2 files) — staging/.onboard.lock staging/onboard-run.log -
82ccce72026-07-27 auto-save: 2026-07-27T01:47:10 (2 files) — staging/onboard-run.log staging/.onboard.lock -
18a80e62026-07-26 auto-save: 2026-07-26T21:46:09 (1 files) — staging/onboard-run.log -
93e34052026-07-26 auto-save: 2026-07-26T17:44:55 (1 files) — staging/onboard-run.log -
1f86a682026-07-26 auto-save: 2026-07-26T13:43:45 (2 files) — staging/.onboard.lock staging/onboard-run.log -
9f3bffb2026-07-26 auto-save: 2026-07-26T13:13:36 (2 files) — staging/onboard-run.log staging/.onboard.lock -
6f70f912026-07-26 auto-save: 2026-07-26T09:12:24 (1 files) — staging/onboard-run.log -
9a8f4c12026-07-26 auto-save: 2026-07-26T05:10:45 (2 files) — staging/.onboard.lock staging/onboard-run.log -
968ad762026-07-26 auto-save: 2026-07-26T04:40:35 (2 files) — staging/onboard-run.log staging/.onboard.lock -
319e12f2026-07-26 auto-save: 2026-07-26T00:39:31 (1 files) — staging/onboard-run.log -
3cd39e22026-07-25 auto-save: 2026-07-25T20:38:27 (1 files) — staging/onboard-run.log -
5f9887d2026-07-25 auto-save: 2026-07-25T16:37:21 (2 files) — staging/.onboard.lock staging/onboard-run.log -
02f1dc32026-07-25 auto-save: 2026-07-25T16:07:12 (2 files) — staging/onboard-run.log staging/.onboard.lock -
68205382026-07-25 auto-save: 2026-07-25T12:06:06 (1 files) — staging/onboard-run.log -
e8001ad2026-07-25 auto-save: 2026-07-25T08:04:52 (2 files) — staging/.onboard.lock staging/onboard-run.log -
36d7f482026-07-25 auto-save: 2026-07-25T07:34:42 (2 files) — staging/onboard-run.log staging/.onboard.lock -
48adf932026-07-25 auto-save: 2026-07-25T03:33:15 (1 files) — staging/onboard-run.log -
e8a55832026-07-24 auto-save: 2026-07-24T23:30:18 (1 files) — staging/onboard-run.log -
2b06f802026-07-24 auto-save: 2026-07-24T19:29:21 (2 files) — staging/.onboard.lock staging/onboard-run.log -
51157692026-07-24 auto-save: 2026-07-24T18:59:11 (2 files) — staging/onboard-run.log staging/.onboard.lock -
a9df5182026-07-24 auto-save: 2026-07-24T14:58:16 (1 files) — staging/onboard-run.log -
1000e682026-07-24 auto-save: 2026-07-24T10:57:22 (2 files) — staging/.onboard.lock staging/onboard-run.log -
f8d7e282026-07-24 auto-save: 2026-07-24T10:27:15 (2 files) — staging/onboard-run.log staging/.onboard.lock -
0086cd02026-07-24 auto-save: 2026-07-24T06:25:47 (1 files) — staging/onboard-run.log -
1d1e3182026-07-24 auto-save: 2026-07-24T02:24:51 (1 files) — staging/onboard-run.log -
aba28112026-07-23 auto-save: 2026-07-23T22:23:53 (2 files) — staging/.onboard.lock staging/onboard-run.log -
84fc2712026-07-23 auto-save: 2026-07-23T21:53:45 (2 files) — staging/onboard-run.log staging/.onboard.lock -
a8b3f882026-07-23 auto-save: 2026-07-23T17:52:50 (1 files) — staging/onboard-run.log -
8e002092026-07-23 auto-save: 2026-07-23T13:51:43 (1 files) — staging/onboard-run.log -
430c4c52026-07-23 auto-save: 2026-07-23T09:50:03 (2 files) — staging/.onboard.lock staging/onboard-run.log -
48158bc2026-07-23 auto-save: 2026-07-23T09:19:52 (2 files) — staging/onboard-run.log staging/.onboard.lock -
b73af892026-07-23 auto-save: 2026-07-23T05:18:46 (1 files) — staging/onboard-run.log -
3ab0ac72026-07-23 auto-save: 2026-07-23T01:17:50 (2 files) — staging/.onboard.lock staging/onboard-run.log -
b3461862026-07-23 auto-save: 2026-07-23T00:47:42 (2 files) — staging/onboard-run.log staging/.onboard.lock -
633905b2026-07-22 auto-save: 2026-07-22T20:46:37 (1 files) — staging/onboard-run.log -
53ab4752026-07-22 auto-save: 2026-07-22T16:45:31 (2 files) — staging/.onboard.lock staging/onboard-run.log -
9b6e9192026-07-22 auto-save: 2026-07-22T16:15:24 (2 files) — staging/onboard-run.log staging/.onboard.lock -
f63aead2026-07-22 auto-save: 2026-07-22T12:13:58 (1 files) — staging/onboard-run.log -
a6650f62026-07-22 auto-save: 2026-07-22T08:12:31 (2 files) — staging/.onboard.lock staging/onboard-run.log -
f8eefb92026-07-22 auto-save: 2026-07-22T07:42:20 (2 files) — staging/onboard-run.log staging/.onboard.lock -
312a6b12026-07-22 auto-save: 2026-07-22T03:41:10 (1 files) — staging/onboard-run.log -
c9054bf2026-07-21 auto-save: 2026-07-21T23:40:18 (2 files) — staging/.onboard.lock staging/onboard-run.log -
c4375a22026-07-21 auto-save: 2026-07-21T23:10:10 (2 files) — staging/onboard-run.log staging/.onboard.lock -
27d39842026-07-21 auto-save: 2026-07-21T19:09:20 (1 files) — staging/onboard-run.log -
748ed5b2026-07-21 auto-save: 2026-07-21T15:08:10 (2 files) — staging/.onboard.lock staging/onboard-run.log -
3924f412026-07-21 auto-save: 2026-07-21T14:38:01 (2 files) — staging/onboard-run.log staging/.onboard.lock -
0b5e1d12026-07-21 auto-save: 2026-07-21T10:37:02 (1 files) — staging/onboard-run.log -
7130a832026-07-21 auto-save: 2026-07-21T06:36:08 (2 files) — staging/.onboard.lock staging/onboard-run.log -
fdd47192026-07-21 auto-save: 2026-07-21T06:06:01 (2 files) — staging/onboard-run.log staging/.onboard.lock -
c93884f2026-07-21 auto-save: 2026-07-21T02:35:18 (2 files) — staging/.onboard.lock staging/onboard-run.log -
574d7672026-07-21 auto-save: 2026-07-21T02:05:11 (2 files) — staging/onboard-run.log staging/.onboard.lock -
31ba1292026-07-20 auto-save: 2026-07-20T22:04:23 (2 files) — staging/.onboard.lock staging/onboard-run.log -
9eb6dfc2026-07-20 auto-save: 2026-07-20T21:34:15 (2 files) — staging/onboard-run.log staging/.onboard.lock -
7af490e2026-07-20 auto-save: 2026-07-20T17:33:24 (1 files) — staging/onboard-run.log -
19d64d62026-07-20 auto-save: 2026-07-20T13:32:24 (2 files) — staging/.onboard.lock staging/onboard-run.log -
f4bed862026-07-20 auto-save: 2026-07-20T13:02:15 (2 files) — staging/onboard-run.log staging/.onboard.lock -
0c5066d2026-07-20 auto-save: 2026-07-20T09:00:59 (1 files) — staging/onboard-run.log -
fd61ebd2026-07-20 auto-save: 2026-07-20T04:59:59 (2 files) — staging/.onboard.lock staging/onboard-run.log -
79c5edd2026-07-20 auto-save: 2026-07-20T04:29:52 (2 files) — staging/onboard-run.log staging/.onboard.lock -
05a231c2026-07-20 auto-save: 2026-07-20T00:28:58 (1 files) — staging/onboard-run.log -
f46d46c2026-07-19 auto-save: 2026-07-19T20:27:58 (2 files) — staging/.onboard.lock staging/onboard-run.log -
9f5f0682026-07-19 auto-save: 2026-07-19T19:57:51 (2 files) — staging/onboard-run.log staging/.onboard.lock -
2a056052026-07-19 auto-save: 2026-07-19T15:57:02 (1 files) — staging/onboard-run.log -
cdffd802026-07-19 auto-save: 2026-07-19T11:56:13 (2 files) — staging/.onboard.lock staging/onboard-run.log -
f07f7d82026-07-19 auto-save: 2026-07-19T11:26:07 (2 files) — staging/onboard-run.log staging/.onboard.lock -
0293d372026-07-19 auto-save: 2026-07-19T07:25:16 (1 files) — staging/onboard-run.log -
4d700802026-07-19 auto-save: 2026-07-19T03:24:25 (1 files) — staging/onboard-run.log -
99567762026-07-18 auto-save: 2026-07-18T23:23:33 (2 files) — staging/.onboard.lock staging/onboard-run.log -
9e34cd12026-07-18 auto-save: 2026-07-18T22:53:23 (2 files) — staging/onboard-run.log staging/.onboard.lock -
72bb2f42026-07-18 auto-save: 2026-07-18T18:52:32 (1 files) — staging/onboard-run.log -
091777a2026-07-18 auto-save: 2026-07-18T14:51:45 (2 files) — staging/.onboard.lock staging/onboard-run.log -
c138de12026-07-18 auto-save: 2026-07-18T14:21:38 (2 files) — staging/onboard-run.log staging/.onboard.lock -
132b7d52026-07-18 auto-save: 2026-07-18T10:20:51 (1 files) — staging/onboard-run.log -
dd52f9c2026-07-18 auto-save: 2026-07-18T06:19:57 (2 files) — staging/.onboard.lock staging/onboard-run.log -
babac712026-07-18 auto-save: 2026-07-18T05:49:50 (2 files) — staging/onboard-run.log staging/.onboard.lock -
bbfd8312026-07-18 auto-save: 2026-07-18T01:48:57 (1 files) — staging/onboard-run.log -
89ab4622026-07-17 auto-save: 2026-07-17T21:48:00 (1 files) — staging/onboard-run.log -
651253d2026-07-17 auto-save: 2026-07-17T17:47:14 (2 files) — staging/.onboard.lock staging/onboard-run.log -
af5983f2026-07-17 auto-save: 2026-07-17T17:17:09 (2 files) — staging/onboard-run.log staging/.onboard.lock -
1077c1d2026-07-17 auto-save: 2026-07-17T13:16:39 (1 files) — staging/onboard-run.log -
8622a582026-07-17 auto-save: 2026-07-17T09:16:00 (2 files) — staging/.onboard.lock staging/onboard-run.log -
3f05adc2026-07-17 auto-save: 2026-07-17T08:45:54 (2 files) — staging/onboard-run.log staging/.onboard.lock -
43c08b92026-07-17 auto-save: 2026-07-17T04:45:21 (1 files) — staging/onboard-run.log -
9e9aea02026-07-17 auto-save: 2026-07-17T00:44:52 (1 files) — staging/onboard-run.log -
292722c2026-07-16 auto-save: 2026-07-16T20:44:21 (2 files) — staging/.onboard.lock staging/onboard-run.log -
126551a2026-07-16 auto-save: 2026-07-16T20:14:17 (2 files) — staging/onboard-run.log staging/.onboard.lock -
46b7fa62026-07-16 auto-save: 2026-07-16T16:13:42 (1 files) — staging/onboard-run.log -
3c5a40f2026-07-16 auto-save: 2026-07-16T12:13:12 (2 files) — staging/.onboard.lock staging/onboard-run.log -
a0c07222026-07-16 auto-save: 2026-07-16T11:43:05 (2 files) — staging/onboard-run.log staging/.onboard.lock -
5e275432026-07-16 auto-save: 2026-07-16T07:41:55 (1 files) — staging/onboard-run.log -
5fce1c42026-07-16 auto-save: 2026-07-16T03:41:01 (2 files) — staging/.onboard.lock staging/onboard-run.log -
11d14172026-07-16 auto-save: 2026-07-16T03:10:54 (2 files) — staging/onboard-run.log staging/.onboard.lock -
5b812562026-07-15 auto-save: 2026-07-15T23:10:04 (1 files) — staging/onboard-run.log -
c02eec12026-07-15 auto-save: 2026-07-15T19:09:14 (2 files) — staging/.onboard.lock staging/onboard-run.log -
e9207c22026-07-15 auto-save: 2026-07-15T18:39:06 (2 files) — staging/onboard-run.log staging/.onboard.lock -
6b341a42026-07-15 auto-save: 2026-07-15T14:37:13 (1 files) — staging/onboard-run.log -
daebcc92026-07-15 auto-save: 2026-07-15T10:35:56 (2 files) — staging/.onboard.lock staging/onboard-run.log -
1854fd02026-07-15 auto-save: 2026-07-15T10:05:46 (2 files) — staging/onboard-run.log staging/.onboard.lock -
b93d89d2026-07-15 auto-save: 2026-07-15T06:04:51 (1 files) — staging/onboard-run.log -
eb0228c2026-07-15 auto-save: 2026-07-15T02:04:02 (1 files) — staging/onboard-run.log -
6a195c52026-07-14 auto-save: 2026-07-14T22:03:13 (2 files) — staging/.onboard.lock staging/onboard-run.log -
dcabe582026-07-14 auto-save: 2026-07-14T21:33:02 (2 files) — staging/onboard-run.log staging/.onboard.lock -
59c65532026-07-14 auto-save: 2026-07-14T17:32:12 (1 files) — staging/onboard-run.log -
a2505642026-07-14 auto-save: 2026-07-14T13:31:22 (2 files) — staging/.onboard.lock staging/onboard-run.log -
f865f122026-07-14 auto-save: 2026-07-14T13:01:14 (2 files) — staging/onboard-run.log staging/.onboard.lock -
a987ecf2026-07-14 auto-save: 2026-07-14T09:00:07 (1 files) — staging/onboard-run.log -
4e0a4102026-07-14 Revert "Add Activation Calendar tab (go-live date+time per staged SKU)" -
b7cbfbd2026-07-14 Add Activation Calendar tab (go-live date+time per staged SKU) -
161bdc72026-07-14 auto-save: 2026-07-14T04:59:06 (2 files) — staging/.onboard.lock staging/onboard-run.log -
80cccc92026-07-14 auto-save: 2026-07-14T04:28:59 (2 files) — staging/onboard-run.log staging/.onboard.lock -
3eb70922026-07-14 auto-save: 2026-07-14T00:28:06 (2 files) — staging/.onboard.lock staging/onboard-run.log -
7c775972026-07-13 auto-save: 2026-07-13T23:57:59 (2 files) — staging/onboard-run.log staging/.onboard.lock -
c2ad8d72026-07-13 auto-save: 2026-07-13T19:57:00 (2 files) — staging/.onboard.lock staging/onboard-run.log -
5cf81342026-07-13 auto-save: 2026-07-13T19:26:53 (2 files) — staging/onboard-run.log staging/.onboard.lock -
873af582026-07-13 auto-save: 2026-07-13T15:25:47 (2 files) — staging/.onboard.lock staging/onboard-run.log -
fb777a12026-07-13 auto-save: 2026-07-13T14:55:38 (2 files) — staging/onboard-run.log staging/.onboard.lock -
ceef2142026-07-13 auto-save: 2026-07-13T10:54:28 (1 files) — staging/onboard-run.log -
856ae1a2026-07-13 auto-save: 2026-07-13T06:53:18 (2 files) — staging/.onboard.lock staging/onboard-run.log -
748d3222026-07-13 auto-save: 2026-07-13T06:23:11 (2 files) — staging/onboard-run.log staging/.onboard.lock -
d47a40d2026-07-13 auto-save: 2026-07-13T02:22:18 (2 files) — staging/.onboard.lock staging/onboard-run.log -
e7915d52026-07-13 auto-save: 2026-07-13T01:52:00 (2 files) — staging/onboard-run.log staging/.onboard.lock -
1e5b0422026-07-12 auto-save: 2026-07-12T21:50:32 (1 files) — staging/onboard-run.log -
aa0e6882026-07-12 auto-save: 2026-07-12T17:49:31 (2 files) — staging/.onboard.lock staging/onboard-run.log -
6a293f52026-07-12 auto-save: 2026-07-12T17:19:25 (2 files) — staging/onboard-run.log staging/.onboard.lock -
bfe4aab2026-07-12 auto-save: 2026-07-12T13:18:21 (1 files) — staging/onboard-run.log -
ec10a132026-07-12 auto-save: 2026-07-12T09:17:21 (1 files) — staging/onboard-run.log -
751af4b2026-07-12 auto-save: 2026-07-12T05:16:30 (2 files) — staging/.onboard.lock staging/onboard-run.log -
8d929822026-07-12 auto-save: 2026-07-12T04:46:24 (2 files) — staging/onboard-run.log staging/.onboard.lock -
2bf112e2026-07-12 auto-save: 2026-07-12T00:45:38 (1 files) — staging/onboard-run.log -
d8c51192026-07-11 auto-save: 2026-07-11T20:44:55 (1 files) — staging/onboard-run.log -
b4ccf792026-07-11 auto-save: 2026-07-11T16:44:11 (2 files) — staging/.onboard.lock staging/onboard-run.log -
6b04cbb2026-07-11 auto-save: 2026-07-11T16:14:04 (2 files) — staging/onboard-run.log staging/.onboard.lock -
17af74f2026-07-11 auto-save: 2026-07-11T12:13:17 (1 files) — staging/onboard-run.log -
cd8a5392026-07-11 auto-save: 2026-07-11T08:12:22 (2 files) — staging/.onboard.lock staging/onboard-run.log -
2f93d8d2026-07-11 auto-save: 2026-07-11T07:42:17 (2 files) — staging/onboard-run.log staging/.onboard.lock -
d56889e2026-07-11 auto-save: 2026-07-11T03:41:33 (1 files) — staging/onboard-run.log -
3741ad72026-07-10 auto-save: 2026-07-10T23:40:50 (1 files) — staging/onboard-run.log -
57e0a9d2026-07-10 auto-save: 2026-07-10T19:40:07 (2 files) — staging/.onboard.lock staging/onboard-run.log -
03e7b112026-07-10 auto-save: 2026-07-10T19:10:01 (2 files) — staging/onboard-run.log staging/.onboard.lock -
2178f542026-07-10 auto-save: 2026-07-10T15:09:07 (1 files) — staging/onboard-run.log -
b4e7da42026-07-10 auto-save: 2026-07-10T11:07:57 (2 files) — staging/.onboard.lock staging/onboard-run.log -
b0802442026-07-10 auto-save: 2026-07-10T10:37:42 (2 files) — staging/onboard-run.log staging/.onboard.lock -
223a0f72026-07-10 auto-save: 2026-07-10T05:44:08 (2 files) — staging/.onboard.lock staging/onboard-run.log -
1d5b8f72026-07-10 auto-save: 2026-07-10T05:14:01 (2 files) — staging/onboard-run.log staging/.onboard.lock -
786483e2026-07-10 auto-save: 2026-07-10T01:13:08 (1 files) — staging/onboard-run.log -
b6f47602026-07-09 auto-save: 2026-07-09T21:12:13 (1 files) — staging/onboard-run.log -
2c384f42026-07-09 auto-save: 2026-07-09T17:11:25 (2 files) — staging/.onboard.lock staging/onboard-run.log -
87e444f2026-07-09 auto-save: 2026-07-09T16:41:19 (2 files) — staging/onboard-run.log staging/.onboard.lock -
e3ee7c82026-07-09 auto-save: 2026-07-09T12:40:29 (1 files) — staging/onboard-run.log -
720a85f2026-07-09 auto-save: 2026-07-09T08:39:40 (1 files) — staging/onboard-run.log -
27ca5d82026-07-09 auto-save: 2026-07-09T04:38:56 (2 files) — staging/.onboard.lock staging/onboard-run.log -
d8de3252026-07-09 auto-save: 2026-07-09T04:08:49 (2 files) — staging/onboard-run.log staging/.onboard.lock -
ca03efa2026-07-09 auto-save: 2026-07-09T00:08:06 (1 files) — staging/onboard-run.log -
86b16292026-07-08 auto-save: 2026-07-08T20:07:23 (1 files) — staging/onboard-run.log -
b8d26cf2026-07-08 auto-save: 2026-07-08T16:06:38 (2 files) — staging/.onboard.lock staging/onboard-run.log -
9717bce2026-07-08 auto-save: 2026-07-08T15:36:30 (2 files) — staging/onboard-run.log staging/.onboard.lock -
f13dda82026-07-08 auto-save: 2026-07-08T11:35:28 (1 files) — staging/onboard-run.log -
4e47ba62026-07-08 auto-save: 2026-07-08T07:34:38 (2 files) — staging/.onboard.lock staging/onboard-run.log -
98bcc082026-07-08 auto-save: 2026-07-08T07:04:32 (2 files) — staging/onboard-run.log staging/.onboard.lock -
a6fee3a2026-07-08 auto-save: 2026-07-08T03:03:50 (1 files) — staging/onboard-run.log -
59a5b1f2026-07-07 auto-save: 2026-07-07T23:03:07 (2 files) — staging/.onboard.lock staging/onboard-run.log -
d3079a42026-07-07 auto-save: 2026-07-07T22:33:01 (2 files) — staging/onboard-run.log staging/.onboard.lock -
e69803e2026-07-07 auto-save: 2026-07-07T19:32:17 (2 files) — staging/.overnight.lock staging/overnight-yolo.log -
4406e7d2026-07-07 auto-save: 2026-07-07T18:32:03 (2 files) — staging/onboard-run.log staging/overnight-yolo.log -
a71f8162026-07-07 auto-save: 2026-07-07T17:31:51 (1 files) — staging/overnight-yolo.log -
dea12f82026-07-07 auto-save: 2026-07-07T16:31:38 (1 files) — staging/overnight-yolo.log -
5adfec42026-07-07 auto-save: 2026-07-07T16:01:30 (1 files) — staging/overnight-yolo.log -
cea00222026-07-07 auto-save: 2026-07-07T15:31:24 (1 files) — staging/overnight-yolo.log -
c43b5742026-07-07 auto-save: 2026-07-07T15:01:17 (1 files) — staging/overnight-yolo.log -
a78eb0f2026-07-07 auto-save: 2026-07-07T14:31:09 (2 files) — staging/onboard-run.log staging/overnight-yolo.log -
e38c3612026-07-07 auto-save: 2026-07-07T14:01:00 (1 files) — staging/overnight-yolo.log -
984f5bd2026-07-07 auto-save: 2026-07-07T13:30:45 (1 files) — staging/overnight-yolo.log -
fec83362026-07-07 auto-save: 2026-07-07T13:00:27 (1 files) — staging/overnight-yolo.log -
45411422026-07-07 auto-save: 2026-07-07T12:30:21 (1 files) — staging/overnight-yolo.log -
fa698562026-07-07 auto-save: 2026-07-07T12:00:16 (1 files) — staging/overnight-yolo.log -
72c4c8f2026-07-07 auto-save: 2026-07-07T11:30:11 (1 files) — staging/overnight-yolo.log -
6dee5f92026-07-07 auto-save: 2026-07-07T11:00:06 (1 files) — staging/overnight-yolo.log -
0ecd0982026-07-07 auto-save: 2026-07-07T10:30:01 (3 files) — staging/.onboard.lock staging/onboard-run.log staging/overnight-yolo.log -
4b43cbe2026-07-07 auto-save: 2026-07-07T09:59:53 (3 files) — staging/onboard-run.log staging/overnight-yolo.log staging/.onboard.lock -
2336e9f2026-07-07 auto-save: 2026-07-07T09:29:44 (1 files) — staging/overnight-yolo.log -
b1692ed2026-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 -
d1e46a82026-07-06 chore: v1.1.0 (session close) — distributor microsites + catalog expansion + visual match + overnight crawl -
2eb6f852026-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) -
b6d69f02026-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 -
a0a32aa2026-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 -
54e6e3f2026-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 -
0f8c5262026-07-06 japan: nginx-final-fix.sh (IP-specific listen 45.61.58.125:80 — the real routing bug) + Singapore distributors resolved 863/874 -
52c70002026-07-06 japan: get-all-live.sh — push all new patterns (Thailand-uncategorized + Singapore) to live by idempotent append + brand merge (no overwrite) -
d0a51a92026-07-06 japan: scrape_gg_sg_brands.py — resolve the 242 Singapore distributors (correct selector: psg-single-brands + /product_brand/) -
d2fb29e2026-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 -
0dd7b322026-07-06 japan: nginx-diagnose.sh (read-only) to find the conflicting server_name block behind the cert failure -
1398b4c2026-07-06 japan: +242 Singapore wallcoverings onboarded; nginx setup rewritten to serve ACME challenge from webroot (fixes cert-fail; certbot --webroot) -
c7b77dd2026-07-06 japan: onboard 242 NEW wallcoverings from goodrichglobal Singapore Store API (feed-first, wallcovering-only, brand-scraped) — nearly doubles the pattern catalog -
8812a8f2026-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) -
c0773d32026-07-06 japan: +9 new Sangetsu wallcoverings (198 colorways) the sitemap missed — found via Store API (uncategorized), brand-scraped, staged; catalog 623→632 patterns -
f05a2b52026-07-06 japan: Store-API crawler finds full Sangetsu-Goodrich catalog (878 products vs 623 in sitemap); feed-first, $0 -
a3d28d92026-07-06 japan: loader creates vendor_never_on_shopify if missing (canonical lacks it, unlike the mirror) — keep_offline insert no longer errors -
23c55142026-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 -
ffe7b6f2026-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 -
c9bf0f62026-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 -
32cb9e42026-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 -
e82b9032026-07-06 japan: loader prefers dw_admin (owner) DSN so ALTER TABLE use_for_ai works; prints candidate users + table owner for diagnosis -
329275d2026-07-06 japan: loader wrapper uses quoted heredoc (fixes quote-stripping syntax error); auto-resolves dw_unified DSN + verifies db before load -
6961b032026-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) -
d08e0312026-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. -
a6bb3a22026-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) -
b34412a2026-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) -
619957d2026-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) -
51b71962026-07-06 japan: autonomous local-model onboarding pipeline (manifest + qwen2.5vl/Pillow enrich) + launchd plist ($0, resumable, unattended) -
0b387d12026-07-06 japan viewer: per-distributor microsite host-scoping — <slug>.designerwallcoverings.com serves only that distributor's Sangetsu line (internal, read-only) -
efb21162026-07-06 japan: close distributor gap — scrape 40 more patterns, live coverage 18,233/18,272 (99.8%); real per-product distributor logged -
b29fdd52026-07-06 japan: real Sangetsu distributor brand map (619/623 patterns; Koroseal/J.Josephson/Carlisle&Co/Eijffinger/… entity-cleaned) -
dcf30722026-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 -
5b7654c2026-07-06 japan: Tier-1 canonical dw_unified stage runbook (approved; on_shopify=false, no Shopify, stage from live 18,272) -
955be292026-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 -
8b2471a2026-07-06 japan viewer: URL-param deep-link + sharable state for every left-panel facet (readURL/syncURL) -
f26fe662026-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) -
1521e3c2026-07-06 japan: code-only UPDATE runbook for live japan.designerwallcoverings.com (2 files + pm2 restart, no staging/DB/Shopify) -
4ebbbd52026-07-06 japan: deploy artifacts for Kamatera go-live (nginx vhost japan+china, DEPLOY runbook, auth'd viewer, no Shopify publish) -
efb64722026-07-06 japan: bulk-stage full Sangetsu line into sangetsu_catalog (13,067 SKUs, us_distributor=Goodrich, on_shopify=false; dedupe cross-pattern SKUs) -
af6d4f12026-07-06 japan: create per-vendor *_catalog tables (promote-queue targets) + pg dep -
9f2be432026-07-06 japan viewer: import-queue drawer — list queued SKUs, per-row remove, clear all -
ab442532026-07-06 japan viewer: '⤓ Import' button — enqueue SKUs for dw_unified onboarding (Shopify gated) -
2cfccdd2026-07-06 japan viewer: make distributor chip a link to the SKU's distributor-microsite page (import-from-here) -
993b6752026-07-06 japan: persist distributor field into staging + dw_unified onboarding plan -
b1fd6b02026-07-06 japan viewer: add distributor (buy-from channel) chip + facet + sort -
d13399a2026-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 -
d4d16342026-07-02 mobile: hamburger filter drawer + 2-up grid for japan/china staged viewer -
ac443bb2026-07-02 auto-save: 2026-07-02T12:48:04 (1 files) — viewer-local/public/index.html -
3b622c62026-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 -
84a131a2026-07-02 title upgrade tool + ledger: 151-title real-translation blocked on Mac2 reboot (ollama zombie); current live state clean (0 katakana) -
a6b995b2026-07-01 auto-save: 2026-07-01T19:08:14 (1 files) — upgrade_lilycolor_titles.py -
aac52012026-07-01 ledger: title residual cleared (0 katakana live on japan.) -
27485cd2026-07-01 lilycolor: clear 151 residual katakana title_en -> derived labels (ollama wedged; title_ja retained for future re-translation); redeployed -
3b60ac92026-07-01 ledger: post-loop 4-item batch closeout (00cm live, swatches live, title_en live, image-loc done) -
43c6a492026-07-01 viewer: lilycolor cards prefer draft title_en (EN → JP → SKU) -
e83f5b52026-07-01 auto-save: 2026-07-01T15:37:13 (1 files) — staging/lilycolor-unified-staging.jsonl -
2a647d22026-07-01 lilycolor title_en synthesizer + per-item cleanup pass (draft EN titles, $0 local qwen) -
5a103b42026-07-01 chore: lint (clean) + refactor (MIN_IMAGE_BYTES const), v0.4.0 (session close — all-vendor CDN independence) -
a4e62202026-07-01 lilycolor: fix 4 rows with truncated width '00cm' -> '100cm' (LLT6068, LWT1741/1752/1755) -
79ba0fa2026-07-01 lilycolor: fill 224 Henry-only image gaps on prod (make_lily_fill.py) -> 100% CDN-independent -
d6bab412026-07-01 ledger: shipped japan. Sangetsu swatches (14,097/159M, CDN-independent) -
df192e52026-07-01 deploy: ship Sangetsu color+spec enrichment to Kamatera japan-viewer (14,302 colorways live; facets verified) -
c966b642026-07-01 viewer: serve japan. Sangetsu cards from local /img/sangetsu/ swatches (256px, CDN-independent) + make_sangetsu_swatches.py downscaler -
e53e2b22026-07-01 ledger: shipped Greenland swatches to Kamatera (china. CDN-independent, 3028 swatches/32M) -
e9bfa452026-07-01 officer-yolo loop CONVERGED (Cycle 5): all high-value SAFE japan-side data work harvested -
ba08fec2026-07-01 Cycle 4: project README (pipeline, host-scoping, deploy topology, data-regen) -
e4ec5952026-07-01 Cycle 3: Lilycolor data-quality audit (title_en 100% gap, image bytes unfetched) -> out/lilycolor-audit.md -
0c2eba52026-07-01 sangetsu Cycle 2: recover+complete color enrichment — 14,302 colorways w/ color_family+hex (hardened atomic write) -
dba9a4b2026-07-01 keep enriched jsonl gitignored (regenerable via enrich_sangetsu.py; script+staging are source of truth) -
5f926932026-07-01 sangetsu Cycle 2: color-family+hex enrichment complete (14,302 colorways, recovered from restart regression) -
16752c32026-07-01 enricher: decouple slow vision (SANGETSU_VISION toggle, default off) — color pass is the goal, vision is opt-in bonus -
01733582026-07-01 enricher: drop unused imports (pyflakes clean) -
1aceaf02026-07-01 sangetsu enricher: atomic temp+rename checkpoint + carry-forward resume (restart can't truncate baseline) -
2d6bdd62026-07-01 auto-save: 2026-07-01T12:12:34 (1 files) — out/officer-yolo-ledger.md -
4bfcb682026-07-01 chore: gitignore __pycache__/*.pyc (auto-save hook was tracking bytecode) -
fe332192026-07-01 ledger: record Cycle 1 commit hash (beb1d0c) -
beb1d0c2026-07-01 sangetsu: backfill product spec (width+type) for 557 missing patterns -
1027fc62026-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 -
0f426072026-07-01 chore: lint (node -c + pyflakes clean), v0.3.0 (Greenland china. catalog — session close) -
93611f52026-07-01 sangetsu: fix 6 straggler patterns (cover-only, no per-colorway swatch) -
9f83f102026-07-01 greenland: clean material facet — scope to fiber taxonomy, drop collection/color pollution -
6f12a632026-07-01 greenland: serve colorway swatches locally (/img/greenland/), self-contained china. -
1f25bc62026-07-01 sangetsu: backfill colorways/images for 254 imageless patterns via WooCommerce Store API -
501439c2026-07-01 auto-save: 2026-07-01T10:11:20 (1 files) — scrape_sangetsu_backfill.py -
b6444732026-07-01 greenland: per-colorway color enrichment (Pillow, $0 local, disk-safe) -
cb793032026-07-01 greenland: scrape vendor API → 880 patterns/3117 colorways, wire china. scope -
df5e3a02026-06-30 viewer: host-based scoping — china.=Greenland-only (empty state for now), japan.=Sangetsu+Lilycolor unchanged -
18261092026-06-30 viewer: env-gated admin Basic Auth (REQUIRE_AUTH) for deploy; nginx is the live gate on japan./china. -
a06707a2026-06-30 japan/china viewer: add 6 DW facets (collection, width, fire, performance, price band, image) to the enriched nav -
5e316b72026-06-30 chore: lint (load() try/finally guard), refactor (siblingChip helper + named consts), v0.2.0 (session close) -
4a7ec642026-06-30 viewer: live JPY→USD pricing onload, colorway sibling chips (other colors of each pattern), per-category All toggle to clear chip filters -
ef33cc02026-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 -
61ab2432026-06-30 chore: gitignore data/images, VERSION 0.1.0 (session close) -
e6d7c132026-06-30 auto-save: 2026-06-30T11:39:59 (1 files) — out/lilycolor-enriched.jsonl -
7f3f8ac2026-06-30 Serve extracted Lilycolor colorway swatches in viewer (local /img/lily fallback to images/all_c) -
dbe43142026-06-30 Add Sangetsu pipeline (per-colorway hex + pattern-level vision) + wire enrichment into viewer -
a6774602026-06-30 auto-save: 2026-06-30T11:09:49 (1 files) — out/lilycolor-enriched.jsonl -
c32ee1e2026-06-30 auto-save: 2026-06-30T10:39:38 (1 files) — out/lilycolor-enriched.jsonl -
ad31a262026-06-30 auto-save: 2026-06-30T10:09:30 (1 files) — out/lilycolor-enriched.jsonl -
c1598bc2026-06-30 japan viewer: enriched nav bar (color/style/material facets + drill-down counts + card color dots), local copy + enricher
Authors
- Steve292
Agents used
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
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
- .gitignore
- README.md
- VERSION
- annotate_distributor.py
- build_onboarding_manifest.py
- compute_distributor_colors.py
- config/vendor-corporate.json
- crawl_vendor_corporate.py
- db/EXECUTE-APPROVED.md
- db/TIER1-STAGE.md
- db/create-japan-catalog-tables.sql
- db/distributor-field.sql
- db/load-distributor-lines.js
- db/promote-import-queue.js
- db/stage-sangetsu-all.js
- deploy/DEPLOY.md
- deploy/UPDATE.md
- deploy/com.steve.japan-onboard.plist
- deploy/japan-china.designerwallcoverings.com.nginx
- enrich.py
- enrich_corporate_colors.py
- enrich_greenland.py
- enrich_lilycolor_titles.py
- enrich_sangetsu.py
- fetch_c_zips.sh
- fix_lilycolor_titles.py
- fix_sangetsu_stragglers.py
- make_lily_fill.py
- make_sangetsu_swatches.py
- onboard_all.sh
- onboard_gg_sg_wc.py
- onboard_new_wallcoverings.py
- out/lilycolor-audit.md
- out/officer-yolo-ledger.md
- out/sangetsu.pid
- overnight_yolo.sh
- package-lock.json
- package.json
- scrape_gg_sg_brands.py
- scrape_greenland.py
- scrape_sangetsu_backfill.py
- scrape_sangetsu_brands.py
- scrape_sangetsu_specs.py
- scrape_sangetsu_storeapi.py
- scripts/append-9-to-live.sh
- scripts/clear-hung-alter.sh
- scripts/create-distributor-dns.sh
- scripts/get-all-live.sh
- scripts/load-lines-remote.sh
- scripts/nginx-diagnose.sh
- scripts/nginx-distributor-setup.sh
- scripts/nginx-final-fix.sh
- scripts/nginx-fix-conflict.sh
- staging/corporate-colors.jsonl
- staging/corporate-crawl.log
- staging/corporate/armani-casa.jsonl
- staging/corporate/carlisle-co.jsonl
- staging/corporate/casadeco.jsonl
- staging/corporate/cole-son.jsonl
- staging/corporate/eijffinger.jsonl
- staging/corporate/greenland.jsonl
- staging/corporate/harlequin.jsonl
- staging/corporate/j-josephson.jsonl
- staging/corporate/jannelli-volpi.jsonl
- staging/corporate/jwall.jsonl
- staging/corporate/koroseal.jsonl
- staging/corporate/la-scala-milano.jsonl
- staging/corporate/missoni.jsonl
- staging/corporate/morris-co.jsonl
- staging/corporate/omexco.jsonl
- staging/corporate/p3tec.jsonl
- staging/corporate/sanderson.jsonl
- staging/corporate/scion.jsonl
- staging/corporate/texam.jsonl
- staging/corporate/texdecor.jsonl
- staging/corporate/vahallan.jsonl
- staging/corporate/versa-design-surfaces.jsonl
- staging/corporate/zambaiti-parati.jsonl
- staging/corporate/zintra.jsonl
- staging/corporate/zoffany.jsonl
- staging/distcolor.log
- staging/distcolor2.log
- staging/distributor-catalog.jsonl
- staging/distributor-catalogs.json
- staging/distributor-colors.jsonl
- staging/gg-sg-all.jsonl
- staging/gg-sg-brands.log
- staging/gg-sg-new-wc.jsonl
- staging/gg-sg-onboard.log
- staging/gg-sg-wc.jsonl
- staging/greenland-staging.jsonl
- staging/lilycolor-unified-staging.jsonl
- staging/onboard-launchd.err
- staging/onboard-launchd.out
- staging/onboard-run.log
- staging/onboarding-manifest.json
- staging/overnight-yolo.log
- staging/sangetsu-brands-new.json
- staging/sangetsu-brands.json
- staging/sangetsu-newpatterns.jsonl
- staging/sangetsu-staging.jsonl
- staging/sangetsu-staging.jsonl.bak-0723
- staging/sangetsu-storeapi.jsonl
- staging/specfill-run.log
- staging/specfill.pid
- upgrade_lilycolor_titles.py
- viewer-local/public/index.html
- viewer-local/server.js
- viewer-local/server.log