Dw Activation Calendar

repo: ~/Projects/dw-activation-calendar · 168 commits · 26 in last 24h, 140 in last 7d · ▂██▆▇▄█

Search the build

168 commits indexed

  1. 409dbb6 2026-07-28 auto-save: 2026-07-28T08:58:52 (1 files) — data/activation-schedule.json
  2. e2881b9 2026-07-28 auto-save: 2026-07-28T08:28:39 (1 files) — data/activation-schedule.json
  3. 98f1fd9 2026-07-28 auto-save: 2026-07-28T07:58:26 (1 files) — data/activation-schedule.json
  4. dc037c1 2026-07-28 auto-save: 2026-07-28T06:58:06 (1 files) — data/activation-schedule.json
  5. a197c20 2026-07-28 auto-save: 2026-07-28T05:57:47 (1 files) — data/activation-schedule.json
  6. d8bb223 2026-07-28 auto-save: 2026-07-28T04:57:26 (1 files) — data/activation-schedule.json
  7. c18deba 2026-07-28 auto-save: 2026-07-28T03:57:08 (1 files) — data/activation-schedule.json
  8. c552f71 2026-07-28 auto-save: 2026-07-28T02:56:47 (1 files) — data/activation-schedule.json
  9. b12524f 2026-07-28 auto-save: 2026-07-28T01:56:27 (1 files) — data/activation-schedule.json
  10. a6aece1 2026-07-28 auto-save: 2026-07-28T00:56:07 (1 files) — data/activation-schedule.json
  11. e111a65 2026-07-28 auto-save: 2026-07-28T00:25:56 (1 files) — data/activation-schedule.json
  12. 528bef7 2026-07-27 auto-save: 2026-07-27T23:55:46 (1 files) — data/activation-schedule.json
  13. 0a3042b 2026-07-27 auto-save: 2026-07-27T22:55:20 (1 files) — data/activation-schedule.json
  14. e87adb4 2026-07-27 auto-save: 2026-07-27T21:54:54 (1 files) — data/activation-schedule.json
  15. a20eb74 2026-07-27 auto-save: 2026-07-27T20:54:34 (1 files) — data/activation-schedule.json
  16. 15cf952 2026-07-27 auto-save: 2026-07-27T19:54:12 (1 files) — data/activation-schedule.json
  17. 359f40e 2026-07-27 auto-save: 2026-07-27T18:53:10 (1 files) — data/activation-schedule.json
  18. 89960f0 2026-07-27 auto-save: 2026-07-27T17:52:34 (1 files) — data/activation-schedule.json
  19. b71b205 2026-07-27 auto-save: 2026-07-27T16:52:13 (1 files) — data/activation-schedule.json
  20. e8ea856 2026-07-27 auto-save: 2026-07-27T15:51:48 (1 files) — data/activation-schedule.json
  21. c73cbe8 2026-07-27 auto-save: 2026-07-27T14:51:27 (1 files) — data/activation-schedule.json
  22. 905168c 2026-07-27 auto-save: 2026-07-27T13:51:03 (1 files) — data/activation-schedule.json
  23. b857df4 2026-07-27 auto-save: 2026-07-27T12:50:40 (1 files) — data/activation-schedule.json
  24. 2cdf3d8 2026-07-27 auto-save: 2026-07-27T11:50:21 (1 files) — data/activation-schedule.json
  25. 145c247 2026-07-27 auto-save: 2026-07-27T10:49:50 (1 files) — data/activation-schedule.json
  26. 6fd3140 2026-07-27 auto-save: 2026-07-27T09:49:31 (1 files) — data/activation-schedule.json
  27. def81c0 2026-07-27 auto-save: 2026-07-27T08:49:12 (1 files) — data/activation-schedule.json
  28. b97134b 2026-07-27 auto-save: 2026-07-27T07:48:56 (1 files) — data/activation-schedule.json
  29. 22e9d49 2026-07-27 auto-save: 2026-07-27T06:48:37 (1 files) — data/activation-schedule.json
  30. 03d6966 2026-07-27 auto-save: 2026-07-27T05:48:20 (1 files) — data/activation-schedule.json
  31. 4364cb0 2026-07-27 auto-save: 2026-07-27T04:48:02 (1 files) — data/activation-schedule.json
  32. 1da4760 2026-07-27 auto-save: 2026-07-27T03:47:45 (1 files) — data/activation-schedule.json
  33. 3668127 2026-07-27 auto-save: 2026-07-27T02:47:28 (1 files) — data/activation-schedule.json
  34. 6716e6e 2026-07-27 auto-save: 2026-07-27T01:47:10 (1 files) — data/activation-schedule.json
  35. d80a737 2026-07-27 auto-save: 2026-07-27T00:46:55 (1 files) — data/activation-schedule.json
  36. 5f29993 2026-07-27 auto-save: 2026-07-27T00:16:47 (1 files) — data/activation-schedule.json
  37. 9cc979c 2026-07-26 auto-save: 2026-07-26T17:44:55 (1 files) — data/activation-schedule.json
  38. a52588c 2026-07-26 auto-save: 2026-07-26T09:42:34 (1 files) — data/activation-schedule.json
  39. 23031a7 2026-07-26 auto-save: 2026-07-26T08:41:50 (1 files) — data/activation-schedule.json
  40. 4f7939e 2026-07-26 auto-save: 2026-07-26T07:41:30 (1 files) — data/activation-schedule.json
  41. f5e98bc 2026-07-26 auto-save: 2026-07-26T06:41:11 (1 files) — data/activation-schedule.json
  42. 4b4a513 2026-07-26 auto-save: 2026-07-26T05:40:54 (1 files) — data/activation-schedule.json
  43. 8b75fb0 2026-07-26 auto-save: 2026-07-26T04:40:35 (1 files) — data/activation-schedule.json
  44. be49f74 2026-07-26 auto-save: 2026-07-26T03:40:20 (1 files) — data/activation-schedule.json
  45. 4fc24ac 2026-07-26 auto-save: 2026-07-26T02:40:05 (1 files) — data/activation-schedule.json
  46. 50861f6 2026-07-26 auto-save: 2026-07-26T01:39:48 (1 files) — data/activation-schedule.json
  47. f7dd196 2026-07-26 auto-save: 2026-07-26T00:39:31 (1 files) — data/activation-schedule.json
  48. 6b8c565 2026-07-26 auto-save: 2026-07-26T00:09:22 (1 files) — data/activation-schedule.json
  49. e8f383f 2026-07-25 auto-save: 2026-07-25T23:39:14 (1 files) — data/activation-schedule.json
  50. 8ea9028 2026-07-25 auto-save: 2026-07-25T22:38:58 (1 files) — data/activation-schedule.json
  51. 6806c21 2026-07-25 auto-save: 2026-07-25T21:38:42 (1 files) — data/activation-schedule.json
  52. 3db8f59 2026-07-25 auto-save: 2026-07-25T20:38:27 (1 files) — data/activation-schedule.json
  53. 06dab53 2026-07-25 auto-save: 2026-07-25T19:38:10 (1 files) — data/activation-schedule.json
  54. bff9184 2026-07-25 auto-save: 2026-07-25T18:37:55 (1 files) — data/activation-schedule.json
  55. 59b09b1 2026-07-25 auto-save: 2026-07-25T17:37:37 (1 files) — data/activation-schedule.json
  56. a80ae28 2026-07-25 auto-save: 2026-07-25T16:37:21 (1 files) — data/activation-schedule.json
  57. 64e1c16 2026-07-25 auto-save: 2026-07-25T15:37:05 (1 files) — data/activation-schedule.json
  58. 4e3d76f 2026-07-25 auto-save: 2026-07-25T14:36:51 (1 files) — data/activation-schedule.json
  59. 21c17be 2026-07-25 auto-save: 2026-07-25T13:36:34 (1 files) — data/activation-schedule.json
  60. e13119a 2026-07-25 auto-save: 2026-07-25T11:35:57 (1 files) — data/activation-schedule.json
  61. eaf7f48 2026-07-25 auto-save: 2026-07-25T10:35:38 (1 files) — data/activation-schedule.json
  62. 11d229e 2026-07-25 auto-save: 2026-07-25T10:05:29 (1 files) — data/activation-schedule.json
  63. c894a2c 2026-07-25 auto-save: 2026-07-25T08:35:01 (1 files) — data/activation-schedule.json
  64. a92dd41 2026-07-25 auto-save: 2026-07-25T08:04:52 (1 files) — data/activation-schedule.json
  65. 62447ed 2026-07-25 auto-save: 2026-07-25T07:04:29 (1 files) — data/activation-schedule.json
  66. d768aea 2026-07-25 auto-save: 2026-07-25T06:04:08 (1 files) — data/activation-schedule.json
  67. 69aa216 2026-07-25 auto-save: 2026-07-25T05:03:47 (1 files) — data/activation-schedule.json
  68. 9b8ca6e 2026-07-25 auto-save: 2026-07-25T04:03:25 (1 files) — data/activation-schedule.json
  69. 9b9505e 2026-07-25 auto-save: 2026-07-25T03:03:06 (1 files) — data/activation-schedule.json
  70. a13844e 2026-07-25 auto-save: 2026-07-25T02:02:37 (1 files) — data/activation-schedule.json
  71. f7354bd 2026-07-25 auto-save: 2026-07-25T01:02:17 (1 files) — data/activation-schedule.json
  72. 058b0de 2026-07-25 auto-save: 2026-07-25T00:32:03 (1 files) — data/activation-schedule.json
  73. 7d9498a 2026-07-25 auto-save: 2026-07-25T00:01:48 (1 files) — data/activation-schedule.json
  74. 311e4a2 2026-07-24 auto-save: 2026-07-24T23:00:12 (1 files) — data/activation-schedule.json
  75. f15da69 2026-07-24 auto-save: 2026-07-24T21:59:59 (1 files) — data/activation-schedule.json
  76. 0359103 2026-07-24 auto-save: 2026-07-24T20:59:44 (1 files) — data/activation-schedule.json
  77. 40b594d 2026-07-24 auto-save: 2026-07-24T19:59:29 (1 files) — data/activation-schedule.json
  78. f003edd 2026-07-24 auto-save: 2026-07-24T18:59:11 (1 files) — data/activation-schedule.json
  79. 659e2a9 2026-07-24 auto-save: 2026-07-24T17:58:56 (1 files) — data/activation-schedule.json
  80. 1e763ec 2026-07-24 auto-save: 2026-07-24T16:58:41 (1 files) — data/activation-schedule.json
  81. 92dc760 2026-07-24 auto-save: 2026-07-24T15:58:29 (1 files) — data/activation-schedule.json
  82. fd65f94 2026-07-24 auto-save: 2026-07-24T14:58:16 (1 files) — data/activation-schedule.json
  83. b26568a 2026-07-24 auto-save: 2026-07-24T13:58:01 (1 files) — data/activation-schedule.json
  84. 016ff39 2026-07-24 auto-save: 2026-07-24T09:57:07 (1 files) — data/activation-schedule.json
  85. 11b9e99 2026-07-24 auto-save: 2026-07-24T08:56:52 (1 files) — data/activation-schedule.json
  86. 821a8ff 2026-07-24 auto-save: 2026-07-24T07:56:29 (1 files) — data/activation-schedule.json
  87. 77eb903 2026-07-24 auto-save: 2026-07-24T06:55:55 (1 files) — data/activation-schedule.json
  88. 9c341be 2026-07-24 auto-save: 2026-07-24T05:55:40 (1 files) — data/activation-schedule.json
  89. 1b7e58a 2026-07-24 auto-save: 2026-07-24T04:55:26 (1 files) — data/activation-schedule.json
  90. f7e7884 2026-07-24 auto-save: 2026-07-24T03:55:12 (1 files) — data/activation-schedule.json
  91. 0e7d5f4 2026-07-24 auto-save: 2026-07-24T02:54:59 (1 files) — data/activation-schedule.json
  92. 3ac7da6 2026-07-24 auto-save: 2026-07-24T01:54:44 (1 files) — data/activation-schedule.json
  93. 8aa77d2 2026-07-24 auto-save: 2026-07-24T00:54:30 (1 files) — data/activation-schedule.json
  94. 3a19046 2026-07-24 auto-save: 2026-07-24T00:24:22 (1 files) — data/activation-schedule.json
  95. 4f03bf6 2026-07-23 auto-save: 2026-07-23T23:54:14 (1 files) — data/activation-schedule.json
  96. 810169f 2026-07-23 auto-save: 2026-07-23T22:54:00 (1 files) — data/activation-schedule.json
  97. bdb79f9 2026-07-23 auto-save: 2026-07-23T21:53:45 (1 files) — data/activation-schedule.json
  98. 7497c3d 2026-07-23 auto-save: 2026-07-23T20:53:32 (1 files) — data/activation-schedule.json
  99. 0ba7ae8 2026-07-23 auto-save: 2026-07-23T19:53:19 (1 files) — data/activation-schedule.json
  100. 95102d6 2026-07-23 auto-save: 2026-07-23T18:53:06 (1 files) — data/activation-schedule.json
  101. 8f6c537 2026-07-23 auto-save: 2026-07-23T17:52:50 (1 files) — data/activation-schedule.json
  102. a67aca7 2026-07-23 auto-save: 2026-07-23T16:52:38 (1 files) — data/activation-schedule.json
  103. de6e08d 2026-07-23 auto-save: 2026-07-23T15:52:21 (1 files) — data/activation-schedule.json
  104. a492136 2026-07-23 auto-save: 2026-07-23T14:52:02 (1 files) — data/activation-schedule.json
  105. f842567 2026-07-23 auto-save: 2026-07-23T13:51:43 (1 files) — data/activation-schedule.json
  106. 627e472 2026-07-23 auto-save: 2026-07-23T12:51:13 (1 files) — data/activation-schedule.json
  107. 6acceaf 2026-07-23 auto-save: 2026-07-23T11:50:46 (1 files) — data/activation-schedule.json
  108. fa5a49d 2026-07-23 auto-save: 2026-07-23T11:20:37 (1 files) — data/activation-schedule.json
  109. 7facb6d 2026-07-23 auto-save: 2026-07-23T10:50:25 (1 files) — data/activation-schedule.json
  110. 7253626 2026-07-23 auto-save: 2026-07-23T09:50:03 (1 files) — data/activation-schedule.json
  111. 747a1fb 2026-07-23 auto-save: 2026-07-23T08:49:44 (1 files) — data/activation-schedule.json
  112. e87c8fd 2026-07-23 auto-save: 2026-07-23T07:49:27 (1 files) — data/activation-schedule.json
  113. 6c990d3 2026-07-23 auto-save: 2026-07-23T06:49:07 (1 files) — data/activation-schedule.json
  114. 6673977 2026-07-23 auto-save: 2026-07-23T05:48:54 (1 files) — data/activation-schedule.json
  115. 6392b07 2026-07-23 auto-save: 2026-07-23T04:48:39 (1 files) — data/activation-schedule.json
  116. 377bfac 2026-07-23 auto-save: 2026-07-23T03:48:26 (1 files) — data/activation-schedule.json
  117. 0e08e48 2026-07-23 auto-save: 2026-07-23T02:48:12 (1 files) — data/activation-schedule.json
  118. 6d41608 2026-07-23 auto-save: 2026-07-23T01:47:57 (1 files) — data/activation-schedule.json
  119. 1cef2d7 2026-07-23 auto-save: 2026-07-23T00:47:42 (1 files) — data/activation-schedule.json
  120. bc8fac7 2026-07-23 auto-save: 2026-07-23T00:17:34 (1 files) — data/activation-schedule.json
  121. 4307013 2026-07-22 auto-save: 2026-07-22T23:47:26 (1 files) — data/activation-schedule.json
  122. 2fc28de 2026-07-22 auto-save: 2026-07-22T22:47:10 (1 files) — data/activation-schedule.json
  123. 7e16131 2026-07-22 auto-save: 2026-07-22T21:46:55 (1 files) — data/activation-schedule.json
  124. 4ee3c9d 2026-07-22 auto-save: 2026-07-22T20:46:37 (1 files) — data/activation-schedule.json
  125. 724b4d9 2026-07-22 auto-save: 2026-07-22T19:46:22 (1 files) — data/activation-schedule.json
  126. 0ab50c4 2026-07-22 auto-save: 2026-07-22T18:46:04 (1 files) — data/activation-schedule.json
  127. e944bb7 2026-07-22 auto-save: 2026-07-22T17:45:47 (1 files) — data/activation-schedule.json
  128. d319cf7 2026-07-22 auto-save: 2026-07-22T16:45:31 (1 files) — data/activation-schedule.json
  129. 2db285a 2026-07-22 auto-save: 2026-07-22T15:45:17 (1 files) — data/activation-schedule.json
  130. d97b2c9 2026-07-22 auto-save: 2026-07-22T14:44:58 (1 files) — data/activation-schedule.json
  131. 5b518c2 2026-07-22 auto-save: 2026-07-22T13:44:34 (1 files) — data/activation-schedule.json
  132. 4077412 2026-07-22 auto-save: 2026-07-22T12:44:11 (1 files) — data/activation-schedule.json
  133. 5837471 2026-07-22 chore: lint, refactor, version bump (session close)
  134. 1d223be 2026-07-22 auto-save: 2026-07-22T11:43:42 (1 files) — data/activation-schedule.json
  135. 9d72db8 2026-07-22 cadence prune: adopt DTD-C — union activator audit ids on mirror filter
  136. d320634 2026-07-22 cadence: prune already-active SKUs, keep only staged (DRAFT) items
  137. fa7bfaf 2026-07-22 auto-save: 2026-07-22T00:10:24 (1 files) — data/activation-schedule.json
  138. 7062f2a 2026-07-21 chore: v1.0.3 (session close)
  139. 1dcdfc5 2026-07-21 calendar viewer: mat_tier texture pill/tooltip passthrough (unified schedule); back-compat with legacy fix_type fallback
  140. 295fb99 2026-07-21 calendar: mirror unified textures-first + vendor round-robin over ALL 15,863 drafts (shared lib/rotation-order.js); was worklist-only ~5k
  141. ea26699 2026-07-21 auto-save: 2026-07-21T00:34:53 (1 files) — data/activation-schedule.json
  142. 4a9644b 2026-07-20 auto-save: 2026-07-20T00:28:58 (1 files) — data/activation-schedule.json
  143. 2b87ea7 2026-07-19 auto-save: 2026-07-19T00:23:46 (1 files) — data/activation-schedule.json
  144. 43e5ab8 2026-07-18 auto-save: 2026-07-18T00:18:37 (1 files) — data/activation-schedule.json
  145. 1a3f616 2026-07-17 auto-save: 2026-07-17T00:14:48 (1 files) — data/activation-schedule.json
  146. 34633c4 2026-07-16 chore: version bump v1.0.2 (session close — exclude active products from activation calendar)
  147. b23ac58 2026-07-16 activation drain: exclude vendor~Schumacher (internal-only, Steve rule 2026-07-16)
  148. 737df22 2026-07-16 auto-save: 2026-07-16T07:41:55 (1 files) — data/activation-schedule.json
  149. 93b5747 2026-07-16 auto-save: 2026-07-16T00:10:17 (1 files) — data/activation-schedule.json
  150. 52cf19d 2026-07-15 Exclude already-ACTIVE Shopify products from activation calendar
  151. 4074d9f 2026-07-15 auto-save: 2026-07-15T14:07:06 (3 files) — data/activation-schedule.json public/index.html server.js
  152. 5e3b839 2026-07-15 Activation calendar: vendor filter + see-all-staged list + cross-month reschedule
  153. ca49220 2026-07-15 Activation calendar: drag SKU chips between days to reschedule go-live
  154. 09e4fb6 2026-07-15 Calendar chips are real hrefs to the staged Shopify product (open/cmd-click/right-click); plain click keeps detail modal
  155. 53bb7a5 2026-07-15 calendar day columns expand to show all SKUs; every chip clickable (detail modal + Shopify admin/storefront links); fix latent chip-row overlap (aspect-ratio grid rows collapsed)
  156. 6bb8427 2026-07-15 auto-save: 2026-07-15T00:33:42 (1 files) — data/activation-schedule.json
  157. 8132bfb 2026-07-13 Add daily schedule re-projection (regen.sh + launchd plist, 00:05)
  158. e07fd55 2026-07-13 SKU Activation: assign a durable go-live DATE+TIME to every staged SKU
  159. b6aac04 2026-06-24 Fix Connect button: don't navigate to /api/oauth/start when unconfigured (showed raw 503 JSON); show inline setup steps instead
  160. a3d864f 2026-06-24 Google Calendar tab: fall back to SKU activation rollout when OAuth not connected (no more blank grid)
  161. b585adf 2026-06-24 Default calendar to populated SKU Activation tab on first load (Google tab is empty until OAuth connect)
  162. 73ec16d 2026-06-24 Restyle DW Calendar to luxe Figma spec (Cormorant/Inter, plum/brass palette, white-card layout) — preserve all Google Calendar CRUD, 409 not-connected handling, tabs, modal-rig drag/resize, and SKU Activation grid
  163. c3c31ac 2026-06-24 Document Google Calendar layer: README + updated server header comment
  164. 5498582 2026-06-24 Add two-tab DW Calendar UI: editable Google Calendar modal (create/edit/delete via modal-rig) + preserved SKU Activation grid; graceful not-connected state, event chips show created date+time
  165. b9843c6 2026-06-24 Add Google Calendar read + editable CRUD backend (OAuth + events.list/insert/patch/delete), graceful not-connected guards, hardened .gitignore
  166. a04151c 2026-06-21 auto-save: 2026-06-21T18:53:00 (1 files) — screenshot-calendar-v2.png
  167. 0871955 2026-06-21 calendar: default 500/day breadth-first (uncapped per-vendor) — true 35-day projection + updated note
  168. 633aba6 2026-06-21 DW Activation Calendar — 1-month rollout schedule (18/hr + 10/vendor/day) with vendor+image SKU chips

Authors

Agents used

  • none detected

Skills used

  • /activation-schedule145
  • /schedule3
  • /day3
  • /delete2
  • /prune-active1
  • /tooltip1
  • /rotation-order1
  • /index1
  • /last1
  • /move1
  • /schedule-overrides1
  • /cmd-click1
  • /right-click1
  • /storefront1
  • /generate-schedule1
  • /regenerate1
  • /oauth1
  • /start1
  • /brass1
  • /resize1
  • /edit1
  • /insert1
  • /patch1
  • /vendor1

Creative ideas + design notes

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

9d72db8 · 2026-07-22 · cadence prune: adopt DTD-C — union activator audit ids on mirror filter
Keep mirror status='DRAFT' as the base filter, but also drop any shopify_id the
rotation activator recorded as action:'activated' in the last 2 days' audit
JSONL. Closes the mirror-resync lag (zero-lag for items this system flips)
without live Shopify calls or a competing status oracle. DTD 5/5 unanimous.
d320634 · 2026-07-22 · cadence: prune already-active SKUs, keep only staged (DRAFT) items
Add scripts/prune-active.js (idempotent, local-only) that drops any scheduled
SKU whose current mirror status != DRAFT from data/activation-schedule.json,
and apply it now: 15629 -> 15340 (pruned 289 already-live items). Server
re-reads on mtime; nightly generate-schedule.js still fully rebuilds.
52cf19d · 2026-07-15 · Exclude already-ACTIVE Shopify products from activation calendar
An already-live product has already gone active — it must not be staged for
redeployment. Gate the schedule generator + legacy fallback query on the
shopify_products mirror status, dropping rows where status=ACTIVE. Calendar
went 20,304 → 2,100 (18,204 already-live items removed; 2,100 non-active
staged items remain).
5e3b839 · 2026-07-15 · Activation calendar: vendor filter + see-all-staged list + cross-month reschedule
- Vendor dropdown (sorted by staged count) filters the calendar to one vendor;
  summary switches to that vendor's staged total + first/last go-live + days used
- 'See all N staged' opens a flat list of every staged item for that vendor
  (across all dates), each row with a date input to reschedule that SKU
- chip modal now has a 'Reschedule go-live' date input → moves to ANY date
  (cross-month, which drag alone can't do)
- verified headless: vendor filter isolates chips, list shows 4405 rows, modal
  reschedule present, 0 console errors
ca49220 · 2026-07-15 · Activation calendar: drag SKU chips between days to reschedule go-live
- chips are draggable; every day cell is a drop target (visual drop-target outline)
- POST /api/schedule/move updates the item's go_live_date/at + records a durable
  override in data/schedule-overrides.json
- generate-schedule.js applies overrides so a regenerate keeps manual moves
- verified: 7999/7999 chips draggable, move persists + survives regen, 0 console errors
8132bfb · 2026-07-13 · Add daily schedule re-projection (regen.sh + launchd plist, 00:05)
Keeps every staged SKU's assigned date+time accurate as the worklist drains.
Bootstrap is Steve-pasted (launchd persistence).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
e07fd55 · 2026-07-13 · SKU Activation: assign a durable go-live DATE+TIME to every staged SKU
Every staged item waiting to go active now carries a persisted go_live_at (exact
drain date + HH:10 slot), replacing the ephemeral date-only projection that drifted.

- scripts/generate-schedule.js: projects the executor's real rr order + 500/day
  hourly-:10 cadence into data/activation-schedule.json; 100% coverage assertion,
  keyed on shopify_id (dw_sku is non-unique / blank on ~3.3k build-roll rows).
- server.js: /api/schedule now reads the persisted schedule (join shopify_products
  on shopify_id so blank-sku items still get images), falls back to legacy compute
  if the file is absent; POST /api/schedule/regenerate re-stamps on demand.
- index.html: chip tooltip shows go-active date+time, day headers show slot span,
  summary shows the date+time coverage stat.

Stored as a local JSON file (NOT a PG table) because dw_unified_pub is FOR ALL
TABLES — any new table would auto-replicate to Kamatera. DTD verdict A (intent).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

File tree

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

Other build journals

← Domain Sniper  ·  all 4 projects  ·  Dw Boardroom Governance →

Export

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

rendered in 1ms