claudetimeline 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (420) hide show
  1. claudetimeline-0.1.0/.claude/settings.json +3 -0
  2. claudetimeline-0.1.0/.github/workflows/ci.yml +121 -0
  3. claudetimeline-0.1.0/.github/workflows/publish.yml +41 -0
  4. claudetimeline-0.1.0/.gitignore +43 -0
  5. claudetimeline-0.1.0/.python-version +1 -0
  6. claudetimeline-0.1.0/.rlsbl/bases/.claude/settings.json +3 -0
  7. claudetimeline-0.1.0/.rlsbl/bases/.github/workflows/ci.yml +21 -0
  8. claudetimeline-0.1.0/.rlsbl/bases/.gitignore +15 -0
  9. claudetimeline-0.1.0/.rlsbl/bases/.rlsbl/changes/unreleased.jsonl +0 -0
  10. claudetimeline-0.1.0/.rlsbl/bases/.rlsbl/hooks/post-release.sh +37 -0
  11. claudetimeline-0.1.0/.rlsbl/bases/.rlsbl/hooks/pre-checks.sh +5 -0
  12. claudetimeline-0.1.0/.rlsbl/bases/.rlsbl/hooks/pre-release.sh +8 -0
  13. claudetimeline-0.1.0/.rlsbl/bases/.rlsbl/lint/go.toml +17 -0
  14. claudetimeline-0.1.0/.rlsbl/bases/.rlsbl/lint/npm.toml +19 -0
  15. claudetimeline-0.1.0/.rlsbl/bases/.rlsbl/lint/python.toml +25 -0
  16. claudetimeline-0.1.0/.rlsbl/bases/CHANGELOG.md +5 -0
  17. claudetimeline-0.1.0/.rlsbl/bases/CLAUDE.md +20 -0
  18. claudetimeline-0.1.0/.rlsbl/changes/.validated +1 -0
  19. claudetimeline-0.1.0/.rlsbl/changes/0.1.0.jsonl +3 -0
  20. claudetimeline-0.1.0/.rlsbl/changes/0.1.0.md +5 -0
  21. claudetimeline-0.1.0/.rlsbl/changes/unreleased.jsonl +0 -0
  22. claudetimeline-0.1.0/.rlsbl/config.json +6 -0
  23. claudetimeline-0.1.0/.rlsbl/hashes.json +12 -0
  24. claudetimeline-0.1.0/.rlsbl/hooks/post-release.sh +37 -0
  25. claudetimeline-0.1.0/.rlsbl/hooks/pre-checks.sh +5 -0
  26. claudetimeline-0.1.0/.rlsbl/hooks/pre-release.sh +8 -0
  27. claudetimeline-0.1.0/.rlsbl/lint/go.toml +17 -0
  28. claudetimeline-0.1.0/.rlsbl/lint/npm.toml +19 -0
  29. claudetimeline-0.1.0/.rlsbl/lint/python.toml +25 -0
  30. claudetimeline-0.1.0/.rlsbl/version +1 -0
  31. claudetimeline-0.1.0/CHANGELOG.md +9 -0
  32. claudetimeline-0.1.0/CLAUDE.md +500 -0
  33. claudetimeline-0.1.0/LICENSE +6 -0
  34. claudetimeline-0.1.0/PKG-INFO +67 -0
  35. claudetimeline-0.1.0/README.md +34 -0
  36. claudetimeline-0.1.0/data/top-500-executables.csv +501 -0
  37. claudetimeline-0.1.0/docs/decisions.md +210 -0
  38. claudetimeline-0.1.0/frontend/.gitignore +24 -0
  39. claudetimeline-0.1.0/frontend/.vscode/extensions.json +3 -0
  40. claudetimeline-0.1.0/frontend/README.md +43 -0
  41. claudetimeline-0.1.0/frontend/dist/assets/AsyncBoundary-Cdv8yyXA.css +1 -0
  42. claudetimeline-0.1.0/frontend/dist/assets/AsyncBoundary-DGcjRSv8.js +1 -0
  43. claudetimeline-0.1.0/frontend/dist/assets/Bookmarks-CXi0s74x.css +1 -0
  44. claudetimeline-0.1.0/frontend/dist/assets/Bookmarks-dzGxaJ8j.js +1 -0
  45. claudetimeline-0.1.0/frontend/dist/assets/ClusterTopics-C2Sx5mzR.js +1 -0
  46. claudetimeline-0.1.0/frontend/dist/assets/ClusterTopics-CH1ku83y.css +1 -0
  47. claudetimeline-0.1.0/frontend/dist/assets/Console-BKLzcdXP.js +1 -0
  48. claudetimeline-0.1.0/frontend/dist/assets/Console-CRli2dgW.css +1 -0
  49. claudetimeline-0.1.0/frontend/dist/assets/D3Chart-B9bbNy-e.css +1 -0
  50. claudetimeline-0.1.0/frontend/dist/assets/D3Chart-icKnswy5.js +1 -0
  51. claudetimeline-0.1.0/frontend/dist/assets/Dashboard-CVnLyKSE.css +1 -0
  52. claudetimeline-0.1.0/frontend/dist/assets/Dashboard-DKkCjF8e.js +2 -0
  53. claudetimeline-0.1.0/frontend/dist/assets/DataTable-B_t9g-Cu.js +1 -0
  54. claudetimeline-0.1.0/frontend/dist/assets/DataTable-ByF3_dpv.css +1 -0
  55. claudetimeline-0.1.0/frontend/dist/assets/ErrorsExplorer-7QyoFu1P.js +1 -0
  56. claudetimeline-0.1.0/frontend/dist/assets/ErrorsExplorer-CVX-vFud.css +1 -0
  57. claudetimeline-0.1.0/frontend/dist/assets/Executables-BmmO_NsZ.js +13 -0
  58. claudetimeline-0.1.0/frontend/dist/assets/Executables-D7wZjVvG.css +1 -0
  59. claudetimeline-0.1.0/frontend/dist/assets/Failures-B4vcosM9.css +1 -0
  60. claudetimeline-0.1.0/frontend/dist/assets/Failures-D5wJMo1M.js +6 -0
  61. claudetimeline-0.1.0/frontend/dist/assets/FilterChips-B5zDhJEl.css +1 -0
  62. claudetimeline-0.1.0/frontend/dist/assets/FilterChips-BOvN7Iv3.js +1 -0
  63. claudetimeline-0.1.0/frontend/dist/assets/Finder-BME8-jZs.js +52 -0
  64. claudetimeline-0.1.0/frontend/dist/assets/Finder-CU9b9GuQ.css +1 -0
  65. claudetimeline-0.1.0/frontend/dist/assets/Heatmap-B5mtAkGF.js +1 -0
  66. claudetimeline-0.1.0/frontend/dist/assets/Heatmap-C_X32u_e.css +1 -0
  67. claudetimeline-0.1.0/frontend/dist/assets/Home-CN-W_r2k.js +1 -0
  68. claudetimeline-0.1.0/frontend/dist/assets/HourlyByMonth-CgCB-GJV.css +1 -0
  69. claudetimeline-0.1.0/frontend/dist/assets/HourlyByMonth-dak5Ma0B.js +1 -0
  70. claudetimeline-0.1.0/frontend/dist/assets/Manage-DJ3uPiiO.js +21 -0
  71. claudetimeline-0.1.0/frontend/dist/assets/Manage-wfm7vahP.css +1 -0
  72. claudetimeline-0.1.0/frontend/dist/assets/ModelsTokens-C5-llq4V.css +1 -0
  73. claudetimeline-0.1.0/frontend/dist/assets/ModelsTokens-CPviciau.js +7 -0
  74. claudetimeline-0.1.0/frontend/dist/assets/Outliers-BuyWc2w-.js +1 -0
  75. claudetimeline-0.1.0/frontend/dist/assets/Outliers-Djs8mTiV.css +1 -0
  76. claudetimeline-0.1.0/frontend/dist/assets/ProjectLifecycle-Dk3pdCW1.css +1 -0
  77. claudetimeline-0.1.0/frontend/dist/assets/ProjectLifecycle-Dw1fViJT.js +5 -0
  78. claudetimeline-0.1.0/frontend/dist/assets/ProjectOverlap-Dbx52dmp.css +1 -0
  79. claudetimeline-0.1.0/frontend/dist/assets/ProjectOverlap-Domp2Cci.js +3 -0
  80. claudetimeline-0.1.0/frontend/dist/assets/Projects-Bg0jQCYC.js +4 -0
  81. claudetimeline-0.1.0/frontend/dist/assets/Projects-Bm4IOaeL.css +1 -0
  82. claudetimeline-0.1.0/frontend/dist/assets/ResultRow-Bxp7PpAV.css +1 -0
  83. claudetimeline-0.1.0/frontend/dist/assets/ResultRow-Clen9vK0.js +1 -0
  84. claudetimeline-0.1.0/frontend/dist/assets/SavedViewsMenu-BgkT-Uvb.js +2 -0
  85. claudetimeline-0.1.0/frontend/dist/assets/SavedViewsMenu-DL4SJXPi.css +1 -0
  86. claudetimeline-0.1.0/frontend/dist/assets/Section-BBgD2kOo.js +1 -0
  87. claudetimeline-0.1.0/frontend/dist/assets/Section-DGmHFFi4.css +1 -0
  88. claudetimeline-0.1.0/frontend/dist/assets/SemanticMap-BeHbv_Jj.js +8 -0
  89. claudetimeline-0.1.0/frontend/dist/assets/SemanticMap-DLjNDbR2.css +1 -0
  90. claudetimeline-0.1.0/frontend/dist/assets/Session-BoiZSjzZ.js +65 -0
  91. claudetimeline-0.1.0/frontend/dist/assets/Session-W2051Bu7.css +1 -0
  92. claudetimeline-0.1.0/frontend/dist/assets/SessionBrowser-CrIXSgbR.js +2 -0
  93. claudetimeline-0.1.0/frontend/dist/assets/SessionBrowser-DcqlwlNH.css +1 -0
  94. claudetimeline-0.1.0/frontend/dist/assets/SessionShape-CAxLxhuR.css +1 -0
  95. claudetimeline-0.1.0/frontend/dist/assets/SessionShape-DnlWIwGx.js +1 -0
  96. claudetimeline-0.1.0/frontend/dist/assets/SimilarPanel-BodBmmE3.css +1 -0
  97. claudetimeline-0.1.0/frontend/dist/assets/SimilarPanel-TsUX3i9t.js +1 -0
  98. claudetimeline-0.1.0/frontend/dist/assets/Sparkline-CE__hzzm.css +1 -0
  99. claudetimeline-0.1.0/frontend/dist/assets/Sparkline-DeEJS-jZ.js +1 -0
  100. claudetimeline-0.1.0/frontend/dist/assets/Stat-BmDqkFa0.js +1 -0
  101. claudetimeline-0.1.0/frontend/dist/assets/Stat-DkDCZiMR.css +1 -0
  102. claudetimeline-0.1.0/frontend/dist/assets/Tableau10-DmMINfmu.js +1 -0
  103. claudetimeline-0.1.0/frontend/dist/assets/Timeline-B1NnHXsu.css +1 -0
  104. claudetimeline-0.1.0/frontend/dist/assets/Timeline-BwL5Rkh4.css +1 -0
  105. claudetimeline-0.1.0/frontend/dist/assets/Timeline-CWkHpv2C.js +2 -0
  106. claudetimeline-0.1.0/frontend/dist/assets/Timeline-D9Z1tVJU.js +10 -0
  107. claudetimeline-0.1.0/frontend/dist/assets/ToolLifecycle-BGkJrOfS.css +1 -0
  108. claudetimeline-0.1.0/frontend/dist/assets/ToolLifecycle-D5CNZ84x.js +1 -0
  109. claudetimeline-0.1.0/frontend/dist/assets/ToolMix-Dj_FTplB.js +5 -0
  110. claudetimeline-0.1.0/frontend/dist/assets/ToolMix-UQdQZ3xi.css +1 -0
  111. claudetimeline-0.1.0/frontend/dist/assets/TopPhrases-Bs6IoBKc.css +1 -0
  112. claudetimeline-0.1.0/frontend/dist/assets/TopPhrases-DrTcxqOj.js +1 -0
  113. claudetimeline-0.1.0/frontend/dist/assets/VirtualList-B70beBZ2.js +1 -0
  114. claudetimeline-0.1.0/frontend/dist/assets/VirtualList-BEGCbXi_.css +1 -0
  115. claudetimeline-0.1.0/frontend/dist/assets/anomaly-B2DtiAmN.js +1 -0
  116. claudetimeline-0.1.0/frontend/dist/assets/anomaly-format-DOU3SVhM.js +1 -0
  117. claudetimeline-0.1.0/frontend/dist/assets/area-2LdSp58U.js +1 -0
  118. claudetimeline-0.1.0/frontend/dist/assets/axis-BWo_gocf.js +1 -0
  119. claudetimeline-0.1.0/frontend/dist/assets/band-77jGzUuP.js +1 -0
  120. claudetimeline-0.1.0/frontend/dist/assets/chart-aria.svelte-BHQ-LWDy.js +1 -0
  121. claudetimeline-0.1.0/frontend/dist/assets/chart-tokens-2MGcSnsf.js +1 -0
  122. claudetimeline-0.1.0/frontend/dist/assets/defaultLocale-Cjp5gjGJ.js +1 -0
  123. claudetimeline-0.1.0/frontend/dist/assets/disclose-version-BTq2NZCc.js +2 -0
  124. claudetimeline-0.1.0/frontend/dist/assets/duckdb-CnjsLXD1.js +1 -0
  125. claudetimeline-0.1.0/frontend/dist/assets/duckdb-browser-Drd66E3a.js +2 -0
  126. claudetimeline-0.1.0/frontend/dist/assets/duckdb-browser-eh.worker-C9WNNRFS.js +1 -0
  127. claudetimeline-0.1.0/frontend/dist/assets/duckdb-browser-eh.worker-hQa-dcAV.js +14 -0
  128. claudetimeline-0.1.0/frontend/dist/assets/duckdb-browser-mvp.worker-C9hF7LGh.js +14 -0
  129. claudetimeline-0.1.0/frontend/dist/assets/duckdb-browser-mvp.worker-D7vBMSa9.js +1 -0
  130. claudetimeline-0.1.0/frontend/dist/assets/duckdb-eh-9ubY-jlA.wasm +0 -0
  131. claudetimeline-0.1.0/frontend/dist/assets/duckdb-eh-Bp-tQdcS.js +1 -0
  132. claudetimeline-0.1.0/frontend/dist/assets/duckdb-mvp-BP0pRkMH.wasm +0 -0
  133. claudetimeline-0.1.0/frontend/dist/assets/duckdb-mvp-cl1JxN-4.js +1 -0
  134. claudetimeline-0.1.0/frontend/dist/assets/extent-DUfMrgTD.js +1 -0
  135. claudetimeline-0.1.0/frontend/dist/assets/format-BYqEDc7z.js +1 -0
  136. claudetimeline-0.1.0/frontend/dist/assets/index-BTqeKTS4.css +1 -0
  137. claudetimeline-0.1.0/frontend/dist/assets/index-V0hMqI4s.js +2 -0
  138. claudetimeline-0.1.0/frontend/dist/assets/linear-UEM3eiZa.js +1 -0
  139. claudetimeline-0.1.0/frontend/dist/assets/monotone-B0OXiTSi.js +1 -0
  140. claudetimeline-0.1.0/frontend/dist/assets/quadtree-BWZO0HVV.js +1 -0
  141. claudetimeline-0.1.0/frontend/dist/assets/src-zk0Sx-4V.js +1 -0
  142. claudetimeline-0.1.0/frontend/dist/assets/stack-Cdcznbsf.js +1 -0
  143. claudetimeline-0.1.0/frontend/dist/assets/tableKeyboardNav-BxuEzj00.js +1 -0
  144. claudetimeline-0.1.0/frontend/dist/assets/time-BpWjGIx4.js +1 -0
  145. claudetimeline-0.1.0/frontend/dist/assets/tz-DXIolAPY.js +1 -0
  146. claudetimeline-0.1.0/frontend/dist/assets/use-abortable.svelte-DIRxgxo8.js +1 -0
  147. claudetimeline-0.1.0/frontend/dist/assets/use-visible.svelte-ghkEEknz.js +1 -0
  148. claudetimeline-0.1.0/frontend/dist/assets/utils-CyseHX85.js +1 -0
  149. claudetimeline-0.1.0/frontend/dist/favicon.svg +1 -0
  150. claudetimeline-0.1.0/frontend/dist/icons.svg +24 -0
  151. claudetimeline-0.1.0/frontend/dist/index.html +15 -0
  152. claudetimeline-0.1.0/frontend/index.html +13 -0
  153. claudetimeline-0.1.0/frontend/jsconfig.json +33 -0
  154. claudetimeline-0.1.0/frontend/knip.json +18 -0
  155. claudetimeline-0.1.0/frontend/package-lock.json +3787 -0
  156. claudetimeline-0.1.0/frontend/package.json +33 -0
  157. claudetimeline-0.1.0/frontend/playwright.config.js +9 -0
  158. claudetimeline-0.1.0/frontend/public/favicon.svg +1 -0
  159. claudetimeline-0.1.0/frontend/public/icons.svg +24 -0
  160. claudetimeline-0.1.0/frontend/scripts/vite-plugin-tokens.js +270 -0
  161. claudetimeline-0.1.0/frontend/src/App.svelte +409 -0
  162. claudetimeline-0.1.0/frontend/src/app.css +202 -0
  163. claudetimeline-0.1.0/frontend/src/components/AnomalyToggle.svelte +74 -0
  164. claudetimeline-0.1.0/frontend/src/components/AsyncBoundary.svelte +185 -0
  165. claudetimeline-0.1.0/frontend/src/components/CommandPalette.svelte +550 -0
  166. claudetimeline-0.1.0/frontend/src/components/D3Chart.svelte +241 -0
  167. claudetimeline-0.1.0/frontend/src/components/DataTable.svelte +166 -0
  168. claudetimeline-0.1.0/frontend/src/components/Dialog.svelte +200 -0
  169. claudetimeline-0.1.0/frontend/src/components/FilterBar.svelte +872 -0
  170. claudetimeline-0.1.0/frontend/src/components/FilterChips.svelte +401 -0
  171. claudetimeline-0.1.0/frontend/src/components/LazyMount.svelte +139 -0
  172. claudetimeline-0.1.0/frontend/src/components/SavedViewsMenu.svelte +449 -0
  173. claudetimeline-0.1.0/frontend/src/components/Section.svelte +383 -0
  174. claudetimeline-0.1.0/frontend/src/components/SimilarPanel.svelte +344 -0
  175. claudetimeline-0.1.0/frontend/src/components/Sparkline.svelte +101 -0
  176. claudetimeline-0.1.0/frontend/src/components/SqlInspector.svelte +198 -0
  177. claudetimeline-0.1.0/frontend/src/components/Stat.svelte +497 -0
  178. claudetimeline-0.1.0/frontend/src/components/ToastHost.svelte +135 -0
  179. claudetimeline-0.1.0/frontend/src/components/VirtualList.svelte +125 -0
  180. claudetimeline-0.1.0/frontend/src/lib/Router.svelte +78 -0
  181. claudetimeline-0.1.0/frontend/src/lib/__tests__/g2-unified-flow.test.js +135 -0
  182. claudetimeline-0.1.0/frontend/src/lib/__tests__/timeline-logic.test.js +204 -0
  183. claudetimeline-0.1.0/frontend/src/lib/__tests__/timeline-utils.test.js +129 -0
  184. claudetimeline-0.1.0/frontend/src/lib/announce.svelte.js +49 -0
  185. claudetimeline-0.1.0/frontend/src/lib/anomaly-format.js +57 -0
  186. claudetimeline-0.1.0/frontend/src/lib/anomaly.js +130 -0
  187. claudetimeline-0.1.0/frontend/src/lib/api.js +457 -0
  188. claudetimeline-0.1.0/frontend/src/lib/chart-aria.svelte.js +114 -0
  189. claudetimeline-0.1.0/frontend/src/lib/chart-tokens.js +38 -0
  190. claudetimeline-0.1.0/frontend/src/lib/duckdb.js +205 -0
  191. claudetimeline-0.1.0/frontend/src/lib/editor.js +22 -0
  192. claudetimeline-0.1.0/frontend/src/lib/filters.svelte.js +681 -0
  193. claudetimeline-0.1.0/frontend/src/lib/finder-duckdb.js +510 -0
  194. claudetimeline-0.1.0/frontend/src/lib/format.js +137 -0
  195. claudetimeline-0.1.0/frontend/src/lib/http.js +184 -0
  196. claudetimeline-0.1.0/frontend/src/lib/modal-a11y.svelte.js +151 -0
  197. claudetimeline-0.1.0/frontend/src/lib/motion.js +29 -0
  198. claudetimeline-0.1.0/frontend/src/lib/router.svelte.js +205 -0
  199. claudetimeline-0.1.0/frontend/src/lib/tableKeyboardNav.js +132 -0
  200. claudetimeline-0.1.0/frontend/src/lib/theme.svelte.js +88 -0
  201. claudetimeline-0.1.0/frontend/src/lib/timeline-utils.js +25 -0
  202. claudetimeline-0.1.0/frontend/src/lib/toast.svelte.js +45 -0
  203. claudetimeline-0.1.0/frontend/src/lib/tooltip.js +43 -0
  204. claudetimeline-0.1.0/frontend/src/lib/tz.js +157 -0
  205. claudetimeline-0.1.0/frontend/src/lib/url-state.js +126 -0
  206. claudetimeline-0.1.0/frontend/src/lib/use-abortable.svelte.js +54 -0
  207. claudetimeline-0.1.0/frontend/src/lib/use-visible.svelte.js +57 -0
  208. claudetimeline-0.1.0/frontend/src/lib/utils.js +116 -0
  209. claudetimeline-0.1.0/frontend/src/main.js +9 -0
  210. claudetimeline-0.1.0/frontend/src/routes/Bookmarks.svelte +242 -0
  211. claudetimeline-0.1.0/frontend/src/routes/Console.svelte +280 -0
  212. claudetimeline-0.1.0/frontend/src/routes/Dashboard.svelte +345 -0
  213. claudetimeline-0.1.0/frontend/src/routes/Finder.svelte +431 -0
  214. claudetimeline-0.1.0/frontend/src/routes/Home.svelte +11 -0
  215. claudetimeline-0.1.0/frontend/src/routes/Manage.svelte +486 -0
  216. claudetimeline-0.1.0/frontend/src/routes/SemanticMap.svelte +42 -0
  217. claudetimeline-0.1.0/frontend/src/routes/Session.svelte +343 -0
  218. claudetimeline-0.1.0/frontend/src/routes/Timeline.svelte +641 -0
  219. claudetimeline-0.1.0/frontend/src/sections/AutoNarrative.svelte +107 -0
  220. claudetimeline-0.1.0/frontend/src/sections/ClusterTopics.svelte +501 -0
  221. claudetimeline-0.1.0/frontend/src/sections/ErrorsExplorer.svelte +442 -0
  222. claudetimeline-0.1.0/frontend/src/sections/Executables.svelte +510 -0
  223. claudetimeline-0.1.0/frontend/src/sections/Failures.svelte +826 -0
  224. claudetimeline-0.1.0/frontend/src/sections/Heatmap.svelte +562 -0
  225. claudetimeline-0.1.0/frontend/src/sections/HourlyByMonth.svelte +412 -0
  226. claudetimeline-0.1.0/frontend/src/sections/KpiHeader.svelte +237 -0
  227. claudetimeline-0.1.0/frontend/src/sections/ModelsTokens.svelte +701 -0
  228. claudetimeline-0.1.0/frontend/src/sections/Outliers.svelte +328 -0
  229. claudetimeline-0.1.0/frontend/src/sections/ProjectLifecycle.svelte +582 -0
  230. claudetimeline-0.1.0/frontend/src/sections/ProjectOverlap.svelte +297 -0
  231. claudetimeline-0.1.0/frontend/src/sections/Projects.svelte +622 -0
  232. claudetimeline-0.1.0/frontend/src/sections/SearchPanel.svelte +359 -0
  233. claudetimeline-0.1.0/frontend/src/sections/SemanticMap.svelte +1088 -0
  234. claudetimeline-0.1.0/frontend/src/sections/SessionBrowser.svelte +726 -0
  235. claudetimeline-0.1.0/frontend/src/sections/SessionDetail.svelte +798 -0
  236. claudetimeline-0.1.0/frontend/src/sections/SessionShape.svelte +407 -0
  237. claudetimeline-0.1.0/frontend/src/sections/SessionTimeline.svelte +852 -0
  238. claudetimeline-0.1.0/frontend/src/sections/Timeline.svelte +663 -0
  239. claudetimeline-0.1.0/frontend/src/sections/ToolLifecycle.svelte +175 -0
  240. claudetimeline-0.1.0/frontend/src/sections/ToolMix.svelte +433 -0
  241. claudetimeline-0.1.0/frontend/src/sections/TopPhrases.svelte +296 -0
  242. claudetimeline-0.1.0/frontend/src/sections/finder/FilterSidebar.svelte +627 -0
  243. claudetimeline-0.1.0/frontend/src/sections/finder/ResultRow.svelte +703 -0
  244. claudetimeline-0.1.0/frontend/src/sections/finder/SearchHistogram.svelte +231 -0
  245. claudetimeline-0.1.0/frontend/src/sections/finder/bookmark-cache.svelte.js +51 -0
  246. claudetimeline-0.1.0/frontend/src/sections/manage/ActionCard.svelte +512 -0
  247. claudetimeline-0.1.0/frontend/src/sections/manage/DangerZone.svelte +652 -0
  248. claudetimeline-0.1.0/frontend/src/sections/manage/StatusPanel.svelte +322 -0
  249. claudetimeline-0.1.0/frontend/src/tokens/tokens.css +477 -0
  250. claudetimeline-0.1.0/frontend/src/tokens/tokens.json +286 -0
  251. claudetimeline-0.1.0/frontend/src/tokens/tokens.ts +298 -0
  252. claudetimeline-0.1.0/frontend/svelte.config.js +2 -0
  253. claudetimeline-0.1.0/frontend/tests/a11y.spec.js +36 -0
  254. claudetimeline-0.1.0/frontend/tests/perf.spec.js +20 -0
  255. claudetimeline-0.1.0/frontend/vite.config.js +20 -0
  256. claudetimeline-0.1.0/frontend/vitest.config.js +31 -0
  257. claudetimeline-0.1.0/pyproject.toml +62 -0
  258. claudetimeline-0.1.0/scripts/a11y-check +14 -0
  259. claudetimeline-0.1.0/scripts/archive/adopt-orphans +303 -0
  260. claudetimeline-0.1.0/scripts/archive/divergent-target-distribution +101 -0
  261. claudetimeline-0.1.0/scripts/archive/fix-misrouted-subagent-records +652 -0
  262. claudetimeline-0.1.0/scripts/archive/quantify-divergent +111 -0
  263. claudetimeline-0.1.0/scripts/archive/reattribute-lost-messages +123 -0
  264. claudetimeline-0.1.0/scripts/build-db +76 -0
  265. claudetimeline-0.1.0/scripts/check-fresh-clone +113 -0
  266. claudetimeline-0.1.0/scripts/dashboard +74 -0
  267. claudetimeline-0.1.0/scripts/dev +60 -0
  268. claudetimeline-0.1.0/scripts/merge-recovered-into-profiles +269 -0
  269. claudetimeline-0.1.0/scripts/perf-check +67 -0
  270. claudetimeline-0.1.0/scripts/process-recovery +361 -0
  271. claudetimeline-0.1.0/scripts/recover-btrfs +422 -0
  272. claudetimeline-0.1.0/scripts/repair-executables +68 -0
  273. claudetimeline-0.1.0/scripts/restore-recovered +462 -0
  274. claudetimeline-0.1.0/scripts/restore-to-profiles +523 -0
  275. claudetimeline-0.1.0/scripts/serve +200 -0
  276. claudetimeline-0.1.0/scripts/verify-recovered-duplicates +287 -0
  277. claudetimeline-0.1.0/src/claude_timeline/__init__.py +0 -0
  278. claudetimeline-0.1.0/src/claude_timeline/__main__.py +5 -0
  279. claudetimeline-0.1.0/src/claude_timeline/annotations.py +485 -0
  280. claudetimeline-0.1.0/src/claude_timeline/build/__init__.py +0 -0
  281. claudetimeline-0.1.0/src/claude_timeline/build/assistant.py +203 -0
  282. claudetimeline-0.1.0/src/claude_timeline/build/bash.py +238 -0
  283. claudetimeline-0.1.0/src/claude_timeline/build/density.py +191 -0
  284. claudetimeline-0.1.0/src/claude_timeline/build/embeddings.py +462 -0
  285. claudetimeline-0.1.0/src/claude_timeline/build/failure_reason.py +62 -0
  286. claudetimeline-0.1.0/src/claude_timeline/build/messages.py +182 -0
  287. claudetimeline-0.1.0/src/claude_timeline/build/metadata.py +179 -0
  288. claudetimeline-0.1.0/src/claude_timeline/build/pipeline.py +1049 -0
  289. claudetimeline-0.1.0/src/claude_timeline/build/results.py +257 -0
  290. claudetimeline-0.1.0/src/claude_timeline/build/schema.py +689 -0
  291. claudetimeline-0.1.0/src/claude_timeline/build/snapshot.py +121 -0
  292. claudetimeline-0.1.0/src/claude_timeline/build/timeline.py +302 -0
  293. claudetimeline-0.1.0/src/claude_timeline/build/tools.py +288 -0
  294. claudetimeline-0.1.0/src/claude_timeline/build/tree.py +230 -0
  295. claudetimeline-0.1.0/src/claude_timeline/build/unified.py +378 -0
  296. claudetimeline-0.1.0/src/claude_timeline/build/watch.py +240 -0
  297. claudetimeline-0.1.0/src/claude_timeline/cli.py +385 -0
  298. claudetimeline-0.1.0/src/claude_timeline/config.py +180 -0
  299. claudetimeline-0.1.0/src/claude_timeline/content_hash.py +33 -0
  300. claudetimeline-0.1.0/src/claude_timeline/exporters/__init__.py +1 -0
  301. claudetimeline-0.1.0/src/claude_timeline/exporters/markdown.py +369 -0
  302. claudetimeline-0.1.0/src/claude_timeline/parsers/__init__.py +1 -0
  303. claudetimeline-0.1.0/src/claude_timeline/parsers/bash.py +341 -0
  304. claudetimeline-0.1.0/src/claude_timeline/queries/__init__.py +0 -0
  305. claudetimeline-0.1.0/src/claude_timeline/queries/_filters.py +158 -0
  306. claudetimeline-0.1.0/src/claude_timeline/queries/_utils.py +52 -0
  307. claudetimeline-0.1.0/src/claude_timeline/queries/accounts.py +159 -0
  308. claudetimeline-0.1.0/src/claude_timeline/queries/assistant.py +161 -0
  309. claudetimeline-0.1.0/src/claude_timeline/queries/branches.py +177 -0
  310. claudetimeline-0.1.0/src/claude_timeline/queries/clusters.py +431 -0
  311. claudetimeline-0.1.0/src/claude_timeline/queries/dangerous.py +180 -0
  312. claudetimeline-0.1.0/src/claude_timeline/queries/embeddings.py +151 -0
  313. claudetimeline-0.1.0/src/claude_timeline/queries/errors.py +131 -0
  314. claudetimeline-0.1.0/src/claude_timeline/queries/executables.py +335 -0
  315. claudetimeline-0.1.0/src/claude_timeline/queries/failures.py +988 -0
  316. claudetimeline-0.1.0/src/claude_timeline/queries/finder.py +669 -0
  317. claudetimeline-0.1.0/src/claude_timeline/queries/manage.py +385 -0
  318. claudetimeline-0.1.0/src/claude_timeline/queries/narrative.py +515 -0
  319. claudetimeline-0.1.0/src/claude_timeline/queries/outliers.py +188 -0
  320. claudetimeline-0.1.0/src/claude_timeline/queries/pasted.py +91 -0
  321. claudetimeline-0.1.0/src/claude_timeline/queries/phrases.py +263 -0
  322. claudetimeline-0.1.0/src/claude_timeline/queries/project_lifecycle.py +301 -0
  323. claudetimeline-0.1.0/src/claude_timeline/queries/projects.py +648 -0
  324. claudetimeline-0.1.0/src/claude_timeline/queries/search.py +195 -0
  325. claudetimeline-0.1.0/src/claude_timeline/queries/session_shape.py +332 -0
  326. claudetimeline-0.1.0/src/claude_timeline/queries/sessions.py +453 -0
  327. claudetimeline-0.1.0/src/claude_timeline/queries/similar.py +130 -0
  328. claudetimeline-0.1.0/src/claude_timeline/queries/stats.py +805 -0
  329. claudetimeline-0.1.0/src/claude_timeline/queries/subagents.py +134 -0
  330. claudetimeline-0.1.0/src/claude_timeline/queries/timeline_events.py +285 -0
  331. claudetimeline-0.1.0/src/claude_timeline/queries/timeseries.py +230 -0
  332. claudetimeline-0.1.0/src/claude_timeline/queries/tokens.py +355 -0
  333. claudetimeline-0.1.0/src/claude_timeline/queries/tools.py +297 -0
  334. claudetimeline-0.1.0/src/claude_timeline/queries/tree.py +59 -0
  335. claudetimeline-0.1.0/src/claude_timeline/recovery/__init__.py +27 -0
  336. claudetimeline-0.1.0/src/claude_timeline/recovery/io.py +22 -0
  337. claudetimeline-0.1.0/src/claude_timeline/recovery/keys.py +51 -0
  338. claudetimeline-0.1.0/src/claude_timeline/recovery/paths.py +56 -0
  339. claudetimeline-0.1.0/src/claude_timeline/schema_adapter.py +178 -0
  340. claudetimeline-0.1.0/src/claude_timeline/server/__init__.py +0 -0
  341. claudetimeline-0.1.0/src/claude_timeline/server/app.py +250 -0
  342. claudetimeline-0.1.0/src/claude_timeline/server/cache.py +115 -0
  343. claudetimeline-0.1.0/src/claude_timeline/server/deps.py +23 -0
  344. claudetimeline-0.1.0/src/claude_timeline/server/filters.py +84 -0
  345. claudetimeline-0.1.0/src/claude_timeline/server/jobs.py +226 -0
  346. claudetimeline-0.1.0/src/claude_timeline/server/models.py +1201 -0
  347. claudetimeline-0.1.0/src/claude_timeline/server/observability.py +203 -0
  348. claudetimeline-0.1.0/src/claude_timeline/server/routes/__init__.py +0 -0
  349. claudetimeline-0.1.0/src/claude_timeline/server/routes/accounts.py +38 -0
  350. claudetimeline-0.1.0/src/claude_timeline/server/routes/annotations.py +191 -0
  351. claudetimeline-0.1.0/src/claude_timeline/server/routes/assistant.py +62 -0
  352. claudetimeline-0.1.0/src/claude_timeline/server/routes/branches.py +41 -0
  353. claudetimeline-0.1.0/src/claude_timeline/server/routes/clusters.py +95 -0
  354. claudetimeline-0.1.0/src/claude_timeline/server/routes/dangerous.py +55 -0
  355. claudetimeline-0.1.0/src/claude_timeline/server/routes/embeddings.py +41 -0
  356. claudetimeline-0.1.0/src/claude_timeline/server/routes/errors.py +59 -0
  357. claudetimeline-0.1.0/src/claude_timeline/server/routes/executables.py +88 -0
  358. claudetimeline-0.1.0/src/claude_timeline/server/routes/failures.py +121 -0
  359. claudetimeline-0.1.0/src/claude_timeline/server/routes/finder.py +184 -0
  360. claudetimeline-0.1.0/src/claude_timeline/server/routes/manage.py +751 -0
  361. claudetimeline-0.1.0/src/claude_timeline/server/routes/narrative.py +52 -0
  362. claudetimeline-0.1.0/src/claude_timeline/server/routes/outliers.py +111 -0
  363. claudetimeline-0.1.0/src/claude_timeline/server/routes/pasted.py +47 -0
  364. claudetimeline-0.1.0/src/claude_timeline/server/routes/phrases.py +115 -0
  365. claudetimeline-0.1.0/src/claude_timeline/server/routes/project_lifecycle.py +58 -0
  366. claudetimeline-0.1.0/src/claude_timeline/server/routes/projects.py +113 -0
  367. claudetimeline-0.1.0/src/claude_timeline/server/routes/rhythm.py +111 -0
  368. claudetimeline-0.1.0/src/claude_timeline/server/routes/search.py +53 -0
  369. claudetimeline-0.1.0/src/claude_timeline/server/routes/session_shape.py +79 -0
  370. claudetimeline-0.1.0/src/claude_timeline/server/routes/sessions.py +127 -0
  371. claudetimeline-0.1.0/src/claude_timeline/server/routes/similar.py +139 -0
  372. claudetimeline-0.1.0/src/claude_timeline/server/routes/stats.py +134 -0
  373. claudetimeline-0.1.0/src/claude_timeline/server/routes/subagents.py +42 -0
  374. claudetimeline-0.1.0/src/claude_timeline/server/routes/timeline.py +76 -0
  375. claudetimeline-0.1.0/src/claude_timeline/server/routes/timeline_events.py +110 -0
  376. claudetimeline-0.1.0/src/claude_timeline/server/routes/tokens.py +115 -0
  377. claudetimeline-0.1.0/src/claude_timeline/server/routes/tools.py +108 -0
  378. claudetimeline-0.1.0/src/claude_timeline/server/sql_debug.py +77 -0
  379. claudetimeline-0.1.0/src/claude_timeline/timestamps.py +79 -0
  380. claudetimeline-0.1.0/tests/__init__.py +0 -0
  381. claudetimeline-0.1.0/tests/_helpers.py +245 -0
  382. claudetimeline-0.1.0/tests/conftest.py +278 -0
  383. claudetimeline-0.1.0/tests/fixtures/tree_reconstruction/README.md +27 -0
  384. claudetimeline-0.1.0/tests/fixtures/tree_reconstruction/branching_session.jsonl +14 -0
  385. claudetimeline-0.1.0/tests/fixtures/tree_reconstruction/linear_session.jsonl +6 -0
  386. claudetimeline-0.1.0/tests/test_annotations_isolation.py +17 -0
  387. claudetimeline-0.1.0/tests/test_bash_parser.py +579 -0
  388. claudetimeline-0.1.0/tests/test_bash_parser_properties.py +284 -0
  389. claudetimeline-0.1.0/tests/test_bookmarks_resolved.py +193 -0
  390. claudetimeline-0.1.0/tests/test_branches_lifecycle.py +174 -0
  391. claudetimeline-0.1.0/tests/test_cli.py +66 -0
  392. claudetimeline-0.1.0/tests/test_config_paths.py +118 -0
  393. claudetimeline-0.1.0/tests/test_density.py +336 -0
  394. claudetimeline-0.1.0/tests/test_failure_reason.py +170 -0
  395. claudetimeline-0.1.0/tests/test_file_rotation.py +320 -0
  396. claudetimeline-0.1.0/tests/test_filters.py +627 -0
  397. claudetimeline-0.1.0/tests/test_finder_unified.py +504 -0
  398. claudetimeline-0.1.0/tests/test_idempotence.py +257 -0
  399. claudetimeline-0.1.0/tests/test_incremental_build.py +431 -0
  400. claudetimeline-0.1.0/tests/test_manage_deletion.py +399 -0
  401. claudetimeline-0.1.0/tests/test_pasted.py +110 -0
  402. claudetimeline-0.1.0/tests/test_pipeline_e2e.py +659 -0
  403. claudetimeline-0.1.0/tests/test_project_overlap.py +204 -0
  404. claudetimeline-0.1.0/tests/test_project_switching.py +172 -0
  405. claudetimeline-0.1.0/tests/test_projects_sparkline.py +123 -0
  406. claudetimeline-0.1.0/tests/test_rhythm.py +276 -0
  407. claudetimeline-0.1.0/tests/test_routes_smoke.py +2532 -0
  408. claudetimeline-0.1.0/tests/test_schema_adapter.py +272 -0
  409. claudetimeline-0.1.0/tests/test_session_shape.py +592 -0
  410. claudetimeline-0.1.0/tests/test_similar.py +211 -0
  411. claudetimeline-0.1.0/tests/test_stats_cache.py +144 -0
  412. claudetimeline-0.1.0/tests/test_strict_canaries.py +148 -0
  413. claudetimeline-0.1.0/tests/test_tree_fixtures.py +126 -0
  414. claudetimeline-0.1.0/tests/test_tree_parser.py +113 -0
  415. claudetimeline-0.1.0/todo/.done/conversation-tree-reconstruction.md +123 -0
  416. claudetimeline-0.1.0/todo/.done/dashboard-rebuild.md +916 -0
  417. claudetimeline-0.1.0/todo/.done/fast-incremental-build.md +109 -0
  418. claudetimeline-0.1.0/todo/.done/remaining-gaps.md +100 -0
  419. claudetimeline-0.1.0/todo/.done/section-cull-notes.md +50 -0
  420. claudetimeline-0.1.0/uv.lock +1932 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ "hooks": {}
3
+ }
@@ -0,0 +1,121 @@
1
+ # GitHub Actions CI for ClaudeTimeline.
2
+ #
3
+ # Runs on every push and on pull requests targeting main. Single job, no
4
+ # matrix -- the dashboard is a personal-use tool, we don't need cross-platform
5
+ # coverage. The frontend build doubles as a type/syntax check for Svelte.
6
+ name: CI
7
+
8
+ on:
9
+ push:
10
+ pull_request:
11
+ branches: [main]
12
+
13
+ jobs:
14
+ test:
15
+ name: pytest + vite build
16
+ runs-on: ubuntu-latest
17
+ timeout-minutes: 15
18
+
19
+ steps:
20
+ - uses: actions/checkout@v4
21
+
22
+ - name: Set up Python 3.11
23
+ uses: actions/setup-python@v5
24
+ with:
25
+ python-version: "3.11"
26
+
27
+ - name: Install uv
28
+ uses: astral-sh/setup-uv@v3
29
+ with:
30
+ enable-cache: true
31
+
32
+ - name: Sync Python dependencies
33
+ # `uv sync` installs the project + dev group (pytest) into a venv.
34
+ # We do NOT install the optional `build` group here -- it pulls in
35
+ # 200+ MB of ML wheels (sentence-transformers, hdbscan, umap-learn)
36
+ # that are only needed by scripts/build-db, not by the route tests.
37
+ run: uv sync
38
+
39
+ - name: Run pytest
40
+ env:
41
+ DISABLE_RATELIMIT: "1"
42
+ # Escalate build-pipeline canary failures to errors in CI so a
43
+ # silent Claude Code log-format shift can't sneak past a green
44
+ # build. Interactive `build-db` runs leave this unset and stay
45
+ # warn-only (see schema_adapter.run_canaries + pipeline.run_build).
46
+ CLAUDE_TIMELINE_STRICT: "1"
47
+ run: uv run pytest -q
48
+
49
+ # --- Archaeological "Phase N" comment guard ---------------------------
50
+ # Catches re-introductions of phase-numbering markers in source comments
51
+ # (e.g. "// Phase 5: ...", "(Phase 4.6)"). The internal iteration plan
52
+ # used these to tag work-in-flight; once shipped they're noise. The
53
+ # `Phase` token itself is allowed -- only `Phase` followed by a digit
54
+ # or a single capital letter + digit (the task-ID variant like
55
+ # "Phase E1") is rejected. The build/pipeline.py `phase_tx` helper +
56
+ # references to it stay legal because they don't match the pattern.
57
+ - name: Guard against archaeological phase markers
58
+ run: |
59
+ set -e
60
+ if grep -E -rn \
61
+ --include='*.svelte' \
62
+ --include='*.js' \
63
+ --include='*.ts' \
64
+ --include='*.css' \
65
+ --include='*.py' \
66
+ --exclude-dir=__pycache__ \
67
+ --exclude-dir=node_modules \
68
+ --exclude-dir=dist \
69
+ -e 'Phase ([0-9]|[A-Z][0-9])' \
70
+ -- frontend/src src/claude_timeline tests; then
71
+ echo "::error::Found archaeological 'Phase N' markers in source comments." >&2
72
+ echo "Phase numbering is an internal iteration plan -- not a long-lived API." >&2
73
+ echo "Remove the reference (or restate the substantive comment without it)." >&2
74
+ exit 1
75
+ fi
76
+ echo "OK: no archaeological phase markers."
77
+
78
+ - name: Set up Node 22
79
+ uses: actions/setup-node@v4
80
+ with:
81
+ node-version: "22"
82
+ cache: npm
83
+ cache-dependency-path: frontend/package-lock.json
84
+
85
+ - name: Install frontend dependencies
86
+ working-directory: frontend
87
+ run: npm ci
88
+
89
+ - name: Build frontend
90
+ working-directory: frontend
91
+ run: npx vite build
92
+
93
+ # --- Vitest: frontend unit / integration tests ------------------------
94
+ # Currently scoped to the URL-state round-trip for the G2 Heatmap/Calendar
95
+ # hybrid (lib/__tests__/g2-unified-flow.test.js). Keeps CI under a few
96
+ # seconds while still pinning the combined filter+highlight contract
97
+ # that earlier audits only verified by code-trace.
98
+ - name: Run frontend tests (vitest)
99
+ working-directory: frontend
100
+ run: npm run test
101
+
102
+ # --- Knip: unused dependency / unused export detector ------------------
103
+ # Catches the next Observable-Plot-style dead-dep before it lingers in
104
+ # package.json. Config lives in frontend/knip.json. The build step above
105
+ # is intentionally placed first so a syntax break trips the more
106
+ # familiar vite-build error before knip's rule output.
107
+ - name: Run knip (unused deps/exports)
108
+ working-directory: frontend
109
+ run: npm run knip
110
+
111
+ # --- Fresh-clone smoke gate --------------------------------------------
112
+ # scripts/check-fresh-clone is the single source of truth for the
113
+ # post-clone smoke check (frontend build + pytest + live-server probe of
114
+ # /api/stats with a response-time budget). It also handles its own
115
+ # DB-bootstrap (creates an empty-schema DB if data/claude.db is missing)
116
+ # and server lifecycle (starts uvicorn via scripts/serve, stops it on
117
+ # exit). The dedicated pytest + vite build steps above stay as separate
118
+ # CI steps so failures show up with granular labels in the Actions UI;
119
+ # the smoke gate re-runs them as part of the integrative check.
120
+ - name: Fresh-clone smoke (scripts/check-fresh-clone)
121
+ run: scripts/check-fresh-clone
@@ -0,0 +1,41 @@
1
+ name: Publish to PyPI
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - 'v*'
7
+
8
+ jobs:
9
+ build:
10
+ runs-on: ubuntu-latest
11
+ steps:
12
+ - uses: actions/checkout@v4
13
+ - uses: actions/setup-python@v5
14
+ with:
15
+ python-version: '3.12'
16
+ - uses: actions/setup-node@v4
17
+ with:
18
+ node-version: '20'
19
+ - name: Build frontend
20
+ run: cd frontend && npm ci && npm run build
21
+ - name: Install uv
22
+ uses: astral-sh/setup-uv@v4
23
+ - name: Build package
24
+ run: uv build
25
+ - uses: actions/upload-artifact@v4
26
+ with:
27
+ name: dist
28
+ path: dist/
29
+
30
+ publish:
31
+ needs: build
32
+ runs-on: ubuntu-latest
33
+ environment: release
34
+ permissions:
35
+ id-token: write
36
+ steps:
37
+ - uses: actions/download-artifact@v4
38
+ with:
39
+ name: dist
40
+ path: dist/
41
+ - uses: pypa/gh-action-pypi-publish@release/v1
@@ -0,0 +1,43 @@
1
+ # Python-generated files
2
+ __pycache__/
3
+ *.py[oc]
4
+ /build/
5
+ /dist/
6
+ wheels/
7
+ *.egg-info
8
+
9
+ # Virtual environments
10
+ .venv
11
+
12
+ # Data (derived artifacts)
13
+ data/*.db
14
+ data/*.db.bak*
15
+ data/*.html
16
+ data/server.pid
17
+ data/server.log
18
+ data/*-backups/
19
+ data/*-manifests/
20
+
21
+ # Node
22
+ node_modules/
23
+
24
+ # Frontend build output
25
+ frontend/dist/
26
+
27
+ # Frontend snapshot artifacts (Parquet + manifest, derived from claude.db)
28
+ frontend/public/snapshot/
29
+
30
+ *.pyc
31
+ *.log
32
+ .DS_Store
33
+ coverage/
34
+ dist/
35
+ *.egg-info/
36
+ .rlsbl-notes-*.tmp
37
+ .rlsbl/lock
38
+ .credentials.json
39
+ .*-cache.json
40
+ .env
41
+ .env.local
42
+ *.local-only
43
+ timeline.db
@@ -0,0 +1 @@
1
+ 3.13
@@ -0,0 +1,3 @@
1
+ {
2
+ "hooks": {}
3
+ }
@@ -0,0 +1,21 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ pull_request:
7
+ branches: [main]
8
+
9
+ jobs:
10
+ test:
11
+ runs-on: ubuntu-latest
12
+ strategy:
13
+ matrix:
14
+ # requires-python: >= {{pypi.minRequiredPython}}
15
+ python-version: ["3.12", "3.13", "3.14"]
16
+ steps:
17
+ - uses: actions/checkout@v6
18
+ - uses: astral-sh/setup-uv@v7
19
+ - run: uv python install ${{ matrix.python-version }}
20
+ - run: uv sync
21
+ - run: uv run python -c "import claude_timeline"
@@ -0,0 +1,15 @@
1
+ node_modules/
2
+ __pycache__/
3
+ *.pyc
4
+ *.log
5
+ .DS_Store
6
+ coverage/
7
+ dist/
8
+ *.egg-info/
9
+ .rlsbl-notes-*.tmp
10
+ .rlsbl/lock
11
+ .credentials.json
12
+ .*-cache.json
13
+ .env
14
+ .env.local
15
+ *.local-only
@@ -0,0 +1,37 @@
1
+ #!/usr/bin/env bash
2
+ # Post-release hook for private repositories.
3
+ # Builds artifacts and uploads them to the GitHub Release.
4
+ # Environment: RLSBL_VERSION is set to the released version.
5
+
6
+ set -euo pipefail
7
+
8
+ version="$RLSBL_VERSION"
9
+ echo "Post-release (private): v$version"
10
+
11
+ # Detect project type and build artifacts
12
+ if [ -f "pyproject.toml" ]; then
13
+ echo "Building Python package..."
14
+ rm -rf dist/
15
+ uv build
16
+ elif [ -f "package.json" ]; then
17
+ echo "Packing npm package..."
18
+ rm -rf dist/
19
+ mkdir -p dist
20
+ npm pack --pack-destination ./dist/
21
+ elif [ -f "go.mod" ]; then
22
+ echo "Building Go binary..."
23
+ mkdir -p dist/
24
+ go build -o ./dist/
25
+ else
26
+ echo "Warning: no recognized project file found, skipping build."
27
+ exit 0
28
+ fi
29
+
30
+ # Upload artifacts to GitHub Release
31
+ if ls dist/* 1>/dev/null 2>&1; then
32
+ echo "Uploading artifacts to GitHub Release v$version..."
33
+ gh release upload "v$version" ./dist/* --clobber
34
+ echo "Artifacts uploaded successfully."
35
+ else
36
+ echo "Warning: no artifacts found in dist/ to upload."
37
+ fi
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+ # This hook runs BEFORE built-in pre-release checks (tests, lint).
4
+ # Use it for setup tasks: starting services, setting env vars, etc.
5
+ # Built-in checks run after this hook. Custom validation goes in pre-release.sh.
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+ # Project-specific pre-release checks.
4
+ # Built-in checks (tests, lint) run automatically before this hook.
5
+ # Add custom validation here, e.g.:
6
+ # - Check for uncommitted documentation
7
+ # - Verify external service connectivity
8
+ # - Run integration tests not covered by the test suite
@@ -0,0 +1,17 @@
1
+ [forbidden-imports]
2
+ modules = [
3
+ "net/http",
4
+ "github.com/spf13/cobra",
5
+ "github.com/urfave/cli",
6
+ ]
7
+
8
+ [stdout]
9
+ enabled = true
10
+ ignore = []
11
+
12
+ [entry-point]
13
+ enabled = true
14
+ ignore = []
15
+
16
+ [files]
17
+ exclude = []
@@ -0,0 +1,19 @@
1
+ [forbidden-imports]
2
+ modules = [
3
+ "express",
4
+ "koa",
5
+ "hono",
6
+ "commander",
7
+ "yargs",
8
+ ]
9
+
10
+ [stdout]
11
+ enabled = true
12
+ ignore = []
13
+
14
+ [entry-point]
15
+ enabled = true
16
+ ignore = []
17
+
18
+ [files]
19
+ exclude = []
@@ -0,0 +1,25 @@
1
+ [forbidden-imports]
2
+ modules = [
3
+ "argparse",
4
+ "click",
5
+ "typer",
6
+ "flask",
7
+ "fastapi",
8
+ "django",
9
+ "uvicorn",
10
+ "granian",
11
+ "starlette",
12
+ "tornado",
13
+ "bottle",
14
+ ]
15
+
16
+ [stdout]
17
+ enabled = true
18
+ ignore = []
19
+
20
+ [entry-point]
21
+ enabled = true
22
+ ignore = []
23
+
24
+ [files]
25
+ exclude = []
@@ -0,0 +1,5 @@
1
+ # Changelog
2
+
3
+ ## 0.1.0
4
+
5
+ - Initial release
@@ -0,0 +1,20 @@
1
+ # claudetimeline
2
+
3
+ ## Release workflow
4
+
5
+ This project uses [rlsbl](https://github.com/smm-h/rlsbl) for release orchestration.
6
+
7
+ - Update CHANGELOG.md with a `## X.Y.Z` entry describing changes
8
+ - Run `rlsbl release [patch|minor|major]` to bump version and create a GitHub Release
9
+ - CI handles publishing automatically via the publish workflow
10
+ - Never publish manually — always use `rlsbl release`
11
+ - Configure Trusted Publishing on pypi.org for automated PyPI releases
12
+ - Use `rlsbl release --dry-run` to preview a release without making changes
13
+
14
+ ## Conventions
15
+
16
+ - No tokens or secrets in command-line arguments (use env vars or config files)
17
+ - All file writes to shared state should be atomic (write to tmp, then rename)
18
+ - External calls (APIs, CLI tools) must have timeouts and graceful fallbacks
19
+ - Use `npm link` (npm) or `uv pip install -e .` (Python) for local development
20
+ - CI runs smoke tests on every push; manual testing for UI/UX changes
@@ -0,0 +1 @@
1
+ 0ac76d90b030314f80e12ec566951171347c93a2
@@ -0,0 +1,3 @@
1
+ {"commits":["7cce22c226435c1926425bb2b7701ca200bffcc6"],"user_facing":false}
2
+ {"commits":["e67e82029ffab7053cb2c36facd6a610539b1caa"],"user_facing":true,"description":"**Initial release.** CLI tool with build pipeline, FastAPI dashboard, full-text search, conversation tree reconstruction, and semantic map.","type":"feature"}
3
+ {"commits":["e67e82029ffab7053cb2c36facd6a610539b1caa","bc1a7e39908b8b394385ff613c8b91064dc3360e","7cce22c226435c1926425bb2b7701ca200bffcc6","17ee0a295e8a631170b38891b8d0551374f4a020","35031d388f6de7770e42786d7c2312de14f63a3b","edcd94f2ce19863402ad8bf198b07542b44cfd09","3c46bca2a3d3622b55ce54c0d1cffe8467afe7d6","a19c06771601923216fa02e8b0cd9d8f3776c528","482822f6d80c4aa7c1da5ab834a97fba5bd47cbc","1a2474af61dc9ed6f5729bcc50d482b8168e99ba","f974802c890185c8d0c42e0692106053ba3abfc5","778f6f8bfd2166d4bfa9e49af5ad51bd3237eb72","0ac1b87cc74c0e2b92206339d9afdbc66db8587f","35acdefaf8b1926435402d3e1269438b93e35c38","21d9965c22f5077cf10927ac99d5f3ab34f967e6","4089ad020cd96db7f4a2cb1b27d5f76c467fd602","b10015fd5a813001e256054443f4a4c5628b826a","1605ed8f0803428a23bc7142ebaf7843f0fbd823","cfe04b112138f598d5006f363b10bc367fb588a5","ec7d2c0b2bcb0341e49d543e79a471d0ad60b70b","95ebbd73f144666363551ba33868e480c159d613","e94f128f83362d29543b31961b379cd7f33a905a","e15a6c9a47fc1198cacc5d76b2d9e7f5f7cf725d","49a7879fe463ce7c30c55c9c7e3a66d25c1e92e6","15fc29a35ada63706d97407994cf1c10ea28fae5","03857cb2fcb057d2fa562c57fc428ac1181d0b29","e12f5c03d4f778c5a9134146dd62e82a1a7548ee","a82cb0a2611c8164175d504b010ccf4777bca5a8","b0dd263a9abf1140dfaeb2a81361aabe97aa2571","69ad8160c244d24d62e94f58971fd0e236342a94","9b3915c7ee0811024f6e7d36e50fc7354285e2f6","b78a0c8d58e936d903206c5539566ba3714109ca","d21faedb2350fe9ad099519e6b7bb336cef81905","b54cab84d76404fd508ac3aa847430ccaada78d8","1cb07f383dc3e5bd2f4e3f51fa9ca47827088625","f92f50e77daadd5f0cc86ab1b7488ef4a8336436","31ab4a8e3f4fe4b20ef78937d51d7851af6cdf2c","0ca54cd0993d3bf6cdfc3e32018ca7a5c38aeaf5","7b9ae4901e6060e7d655e36377d66065699fdbb6","f892de6e369ad87d3d0a227299998bcfeb34bde7","e6bdaef476f88abbb90e431f40ecce135afd83ce","98a5e7bb0e9b36bb59392ef8b579b3f57148ff41","0f2a9fc364231460e28853f3e844aa13f502a7d1","c4e4e5b620c3ce34bbfae3448e8194111e8ff22e","fe716c2b1183b44622ae5a229a652aba0a4e4e18","ddff7c0866b34e8aebbf9f528fd23191d46de170","390afb5ee801b8af561ff1d10a70f82b42c2e0f7","420bd26dd6214667f8e82de6297a22129a0aa36d","4c9cc2410d03c6388f4cdc28b7d7c942d3a93526","46aff21bdee3201c5d29cb9d25df22082b7f8a95","f3337de9c96376a6f5ac6b209c4ffd9d16acf333","6f85a3959cd4777750b7aa13a220c110888f34ef","b1000715e75d56de095444402976b72e97cede44","b1f2fd7a07f8d7014c4e04d255dac77bd15d8cb0","a1c190ab740e471ab39608d18a306ca8d0630659","ea1c27c2305c263cf602537af033acfbbe069c5f","bc4c248a3f94196bd3e83bff24f17b6bfdfef97a","266aeecd0d3f3896d3638456d79ed437fe6bcb9a","932e58bb55867524e5620f751ad34ef0ca5f14d6","bd57b9a1e518adfbc0e591a00ff93d29ff5c69d3","1f2fcb5f02eaec1b4492dd168c4307bf5fbfed60","1c7ef84b53913f253d1a18353bbdfd75974d5c41","8aaa18befbee3081e7f36ef9b7cf05233d403121","7b1247e720b4298ee9f3c9f81313f13969e9b8ac","57fab24691c91dc25786c788f06a94395ace29c0","a93ea472a259c13a7213b8ef7ffe100caed7b78e","e4ab6c9954f31bb50c08f9b8ecaef3d4a66d507c","71c408217d98580b6c3a3a8f4f3908eb919ee589","4101b0afdb141e97dffc838f116815d2b51f0afa","6c94574bc156ca46e7b78d97d6dc0b0bf8c76f61","68c8e600b1af37b0e8f8c8c96654724509803663","37ac8428ecfd644d790f422362dd2213e1da048a","5c440cee0ac59f5d1a0892401d18eab5519e43d0","5f6e08893711937c74bd73274e1c37cf9f65f553","c994198938934c49838822d31fd733319dbeddc5","30a6207782c33ea6c4ba5f56e2f9df188e044643","43429c2e3734fd7a1370b46734fb7dc4d941b8df","fc27a83bd9dc459cd782e9f519dfc324bdbae374","3ee08118883fecf74cda2caf7f47fb213b25ba2b","eeb2f3882e37ad92114bc451e8ea4e857a41d4ae","5bff68c3bef4ac841b135b9e6a3fd5950e262c50","e450f7d4a96ddb358f0a281b654d249d598fa596","bfc9c313902a02d0ae49fd0050fa208395ef0ea5","5741698bd3f19a754fb15bb74cc63537de4de10d","edf198cef00a06ae6d9bb76befb89a9e99d68d81","ad5b938e8bcbe70a33b8f2181d4ea37e8e0684f5","b7580cce765fea6d20f92c586e8e1c59dc3414da","17331f4cab094e0d5a35a6ae8c847bdb46ed16d4","ba20daa48307a0b29a44a80a22c4da75c3f4ed5b","d180887c150842a2a1cd2a4abe77f97269024101","aed26deb0bef52b058749bcaeed9f128ae4a942b","eda37c96e39fe5d7a8d4759f2a20a9a44daf88f6","c8ef63b8a8e46256aedbaecd10701c35f6da8128","0b166a53562e6bfc64e94d14bc0344117c47e40e","f0c909bb319ede95ab5b84d47bccd5d13dc3568f","ba2980c0453e4da4800a0e64e45161f72aa03c3f","71d2e065e9b7d80663f51c7b5489e6e0e548631c","0b03dadbd8c9b5e137d14ec92c1e255717bb3270","8d81f96d0a009fa311f52e470156afae1c859d08","085f95530565ce5e654562560704ccc8521b9fcf","c9fe6ed1abbea46246fe0fc5a1734c0afad3a7f4","7fb04bd9ce7b978fd383f61302c8aaccd56d2266","955fa2fc1ad069dc7d6c2e3aecfdc1d4913bf52c","15292ab2105527bed3a5ba00e12357db3044a3e9","93a7d578d536271f05ce5bbbecc9fc7e9c32f31c","5d6b742235b3cc3080b7f6bcf0937f7edc3bbe8a","ba40b41d78bcade20c1e796755a3e396408325a0","f8e8863b6b088a54d704d5e841afaac25f86b316","d041b0a7f7ef8756a640a51e40ef1d66a1d8e8ad","094577293e63b72c97d8dc9a2f719160b30ce990","a20e25dcfbb28e490a2bc3ed44480d1427f39b27","f7212f9a00f9fa1c950870b47e17da12faad8d6c","265479f9f6946ed77a320970fffa2e8612400504","cdcb532a6836b8604153ec1f788743df7b8491d3","30dff41689b28a5bc3f405a85c9b527598dc7dfa","1fdcb2ace38b38ca5d5430f6f3aca33fdea5517d","afa70941a6ac8ebf64ce0e15d3014a171abdf252","8ff34559cef580e3d8f391c2146de090949db36f","a55d23f28e9eabb7965945d9284cfb8a56e6f9a8","b9621e798a263793426fb480bbdadfe750a4a253","e6f8a6915a105bf8929bc829c86032ca0fd0fe75","6b76b57ad1b86978b361bc7b6884353e1ca04806","2a5c6db35a55ae7f99ce90227bb9432d3b706968","3e49b5ed58bdde64d3335fc0176bde60cbeb8c15","25828dedeb8e01f3b3aa8c682b7f4b4dcab2c878","97a07565827772ce656c12db905d74b3ebd15d4c","94b564df0c8ac5d20b7b21c87a8b92b7dfa98e91","48fd59fd38a5c22a4bcedf6c60d601208ffb81cf","955178a73c83d38e540cb9411e95c648071c2d63","0f3f91299e18d316901aca1a6a6a493a57471625","1d0db0a8feebdfe8d6eb0b73fbb993aae7321bfc","ad4bb4134298799b3e5eaefd28f09859b49b1607","17a0a0eb7b88e81616d312d60bf1f246e3e12916","32c1e54619bb63a931bd2a661abb1b1a501e67e5","4575dc8df5f3c2732eb339fe032037065f05fac2","d3561bd1a60292c7ef98e87d0e35aaed169f857e","3ce917fdcd397a0866b2ecc4392eda896c4e9980","c4f77c09c317b6fc25ee8d866556ecfa7328e86c","bfeeb645e4066d2c4c9c6422593b382c4f28462a","b0b4fab3979875fe65d10f49ced6fa2b227b5d21","2fc16c3d056882ac5c5f60f3cbdb9ac687946878","d60d08f45c41f302f139e5727e3a151eb441e047","f9382dd01fd07ed7a601946c95807745f1e99532","14147b6856d5741eda1e3e25b8a531d69a2c847f","7a6d00fedfe23554b16c76a8fde2978c0caaca0d","e6e606123470088a664035428de8d3a0076858ce","b4eb39f90ad39f48ccd23f1b646adef656a4caae","d3e27bb8b553132099ee99d25eab2ea28be0d703","762b1134fb67c5b0f3164a4ac126bcca3d98aebe","2e6c9619dbfe74c6cee166f79a8b975475959f13","8160e3dcf5738895de0a581b26c4cb0ff331f0b2","bb220001c6b1181485bf56042bcf60f3a19301ec","d0b47e9806e9c18623bffbcb7d38c12c67bf888c","36e70fcb162ffeac722315d837674a6807611e5f","ddde04b243aefc45ca1725f87357fefa62863a93","2b3d8f5d55cdd65b745f07974917493d18c7ab4b","85cbb94faf0ac75ed77175a85542f1081fba1ba8","c5ac6aa4108bb0c4de3443cf427d6ed73ebcf6f2","e315b3627c4130152eecd5943f1f2125fddd72d1","2be79f3416191b01cf9789436047f0d4830ae6c2","3b2335aac70a63f2f5b5fc5e1977f486d38e53f8","6ef73426bab9f5af0c2453c98c65935487a8a92d","444373c07f3d3571f22c50760e2d6ff2415a196f","e2ed94a03da47f4da59506e30c8d8e04457c86e7","24693cd17e5a27d319621111a5fa761e5388cc5f","013c53afd3ef0f8b2a3d45a8898cc55181013948","1af56c9110a9c8f0a6f8ad3c404005a5565992f1","793f204dd320406f69c2dc318d88bbd2b5454383","3cb1534341b3ed240a0d0d6feae083c09e979769","00db70cad5af92874f731740e0d7b929e23169cc","e3e0e81e56370f5bcca8da7a5751ba177e877094","f8f6b58af2ff32a84c9eadc755a3d65bb6e727f2","127b31965c1070202e13d00b01053953be740215","cb11ca5cee37cf8f6779da431a79558c8e398bd9","f06473e7dd6a4274fe27021cf79f1c197fe75255","6691808c95a1df59b6e09309dfbb4051c04405ff","edd0c786876091313c12996c4f611d0691e46db2","d603092018ba44a0625f22ab326ac0bbe608972c","df9aea929efd343ec2f8abd3b82cbad2e15eabb0","85bf5505cf4ab7110d373acb6e60f29fd72bc480","7b7914136e17db45359e5990173417535ee3606c","57875c6368616d24c5865ea1079565d437791b6d","4a22725ab50a764a79955c0d9bc403026806f234","61d17ece8678398e94bc863274f51381d9b3d412","7792d27fde2f83c460608683df10fa10a2bc9b84","4dfe55cd3c05da18d4207c4ad0fe220dca1e1f77","2685325de7048e6ddc9e14fda4d45959496445c9","dd421862dcac2bb62983e22d5cbf4d75c923abfc","f3026d0acd4f2b940137adcd18564f73ef17afb4","fdaff9463f6ca4efac9dd50dd1477fe8873c4c73","416afa0f9e33deed4a538fa2ed38c104bdde140b","2c3cf375c496e1799fc866571166211e65bf28c0","f750c100887656a477a8ed9f58968dc32b46c942","723be161249bac2c70e285696dc9d441deffb394","ff2b2c0bbe200ebf6c5253957d7450be2e0f05a6","a609a4a55e8c3066ba357e404e348d5af7e844ec","6fe187c15896fac32c02c1349691794a3f33db7d","981fa31a7461ad16bc35238ca8830ffd3b31aad7","fbf2a8786dffa08f2593ea5474fe8d10bdeb7767","29e4fd3d0d24a90b4774bb5ac54fac0945179312","73089750b3b9788661a01680b9634d122c82697a","3020b8e03caf87598f023dc81a9594333b1cf01c","aaf7c08cc7f12ca4837bae1a472a3d94e59c7949","019b75442fde52d2fb117c318cfde07b2f085daa","3c7cfd4dfce44a8e34e50a4dcc173bf15474007d","4754373416c10f755ff1f87420372dc31b7f0647","e25d4e6be00be8d3951239911d844e5f1c712bf2","ef0793ee990bee2dc3cf2ebbeaa66c86c3becbef","cbef6756b613b8fd43d55b10926b0c299586f6e9","aebc0dee7aa49643606b255f76dea44b85b8946f","25785a7b3e58499664f362f85f862efa43f5d28b","481e0271f37d0d3438070bfc47705e6660f6bf29","9f88f69d133c08213e2e0fe56b9ae0754473f1d1","e335684f300ce2ff340237336bbe511eff8ef9b6","f69e8b44007a0998e836d9caa59dda3f1752d551","5883df72176cd09500aab6a4bbef16101963fe9e","500dbe8e148c6fbe5098994745c8f9802956b356","4bae483ea99a9b804ab34ede9267d24a6d06a7ae","f9b5f5efc561303b0ff8a24e125109f00338b1bf","829d094ca69ceb7b9ffe83b3e021e2888b95494c","b0369904c819f4b1b3151da5adf1669999998bb3","1efa806c0402cd0acc771f663239a7fb655c7cd2","aeef79476e158ebae0ed0c9a2b91057426139894","6332dea9fc61fb31a949937103d1d5f6e8b03f73","7c1b957f1a2f7a0d94769f4caebc2b343f589475","040f5ede41e13072f031c06196f863af9dd7eaf1","f3c0c2e59685083ae4ff76df5b91a3e93b6d070b","a63f9d66811488968bd2f65050eb8191ee890e80","f6dc68884d29ed20752acea891c156a8167b094a","6ea3f64d972e2f0ac7a59c4e51106dd946b9d52a","fd4054ec49797d60862a80ccdff06a65a5ef38aa","3076af127f266b0dd5597f6e404c5536acadc63e","c0b5c0e27fcb846d5d857b2ba7b8d4ec98ee9028","5a77f59905c658495c9f6c24a1dd69d62ba3dcd1","5a6d1e2ca18ce22e2ee9169fefb36967796f2ae8","c7849786f32398f2fb53fc4a957f053d889c21f4","e4a959f0104713f1a52441fe971d27ff3701cc7b","51ef463e4c067e072f239b1be226fbc4b7749c27","73bc21fb223bb36f31ac19f1fabdd8e5b08635a3","d3975815c5e5bb21a8b4ebc3fa98b2d7f7c3ec8c","e893692e63d8f412e5b4a77d89f9319899923fb3","c35184033dcdf0dd9ceecfbff646ae4647a85559","facc104d90009d5d13c2f7948004f52e11fa5409","58df5faf36beafa7a5b8899311117423cb6cd438","2e4920ac0f0489c06be49544d486b54ae31407ed","7ce930f5b6126d121de0056319bda237b720c83b","9a035eb44510c7bc490da9799858583bcd30d04c","0b86fc0ec61fa088dd6df3b8d3925cc991aa61cc","5017dc77e280448665fe4a7bd5ce943bdd67c3d6","606d7d96572cac9d88e91f9592d24e2f14edb471","be0e6efd56bb142a6963de241a6b24e518286265","99486184cb03751fd6a7756aeaeea540e8309177","f67c9eafe854588e30e61ebe0938170671dfb702","4636b5250bbf2cac5f1d06dc697eb28828723532","75ae289e0def3da26aff2262715ad14417fbdb66","921fd993659bd2d2c8d7576fd49f728e0c7503ad","59ed6733d316a427613e86c51e59e0ffc160c1c3","163de4ad78df6d81cf95d8e155905f0037c23dbd","1c17b1c853a0fe016a566ebe0a59c25ac59b8688","e24741a86912ad90603f898ec4e5f8db8a75a96b","768e469bc5df74c88b2e2b9d7e8361846f54f774","b7f67c4a7d9d01272a0f3a6ce2cffe9f684514e4","24fcf446b5e9bee7b472e4568b1a0893acf1df61","b949bf5bf240bbc86bfa883c6ed81d34699c703b","da161d8329124897f4b1e5a03ebce8d88ee73c23","0fc5cc9c6ec9471ea8b9c72f6aca13bb3a33da38","9a57b07f2ed053ce1ed25b1ac1ddea8b899b34e3","d87a234a12e4947c43914315fa58f3ab84c7e1c4","451e927146b3f5d1f38c880451eebf80ca41d36f","2638f7122154604131667f7095c7b8ed1cb4441a","f535f30fa040db6b31c7dbb03b051f5202f92dc8","c813fda53849f6bbb6fac994e4846fc5b0bf1266","fde04a4a8980a91340054973aa1d95339b6d6591","cf5e7176bf600e9eb8a278dbec8f34f9e8a6ce95","9e858a60d60c56d40ff5f56d85a06fd9c38d3b87","4b65ef9b52b391d24bbac1b8ea4ef4d484118250","5ee201b44bb1be7a6b8f7092e7ece226b6087bed","79b850789dafebec4053517b613404a8cc170575","2ab85d29bf4319404ab9fd5399b2b2bccf1e18f8","d66bd2d89cdf175531dbb693107154bcc4fda29e","f0b2d8c4e9ae20eedee7b3d7dc93d53c7ff30bc9","88ce3a715b581409a42e94ec15190a9d046b5205","0528049298be16e920613b28e86e5f4d91176b0b","d92ac880e8a5f04dd7b72b76283f8de1b7fc16f5","a2b798fbae6520317b66d81a4aaf8d47b56457b6","7f30fd4a049a76a8658f50dcaef0f1a304099fe6","c95de2d47efb197d39df63b29241cf855d435e1f","9179cee95445dc212a8fe5276f0f171856bef641","454b055caf4cf16d93478bacbde38238663ceff9","13c705164fa6f0fee8467c754541abd411c1416c","0c1378c3fcf727701eace4c19741e7017d5466bd","bb2f34a3713c5bcf44ca0d0a9df85bcc10c837c0","24e8fc15562ffcd0ca0d5b1bbd631600c41e6711","6ec2dc2f2817b7fb866809a433a15a65f553f43a","9f91ed2e39c28f99554f24456237ff331ac52548","fa0ef790d807535a5f0fb72ea93e01c75c633b94","7f0af87e5c2289d6a85e67dcb8bfd75295398596","6b53b09e1bbd6be6b1ac519c761519a900bd925d","9c06e30dd4fa58a1a8f5e4c0036ff64bc12aa854","00c1529e2c6253dd1d7f254f2db2f8aab19ec557","986f068f07d376115128c5d1d159239c4c41087e","1e643fa976330b2f18327d96983c6279be9fc65d","119325c3a2fca24179420c219fd2de0f1f1ef393","f720b69b74cb861b7d24bb1614f7888cffaed65b","7d86198faa3c82989a6234391e3056d28c466a91","abfd6dca5c114f74ee0870cb8947f4e6f2e5283e","51ff3bba51c3c1d38d766c82d665b54142f789b6","1ab5d6e7cc7051800597a19a0ea2a75cdbfa36de","2cfba8ea9f44bb079885f4dc1c9ab91ff7243692","969b5a31d15d4ea7a151f5ee4663fb99f89e139d","6af3d45cd56240cc7cad572f17dd352424db96fc","3683997969098546c104658d42f925c1b7a92729","8116a1d00b2c6b778a53baec25769f75d7c3d628","5e22a0b727a2a32ccddb92a57cbbe35c6931c2df","8b5b1f7ce1c863cf817129642705f22d2e415ee0","f6f90d6d8022fef8a223b0eae0043e8308b5b6eb","f9c7ea46c1c850002673b6a0c1d7245d50960544","341169221978f607ad9d4549403f08b9a62908ca","0f1c0ee04b8362ad25fc3c7db0937f160e9f4ff5","d89487adb9e211e663c0833ee8f1e8b4e864523a","1b2c8e73859835556e95420261cb43d51bdd6e5b","fc0544557602d37a4fc9b597d9058c086b0542b6","9317ccbdc0564f9cdedf394a597ec8fe13cd0915","7fbb6b3cf85c6d19fc043d9704a6ab7e3fe47f6e","910371851241df4f2d1d488adcfd08949a44c934","a92557a0d2f40a4192306d98559f3efbc9b61141","66441d9b923086775f94811d04083bb71d215894","c08fde6f9bd74320d7d1284591d255698e14c185","171ef71575f9724213476d0c9bce5a9fd3f0d2c6","aede93101373969981bd1b0b5d614ec14160bbde","adf06991afb7c07f7475d76e2eaaef2c90ceb4c9","e3311c2e964fe97b412a366a3c7b8dccf93cc36d","bdcc76e78232893c421d36770a06bce47df80e0e","2bd430627ee277218b936bb18e2b38017762b1ba","90e5b6ceee22d8588aee2e386113ec78ed84c6bf","171edccc669829309810887ee187d356639ef28e","c4ae7085fcaffef99c6de2ba610ebc8d28a49c65","3cba2a0ffa57efbc5bc2d3ed86ba6b4585091491","08506e5a89d860ddeda50f60c7e686b029e44607","8213981462cd0d08e979f47b3351e0e2c1f5a4e0","70e3fa2ed37d8585ab79287bcf35d9b019c77f3b","4054b7a34c39182502ca5afd2679421a5ff23743","c7d568b889091f024712159e4785c8d0ea5587a7","0f0685f9a390bfdce42f385fc5fcffc9a7ed2715","fe11e91b2ceb7948dc5b05e3b283c219a64934f9","ad926773923933ae40c2148a026f3b1c5b00696f","5139c1198cc0ca2a952622c00cbb435c11f95998","167e66ac9bab69a5035c9faa28e88c89560928ec","e24e9dc29c080cdd0ca3e42137267081f6ef5b9d","dd9b3637d2edc67db5ffc43fe441e358e9c547d9","89adde69cec2eceea55e3bc22cd1bd21ff40efb0","641fd375c8246000b22730f6532b9071764043e3","76c5fa53e4ea8f8644ccc0383246dc5dd039cb8f","331590c01532f77c93513719a012a93358bf4df8","b01a66aef023f49b45e4b04e5f2d26bf7dc6cc01","62bbc0c32ae5f4c5bf727eaca2e2ccda670c9b80","4bc64819f6bd40ea66d0c7b738ebf7210750001b","e71c29ae2668d1deb0b739d1a63ecb08d7d78bbb","86c4aae69497b510dbb3f43389cc65b6bd843426","e94285cd50184a4b249baf5844677fc9c89db609","cc898faeb1481ef6827245d44f1bb79fb28a2698","34c4fc79903e66047078d5df3da0c468a5d5d2d7","8a1e96dc4035573bc62ad8b6ca56117998dfc7ea","60be7dcee5b138c84920d75725573c2d0c43133d","5e9329ee60474d26ea4f34eb5434abd7c01138eb","7b980d5f282256dc7eeefb2eb5e170685107cb2f","a2bc23ce6f228069bf9e53e5e321ef7f1d920ad3","2901eec5fb2380c1b52888cd89cd0f27ddbbfca6","096120434a44c334df045dd5fed4d46725be407f","28b1f2b66a78ceafd67820f6e60bd5c994f7d731","c9eae13a9a2702c36f2cc55419615cbf98e62351","3160e78ac3f893ad9f72c8d062b8297ceea234ec","5853329e21e06da1b0f04fc939b0075f7c0a9edf","23df29eb6ceeb9760a31e1a9a085fa0104c6f81f","37aee616e0667eb792cefe5dcfeec2ba48bd83a3","e33c12bcf7d0df2b2889e477eee5fa444aa2b219","5719143d340cd683eb7f2e7d0961a3dd14d7225d","def5f0f25b724b3daa3b4cd2555e009916b16691","44879d2540a590783e1fb4fb9ce62c74621871c7","0605c62759693f7cf4f769847586307b0bb6448f","bf415b04479bdd97bc16433ba83ee289340d4d5b","49b6f3ddf8fbb0da2522a803716ace2aa029dcad","487fc1c7415ab5dcecc6ae757ad2381a7ed5527a","96c4a754385592502c8fd468297520f621b1b3b6","a179a5d8d269e3e26307f1bb18dbe67c3ee215ba","6623ab93e85810a5ec64fb87c798d2da3a5611cc","401f45106ea1f46ac73a7063dae480975df1be19","ac2bf7073fe0e22660fcccd7abcce0abe8acee5f","04f5c31ae1f5d920a0b15b4a4bda03958d117913","ba484ca11f8b245b197b8d7d4202920270b7985e","6f8ea0529cf2a565e800f5e56ac7b89b9c99f928","67555e8a886b2a90e9d9767fb0f252367848bff1","d9138c1e244d41a7542ad7146656afa17570403e","d2ae1735587bafb8c04a9cd70f2f1e2be75d1a09","c5093af6f19c2c4e5ac566887326b6824320ab17","6627e459b81fd05500473418e1176239552d7b2f","83a5806c998020f50134562406ab2c96e7fbcc9d","6ca9dbf527556d0f3804007b8933ea10678a2754","08660d6b16f978719cc3313f719ee10eb1a8a56c","f0911d6818a11ad3d5327206e5412b8c6d77d93b","cd97fa069759212576b4284cd28a24e8c7c633be","d92dd8c1ea41c497db0829ae72b2baec318ceff0","213b199a02cff0bff24313d643c36fcf1e0aa91e","cbf99bac308981cb07008eaf737b34d79446c129","9aa66c970a46c708d468bf20e049e67784cf5765","74f8ec96ab2b09417ae973e330da200fd753817e","e1cae23d7b6b7325dc6563102d605b0a82fecfa1","f9811172faffd95768c8d560acadb71607d80a92","69c308b6b642cbc3a99eb098b26bcee2423a3987","11b4ab9e34234da04f4a346d58c0c9f4aa936c22","632931b4fb846f6515ecfa5e22151eb8e0f8bf4d","86f719eccebba7a0ad6a28f72080ab73391e172e","ce8ac1b4c1022920094b3d826d2683d2b05e2fd1","f172b77ebcd0ff3c8603ea247288641af63985b4","76dfa2f09418fa86c3177413e2c36fe694d4dbb8","21ca35f239282a070b772bcf48b2e7c6da4f0544","5ff7a70ab3925478011fe3839ecde4609e0a0368","cc5cff334b670bac11e75f41fb60ed789515f860","5faa98d2f3a017f20d5af937056c4bbfdc6a5c23","8d5a7051e3fa3d6aaf5c5764386092dd2ec85fea","8fa8de6e12069f54156f38dc0ba8c71726960a68","1b783357b76bccb97dd57e23fb9f4f1501a5e90c","b52a0e941be4bccd0560dbaba4339a4cdad326b6","84d4870592a7e243648ef67ef21cf305fdd03329","82bf8dbee60142a9ea5aced0cbab9c83fcd16730","f96999cf6aed676d2db276ee88443c6501aac5c9","c369f23ef37899d11039255024d2991e5ce84a1f","3a3f9885a70a7daf118271f114ba785a33472116","02e4a72fe3c7f6cc84f6064e7d8ffadaf4e5c52b","5ed17468f07f23343e3ce3f176b11c3118e44a51","93409ab9d9d53e85b1c411b9bd7547a0bee6dc6f","0e849cce10bb79e2d875fccee6887b19859c1a37","b840213840248d74c632dab6348165f57fd96e0e","6fbafb8320cbf6890082f2195bbdc1894c38a918","5dda51a1839f083e5ff6f911c18f3af1d68bcb49","791f22353ed97f9c001c3644679afa8e03b146aa","2b9f7bc9d14bd4a445236b9b539771bae10e9763","90a6133b17e2592124ad9de35400c29751baa816","e17fcf085012d408b5f61acdafae6b466a88fc06","5a1350f1ab337012d95e8e612ff37de1d1caf00d","fe237d15c89faaebc7341cb7dc64083817de8593","bf710ef084bb97f4f733903c305627baa4cd3e58","0ca5f2cc2f76d2bc13db05a71a983707be534548","0b80809594076868e69df30d8da5f997b5f1f96c","2ba9fa9f4a390626994c96c9f8a10c20be6c14f0","6b03f7bf8bd999f350fdfe483570ac345ba05d51","2ed9d9eeb5038825139fd4b641156e404ad2a0de","680d6851851c5550edf0ab62638c239191c99997","edbee20eef584719ad24917b8bcbaa1049ab2799","74acd9c669efff60da91b715af91c07b7e5320a1","adaa0cf83d35aba2936fe2b853532a3d1f26e0a7","389425fb853d904d8522033ab0ba17872f88d799","528df7e7f045fae8328427bb9029b5fe6b582a0d","931c329165c57fa92a32e8bcd92a3470c5df9bb7","4c171525144247697ae405664332d596485e7629","e793f2797717e63053e83fd182365a735696f883","8568fc76370d5d24835ddf6864c9209ed66ed7fb","5798e1aa8d79c98dd8c0f572611b6ec805e391e1","4a07be6e532f16585085c5fe3bde8aaedeb1dba1","4a5849a87cba494662be89b70b9dadee2c421087","1c7b4102833d7a56a4499a6f70aa9b4b2333012a","a35029cdf28cd326eaf4c5232d1226067b76352b","0b6a7d7bd56e0164ce7dd4a19c2c354a5e0f27c1","7ba6758b6cb9ddfdf9c8017532de25798ab9964e","2c4f26d10a6d5841cbf62986696d5f6256fff27f","a363d5effd41baa7661545e1f506132a4736828c","1796fd79b19729db27012abdd44f5a7a92f0e66a","9cb6a041b894ae705b5a6227fe812e4a8aef9f4a","57902939c64d59092d99e960ca9698ec8dbc270c","593da25b3ebababeed937bbfa760453a56581b67","4f2e83bde716563d3b68c0ea7b8df9cfaf1b4592","a7a31a038490a957602bca3f5f4305a3b490a58c","3709897002ee2b4456e7032b7449bbe41c336b5d","8ea4d6d67cc38e5e0475b2e3b716ee8edd244e7d","2197938a7a2e694ac34b1c57e0784419fb7d262f","4b55eba2a323f7f8028f14fe7886c20b4fe9b98e","38a4e7cb3c23bc3835fdea5e1e9a565c74219a32","5a8d658f1232cc072d1c529a81eb8f5935dfe19d","ed09c1fdd0d39aa865b95531ee1a55fc2d9c6874","1e871808b02eb991da0ceb583584fee1c34a35fc","bbfb139e839ac346e2529aa4d49c0ce36373df4a","8e58a4f77cba55a80f2a2810a829b2c24614979c","62060ab89b105b367915f42ccc055d2fa65bd12d","3dc6224769f2e567070a32bd1be0c3e37e9d1358","f4fc5186aae9d8887ecb0f4f0f6497901de6ec89","bba5037aec7545154ad6f095cd1b4a4de7b5129b","3b74df247b0cc5d53c80dc2f186c2ca60af22b3c","b7e50e3cc819f1cf891df444b132d5b0cea7226e","219fe547f98575f1d825389efe7b80c8d4588ae3","57d1d3c27b1aa638ec3a6266ce4680584d35e45b","0434729403edf9eb220b034c37bab4f3c925b89a","3f36f992eb4ad453911bb58ecba3823d4d60fa3c","c7b44f91e7fc814990209a8ea97437e714e732e0","edce1552127eeb3813ac83b770083c96479a1d26","5ae7f8e0810f53a1bd7ffbbe746143d1de419d81","4dc2d682616e7b9bad16e582a278558b3cde734c","43c0b5340695f859187ee4cc769471c7c15e8bd2","84fc2213891ec233050157dd18afec255da035ba","398788287b27f772267954661ad1c736a0106e6a","52a97a7006386ff7028b6f19abd76c7e4dc216c4","605de5dbc0272c1830564054eb5941861548a229","e7c627b336cebdd119be9178bf0d891457f5bb9b","519a868b4c56b447077dc0b9adbf1dc68c1a82cd","8ea76f458f0c4a1b445fbcf637827dc77183ffbc","87f9d288e15620846a49e05aec8a9110384a73f4","f8dab9e437bace67de718ed508fbea49fd7275ca","00cae981a8ec34a18305cce14f2695a0a7628675","6e2b47b9b1e9a2977d23131a6869c22c7cfd7e86","5119de7068bc060363ec6dc99e303c5c6b673352","f8b531a8a6bff9e3b1efc75af1e359f6a73cd3a3","173f1d1b8e8c8b1e281d654cefc4749740c3f4f1","be46a73448d23cb10377b92a59eeb05032cbc048","9e5f906f6818367d0092652475bf5f4dc57b83e2","a36dd57465e81ecacd59c134e096b6a4c7933a70","c37cb6788c74abd75c428cc53610b75da85392b7","1ea0ccab504753777fa3f48a2b69157a4a4ddc94","e50b1397542d8de56b1a350c669183b5edee6f0a","f1e7c21e1f3cbd539085635fccb3fe824adfbccf","e2fe5b76757ab43b3accbf5d83e2e610c97020fa","aad3272dc62ecb0a0840985bacf0222d5315cd84","854214265fb249033fd4842c0bb3cd5f8c222439","394311a06d5cdc14a0a3c3daf0848cd5d6290d59","81c663ff2c0dbdcf63c137323e39c0bc1b21de2b","e552ff55507acd2914f24da10e37fe07d1f2e45c","9059a3c3c5398a1c4c5390d5c5d683f9043220e9","e82c501a4c3506015df8531ecc0107e82e742f11","d25f345158bb476ffba44e5f509fd4fa829901d8","eb4b212579bbf775ef88ed2e33fab6697511598a","8bf63c166619bdfbb6ffa75cfae91b97874dcb41","c3f8b6d37732b97e6630234e1e66bbc683ebb4c7","a6c9286b03528025bcb7d04faa0d4216ed42fb70","64b9da23b1960e3086aeb5e01c46412e61e06251","307917243470f998cdb087ce634bafacbae3ee41","c449d07b8e3e072423a6a81196ecef5cc9ac7513","029cd276c26de109f5b85869beded38e498e0544","80017847fe2392ec4f0f830480e84484a3bad1f9","ef386036be9d3eb7d070e36e41672f7a3d3bfc6f","415decb1089ea02b20d35810400564b4332d9dd3","d0ea69f71fa444a3b3eef5e01a8cd443d7829423","71903bf9a199ffaa856e8914bcefe5ceb7a5a35c","a6db2cdd17f5a66e1dbe123f75f3bd17b75f745f","2b02a265ca7ecc21d67144f1f3d67a0f7e83e83e","22e7b618d8c7d881f9d07de38e69142cdea75be1"],"user_facing":false}
@@ -0,0 +1,5 @@
1
+ ## 0.1.0
2
+
3
+ ### Features
4
+
5
+ - **Initial release.** CLI tool with build pipeline, FastAPI dashboard, full-text search, conversation tree reconstruction, and semantic map.
File without changes
@@ -0,0 +1,6 @@
1
+ {
2
+ "targets": [
3
+ "pypi"
4
+ ],
5
+ "private": false
6
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "CHANGELOG.md": "7a6ec46141007c18090a0ff325e2dd68cd51588c4e0b5af7b580365e5eaaca85",
3
+ ".gitignore": "a13dd8674c1dbc646415a71f47b4e3da83a142fbc039bd41d4af8a651ed31d71",
4
+ ".rlsbl/hooks/pre-checks.sh": "60c57d4563263124530e6f33aca77550ea2161ad3b33b3ba6ad1c03fea9eb6e2",
5
+ ".rlsbl/hooks/pre-release.sh": "b2dc17c243d0b1a2c1e23c1c25db6f94878596df81dc76c41b32d95f740a7d44",
6
+ ".rlsbl/hooks/post-release.sh": "2a68d8b30daa3450160758a808c57b965e98de5062809e809da6cd45c5b9108d",
7
+ ".claude/settings.json": "78922a784ee78e9e50587e93628cd3b9d4dfbe49087adc4514e6781cea38cbb9",
8
+ ".rlsbl/lint/python.toml": "9cfbcef2e010d5fad243437bf2fd8df54a1fae70ee0762f9d11da70fe207501c",
9
+ ".rlsbl/lint/go.toml": "807d5cf760baad6d571a5bfd43cb163efe356f7462ba9f1918d72de45f62339f",
10
+ ".rlsbl/lint/npm.toml": "baa36014e65923d8cc5c8b83c77fa651da79351627570476402da66840027645",
11
+ ".rlsbl/changes/unreleased.jsonl": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
12
+ }
@@ -0,0 +1,37 @@
1
+ #!/usr/bin/env bash
2
+ # Post-release hook for private repositories.
3
+ # Builds artifacts and uploads them to the GitHub Release.
4
+ # Environment: RLSBL_VERSION is set to the released version.
5
+
6
+ set -euo pipefail
7
+
8
+ version="$RLSBL_VERSION"
9
+ echo "Post-release (private): v$version"
10
+
11
+ # Detect project type and build artifacts
12
+ if [ -f "pyproject.toml" ]; then
13
+ echo "Building Python package..."
14
+ rm -rf dist/
15
+ uv build
16
+ elif [ -f "package.json" ]; then
17
+ echo "Packing npm package..."
18
+ rm -rf dist/
19
+ mkdir -p dist
20
+ npm pack --pack-destination ./dist/
21
+ elif [ -f "go.mod" ]; then
22
+ echo "Building Go binary..."
23
+ mkdir -p dist/
24
+ go build -o ./dist/
25
+ else
26
+ echo "Warning: no recognized project file found, skipping build."
27
+ exit 0
28
+ fi
29
+
30
+ # Upload artifacts to GitHub Release
31
+ if ls dist/* 1>/dev/null 2>&1; then
32
+ echo "Uploading artifacts to GitHub Release v$version..."
33
+ gh release upload "v$version" ./dist/* --clobber
34
+ echo "Artifacts uploaded successfully."
35
+ else
36
+ echo "Warning: no artifacts found in dist/ to upload."
37
+ fi
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+ # This hook runs BEFORE built-in pre-release checks (tests, lint).
4
+ # Use it for setup tasks: starting services, setting env vars, etc.
5
+ # Built-in checks run after this hook. Custom validation goes in pre-release.sh.
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+ # Project-specific pre-release checks.
4
+ # Built-in checks (tests, lint) run automatically before this hook.
5
+ # Add custom validation here, e.g.:
6
+ # - Check for uncommitted documentation
7
+ # - Verify external service connectivity
8
+ # - Run integration tests not covered by the test suite
@@ -0,0 +1,17 @@
1
+ [forbidden-imports]
2
+ modules = [
3
+ "net/http",
4
+ "github.com/spf13/cobra",
5
+ "github.com/urfave/cli",
6
+ ]
7
+
8
+ [stdout]
9
+ enabled = true
10
+ ignore = []
11
+
12
+ [entry-point]
13
+ enabled = true
14
+ ignore = []
15
+
16
+ [files]
17
+ exclude = []
@@ -0,0 +1,19 @@
1
+ [forbidden-imports]
2
+ modules = [
3
+ "express",
4
+ "koa",
5
+ "hono",
6
+ "commander",
7
+ "yargs",
8
+ ]
9
+
10
+ [stdout]
11
+ enabled = true
12
+ ignore = []
13
+
14
+ [entry-point]
15
+ enabled = true
16
+ ignore = []
17
+
18
+ [files]
19
+ exclude = []
@@ -0,0 +1,25 @@
1
+ [forbidden-imports]
2
+ modules = [
3
+ "argparse",
4
+ "click",
5
+ "typer",
6
+ "flask",
7
+ "fastapi",
8
+ "django",
9
+ "uvicorn",
10
+ "granian",
11
+ "starlette",
12
+ "tornado",
13
+ "bottle",
14
+ ]
15
+
16
+ [stdout]
17
+ enabled = true
18
+ ignore = []
19
+
20
+ [entry-point]
21
+ enabled = true
22
+ ignore = []
23
+
24
+ [files]
25
+ exclude = []
@@ -0,0 +1 @@
1
+ 0.31.0
@@ -0,0 +1,9 @@
1
+ <!-- Generated by rlsbl from .rlsbl/changes/ — do not edit -->
2
+
3
+ # Changelog
4
+
5
+ ## 0.1.0
6
+
7
+ ### Features
8
+
9
+ - **Initial release.** CLI tool with build pipeline, FastAPI dashboard, full-text search, conversation tree reconstruction, and semantic map.