Re Flyer Aggregator

repo: ~/Projects/re-flyer-aggregator · 305 commits · 6 in last 24h, 34 in last 7d · ▆▆▃▆▆██

Search the build

305 commits indexed

  1. 4768798 2026-09-26 auto-data-snapshot: 2026-09-26T16:49:35 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-26.json public/flyers/flyers.json
  2. f31dd1c 2026-09-26 auto-data-snapshot: 2026-09-26T12:44:57 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-26.json public/flyers/flyers.json
  3. 8e714b1 2026-09-26 TK-11856 rc-propagation (RSYNC): dtt-import + property-flyers propagate step/crawl/rsync rc
  4. 085c34d 2026-09-26 auto-data-snapshot: 2026-09-26T06:47:29 (1 data files) — public/flyers-found/property-flyers.json
  5. 4310a3b 2026-09-26 auto-data-snapshot: 2026-09-26T05:45:52 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-26.json public/flyers/flyers.json
  6. f2babf4 2026-09-26 auto-data-snapshot: 2026-09-26T00:10:15 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-26.json public/flyers/flyers.json
  7. 63b1261 2026-09-25 auto-data-snapshot: 2026-09-25T16:33:34 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-25.json public/flyers/flyers.json
  8. 936f051 2026-09-25 Add creds-in-URL fetch guard to flyers/index.html (TK-12282)
  9. 4444e01 2026-09-25 auto-data-snapshot: 2026-09-25T12:54:38 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-25.json public/flyers/flyers.json
  10. 14d16e6 2026-09-25 auto-data-snapshot: 2026-09-25T06:41:36 (1 data files) — public/flyers-found/property-flyers.json
  11. c233530 2026-09-25 auto-data-snapshot: 2026-09-25T06:10:16 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-25.json public/flyers/flyers.json
  12. 4d49be8 2026-09-25 auto-data-snapshot: 2026-09-25T00:03:17 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-25.json public/flyers/flyers.json
  13. 1e81506 2026-09-24 auto-data-snapshot: 2026-09-24T16:55:40 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-24.json public/flyers/flyers.json
  14. 9b4f291 2026-09-24 auto-data-snapshot: 2026-09-24T12:49:23 (8 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json data/edgar-seen.json out/crenews-new-deals-2026-09-24.json
  15. 95ea1be 2026-09-24 auto-data-snapshot: 2026-09-24T06:34:34 (1 data files) — public/flyers-found/property-flyers.json
  16. 3e20f9f 2026-09-24 auto-data-snapshot: 2026-09-24T06:02:25 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-24.json public/flyers/flyers.json
  17. 4773b81 2026-09-24 auto-data-snapshot: 2026-09-24T00:15:56 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-24.json public/flyers/flyers.json
  18. f73d067 2026-09-23 auto-data-snapshot: 2026-09-23T16:56:06 (8 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json data/edgar-seen.json out/crenews-new-deals-2026-09-23.json
  19. dabba62 2026-09-23 auto-data-snapshot: 2026-09-23T13:13:50 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-23.json public/flyers/flyers.json
  20. 338aa0b 2026-09-23 auto-data-snapshot: 2026-09-23T06:53:48 (1 data files) — public/flyers-found/property-flyers.json
  21. fe013b5 2026-09-23 auto-data-snapshot: 2026-09-23T05:50:13 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-23.json public/flyers/flyers.json
  22. 69897e0 2026-09-23 auto-data-snapshot: 2026-09-23T00:04:06 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-23.json public/flyers/flyers.json
  23. 799888f 2026-09-22 auto-data-snapshot: 2026-09-22T16:42:26 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-22.json public/flyers/flyers.json
  24. f96952f 2026-09-22 auto-data-snapshot: 2026-09-22T12:49:04 (8 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json data/edgar-seen.json out/crenews-new-deals-2026-09-22.json
  25. dc32765 2026-09-21 auto-data-snapshot: 2026-09-21T16:51:55 (8 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json data/edgar-seen.json out/crenews-new-deals-2026-09-21.json
  26. 872ab83 2026-09-21 auto-data-snapshot: 2026-09-21T13:09:50 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-21.json public/flyers/flyers.json
  27. 99e103c 2026-09-21 auto-data-snapshot: 2026-09-21T06:39:23 (1 data files) — public/flyers-found/property-flyers.json
  28. 20d7727 2026-09-21 auto-data-snapshot: 2026-09-21T06:06:14 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-21.json public/flyers/flyers.json
  29. ad464a2 2026-09-21 auto-data-snapshot: 2026-09-21T00:00:46 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-21.json public/flyers/flyers.json
  30. d295412 2026-09-20 auto-data-snapshot: 2026-09-20T16:43:39 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-20.json public/flyers/flyers.json
  31. 5e035cf 2026-09-20 auto-data-snapshot: 2026-09-20T12:49:08 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-20.json public/flyers/flyers.json
  32. 223fc69 2026-09-20 auto-data-snapshot: 2026-09-20T06:42:09 (1 data files) — public/flyers-found/property-flyers.json
  33. c5c29d1 2026-09-20 auto-data-snapshot: 2026-09-20T06:08:12 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-20.json public/flyers/flyers.json
  34. 7def276 2026-09-20 auto-data-snapshot: 2026-09-20T00:31:26 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-20.json public/flyers/flyers.json
  35. 3574a2f 2026-09-19 auto-data-snapshot: 2026-09-19T16:52:18 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-19.json public/flyers/flyers.json
  36. 4ffbe00 2026-09-19 auto-data-snapshot: 2026-09-19T13:09:57 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-19.json public/flyers/flyers.json
  37. 64de839 2026-09-19 auto-data-snapshot: 2026-09-19T06:48:50 (1 data files) — public/flyers-found/property-flyers.json
  38. 3f4e27f 2026-09-19 auto-data-snapshot: 2026-09-19T05:44:32 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-19.json public/flyers/flyers.json
  39. b263685 2026-09-19 auto-data-snapshot: 2026-09-19T00:26:16 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-19.json public/flyers/flyers.json
  40. b6f512d 2026-09-18 auto-data-snapshot: 2026-09-18T16:30:11 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-18.json public/flyers/flyers.json
  41. 83517a7 2026-09-18 flyers: restore load-failure .catch() in build template + rebuild
  42. 6933ee2 2026-09-18 auto-data-snapshot: 2026-09-18T13:12:29 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-18.json public/flyers/flyers.json
  43. 3874f94 2026-09-18 auto-data-snapshot: 2026-09-18T06:45:31 (1 data files) — public/flyers-found/property-flyers.json
  44. bf460bf 2026-09-18 auto-data-snapshot: 2026-09-18T06:13:19 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-18.json public/flyers/flyers.json
  45. 1970740 2026-09-18 auto-data-snapshot: 2026-09-18T00:21:36 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-18.json public/flyers/flyers.json
  46. 163579b 2026-09-17 auto-data-snapshot: 2026-09-17T16:53:13 (8 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json data/edgar-seen.json out/crenews-new-deals-2026-09-17.json
  47. 1bd8a64 2026-09-17 auto-data-snapshot: 2026-09-17T13:09:20 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-17.json public/flyers/flyers.json
  48. 76a90b2 2026-09-17 auto-data-snapshot: 2026-09-17T06:40:35 (1 data files) — public/flyers-found/property-flyers.json
  49. 55e71ab 2026-09-17 auto-data-snapshot: 2026-09-17T06:08:13 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-17.json public/flyers/flyers.json
  50. 703e2db 2026-09-17 auto-data-snapshot: 2026-09-17T00:15:59 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-17.json public/flyers/flyers.json
  51. 18ab7b1 2026-09-16 auto-data-snapshot: 2026-09-16T16:47:48 (8 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json data/edgar-seen.json out/crenews-new-deals-2026-09-16.json
  52. 30e3ab9 2026-09-16 auto-data-snapshot: 2026-09-16T12:52:52 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-16.json public/flyers/flyers.json
  53. 47c5e7e 2026-09-16 auto-data-snapshot: 2026-09-16T06:48:17 (1 data files) — public/flyers-found/property-flyers.json
  54. 204b6fb 2026-09-16 auto-data-snapshot: 2026-09-16T06:15:51 (8 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json data/edgar-seen.json out/crenews-new-deals-2026-09-16.json
  55. f1eac69 2026-09-16 auto-data-snapshot: 2026-09-16T00:24:38 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-16.json public/flyers/flyers.json
  56. 4dd6fea 2026-09-15 security: add rel=noopener noreferrer to target=_blank links (yoloforever cycle 3)
  57. c51dbfb 2026-09-15 flyers: add visible .catch() error state on flyers.json load (TK-11773)
  58. 3484f65 2026-09-15 restore creds-in-URL fetch guard on flyers page (regression from 1ac8ff5 prod-snapshot; TK-11773 / TK-10984)
  59. 357413c 2026-09-15 auto-data-snapshot: 2026-09-15T16:53:16 (8 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json data/edgar-seen.json out/crenews-new-deals-2026-09-15.json
  60. 1ac8ff5 2026-09-15 chore: commit code deployed in 2026-09-15 fleet push
  61. 599df82 2026-09-15 auto-data-snapshot: 2026-09-15T13:06:09 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-15.json public/flyers/flyers.json
  62. 0ec31ad 2026-09-15 auto-data-snapshot: 2026-09-15T06:37:28 (1 data files) — public/flyers-found/property-flyers.json
  63. 9dfea14 2026-09-15 auto-data-snapshot: 2026-09-15T06:04:48 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-15.json public/flyers/flyers.json
  64. ab03297 2026-09-15 auto-data-snapshot: 2026-09-15T00:13:09 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-15.json public/flyers/flyers.json
  65. dadd0f8 2026-09-14 auto-data-snapshot: 2026-09-14T16:46:18 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-14.json public/flyers/flyers.json
  66. bf572db 2026-09-14 auto-data-snapshot: 2026-09-14T12:55:07 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-14.json public/flyers/flyers.json
  67. 0839af4 2026-09-14 auto-data-snapshot: 2026-09-14T06:45:42 (1 data files) — public/flyers-found/property-flyers.json
  68. c57a50b 2026-09-14 auto-data-snapshot: 2026-09-14T06:13:15 (8 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json data/edgar-seen.json out/crenews-new-deals-2026-09-14.json
  69. 8a6270d 2026-09-14 auto-data-snapshot: 2026-09-14T00:22:42 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-14.json public/flyers/flyers.json
  70. ab7b742 2026-09-13 auto-data-snapshot: 2026-09-13T16:30:12 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-13.json public/flyers/flyers.json
  71. 4967336 2026-09-13 auto-data-snapshot: 2026-09-13T13:15:54 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-13.json public/flyers/flyers.json
  72. 9e181a6 2026-09-13 auto-data-snapshot: 2026-09-13T07:02:23 (1 data files) — public/flyers-found/property-flyers.json
  73. 3fbd35d 2026-09-13 auto-data-snapshot: 2026-09-13T05:55:37 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-13.json public/flyers/flyers.json
  74. 1344d6f 2026-09-13 auto-data-snapshot: 2026-09-13T00:21:19 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-13.json public/flyers/flyers.json
  75. 0d3525d 2026-09-12 auto-data-snapshot: 2026-09-12T16:40:13 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-12.json public/flyers/flyers.json
  76. a83b1e0 2026-09-12 auto-data-snapshot: 2026-09-12T12:53:51 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-12.json public/flyers/flyers.json
  77. ac04578 2026-09-12 auto-data-snapshot: 2026-09-12T06:45:13 (1 data files) — public/flyers-found/property-flyers.json
  78. 337e2bc 2026-09-12 auto-data-snapshot: 2026-09-12T06:11:57 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-12.json public/flyers/flyers.json
  79. 255b492 2026-09-12 auto-data-snapshot: 2026-09-12T00:03:41 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-12.json public/flyers/flyers.json
  80. 66101d6 2026-09-11 auto-data-snapshot: 2026-09-11T16:55:51 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-11.json public/flyers/flyers.json
  81. bb005de 2026-09-11 auto-data-snapshot: 2026-09-11T12:47:38 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-11.json public/flyers/flyers.json
  82. 49a82af 2026-09-11 auto-data-snapshot: 2026-09-11T06:38:19 (1 data files) — public/flyers-found/property-flyers.json
  83. 8a2a5fa 2026-09-11 auto-data-snapshot: 2026-09-11T06:04:43 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-11.json public/flyers/flyers.json
  84. ca1755b 2026-09-11 auto-data-snapshot: 2026-09-11T00:01:31 (8 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json data/edgar-seen.json out/crenews-new-deals-2026-09-11.json
  85. fae53dd 2026-09-10 auto-data-snapshot: 2026-09-10T17:00:45 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-10.json public/flyers/flyers.json
  86. dcc9203 2026-09-10 auto-data-snapshot: 2026-09-10T13:02:09 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-10.json public/flyers/flyers.json
  87. 782836f 2026-09-10 auto-data-snapshot: 2026-09-10T07:00:36 (1 data files) — public/flyers-found/property-flyers.json
  88. 439f078 2026-09-10 auto-data-snapshot: 2026-09-10T05:55:20 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-10.json public/flyers/flyers.json
  89. 6d24f46 2026-09-10 auto-data-snapshot: 2026-09-10T00:28:57 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-10.json public/flyers/flyers.json
  90. 802101d 2026-09-09 auto-data-snapshot: 2026-09-09T16:44:54 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-09.json public/flyers/flyers.json
  91. cd2f48e 2026-09-09 auto-data-snapshot: 2026-09-09T12:49:50 (8 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json data/edgar-seen.json out/crenews-new-deals-2026-09-09.json
  92. 636ffde 2026-09-09 auto-data-snapshot: 2026-09-09T06:50:05 (1 data files) — public/flyers-found/property-flyers.json
  93. 89279bb 2026-09-09 auto-data-snapshot: 2026-09-09T05:45:52 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-09.json public/flyers/flyers.json
  94. 7717a4e 2026-09-09 auto-data-snapshot: 2026-09-09T00:25:51 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-09.json public/flyers/flyers.json
  95. 66d8707 2026-09-08 auto-data-snapshot: 2026-09-08T16:52:29 (8 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json data/edgar-seen.json out/crenews-new-deals-2026-09-08.json
  96. 817ddef 2026-09-08 auto-data-snapshot: 2026-09-08T12:55:25 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-08.json public/flyers/flyers.json
  97. 3fc571f 2026-09-08 auto-data-snapshot: 2026-09-08T07:07:04 (1 data files) — public/flyers-found/property-flyers.json
  98. f09d212 2026-09-08 auto-data-snapshot: 2026-09-08T05:50:05 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-08.json public/flyers/flyers.json
  99. 45e8547 2026-09-08 auto-data-snapshot: 2026-09-08T00:07:00 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-08.json public/flyers/flyers.json
  100. 306dee7 2026-09-07 auto-data-snapshot: 2026-09-07T16:31:47 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-07.json public/flyers/flyers.json
  101. 1f14bb1 2026-09-07 auto-data-snapshot: 2026-09-07T13:22:13 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-07.json public/flyers/flyers.json
  102. 55aaad5 2026-09-07 auto-data-snapshot: 2026-09-07T06:51:38 (1 data files) — public/flyers-found/property-flyers.json
  103. bc57da8 2026-09-07 auto-data-snapshot: 2026-09-07T06:12:13 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-07.json public/flyers/flyers.json
  104. 0eb52fa 2026-09-07 auto-data-snapshot: 2026-09-07T00:25:13 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-07.json public/flyers/flyers.json
  105. ef12624 2026-09-06 auto-data-snapshot: 2026-09-06T16:44:44 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-06.json public/flyers/flyers.json
  106. 087760a 2026-09-06 auto-data-snapshot: 2026-09-06T12:54:02 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-06.json public/flyers/flyers.json
  107. ee06c8c 2026-09-06 auto-data-snapshot: 2026-09-06T06:30:35 (1 data files) — public/flyers-found/property-flyers.json
  108. 0975957 2026-09-06 auto-data-snapshot: 2026-09-06T05:51:58 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-06.json public/flyers/flyers.json
  109. 02575a9 2026-09-06 auto-data-snapshot: 2026-09-06T00:06:24 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-06.json public/flyers/flyers.json
  110. ba615ee 2026-09-05 auto-data-snapshot: 2026-09-05T17:04:46 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-05.json public/flyers/flyers.json
  111. fba23ee 2026-09-05 auto-data-snapshot: 2026-09-05T13:15:00 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-05.json public/flyers/flyers.json
  112. e0e44c8 2026-09-05 auto-data-snapshot: 2026-09-05T06:52:09 (1 data files) — public/flyers-found/property-flyers.json
  113. 76512b6 2026-09-05 auto-data-snapshot: 2026-09-05T06:13:03 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-05.json public/flyers/flyers.json
  114. e4270b5 2026-09-05 auto-data-snapshot: 2026-09-05T00:27:41 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-05.json public/flyers/flyers.json
  115. c1a90a2 2026-09-04 auto-data-snapshot: 2026-09-04T16:48:05 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-04.json public/flyers/flyers.json
  116. 9eaf6c9 2026-09-04 auto-data-snapshot: 2026-09-04T12:55:58 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-04.json public/flyers/flyers.json
  117. 32b8d6d 2026-09-04 auto-data-snapshot: 2026-09-04T06:32:13 (1 data files) — public/flyers-found/property-flyers.json
  118. d0d4cd8 2026-09-04 auto-data-snapshot: 2026-09-04T05:53:32 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-04.json public/flyers/flyers.json
  119. 24b916e 2026-09-04 auto-data-snapshot: 2026-09-04T00:35:53 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-04.json public/flyers/flyers.json
  120. d4dac6e 2026-09-03 auto-data-snapshot: 2026-09-03T17:01:36 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-03.json public/flyers/flyers.json
  121. 6ddbd0d 2026-09-03 auto-data-snapshot: 2026-09-03T13:07:42 (8 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json data/edgar-seen.json out/crenews-new-deals-2026-09-03.json
  122. e6fc34d 2026-09-03 auto-data-snapshot: 2026-09-03T06:39:23 (1 data files) — public/flyers-found/property-flyers.json
  123. d9ad2f6 2026-09-03 auto-data-snapshot: 2026-09-03T06:01:09 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-03.json public/flyers/flyers.json
  124. d789862 2026-09-03 auto-data-snapshot: 2026-09-03T00:20:09 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-03.json public/flyers/flyers.json
  125. 3b38f05 2026-09-02 auto-data-snapshot: 2026-09-02T16:45:26 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-02.json public/flyers/flyers.json
  126. 18fdd86 2026-09-02 auto-data-snapshot: 2026-09-02T12:46:36 (8 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json data/edgar-seen.json out/crenews-new-deals-2026-09-02.json
  127. b4590f1 2026-09-02 auto-data-snapshot: 2026-09-02T06:32:31 (1 data files) — public/flyers-found/property-flyers.json
  128. 43638aa 2026-09-02 auto-data-snapshot: 2026-09-02T05:54:41 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-02.json public/flyers/flyers.json
  129. 9fdac2c 2026-09-02 auto-data-snapshot: 2026-09-02T00:14:50 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-02.json public/flyers/flyers.json
  130. ce91f32 2026-09-01 auto-data-snapshot: 2026-09-01T16:44:49 (8 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json data/edgar-seen.json out/crenews-new-deals-2026-09-01.json
  131. 09e68af 2026-09-01 auto-data-snapshot: 2026-09-01T12:55:30 (8 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json data/edgar-seen.json out/crenews-new-deals-2026-09-01.json
  132. 52aef10 2026-09-01 auto-data-snapshot: 2026-09-01T06:36:17 (1 data files) — public/flyers-found/property-flyers.json
  133. af2ce82 2026-09-01 auto-data-snapshot: 2026-09-01T05:58:40 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-01.json public/flyers/flyers.json
  134. 3c2b50e 2026-09-01 auto-data-snapshot: 2026-09-01T00:24:29 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-09-01.json public/flyers/flyers.json
  135. 58cb100 2026-08-31 auto-data-snapshot: 2026-08-31T16:59:21 (8 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json data/edgar-seen.json out/crenews-new-deals-2026-08-31.json
  136. 9338a52 2026-08-31 auto-data-snapshot: 2026-08-31T13:13:14 (8 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json data/edgar-seen.json out/crenews-new-deals-2026-08-31.json
  137. 5304fa3 2026-08-31 auto-data-snapshot: 2026-08-31T07:01:20 (1 data files) — public/flyers-found/property-flyers.json
  138. d0274ec 2026-08-31 auto-data-snapshot: 2026-08-31T05:45:56 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-08-31.json public/flyers/flyers.json
  139. 3d51e5e 2026-08-31 add creds-in-URL fetch guard to gated flyers pages (TK-10984)
  140. ddc571b 2026-08-31 auto-data-snapshot: 2026-08-31T00:07:16 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-08-31.json public/flyers/flyers.json
  141. 0c3b413 2026-08-30 auto-data-snapshot: 2026-08-30T16:35:05 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-08-30.json public/flyers/flyers.json
  142. dac1495 2026-08-30 auto-data-snapshot: 2026-08-30T12:50:08 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-08-30.json public/flyers/flyers.json
  143. e6586b9 2026-08-30 auto-data-snapshot: 2026-08-30T06:38:24 (1 data files) — public/flyers-found/property-flyers.json
  144. e5bfbc0 2026-08-30 auto-data-snapshot: 2026-08-30T06:00:18 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-08-30.json public/flyers/flyers.json
  145. 46d8469 2026-08-30 auto-data-snapshot: 2026-08-30T00:26:44 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-08-30.json public/flyers/flyers.json
  146. 4445e7b 2026-08-29 auto-data-snapshot: 2026-08-29T16:29:06 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-08-29.json public/flyers/flyers.json
  147. b401e27 2026-08-29 auto-data-snapshot: 2026-08-29T12:47:37 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-08-29.json public/flyers/flyers.json
  148. aeab590 2026-08-29 auto-data-snapshot: 2026-08-29T06:38:47 (1 data files) — public/flyers-found/property-flyers.json
  149. 747b006 2026-08-29 auto-data-snapshot: 2026-08-29T06:00:28 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-08-29.json public/flyers/flyers.json
  150. a5aa44b 2026-08-29 auto-data-snapshot: 2026-08-29T00:25:44 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-08-29.json public/flyers/flyers.json
  151. 2881955 2026-08-28 auto-data-snapshot: 2026-08-28T17:02:53 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-08-28.json public/flyers/flyers.json
  152. 014008f 2026-08-28 auto-data-snapshot: 2026-08-28T12:44:16 (8 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json data/edgar-seen.json out/crenews-new-deals-2026-08-28.json
  153. e33dec2 2026-08-28 auto-data-snapshot: 2026-08-28T06:30:22 (1 data files) — public/flyers-found/property-flyers.json
  154. 0a728f7 2026-08-28 auto-data-snapshot: 2026-08-28T05:53:21 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-08-28.json public/flyers/flyers.json
  155. 6387d7a 2026-08-28 auto-data-snapshot: 2026-08-28T00:19:23 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-08-28.json public/flyers/flyers.json
  156. 3136045 2026-08-27 auto-data-snapshot: 2026-08-27T16:56:59 (7 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json data/edgar-seen.json out/crenews-new-deals-2026-08-27.json
  157. cca5593 2026-08-27 auto-data-snapshot: 2026-08-27T13:15:02 (7 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json data/edgar-seen.json out/crenews-new-deals-2026-08-27.json
  158. ed26652 2026-08-27 auto-data-snapshot: 2026-08-27T07:06:07 (1 data files) — public/flyers-found/property-flyers.json
  159. f6bd2a4 2026-08-27 auto-data-snapshot: 2026-08-27T05:52:15 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-08-27.json public/flyers/flyers.json
  160. 96c06fd 2026-08-27 href-drill: add drill primitives to re-flyer-aggregator (TK-10903)
  161. 384325f 2026-08-27 auto-data-snapshot: 2026-08-27T00:22:48 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-08-27.json public/flyers/flyers.json
  162. 27d5393 2026-08-26 auto-data-snapshot: 2026-08-26T16:29:03 (8 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json data/edgar-seen.json out/crenews-new-deals-2026-08-26.json
  163. ac7d8aa 2026-08-26 auto-data-snapshot: 2026-08-26T12:47:56 (8 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json data/edgar-seen.json out/crenews-new-deals-2026-08-26.json
  164. 35182db 2026-08-26 auto-data-snapshot: 2026-08-26T06:30:25 (1 data files) — public/flyers-found/property-flyers.json
  165. c119c8d 2026-08-26 auto-data-snapshot: 2026-08-26T05:53:46 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-08-26.json public/flyers/flyers.json
  166. 9b6d4cc 2026-08-26 auto-data-snapshot: 2026-08-26T00:21:52 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-08-26.json public/flyers/flyers.json
  167. e22dc34 2026-08-25 auto-data-snapshot: 2026-08-25T17:03:18 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-08-25.json public/flyers/flyers.json
  168. 35bca3a 2026-08-25 auto-data-snapshot: 2026-08-25T12:44:18 (7 data files) — .deploy.conf data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-08-25.json
  169. 9084c4a 2026-08-25 creds-safe fetch guard: inject into 7 served viewer pages (serve-viewers.mjs multi-page entry, apply.mjs only got public/index.html)
  170. f9f37c0 2026-08-25 creds-safe fetch guard: resolve relative fetch vs credential-free location (creds-in-URL trap)
  171. 5476150 2026-08-25 auto-data-snapshot: 2026-08-25T07:02:59 (1 data files) — public/flyers-found/property-flyers.json
  172. df72150 2026-08-25 auto-data-snapshot: 2026-08-25T05:49:00 (7 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json data/edgar-seen.json out/crenews-new-deals-2026-08-25.json
  173. f109f23 2026-08-25 auto-data-snapshot: 2026-08-25T00:22:08 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-08-25.json public/flyers/flyers.json
  174. ff6543b 2026-08-24 TK-10708 (decision B): consolidate re-flyers normalizer into aggregator as scripts/build-normalized-flyers.mjs (224 rows byte-identical: broker 202/spotlight 7/usre 15); gitignore generated feed; retire standalone
  175. 4c87c25 2026-08-24 auto-data-snapshot: 2026-08-24T16:31:44 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-08-24.json public/flyers/flyers.json
  176. 50e3f57 2026-08-24 properties viewer: add 'Assessed value' sort + County filter — makes the 127k assessed-only parcels navigable (surfaces trophy properties like 4000 Warner Blvd $737M / 525 S Flower $909M that were buried at mentions=0); reversible viewer-only
  177. 46ea05e 2026-08-24 ingest: skip parenthetical placeholder addresses ('(PYLON SIGN SITE)') — guards the no-sale-parcel inclusion; drops exactly 2 junk rows, keeps all 3,791 real-address no-data parcels (cycle 6 verify-before-acting: seed's '5,317 junk' was a phantom)
  178. acf296e 2026-08-24 auto-data-snapshot: 2026-08-24T13:25:50 (1 data files) — public/properties/property-index.json
  179. 749d916 2026-08-24 properties viewer: show 'assessed $X' for no-sale public-record parcels + graceful 'no recorded sale' sub-line (renders the 122k assessed-only LA rows meaningfully)
  180. b767d0f 2026-08-24 re-flyer /properties: include no-sale parcels in the 4 index counties (Steve 2026-08-24) — fills the LA hole 2,605->126,324; assessed-only rows sink to bottom (mentions:0), deals preserved
  181. b0f6ccf 2026-08-24 auto-data-snapshot: 2026-08-24T12:55:01 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-08-24.json public/flyers/flyers.json
  182. 116f35a 2026-08-24 auto-data-snapshot: 2026-08-24T06:55:00 (1 data files) — public/flyers-found/property-flyers.json
  183. 48231bf 2026-08-24 auto-data-snapshot: 2026-08-24T05:49:45 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-08-24.json public/flyers/flyers.json
  184. c47a33b 2026-08-24 auto-data-snapshot: 2026-08-24T00:29:53 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-08-24.json public/flyers/flyers.json
  185. dad27d1 2026-08-23 auto-data-snapshot: 2026-08-23T16:32:34 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-08-23.json public/flyers/flyers.json
  186. 7fdde27 2026-08-23 auto-data-snapshot: 2026-08-23T12:49:52 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-08-23.json public/flyers/flyers.json
  187. 317e1b6 2026-08-23 auto-data-snapshot: 2026-08-23T07:00:05 (1 data files) — public/flyers-found/property-flyers.json
  188. 74ab479 2026-08-23 auto-data-snapshot: 2026-08-23T05:55:15 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-08-23.json public/flyers/flyers.json
  189. 38ea531 2026-08-23 auto-data-snapshot: 2026-08-23T00:04:14 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-08-23.json public/flyers/flyers.json
  190. 15af6cb 2026-08-22 auto-data-snapshot: 2026-08-22T16:38:17 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-08-22.json public/flyers/flyers.json
  191. 865f40a 2026-08-22 auto-data-snapshot: 2026-08-22T12:55:46 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-08-22.json public/flyers/flyers.json
  192. 191fd2d 2026-08-22 auto-data-snapshot: 2026-08-22T06:32:10 (1 data files) — public/flyers-found/property-flyers.json
  193. 6ff72e7 2026-08-22 auto-data-snapshot: 2026-08-22T05:59:25 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-08-22.json public/flyers/flyers.json
  194. 450c07b 2026-08-22 auto-data-snapshot: 2026-08-22T00:08:20 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-08-22.json public/flyers/flyers.json
  195. 7256126 2026-08-21 auto-data-snapshot: 2026-08-21T16:43:55 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-08-21.json public/flyers/flyers.json
  196. 4c519fc 2026-08-21 auto-data-snapshot: 2026-08-21T13:00:36 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-08-21.json public/flyers/flyers.json
  197. 1772dbc 2026-08-21 auto-data-snapshot: 2026-08-21T06:38:13 (1 data files) — public/flyers-found/property-flyers.json
  198. 286db51 2026-08-21 auto-data-snapshot: 2026-08-21T06:05:08 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-08-21.json public/flyers/flyers.json
  199. 47cb373 2026-08-21 auto-data-snapshot: 2026-08-21T00:14:48 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-08-21.json public/flyers/flyers.json
  200. 1457958 2026-08-20 auto-data-snapshot: 2026-08-20T16:47:08 (8 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json data/edgar-seen.json out/crenews-new-deals-2026-08-20.json
  201. 0e8c1f1 2026-08-20 auto-data-snapshot: 2026-08-20T14:07:04 (5 data files) — .playwright-mcp/page-2026-08-20T20-49-23-353Z.yml .playwright-mcp/page-2026-08-20T20-49-52-968Z.yml .playwright-mcp/page-2026-08-20T20-50-49-049Z.yml .playwright-mcp/page-2026-08-20T20-51-06-826Z.yml recities.png
  202. 38ea684 2026-08-20 auto-data-snapshot: 2026-08-20T13:00:52 (7 data files) — .playwright-mcp/page-2026-08-20T19-47-05-098Z.yml data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-08-20.json
  203. 9219079 2026-08-20 auto-data-snapshot: 2026-08-20T12:27:13 (4 data files) — .playwright-mcp/page-2026-08-20T19-09-02-773Z.yml .playwright-mcp/page-2026-08-20T19-09-55-689Z.yml .playwright-mcp/page-2026-08-20T19-10-24-132Z.yml .playwright-mcp/page-2026-08-20T19-10-52-940Z.yml
  204. 9219168 2026-08-20 refine-loop: wire ingest-usre-parcels as a step after build-property-index (re-usre, TK-10708)
  205. b9812f9 2026-08-20 chore: sync nav-agent v1.3 header (session close)
  206. 2b4363f 2026-08-20 auto-data-snapshot: 2026-08-20T09:38:44 (3 data files) — out/crenews-new-deals-2026-08-20.json public/properties/property-index.json public/sources.json
  207. 6e761c7 2026-08-20 reflyers: deploy deal-assets viewer (server.js) + auto-refresh usre snapshot 4x/day (item 2)
  208. 3bbdac8 2026-08-20 reflyers: auto-sync fresh viewer data to Kamatera prod after each dtt-cron run (item 1 freshness)
  209. b12f6f0 2026-08-20 chore: lint + light refactor of news/property scripts (session close)
  210. 62868fe 2026-08-20 ingest-usre-parcels: deterministic byte-identical output (re-usre, TK-10708)
  211. 7d71042 2026-08-20 refine-loop cycle 7: +articles/deals 08-20 09:13
  212. 1b6357c 2026-08-20 property index: enrich with size — carry RENTV size_label/units/sqft/occupancy through ingest; extract units/sqft from titles (358-unit, 102,000 sf); show size + occupancy chips on /properties cards. Plumbing ready for usre parcel sqft to populate at scale (TK-10708)
  213. 8d7215d 2026-08-20 scale-up per-property index to FULL universe: ingest-usre-parcels.mjs merges usre commercial_parcel + sale events into property-index.json (re-usre, TK-10708)
  214. 389c082 2026-08-20 auto-data-snapshot: 2026-08-20T09:06:02 (1 data files) — public/properties/property-index.json
  215. ca7ef7d 2026-08-20 serve-viewers: honor PORT env (default 9862) for Kamatera deploy
  216. 9ea2e7d 2026-08-20 add PER-PROPERTY index (Steve: data on every property) — build-property-index.mjs extracts address+city+type+price+parties from every deal/article w/ an address, aggregates all mentions into one property record w/ full transaction history; /properties viewer (search, expand history, sort by most-tracked/newest/biggest); 2340 unique properties; wired into refine loop (TK-10708)
  217. 2c83a5f 2026-08-20 auto-data-snapshot: 2026-08-20T08:33:21 (1 data files) — public/flyers/flyers.json
  218. b6056a1 2026-08-20 add RENTV as a DIRECT source (Steve) — ingest-rentv.mjs pulls rentv.agentabrams.com /api/deals + /api/news (structured txn/property/city/amount/size) into store+archive, far richer than the gnews proxy; RENTV 9->35 archive / 37 store; wired into the refine loop (TK-10708)
  219. d912870 2026-08-20 archive: record only CRE-RELEVANT articles (RE_SIGNAL + not NOT_DEAL/roundup) not literally every pulled item — fixes non-CRE leaks like 'restaurant chain; Lockheed $35B missile deal'; pruned existing 3983->2828 (TK-10708)
  220. a851742 2026-08-20 add /deals — price-ranked 'unique deals' view (sort by biggest $ / newest / most-reported); cross-source clustering by price-bucket+entity merges exact dupes (Rexford/Blackstone/Goldman show '2 sources'); conservative by design — full cross-outlet dedup needs entity resolution. Additive, no collision (TK-10708)
  221. e531cc6 2026-08-20 repo hygiene: gitignore regenerable build artifacts (flyers.json/sources.json/index.html) + logs so the overnight refine loop doesn't bloat the repo ~6.8MB/cycle; keep the DATA ASSETS (article-archive, deal-store) versioned (TK-10708)
  222. c4de326 2026-08-20 search+sources: nav-agent v1.3 (sidebar collapse on load) + add nav-agent to / sources dashboard
  223. 9193ea1 2026-08-20 archive: extract buyer/seller from headlines (same patterns as flyers build) so the global search buyer/seller filter works on archive items too; backfilled existing 3983 (Steve keep-going enrichment) (TK-10708)
  224. 9abec8f 2026-08-20 dashboard: incorporate ALL data — load article-archive.json, show total 'articles archived' in the flow + per-source 'Archived (all)' column (click -> modal of every article from that source, all 56 sources' accumulated totals); the dashboard now reflects the full growing archive, not just this-run's pull (Steve) (TK-10708)
  225. e7619ad 2026-08-20 auto-data-snapshot: 2026-08-20T08:00:08 (2 data files) — out/crenews-new-deals-2026-08-20.json search-live.png
  226. 49d078a 2026-08-20 search: add full Nav Agent (grid/list-KV views, field toggles, sort, group, movable/resizable panel)
  227. 826a41c 2026-08-20 refine-loop cycle 6: +articles/deals 08-20 07:43
  228. ed02f74 2026-08-20 auto-data-snapshot: 2026-08-20T06:55:11 (3 data files) — data/property-flyers-launchd.err data/property-flyers-launchd.out public/flyers-found/property-flyers.json
  229. 0e76b40 2026-08-20 auto-data-snapshot: 2026-08-20T06:22:25 (1 data files) — out/crenews-new-deals-2026-08-20.json
  230. 2cd69f8 2026-08-20 refine-loop cycle 5: +articles/deals 08-20 06:13
  231. aa94849 2026-08-20 auto-data-snapshot: 2026-08-20T05:49:45 (6 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-08-20.json public/flyers/flyers.json
  232. 842c96c 2026-08-20 auto-data-snapshot: 2026-08-20T04:44:35 (1 data files) — out/crenews-new-deals-2026-08-20.json
  233. 7dd7af4 2026-08-20 refine-loop cycle 4: +articles/deals 08-20 04:42
  234. 5e3619b 2026-08-20 auto-data-snapshot: 2026-08-20T04:12:00 (5 data files) — data/article-archive.json data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-08-20.json public/sources.json
  235. f770eb0 2026-08-20 auto-data-snapshot: 2026-08-20T03:38:46 (1 data files) — out/crenews-new-deals-2026-08-20.json
  236. d9d20ae 2026-08-20 refine-loop cycle 3: +articles/deals 08-20 03:12
  237. b2c46d4 2026-08-20 auto-data-snapshot: 2026-08-20T02:01:17 (1 data files) — out/crenews-new-deals-2026-08-20.json
  238. fa53c12 2026-08-20 refine-loop cycle 2: +articles/deals 08-20 01:42
  239. af7d309 2026-08-20 auto-data-snapshot: 2026-08-20T00:23:34 (1 data files) — out/crenews-new-deals-2026-08-20.json
  240. 1f8efdb 2026-08-20 refine-loop cycle 1: +articles/deals 08-20 00:12
  241. 2cda3b3 2026-08-20 add global fast-search page (/search) — chat-style instant search across all 3870+ deals & articles (title/source/market/buyer/seller/price/date), match highlighting; LEFT nav with '📋 All Listings' + type filters (Sales/Listings/Leases/Loans/Dev/News) + top-source filters; merges deal-store + article-archive (grows over time); Search link on dashboard (Steve) (TK-10708)
  242. 3721276 2026-08-20 add refine-loop.sh — overnight loop that records every article into the archive + rebuilds, 90-min spacing, local-only (Steve: refine all night) (TK-10708)
  243. 6c18e62 2026-08-20 news: record EVERY article to a growing article-archive.json each run (Steve: historical backfill is Google-capped, so build our own history forward instead) — deduped, no cap, compounds daily into our own CRE-news database (TK-10708)
  244. e28d009 2026-08-20 news: remove pulled_list/samples storage cap (was 250) -> Infinity — store EVERY pulled item + every deal per feed, no cap (Steve); env PULL_CAP/SAMP_CAP still override (TK-10708)
  245. fe4e646 2026-08-20 sources dashboard: expanded article list now renders UNDER the Recent column (right side), stacked directly below the preview articles, text justified + wrapping (Steve) (TK-10708)
  246. f819c87 2026-08-19 news: add --deep 90-day backfill mode (Codex-validated) — gnews-mirror every source across 6 date-windows (after:/before:), serial + jitter(3-5s) + adaptive backoff (thin response=soft-throttle) + dedup, low concurrency to dodge Google 429s; opt-in flag, daily cron unchanged. Cracks the ~100-item/query cap (TK-10708)
  247. f6dff9a 2026-08-19 sources dashboard: (1) recent-cell + card samples now sort newest-first (sortSamp helper — was stored order); (2) full-width layout (removed 1180px cap) so one-line articles fit without cutoff; (3) raise pulled_list/samples storage caps 60/40 -> 250 so 'Items pulled'/'Deals kept' modals show ALL fetched items (gnews maxes 100/feed), not a truncated subset (Steve) (TK-10708)
  248. 07ed1ce 2026-08-19 sources dashboard (table mode): each article on ONE LINE (white-space:nowrap) in the Recent column + expanded detail; table expands to the right with horizontal scroll (.tblwrap overflow-x); recent col min 340px (Steve) (TK-10708)
  249. 8439848 2026-08-19 sources dashboard: (1) fix article sort — detail rows + modal now sort by parsed date newest-first (was string-comparing RFC dates -> day-of-week order); (2) resizable columns — drag a header's right edge to widen, width persists, table expands right w/ horizontal scroll (Steve) (TK-10708)
  250. 471e0d7 2026-08-19 capture: loosen 'deals kept' to RENTV-breadth (any recent CRE-service/coverage article, price+deal-verb no longer required) + expand RE_SIGNAL to CRE services (brokerage/leasing/financing/mgmt/etc) + News type; default to rolling 90-day window (GNEWS_WHEN=90d, MAX_AGE_DAYS=95) so the front end stays consistent; store cap 3k->12k to keep all articles. Deals-kept 376->1264, 90-day window 44->1239 (TK-10708)
  251. 68ac0d4 2026-08-19 property flyers: commit the daily cron wrapper (crawl + rsync to flyers.crcp) driven by the now-armed launchd job (TK-10708)
  252. e87dd43 2026-08-19 sources dashboard: add view-mode switch (Table/Grid/List/KV) + density slider — full-width grid that condenses+stacks (Steve: sliders/grid/list/kv + expand L-R + condense/stack); numbers clickable in every mode; view+density persisted; verified all modes in Chrome (TK-10708)
  253. 56f09c5 2026-08-19 sources dashboard: FULL NAV AGENT (Steve ASAP) — draggable/movable columns + column show-hide toggles + expandable rows + click Items-pulled/Deals-kept to view items in modal; sort every field incl Latest; verified all in real Chrome (TK-10708)
  254. c74be9d 2026-08-19 capture: add Listing type (new-to-market) + price-optional lease renewals/subleases/listings (Steve: 'any new listing' + 'lease renewals, subleases etc'); store pulled_list+deals per feed for view-in-modal; Listing chip color in both viewers (TK-10708)
  255. c8df1d1 2026-08-19 auto-data-snapshot: 2026-08-19T22:44:23 (1 data files) — out/crenews-new-deals-2026-08-20.json
  256. 68c0376 2026-08-19 property flyers: cleaner titles (double-decode %20, strip Wix hash prefixes, drop hash-garbage entries) (TK-10708)
  257. b81a80f 2026-08-19 property flyers: deep crawl found 200 real property one-sheets across CA brokers (was 9 from homepages) (TK-10708)
  258. af78c32 2026-08-19 sources dashboard: add sortable 'Latest' date column (per-source most-recent item date) so sources can be sorted by date (Steve) (TK-10708)
  259. 930736f 2026-08-19 property flyers: deep-crawl broker listing pages for real property marketing PDFs (address/OM/for-sale classifier, drops apps/proxies/decks); gallery viewer at /property-flyers, sortable+searchable+density; seeded 9 from homepage crawl, deep crawl running (TK-10708)
  260. dcc7ff8 2026-08-19 news: +33 feeds (18 major-broker press scrapes + metro biz-journals + CoStar/YieldPRO/MultifamilyExec/Crexi); Bisnow→direct RSS (full desc w/ price); broker deal-flow price-optional; concurrency pool vs 429; 58→57 feeds, 867→3200 items scanned (TK-10708)
  261. cca0120 2026-08-19 flyers: one-time localStorage migration so existing 90d-default viewers auto-reset to All-time on reload (TK-10708)
  262. f2b08f4 2026-08-19 flyers viewer: default to All-time (was 90d) so full ~2650 inventory shows newest-first, not just the ~47 fresh news deals; 90d filter still one click (Steve: only 47 deals) (TK-10708)
  263. 8d6d8a7 2026-08-19 flyers viewer: add recency filter (7/30/90d / all-time), default Past-90-days + Newest sort (Steve: deals in past 90 days, sort new order); stat shows window (TK-10708)
  264. 3384361 2026-08-19 deploy: Kamatera SSL+nginx finish script — flyers.crcp (public) + advertising.crcp (basic-auth); ADV_PW passed via env, no secret in git; both DNS-only 2-level subdomains w/ origin LE certs (TK-10708)
  265. 79dfa04 2026-08-19 auto-data-snapshot: 2026-08-19T18:57:31 (5 data files) — data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-08-20.json public/flyers/flyers.json public/sources.json
  266. c127446 2026-08-19 ingest-public-deals: fix LIMIT NaN crash when run without --n (indexOf(-1)+1 → argv[0] node-path → NaN); default N=8000 safely. Affected manual/loop runs, not the dtt-cron (uses ingest-la-sales) (TK-10708)
  267. f042cb6 2026-08-19 ad-intel: catch GTM-injected pixels (fetch+scan gtm.js containers, tag via_gtm) so paid-advertiser count isn't undercounted by static HTML; viewer stat now discloses unreachable + via-GTM counts (Cody gate) (TK-10708)
  268. 24ceb01 2026-08-19 auto-data-snapshot: 2026-08-19T17:51:58 (1 data files) — public/sources.json
  269. 9b103fe 2026-08-19 broker-ad-signals: fix stale console log that misreported CSV path (wrote public/advertising, logged public/flyers) — print real CSVF+JSONF (TK-10708)
  270. 02c0a11 2026-08-19 advertising viewer: add sortable Scanned date+time column (Steve: dates on every entry); widen gitignore to keep all scraped broker-ad-signals data (3rd-party tokens) out of git (TK-10708)
  271. c543659 2026-08-19 sources dashboard: click-to-drill on every graph → modal of underlying records (deals + brokers), verified all 6 charts in Chrome
  272. a6904f3 2026-08-19 add RENTV posts (Steve's outlet) as a source — its recent RE posts kept even without a price (typed Sale/Post), dates shown; live-list search now covers EVERY field incl dates/price/type/parties; all columns sortable + Nav Agent sort-any-field (TK-10708)
  273. 47efecd 2026-08-19 live list at /live.html (Steve: list each import record as it comes in): streams 2651 records in, Nav Agent panel (dock L/R, click-a-value-to-filter, sort any field), dates on every row + sources dashboard, ROW SELECTION (scroll a source, select what you need -> Copy/CSV); + CA public-record pull (2606 LA deeds/DTT) + rolling deal store feeding all views (TK-10708)
  274. e5d7386 2026-08-19 auto-data-snapshot: 2026-08-19T17:18:59 (4 data files) — data/crenews-seen.json data/deal-store.json out/crenews-new-deals-2026-08-20.json public/sources.json
  275. ae2397c 2026-08-19 full graphs on the dashboard (Chart.js 2D canvas — robust, no WebGL): items-pulled + deals by source, deals by method + market, broker ad-platforms, crawl breakdown; destroy-before-recreate so refresh never leaks; 6 charts verified rendering (TK-10708)
  276. a4e3237 2026-08-19 retire the 3D WebGL viz (Steve: bad UI, freezes, scroll-locks): /live.html now serves the good sources dashboard (scrolls, Nav Agent, no WebGL) (TK-10708)
  277. c9ace0f 2026-08-19 pivot to 'where the data comes from' dashboard (Steve: show actual RSS feeds/DB crawl, not abstract viz): per-source provenance (method/pull-count/deals/samples) + DB-crawl status card + Nav Agent dockable panel (left OR right, collapse, click-a-value-to-filter per FIELD) + no-WebGL so it scrolls & never freezes; default view -> sources dashboard (TK-10708)
  278. c943015 2026-08-19 harden live.html vs freeze: 35fps cap + pause-render-when-tab-hidden + pixelRatio 1.5 + removed expensive backdrop-filter + try/catch surfaces render errors (no more silent freeze) + WebGL-context-lost auto-recover; persistent pm2 viewer server (serve-viewers.mjs, re-flyers-viewers :9862) so /live.html + /advertising stay up (TK-10708)
  279. 2af6800 2026-08-19 auto-data-snapshot: 2026-08-19T16:46:39 (6 data files) — data/broker-ad-signals.json data/crenews-seen.json data/dtt-cron.err data/dtt-cron.out out/crenews-new-deals-2026-08-19.json
  280. 3c044a6 2026-08-19 FIX live.html crash: GPU memory leak (undisposed geometries/materials/label-textures + unbounded cubes on every mode-switch/poll) -> shared geo+materials, proper disposal, CAP 140 cubes, instant rebuild. Rigorously tested via Playwright: 24 rapid mode-switches = geos/texs/cubes STABLE, 0 errors, drill works (click bar -> 23 Sale records/$4.6B) (TK-10708)
  281. 3aabab2 2026-08-19 interactive live viz (click color bar -> enter its records) + advertising.crcp viewer (sortable ad-intel table + CSV) + crawler = ALL CRE firms nationally, comprehensive ad detection (Bing/DoubleClick/Criteo/Taboola/etc) + flyer/PDF link extraction; gitignore generated crawl data (TK-10708)
  282. d5a10e2 2026-08-19 live viz (reverted odd map -> clean XY bar chart w/ Z-depth): deals DROP from front into category columns (Type/Market/Source), bars build live, 'from where' ticker; verified render 0 console errors. + ad-crawl found 10 advertisers of top-100 CA brokers (TK-10708)
  283. fb372dc 2026-08-19 auto-data-snapshot: 2026-08-19T16:13:26 (1 data files) — data/broker-ad-signals.json
  284. 57d51c3 2026-08-19 ad scanner: biggest firms first (agent_count) + Google Analytics & StatCounter detection + list advertisers found (TK-10708)
  285. 7d35a29 2026-08-19 ad-social-tracker on CA CRE brokers: slow rate-limited front-page crawl + paid-ad pixel fingerprinting (Google Ads/Meta/TikTok/LinkedIn/etc) from usre.firm registry; results -> data/broker-ad-signals.json (TK-10708)
  286. 83ef493 2026-08-19 California RE feeds + alt pull method: facebookexternalhit UA cracks MediaNews Cloudflare -> Mercury News + SD Union-Tribune DIRECT; + SFYimby direct + LA/SF Business Journals via gnews; per-feed UA support; data/ca-feeds-registry.json records all CA feeds + method (24 feeds) (TK-10708)
  287. a2b0fa9 2026-08-19 flyers.agentabrams.com: static gallery of every aggregated CRE deal as an ownable flyer (type/price/market/parties/date/source + sort/density/type/market filters); party extraction from headlines; wired into 4x/day cron (TK-10708)
  288. e0ea756 2026-08-19 more free direct RSS (lean off proxy): REJournals + Multifamily Dive + LA Times real-estate feed (19 feeds) (TK-10708)
  289. e18b2c3 2026-08-19 one-stop CRE news = ALL deal types (Steve): classify+include Sale/Loan/Lease/Development (bonds, loan extensions, lease renewals kept + typed, not excluded); type chips in email + real deal count. Cody fixes kept: gnews-URL-rotation dedup via content signature + bounded seen-set + recency fail-closed (TK-10708)
  290. 3d6efbf 2026-08-19 red-hot freshness: gnews when:14d + client MAX_AGE_DAYS=4 recency gate (was surfacing 2.8yr-old deals; now max 2d) + cron to 4x/day 5:45a/12:45p/4:30p/12a (TK-10708)
  291. 5ce5020 2026-08-19 one-stop NATIONAL CRE news: 16 feeds (TRD NY/Miami/Chicago/TriState/Texas/LA/Natl + national trade press + 5 gnews-proxy outlets incl CommercialSearch); national market tagger, dropped West-only gate, added RE-signal requirement + tech/VC + roundup exclusion (0 tech leaks) (TK-10708)
  292. 818fd41 2026-08-19 expand CRE-news coverage 4->10 feeds: Google News RSS proxy cracks Cloudflare-blocked Bisnow/GlobeSt/Traded/MultiHousingNews (non-RSS fetch) + add TRD-National/REBusinessOnline; cross-outlet dedup + email cap 30 (TK-10708)
  293. 62ec7fb 2026-08-19 auto-data-snapshot: 2026-08-19T14:34:38 (1 data files) — data/crenews-seen.json
  294. 56eec3b 2026-08-19 digest: dedicated Source column (outlet name + link) + table headers so every deal notes its source (TK-10708)
  295. 01cc8e0 2026-08-19 morning email digest: build-digest.mjs + email-digest.sh send NEW closed deals (news + SEC) to Steve via George; wired as final daily-cron step, sends only when deals exist (TK-10708)
  296. 854c054 2026-08-19 be-first PRIMARY feed: free CRE-news closed-deal monitor (TRD-LA/CommercialObserver/ConnectCRE/Registry-NorCal), sale+price+west filter + non-deal exclusion, dedupe, alert feed; wired into daily cron alongside EDGAR + DTT (TK-10708)
  297. dda8f01 2026-08-19 EDGAR monitor: West-footprint sweep + filing enrichment (property/price/sqft), earnings-release filter + Item 2.01 closed-deal flag + $/SF sanity gate (never publish a wrong price). Finding: Item 2.01 RE 8-Ks are sparse -> EDGAR is a thin free signal, not a full feed (TK-10708)
  298. effdba0 2026-08-19 be-first, FREE: SEC EDGAR CRE 8-K acquisition monitor (same-week LA deals, $0, no key) wired into daily cron; dedupe by accession + new-deal alert feed (TK-10708)
  299. 38d5d5a 2026-08-19 DTT daily cron: launchd com.steve.dtt-import runs ingest-la-sales.mjs daily + new-closed-deal detection (out/new-la-deals-*.json) for 'first to tell' (TK-10708)
  300. 4cf0ddf 2026-08-19 LA upstream fix: ingest-la-sales.mjs loads 2662 LA C/I sales (DTT-inferred prices, no names) into usre.parcel_event; root cause was wrong ArcGIS layer, not a data wall (codex-confirmed). Free LA source lags to 2024-06 (TK-10708)
  301. 348247d 2026-08-19 auto-data-snapshot: 2026-08-19T11:14:55 (1 data files) — RUNBOOK-kamatera-deploy.md
  302. 24fe2f4 2026-08-19 consumable surface: read-only deal-assets viewer/API over usre.deal_assets_v (basic-auth, sort+density grid), pm2 re-flyers-viewer :9860; promoted canonical to usre (TK-10708, gate approved)
  303. 7c6e855 2026-08-19 aggregation store: local reflyers staging DB + ingest + deal_assets_v read view + consumer index; 15 real assets across 5 Miami deals; null-address filter (TK-10708)
  304. f0a5cd1 2026-08-19 probe v2: real firm-domain join + live discovery findings on Miami closed deals; verdict = Tier-2 recaps primary, trade-press links secondary, broker-OMs deferred (TK-10708)
  305. 762f38c 2026-08-19 re-flyer-aggregator: plan + tiered source registry + external_marketing_asset schema + Tier-2 recap generator + provenance probe (TK-10708, codex-reviewed)

Authors

Agents used

  • none detected

Skills used

  • /flyers250
  • /crenews-seen154
  • /deal-store152
  • /article-archive150
  • /property-flyers38
  • /flyers-found37
  • /edgar-seen25
  • /crenews-new-deals-2026-08-2014
  • /deals10
  • /page-2026-08-9
  • /properties8
  • /claude7
  • /code7
  • /sources6
  • /index5
  • /crenews-new-deals-2026-09-264
  • /crenews-new-deals-2026-09-254
  • /crenews-new-deals-2026-09-244
  • /crenews-new-deals-2026-09-234
  • /crenews-new-deals-2026-09-214
  • /crenews-new-deals-2026-09-204
  • /crenews-new-deals-2026-09-194
  • /crenews-new-deals-2026-09-184
  • /crenews-new-deals-2026-09-174
  • /crenews-new-deals-2026-09-164
  • /crenews-new-deals-2026-09-154
  • /crenews-new-deals-2026-09-144
  • /crenews-new-deals-2026-09-134
  • /crenews-new-deals-2026-09-124
  • /crenews-new-deals-2026-09-114

Creative ideas + design notes

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

8e714b1 · 2026-09-26 · TK-11856 rc-propagation (RSYNC): dtt-import + property-flyers propagate step/crawl/rsync rc
Exit-code ONLY, no behavior change (Steve ruling 2026-09-26 Q1/Q2): every step still runs as
before; the wrapper now exits with the first nonzero rc of its side-effecting step(s) instead of
swallowing it, so cron-fire-canary's exit corroboration can see a failed run. No heartbeat file added.
Revert: git -C /Users/macstudio3/Projects/re-flyer-aggregator revert <this sha>

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YaiWjfgEuKQLTb5cdDreS3
936f051 · 2026-09-25 · Add creds-in-URL fetch guard to flyers/index.html (TK-12282)
Closes the last local baseline hole in creds-guard-canary: this
Basic-Auth-gated page did a relative fetch() without the fleet
guard, so a saved user:pass@host bookmark would poison
document.baseURI and silently render an empty page. Same pattern
already applied fleet-wide (portal.html, TK-12268 commits).

Note: the LIVE Kamatera copy (/root/public-projects/re-flyer-
aggregator/public/flyers/index.html, pm2 re-flyers-viewer :9906)
already carries an equivalent guard applied directly to prod
outside git (drift) -- this commit brings the tracked source back
in sync with what's actually running; deploy queued for consistency,
not to fix a live vuln.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01D7LB6rCwpA7ubJTqYzqXEX
83517a7 · 2026-09-18 · flyers: restore load-failure .catch() in build template + rebuild
Generated flyers page swallowed fetch('flyers.json') failures silently
(unhandled rejection -> blank grid) after a rebuild wiped a hand-patch.
Fix belongs in scripts/build-flyers-site.mjs so every rebuild emits a
visible 'Could not load flyers' error state. Public page, so the
credential-safe fetch guard is intentionally not re-added.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GApjY8mnjD5aYcopgpnS8y
4dd6fea · 2026-09-15 · security: add rel=noopener noreferrer to target=_blank links (yoloforever cycle 3)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UxvvaJ7p6VRZ4RzKDaBXqK
c51dbfb · 2026-09-15 · flyers: add visible .catch() error state on flyers.json load (TK-11773)
Kills the silent-empty-grid failure class entirely — any load failure (creds-in-URL,
network, 500, bad JSON) now shows a red message + 'load failed' stat instead of a blank grid.
Complements the restored creds-in-URL fetch guard.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GHzse5aKM9vgbEhXxho7B3
3484f65 · 2026-09-15 · restore creds-in-URL fetch guard on flyers page (regression from 1ac8ff5 prod-snapshot; TK-11773 / TK-10984)
The 2026-09-15 'commit code deployed in fleet push' snapshot reverted flyers/index.html
byte-for-byte to its pre-guard state, dropping the window.fetch credential-safe wrapper.
The page does a relative fetch('flyers.json') behind a global Basic-Auth wall with no
.catch(), so a user:pass@host bookmark throws and the grid silently renders empty.
Restores the exact guard block matching the 8 sibling viewer pages.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GHzse5aKM9vgbEhXxho7B3
1ac8ff5 · 2026-09-15 · chore: commit code deployed in 2026-09-15 fleet push
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EwddjWujivh6oHPnqGqRoK
f9f37c0 · 2026-08-25 · creds-safe fetch guard: resolve relative fetch vs credential-free location (creds-in-URL trap)
Fleet inoculation — opening this basic-auth app with credentials in the URL
poisoned document.baseURI and made relative fetch('/api/…') throw. Guard resolves
non-absolute request URLs against location instead. Ref: creds-in-url-fetch-guard-fleet-pattern.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
9219168 · 2026-08-20 · refine-loop: wire ingest-usre-parcels as a step after build-property-index (re-usre, TK-10708)
Appends one additive line so each 90-min cycle re-enriches /properties to the full 56,492-property universe
instead of reverting to news-only. MUST run after build-property-index (which overwrites the file from news
each cycle); ingest is idempotent+deterministic so re-runs/order are safe. Does not disturb the running loop
process (bash holds the while-loop in memory; takes effect on next loop restart). Reversible: git revert.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
b12f6f0 · 2026-08-20 · chore: lint + light refactor of news/property scripts (session close)
- cre-news-monitor: named MS_PER_DAY const (was inline 864e5 twice), SEEN_CAP const
  (was magic 8000), POOL_CONC const + proper default param on pullPooled; split
  siteOf() and dateWindows() off their dense one-liners for readability
- build-property-index: split 5 consecutive size-coalesce assignments and city/state
  guards off a single line; no logic change
- ingest-rentv, serve-viewers: clean, no change needed

node --check + --dry run both green.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
62868fe · 2026-08-20 · ingest-usre-parcels: deterministic byte-identical output (re-usre, TK-10708)
The outer parcel SQL has no ORDER BY (Postgres scan order varies run-to-run), which reshuffled tie-groups and
made the 54MB index differ every cycle -> the refine loop would commit 54MB no-op diffs. Added stable
tie-breakers: rows sorted county->address->city->AIN (AIN final so condo-unit AINs sharing one canonical
address pick the same sqft/assessed each run under fill-null-first-wins), entry sort broken by price then esig,
final property sort broken by address|city. Verified byte-identical across fresh-baseline x2 + rerun.
Second-model (Kimi) review pass done; its one actionable flag (city .trim()) correctly rejected — trimming
would diverge from build-property-index's verbatim key and break the news-attach guarantee.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
8d7215d · 2026-08-20 · scale-up per-property index to FULL universe: ingest-usre-parcels.mjs merges usre commercial_parcel + sale events into property-index.json (re-usre, TK-10708)
Non-invasive POST-build enrich layer — reads the news-built property-index.json and layers usre's
public-record commercial parcels on top using build-property-index.mjs's VERBATIM canonical-address key
(canon(addr)+'|'+city) so a news mention and its public-record twin land on ONE property. 57,251 CRE
parcels w/ sale events across LA/Miami-Dade/Wake/Clackamas -> 2,340 news props grow to 56,492 (2,179 DTT
news properties merged with their usre parcel, gaining sqft/year_built/units/assessed). Enrich-not-overwrite:
news entries always preserved, usre fills nulls + appends its own sale entries + adds parcel enrichment.
Idempotent (strips prior usre layer + same-sale dedup), $0 local psql. /properties verified loads+renders.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

File tree

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

Other build journals

← Re Coverage Dashboard  ·  all 4 projects  ·  Re Flyers →

Export

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

rendered in 5ms