@leanspec/ui 0.2.5 → 0.2.6-dev.20251125010539

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 (695) hide show
  1. package/.next/standalone/node_modules/.pnpm/{@img+sharp-libvips-darwin-arm64@1.2.4/node_modules/@img/sharp-libvips-darwin-arm64 → @img+sharp-libvips-linux-x64@1.2.4/node_modules/@img/sharp-libvips-linux-x64}/README.md +2 -2
  2. package/.next/standalone/node_modules/.pnpm/{@img+sharp-libvips-darwin-arm64@1.2.4/node_modules/@img/sharp-libvips-darwin-arm64 → @img+sharp-libvips-linux-x64@1.2.4/node_modules/@img/sharp-libvips-linux-x64}/lib/glib-2.0/include/glibconfig.h +9 -8
  3. package/.next/standalone/node_modules/.pnpm/{@img+sharp-libvips-darwin-arm64@1.2.4/node_modules/@img/sharp-libvips-darwin-arm64/lib/libvips-cpp.8.17.3.dylib → @img+sharp-libvips-linux-x64@1.2.4/node_modules/@img/sharp-libvips-linux-x64/lib/libvips-cpp.so.8.17.3} +0 -0
  4. package/.next/standalone/node_modules/.pnpm/{@img+sharp-libvips-darwin-arm64@1.2.4/node_modules/@img/sharp-libvips-darwin-arm64 → @img+sharp-libvips-linux-x64@1.2.4/node_modules/@img/sharp-libvips-linux-x64}/package.json +11 -5
  5. package/.next/standalone/node_modules/.pnpm/@img+sharp-libvips-linuxmusl-x64@1.2.4/node_modules/@img/sharp-libvips-linuxmusl-x64/README.md +46 -0
  6. package/.next/standalone/node_modules/.pnpm/@img+sharp-libvips-linuxmusl-x64@1.2.4/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/glib-2.0/include/glibconfig.h +221 -0
  7. package/.next/standalone/node_modules/.pnpm/@img+sharp-libvips-linuxmusl-x64@1.2.4/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/index.js +1 -0
  8. package/.next/standalone/node_modules/.pnpm/@img+sharp-libvips-linuxmusl-x64@1.2.4/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/libvips-cpp.so.8.17.3 +0 -0
  9. package/.next/standalone/node_modules/.pnpm/@img+sharp-libvips-linuxmusl-x64@1.2.4/node_modules/@img/sharp-libvips-linuxmusl-x64/package.json +42 -0
  10. package/.next/standalone/node_modules/.pnpm/@img+sharp-libvips-linuxmusl-x64@1.2.4/node_modules/@img/sharp-libvips-linuxmusl-x64/versions.json +30 -0
  11. package/.next/standalone/node_modules/.pnpm/@img+sharp-linux-x64@0.34.5/node_modules/@img/sharp-linux-x64/lib/sharp-linux-x64.node +0 -0
  12. package/.next/standalone/node_modules/.pnpm/{@img+sharp-darwin-arm64@0.34.5/node_modules/@img/sharp-darwin-arm64 → @img+sharp-linux-x64@0.34.5/node_modules/@img/sharp-linux-x64}/package.json +13 -7
  13. package/.next/standalone/node_modules/.pnpm/@img+sharp-linuxmusl-x64@0.34.5/node_modules/@img/sharp-linuxmusl-x64/lib/sharp-linuxmusl-x64.node +0 -0
  14. package/.next/standalone/node_modules/.pnpm/@img+sharp-linuxmusl-x64@0.34.5/node_modules/@img/sharp-linuxmusl-x64/package.json +46 -0
  15. package/.next/standalone/node_modules/.pnpm/better-sqlite3@11.10.0/node_modules/better-sqlite3/build/Release/better_sqlite3.node +0 -0
  16. package/.next/standalone/node_modules/.pnpm/source-map@0.8.0-beta.0/node_modules/source-map/package.json +95 -0
  17. package/.next/standalone/node_modules/.pnpm/tiktoken@1.0.22/node_modules/tiktoken/tiktoken_bg.wasm +0 -0
  18. package/.next/standalone/packages/ui/.next/BUILD_ID +1 -1
  19. package/.next/standalone/packages/ui/.next/app-path-routes-manifest.json +13 -1
  20. package/.next/standalone/packages/ui/.next/build-manifest.json +6 -6
  21. package/.next/standalone/packages/ui/.next/prerender-manifest.json +6 -6
  22. package/.next/standalone/packages/ui/.next/required-server-files.json +4 -4
  23. package/.next/standalone/packages/ui/.next/routes-manifest.json +96 -3
  24. package/.next/standalone/packages/ui/.next/server/app/_global-error/page/build-manifest.json +4 -4
  25. package/.next/standalone/packages/ui/.next/server/app/_global-error/page.js +1 -1
  26. package/.next/standalone/packages/ui/.next/server/app/_global-error/page.js.nft.json +1 -1
  27. package/.next/standalone/packages/ui/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  28. package/.next/standalone/packages/ui/.next/server/app/_global-error.html +2 -2
  29. package/.next/standalone/packages/ui/.next/server/app/_global-error.rsc +1 -1
  30. package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  31. package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  32. package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  33. package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  34. package/.next/standalone/packages/ui/.next/server/app/_not-found/page/build-manifest.json +4 -4
  35. package/.next/standalone/packages/ui/.next/server/app/_not-found/page.js +3 -3
  36. package/.next/standalone/packages/ui/.next/server/app/_not-found/page.js.nft.json +1 -1
  37. package/.next/standalone/packages/ui/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  38. package/.next/standalone/packages/ui/.next/server/app/_not-found.html +2 -2
  39. package/.next/standalone/packages/ui/.next/server/app/_not-found.rsc +21 -20
  40. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_full.segment.rsc +21 -20
  41. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_index.segment.rsc +26 -25
  42. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +3 -3
  43. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  44. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_tree.segment.rsc +6 -6
  45. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/[id]/route/app-paths-manifest.json +3 -0
  46. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/[id]/route/build-manifest.json +11 -0
  47. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/[id]/route.js +6 -0
  48. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/[id]/route.js.nft.json +1 -0
  49. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/[id]/route_client-reference-manifest.js +2 -0
  50. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/discover/route/app-paths-manifest.json +3 -0
  51. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/discover/route/build-manifest.json +11 -0
  52. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/discover/route/server-reference-manifest.json +4 -0
  53. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/discover/route.js +6 -0
  54. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/discover/route.js.map +5 -0
  55. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/discover/route.js.nft.json +1 -0
  56. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/discover/route_client-reference-manifest.js +2 -0
  57. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/list-directory/route/app-paths-manifest.json +3 -0
  58. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/list-directory/route/build-manifest.json +11 -0
  59. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/list-directory/route/server-reference-manifest.json +4 -0
  60. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/list-directory/route.js +6 -0
  61. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/list-directory/route.js.map +5 -0
  62. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/list-directory/route.js.nft.json +1 -0
  63. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/list-directory/route_client-reference-manifest.js +2 -0
  64. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/route/app-paths-manifest.json +3 -0
  65. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/route/build-manifest.json +11 -0
  66. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/route/server-reference-manifest.json +4 -0
  67. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/route.js +6 -0
  68. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/route.js.map +5 -0
  69. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/route.js.nft.json +1 -0
  70. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/route_client-reference-manifest.js +2 -0
  71. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/route/app-paths-manifest.json +3 -0
  72. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/route/build-manifest.json +11 -0
  73. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/route/server-reference-manifest.json +4 -0
  74. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/route.js +8 -0
  75. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/route.js.map +5 -0
  76. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/route.js.nft.json +1 -0
  77. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/route_client-reference-manifest.js +2 -0
  78. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/route/app-paths-manifest.json +3 -0
  79. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/route/build-manifest.json +11 -0
  80. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/route/server-reference-manifest.json +4 -0
  81. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/route.js +9 -0
  82. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/route.js.map +5 -0
  83. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/route.js.nft.json +1 -0
  84. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/route_client-reference-manifest.js +2 -0
  85. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/status/route/app-paths-manifest.json +3 -0
  86. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/status/route/build-manifest.json +11 -0
  87. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/status/route/server-reference-manifest.json +4 -0
  88. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/status/route.js +8 -0
  89. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/status/route.js.map +5 -0
  90. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/status/route.js.nft.json +1 -0
  91. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/status/route_client-reference-manifest.js +2 -0
  92. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/route.js +4 -2
  93. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/route.js.nft.json +1 -1
  94. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/stats/route/app-paths-manifest.json +3 -0
  95. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/stats/route/build-manifest.json +11 -0
  96. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/stats/route/server-reference-manifest.json +4 -0
  97. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/stats/route.js +8 -0
  98. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/stats/route.js.map +5 -0
  99. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/stats/route.js.nft.json +1 -0
  100. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/stats/route_client-reference-manifest.js +2 -0
  101. package/.next/standalone/packages/ui/.next/server/app/api/projects/route.js +3 -2
  102. package/.next/standalone/packages/ui/.next/server/app/api/projects/route.js.nft.json +1 -1
  103. package/.next/standalone/packages/ui/.next/server/app/api/revalidate/route.js +4 -2
  104. package/.next/standalone/packages/ui/.next/server/app/api/revalidate/route.js.nft.json +1 -1
  105. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/dependency-graph/route.js +4 -2
  106. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/dependency-graph/route.js.nft.json +1 -1
  107. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/route.js +4 -2
  108. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/route.js.nft.json +1 -1
  109. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/status/route/app-paths-manifest.json +3 -0
  110. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/status/route/build-manifest.json +11 -0
  111. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/status/route/server-reference-manifest.json +4 -0
  112. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/status/route.js +8 -0
  113. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/status/route.js.map +5 -0
  114. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/status/route.js.nft.json +1 -0
  115. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/status/route_client-reference-manifest.js +2 -0
  116. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/subspecs/[file]/route.js +4 -2
  117. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/subspecs/[file]/route.js.nft.json +1 -1
  118. package/.next/standalone/packages/ui/.next/server/app/api/stats/route.js +4 -2
  119. package/.next/standalone/packages/ui/.next/server/app/api/stats/route.js.nft.json +1 -1
  120. package/.next/standalone/packages/ui/.next/server/app/page/build-manifest.json +4 -4
  121. package/.next/standalone/packages/ui/.next/server/app/page.js +3 -3
  122. package/.next/standalone/packages/ui/.next/server/app/page.js.nft.json +1 -1
  123. package/.next/standalone/packages/ui/.next/server/app/page_client-reference-manifest.js +1 -1
  124. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page/app-paths-manifest.json +3 -0
  125. package/.next/standalone/packages/ui/.next/server/app/{board → projects/[projectId]}/page/build-manifest.json +4 -4
  126. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page/server-reference-manifest.json +4 -0
  127. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page.js +21 -0
  128. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page.js.map +5 -0
  129. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page.js.nft.json +1 -0
  130. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page_client-reference-manifest.js +2 -0
  131. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page/app-paths-manifest.json +3 -0
  132. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page/build-manifest.json +18 -0
  133. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page/next-font-manifest.json +6 -0
  134. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page/react-loadable-manifest.json +1 -0
  135. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page/server-reference-manifest.json +4 -0
  136. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page.js +21 -0
  137. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page.js.map +5 -0
  138. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page.js.nft.json +1 -0
  139. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page_client-reference-manifest.js +2 -0
  140. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page/app-paths-manifest.json +3 -0
  141. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page/build-manifest.json +18 -0
  142. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page/next-font-manifest.json +6 -0
  143. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page/react-loadable-manifest.json +1 -0
  144. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page/server-reference-manifest.json +4 -0
  145. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page.js +20 -0
  146. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page.js.map +5 -0
  147. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page.js.nft.json +1 -0
  148. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page_client-reference-manifest.js +2 -0
  149. package/.next/standalone/packages/ui/.next/server/app/projects/page/app-paths-manifest.json +3 -0
  150. package/.next/standalone/packages/ui/.next/server/app/projects/page/build-manifest.json +18 -0
  151. package/.next/standalone/packages/ui/.next/server/app/projects/page/next-font-manifest.json +6 -0
  152. package/.next/standalone/packages/ui/.next/server/app/projects/page/react-loadable-manifest.json +1 -0
  153. package/.next/standalone/packages/ui/.next/server/app/projects/page/server-reference-manifest.json +4 -0
  154. package/.next/standalone/packages/ui/.next/server/app/{board → projects}/page.js +9 -10
  155. package/.next/standalone/packages/ui/.next/server/app/projects/page.js.map +5 -0
  156. package/.next/standalone/packages/ui/.next/server/app/projects/page.js.nft.json +1 -0
  157. package/.next/standalone/packages/ui/.next/server/app/projects/page_client-reference-manifest.js +2 -0
  158. package/.next/standalone/packages/ui/.next/server/app/projects.html +2 -0
  159. package/.next/standalone/packages/ui/.next/server/app/{board.meta → projects.meta} +3 -3
  160. package/.next/standalone/packages/ui/.next/server/app/projects.rsc +34 -0
  161. package/.next/standalone/packages/ui/.next/server/app/projects.segments/_full.segment.rsc +34 -0
  162. package/.next/standalone/packages/ui/.next/server/app/projects.segments/_index.segment.rsc +27 -0
  163. package/.next/standalone/packages/ui/.next/server/app/{board.segments → projects.segments}/_tree.segment.rsc +3 -3
  164. package/.next/standalone/packages/ui/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +9 -0
  165. package/.next/standalone/packages/ui/.next/server/app/projects.segments/projects.segment.rsc +4 -0
  166. package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page/build-manifest.json +4 -4
  167. package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page.js +5 -5
  168. package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page.js.nft.json +1 -1
  169. package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page_client-reference-manifest.js +1 -1
  170. package/.next/standalone/packages/ui/.next/server/app/specs/page/build-manifest.json +4 -4
  171. package/.next/standalone/packages/ui/.next/server/app/specs/page.js +3 -3
  172. package/.next/standalone/packages/ui/.next/server/app/specs/page.js.nft.json +1 -1
  173. package/.next/standalone/packages/ui/.next/server/app/specs/page_client-reference-manifest.js +1 -1
  174. package/.next/standalone/packages/ui/.next/server/app/stats/page/build-manifest.json +4 -4
  175. package/.next/standalone/packages/ui/.next/server/app/stats/page.js +3 -3
  176. package/.next/standalone/packages/ui/.next/server/app/stats/page.js.nft.json +1 -1
  177. package/.next/standalone/packages/ui/.next/server/app/stats/page_client-reference-manifest.js +1 -1
  178. package/.next/standalone/packages/ui/.next/server/app-paths-manifest.json +13 -1
  179. package/.next/standalone/packages/ui/.next/server/chunks/6681a__next-internal_server_app_api_projects_[id]_specs_[spec]_route_actions_d018d9e0.js +3 -0
  180. package/.next/standalone/packages/ui/.next/server/chunks/730ea_ui__next-internal_server_app_api_local-projects_[id]_route_actions_664abe9c.js +3 -0
  181. package/.next/standalone/packages/ui/.next/server/chunks/730ea_ui__next-internal_server_app_api_local-projects_discover_route_actions_e6ec3fa7.js +3 -0
  182. package/.next/standalone/packages/ui/.next/server/chunks/730ea_ui__next-internal_server_app_api_projects_[id]_stats_route_actions_a0bb04a8.js +3 -0
  183. package/.next/standalone/packages/ui/.next/server/chunks/730ea_ui__next-internal_server_app_api_specs_[id]_status_route_actions_5d700407.js +3 -0
  184. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__0fbfea15._.js +3 -0
  185. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__126dea7b._.js +3 -0
  186. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__1f037512._.js +3 -0
  187. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__3559376c._.js +21 -0
  188. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__548e27d4._.js +3 -0
  189. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__65667b70._.js +3 -0
  190. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__675a763e._.js +3 -0
  191. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__803d07f0._.js +3 -0
  192. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__8075fe29._.js +3 -0
  193. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__8233e09b._.js +3 -0
  194. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__84cdc14a._.js +3 -0
  195. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__9ce722b4._.js +3 -0
  196. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__a2d7cbed._.js +3 -0
  197. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__aa677b0d._.js +3 -0
  198. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__ac744182._.js +3 -0
  199. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__bb9fca84._.js +4 -0
  200. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__bdc3963a._.js +3 -0
  201. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__f5c6d6b8._.js +3 -0
  202. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__fb91986f._.js +3 -0
  203. package/.next/standalone/packages/ui/.next/server/chunks/e0876_tiktoken_3efea2dc._.js +3 -0
  204. package/.next/standalone/packages/ui/.next/server/chunks/f825c_server_app_api_local-projects_list-directory_route_actions_d620ec1a.js +3 -0
  205. package/.next/standalone/packages/ui/.next/server/chunks/f825c_server_app_api_projects_[id]_specs_[spec]_status_route_actions_e9f1bdc5.js +3 -0
  206. package/.next/standalone/packages/ui/.next/server/chunks/node_modules__pnpm_731b55aa._.js +3 -0
  207. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui__next-internal_server_app_api_local-projects_route_actions_9142d5ad.js +3 -0
  208. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui__next-internal_server_app_api_projects_[id]_route_actions_bff49675.js +3 -0
  209. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui_src_lib_db_index_ts_556307fa._.js +64 -5
  210. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui_src_lib_specs_sources_database-source_ts_0bd881ee._.js +3 -0
  211. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui_src_lib_specs_sources_database-source_ts_baa0160d._.js +3 -0
  212. package/.next/standalone/packages/ui/.next/server/chunks/ssr/38a22_sonner_dist_index_mjs_207730fe._.js +3 -0
  213. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{_a5b58449._.js → 6e9bd_next_dist_df5dcbe9._.js} +2 -2
  214. package/.next/standalone/packages/ui/.next/server/chunks/ssr/730ea_ui__next-internal_server_app_projects_[projectId]_specs_page_actions_82e32fe4.js +3 -0
  215. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__01bfc8ff._.js +3 -0
  216. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__1d0c2012._.js +1 -1
  217. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__4ec37765._.js +3 -0
  218. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{[root-of-the-server]__1af33d49._.js → [root-of-the-server]__50122e7e._.js} +2 -2
  219. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__5382b397._.js +3 -0
  220. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__73f60f12._.js +7 -0
  221. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__7f55abaa._.js +1 -1
  222. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__88a691ee._.js +3 -0
  223. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__a7ae8552._.js +7 -0
  224. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__bdbbba01._.js +3 -0
  225. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__c592f5d1._.js +3 -0
  226. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__cc589a54._.js +3 -0
  227. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__ec5b96a5._.js +3 -0
  228. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{[root-of-the-server]__e5891e5a._.js → [root-of-the-server]__fd80e4dd._.js} +2 -2
  229. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_000dd317._.js +1 -1
  230. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_196b5a83._.js +3 -0
  231. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_39562b2a._.js +4 -0
  232. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_3b617676._.js +1 -1
  233. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_4129cc0f._.js +3 -0
  234. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_6174313a._.js +3 -0
  235. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_6e4dd8b6._.js +3 -0
  236. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_85effc18._.js +4 -0
  237. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_ad8c1e99._.js +1 -1
  238. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_bae6d2b8._.js +4 -0
  239. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_c2f54661._.js +5 -0
  240. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_e1889307._.js +3 -0
  241. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{_4f2c4868._.js → _fdd7780b._.js} +3 -3
  242. package/.next/standalone/packages/ui/.next/server/chunks/ssr/f825c_server_app_projects_[projectId]_specs_[specId]_page_actions_22d9c35e.js +3 -0
  243. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_af9d3830._.js +3 -0
  244. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui__next-internal_server_app_projects_[projectId]_page_actions_f2986585.js +3 -0
  245. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui__next-internal_server_app_projects_page_actions_715940ea.js +3 -0
  246. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_loading_tsx_9304a706._.js +3 -0
  247. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_projects_[projectId]_be242d6c._.js +3 -0
  248. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_projects_[projectId]_project-context-syncer_tsx_7954ea3b._.js +3 -0
  249. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_projects_page_tsx_6e166c8e._.js +3 -0
  250. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_specs_specs-client_tsx_0bb8f8f8._.js +3 -0
  251. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_components_specs-nav-sidebar_tsx_8237ed13._.js +3 -0
  252. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_components_ui_select_tsx_7e21d40f._.js +3 -0
  253. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_lib_specs_sources_database-source_ts_f7186c2a._.js +60 -1
  254. package/.next/standalone/packages/ui/.next/server/middleware-build-manifest.js +4 -4
  255. package/.next/standalone/packages/ui/.next/server/pages/404.html +2 -2
  256. package/.next/standalone/packages/ui/.next/server/pages/500.html +2 -2
  257. package/.next/standalone/packages/ui/.next/server/server-reference-manifest.js +1 -1
  258. package/.next/standalone/packages/ui/.next/server/server-reference-manifest.json +1 -1
  259. package/.next/standalone/packages/ui/.next/static/chunks/07f48b316e895080.js +1 -0
  260. package/.next/standalone/packages/ui/.next/static/chunks/0a7be410b438418a.js +1 -0
  261. package/.next/standalone/packages/ui/.next/static/chunks/1089ca88f6bef846.js +1 -0
  262. package/.next/standalone/packages/ui/.next/static/chunks/17471c87082c392c.js +5 -0
  263. package/.next/standalone/packages/ui/.next/static/chunks/220ba5cb8fe4dd69.js +1 -0
  264. package/.next/standalone/packages/ui/.next/static/chunks/35ccd3286e538bd2.js +1 -0
  265. package/.next/standalone/packages/ui/.next/static/chunks/571033caca823138.js +1 -0
  266. package/.next/standalone/packages/ui/.next/static/chunks/5a6fc30cd64085b4.css +1 -0
  267. package/.next/standalone/packages/ui/.next/static/chunks/843e1dfdc28e1385.js +1 -0
  268. package/.next/standalone/packages/ui/.next/static/chunks/9dad7fd31627df80.js +1 -0
  269. package/.next/standalone/packages/ui/.next/static/chunks/{f2151fb88f8fc70a.js → a055d4b2866ff8d4.js} +1 -1
  270. package/.next/standalone/packages/ui/.next/static/chunks/afb7c5a4255f4081.js +3 -0
  271. package/.next/standalone/packages/ui/.next/static/chunks/{c557ac675be79771.js → b760a3a9c2c8be28.js} +1 -1
  272. package/.next/standalone/packages/ui/.next/static/chunks/dcdd95180149fa10.js +1 -0
  273. package/.next/standalone/packages/ui/.next/static/chunks/f9db24028d8c058e.js +1 -0
  274. package/.next/standalone/packages/ui/.next/static/chunks/fb640f50455ba34f.js +1 -0
  275. package/.next/standalone/packages/ui/.next/static/chunks/{turbopack-7450632b40b2e378.js → turbopack-b9690cacbf9fe48c.js} +1 -1
  276. package/.next/standalone/packages/ui/bin/ui.js +17 -7
  277. package/.next/standalone/packages/ui/package.json +4 -2
  278. package/.next/standalone/packages/ui/server.js +1 -1
  279. package/.next/standalone/packages/ui/src/app/api/local-projects/[id]/route.ts +117 -0
  280. package/.next/standalone/packages/ui/src/app/api/local-projects/discover/route.ts +41 -0
  281. package/.next/standalone/packages/ui/src/app/api/local-projects/list-directory/route.ts +38 -0
  282. package/.next/standalone/packages/ui/src/app/api/local-projects/route.ts +63 -0
  283. package/.next/standalone/packages/ui/src/app/api/projects/[id]/route.ts +97 -0
  284. package/.next/standalone/packages/ui/src/app/api/projects/[id]/specs/[spec]/route.ts +38 -0
  285. package/.next/standalone/packages/ui/src/app/api/projects/[id]/specs/[spec]/status/route.ts +97 -0
  286. package/.next/standalone/packages/ui/src/app/api/projects/[id]/specs/route.ts +7 -0
  287. package/.next/standalone/packages/ui/{dist/standalone/packages/web/src/app/api → src/app/api/projects/[id]}/stats/route.ts +7 -7
  288. package/.next/standalone/packages/ui/src/app/api/projects/route.ts +48 -1
  289. package/.next/standalone/packages/ui/src/app/api/specs/[id]/status/route.ts +122 -0
  290. package/.next/standalone/packages/ui/src/app/dashboard-client.tsx +67 -6
  291. package/.next/standalone/packages/ui/src/app/globals.css +37 -0
  292. package/.next/standalone/packages/ui/src/app/layout.tsx +18 -14
  293. package/.next/standalone/packages/ui/src/app/not-found.tsx +1 -1
  294. package/.next/standalone/packages/ui/src/app/projects/[projectId]/layout.tsx +18 -0
  295. package/.next/standalone/packages/ui/src/app/projects/[projectId]/page.tsx +10 -0
  296. package/.next/standalone/packages/ui/src/app/projects/[projectId]/project-context-syncer.tsx +16 -0
  297. package/.next/standalone/packages/ui/{dist/standalone/packages/web/src/app/specs/[id] → src/app/projects/[projectId]/specs/[specId]}/page.tsx +7 -16
  298. package/.next/standalone/packages/ui/src/app/projects/[projectId]/specs/page.tsx +20 -0
  299. package/.next/standalone/packages/ui/src/app/projects/page.tsx +156 -0
  300. package/.next/standalone/packages/ui/src/app/specs/page.tsx +2 -2
  301. package/.next/standalone/packages/ui/src/app/specs/specs-client.tsx +495 -223
  302. package/.next/standalone/packages/ui/src/components/create-project-dialog.tsx +139 -0
  303. package/.next/standalone/packages/ui/src/components/directory-picker.tsx +191 -0
  304. package/.next/standalone/packages/ui/src/components/main-sidebar.tsx +4 -0
  305. package/.next/standalone/packages/ui/src/components/project-switcher.tsx +139 -0
  306. package/.next/standalone/packages/ui/src/components/spec-detail-client.tsx +71 -27
  307. package/.next/standalone/packages/ui/src/components/table-of-contents.tsx +56 -37
  308. package/.next/standalone/packages/ui/src/components/ui/dropdown-menu.tsx +200 -0
  309. package/.next/standalone/packages/ui/src/components/ui/popover.tsx +31 -0
  310. package/.next/standalone/packages/ui/src/contexts/project-context.tsx +229 -0
  311. package/.next/standalone/packages/ui/src/lib/db/index.ts +100 -0
  312. package/.next/standalone/packages/ui/src/lib/db/service-queries.ts +23 -0
  313. package/.next/standalone/packages/ui/src/lib/projects/index.ts +7 -0
  314. package/.next/standalone/packages/ui/src/lib/projects/registry.ts +467 -0
  315. package/.next/standalone/packages/ui/src/lib/projects/types.ts +37 -0
  316. package/.next/standalone/packages/ui/src/lib/specs/service.ts +13 -1
  317. package/.next/standalone/packages/ui/src/lib/specs/sources/filesystem-source.ts +46 -6
  318. package/.next/standalone/packages/ui/src/lib/specs/sources/multi-project-source.ts +258 -0
  319. package/.next/standalone/packages/ui/tsconfig.json +2 -1
  320. package/.next/standalone/packages/ui/tsconfig.tsbuildinfo +1 -1
  321. package/.next/standalone/packages/ui/vitest.config.ts +1 -0
  322. package/.next/static/chunks/07f48b316e895080.js +1 -0
  323. package/.next/static/chunks/0a7be410b438418a.js +1 -0
  324. package/.next/static/chunks/1089ca88f6bef846.js +1 -0
  325. package/.next/static/chunks/17471c87082c392c.js +5 -0
  326. package/.next/static/chunks/220ba5cb8fe4dd69.js +1 -0
  327. package/.next/static/chunks/35ccd3286e538bd2.js +1 -0
  328. package/.next/static/chunks/571033caca823138.js +1 -0
  329. package/.next/static/chunks/5a6fc30cd64085b4.css +1 -0
  330. package/.next/static/chunks/843e1dfdc28e1385.js +1 -0
  331. package/.next/static/chunks/9dad7fd31627df80.js +1 -0
  332. package/.next/static/chunks/{f2151fb88f8fc70a.js → a055d4b2866ff8d4.js} +1 -1
  333. package/.next/static/chunks/afb7c5a4255f4081.js +3 -0
  334. package/.next/static/chunks/{c557ac675be79771.js → b760a3a9c2c8be28.js} +1 -1
  335. package/.next/static/chunks/dcdd95180149fa10.js +1 -0
  336. package/.next/static/chunks/f9db24028d8c058e.js +1 -0
  337. package/.next/static/chunks/fb640f50455ba34f.js +1 -0
  338. package/.next/static/chunks/{turbopack-7450632b40b2e378.js → turbopack-b9690cacbf9fe48c.js} +1 -1
  339. package/bin/ui.js +17 -7
  340. package/package.json +4 -2
  341. package/.next/standalone/node_modules/.pnpm/@img+sharp-darwin-arm64@0.34.5/node_modules/@img/sharp-darwin-arm64/lib/sharp-darwin-arm64.node +0 -0
  342. package/.next/standalone/packages/ui/.next/server/app/board/page/app-paths-manifest.json +0 -3
  343. package/.next/standalone/packages/ui/.next/server/app/board/page.js.nft.json +0 -1
  344. package/.next/standalone/packages/ui/.next/server/app/board/page_client-reference-manifest.js +0 -2
  345. package/.next/standalone/packages/ui/.next/server/app/board.html +0 -1
  346. package/.next/standalone/packages/ui/.next/server/app/board.rsc +0 -41
  347. package/.next/standalone/packages/ui/.next/server/app/board.segments/_full.segment.rsc +0 -41
  348. package/.next/standalone/packages/ui/.next/server/app/board.segments/_index.segment.rsc +0 -26
  349. package/.next/standalone/packages/ui/.next/server/app/board.segments/board/__PAGE__.segment.rsc +0 -9
  350. package/.next/standalone/packages/ui/.next/server/app/board.segments/board.segment.rsc +0 -8
  351. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__003ee184._.js +0 -3
  352. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__21119265._.js +0 -3
  353. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__482b093a._.js +0 -21
  354. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__6ec5cafb._.js +0 -3
  355. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__7acaa6ec._.js +0 -3
  356. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__a2c55ffb._.js +0 -3
  357. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__d169fe70._.js +0 -3
  358. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__f4ea2112._.js +0 -3
  359. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__3fffdda5._.js +0 -3
  360. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__4b343655._.js +0 -3
  361. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__68015eee._.js +0 -3
  362. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__b161f033._.js +0 -7
  363. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__b50fa24c._.js +0 -7
  364. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__c65aedd0._.js +0 -3
  365. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__eefaabd3._.js +0 -3
  366. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_64a39e38._.js +0 -3
  367. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_66209e84._.js +0 -3
  368. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_a527620e._.js +0 -3
  369. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_d7e4bd50._.js +0 -5
  370. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_f8b2190a._.js +0 -3
  371. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_b8ff10b9._.js +0 -3
  372. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui__next-internal_server_app_board_page_actions_c5a3cb3c.js +0 -3
  373. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_board_loading_tsx_03dfd70d._.js +0 -3
  374. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_board_page_tsx_9415dc46._.js +0 -3
  375. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_components_ui_input_tsx_190a7701._.js +0 -3
  376. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_d725c10c._.js +0 -3
  377. package/.next/standalone/packages/ui/.next/static/chunks/107411d1a2f4b31d.js +0 -1
  378. package/.next/standalone/packages/ui/.next/static/chunks/17ac52d909def83e.js +0 -1
  379. package/.next/standalone/packages/ui/.next/static/chunks/212881511f73fc12.js +0 -5
  380. package/.next/standalone/packages/ui/.next/static/chunks/5057c3e1e7e13ca3.js +0 -1
  381. package/.next/standalone/packages/ui/.next/static/chunks/5d646f493d4c6928.js +0 -1
  382. package/.next/standalone/packages/ui/.next/static/chunks/88f695d32910a4ac.js +0 -1
  383. package/.next/standalone/packages/ui/.next/static/chunks/aa47b212786d8695.js +0 -1
  384. package/.next/standalone/packages/ui/.next/static/chunks/ae04dcd433be6dab.js +0 -1
  385. package/.next/standalone/packages/ui/.next/static/chunks/c210559fdfe60fef.js +0 -1
  386. package/.next/standalone/packages/ui/.next/static/chunks/df1731c03abf1aee.css +0 -1
  387. package/.next/standalone/packages/ui/.next/static/chunks/e237e00fd3a84178.js +0 -3
  388. package/.next/standalone/packages/ui/dist/standalone/packages/web/README.md +0 -196
  389. package/.next/standalone/packages/ui/dist/standalone/packages/web/components.json +0 -20
  390. package/.next/standalone/packages/ui/dist/standalone/packages/web/drizzle/0000_reflective_thena.sql +0 -59
  391. package/.next/standalone/packages/ui/dist/standalone/packages/web/drizzle/0001_fresh_carmella_unuscione.sql +0 -1
  392. package/.next/standalone/packages/ui/dist/standalone/packages/web/drizzle/meta/0000_snapshot.json +0 -427
  393. package/.next/standalone/packages/ui/dist/standalone/packages/web/drizzle/meta/0001_snapshot.json +0 -436
  394. package/.next/standalone/packages/ui/dist/standalone/packages/web/drizzle/meta/_journal.json +0 -20
  395. package/.next/standalone/packages/ui/dist/standalone/packages/web/drizzle.config.ts +0 -10
  396. package/.next/standalone/packages/ui/dist/standalone/packages/web/eslint.config.mjs +0 -18
  397. package/.next/standalone/packages/ui/dist/standalone/packages/web/leanspec.db +0 -0
  398. package/.next/standalone/packages/ui/dist/standalone/packages/web/next.config.ts +0 -7
  399. package/.next/standalone/packages/ui/dist/standalone/packages/web/package.json +0 -83
  400. package/.next/standalone/packages/ui/dist/standalone/packages/web/postcss.config.mjs +0 -8
  401. package/.next/standalone/packages/ui/dist/standalone/packages/web/public/f864aa7e7061c0600e35cf3d879b27cf.txt +0 -1
  402. package/.next/standalone/packages/ui/dist/standalone/packages/web/public/favicon.ico +0 -0
  403. package/.next/standalone/packages/ui/dist/standalone/packages/web/public/file.svg +0 -1
  404. package/.next/standalone/packages/ui/dist/standalone/packages/web/public/github-mark-white.svg +0 -1
  405. package/.next/standalone/packages/ui/dist/standalone/packages/web/public/github-mark.svg +0 -1
  406. package/.next/standalone/packages/ui/dist/standalone/packages/web/public/globe.svg +0 -1
  407. package/.next/standalone/packages/ui/dist/standalone/packages/web/public/icon.svg +0 -7
  408. package/.next/standalone/packages/ui/dist/standalone/packages/web/public/logo-dark-bg.svg +0 -17
  409. package/.next/standalone/packages/ui/dist/standalone/packages/web/public/logo-with-bg.svg +0 -17
  410. package/.next/standalone/packages/ui/dist/standalone/packages/web/public/logo.svg +0 -17
  411. package/.next/standalone/packages/ui/dist/standalone/packages/web/public/next.svg +0 -1
  412. package/.next/standalone/packages/ui/dist/standalone/packages/web/public/vercel.svg +0 -1
  413. package/.next/standalone/packages/ui/dist/standalone/packages/web/public/window.svg +0 -1
  414. package/.next/standalone/packages/ui/dist/standalone/packages/web/server.js +0 -44
  415. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/projects/[id]/specs/route.ts +0 -23
  416. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/projects/route.ts +0 -19
  417. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/revalidate/route.ts +0 -63
  418. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/specs/[id]/dependency-graph/route.test.ts +0 -51
  419. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/specs/[id]/dependency-graph/route.ts +0 -171
  420. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/specs/[id]/route.ts +0 -36
  421. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/specs/[id]/subspecs/[file]/route.ts +0 -46
  422. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/board/board-client.tsx +0 -162
  423. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/board/loading.tsx +0 -43
  424. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/board/page.tsx +0 -18
  425. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/dashboard-client.tsx +0 -364
  426. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/error.tsx +0 -43
  427. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/globals.css +0 -531
  428. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/home-client.tsx +0 -277
  429. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/layout.tsx +0 -70
  430. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/loading.tsx +0 -87
  431. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/not-found.tsx +0 -27
  432. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/page.tsx +0 -18
  433. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/specs/[id]/loading.tsx +0 -5
  434. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/specs/page.tsx +0 -18
  435. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/specs/specs-client.tsx +0 -425
  436. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/stats/page.tsx +0 -18
  437. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/stats/stats-client.tsx +0 -283
  438. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/back-to-top.tsx +0 -46
  439. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/empty-state.tsx +0 -52
  440. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/main-sidebar.tsx +0 -175
  441. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/markdown-link.test.ts +0 -96
  442. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/markdown-link.tsx +0 -95
  443. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/navigation.tsx +0 -210
  444. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/priority-badge.tsx +0 -53
  445. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/quick-search.tsx +0 -180
  446. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/skeletons.tsx +0 -119
  447. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/spec-dependency-graph.tsx +0 -369
  448. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/spec-detail-client.tsx +0 -372
  449. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/spec-detail-loading-shell.tsx +0 -42
  450. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/spec-detail-wrapper.tsx +0 -70
  451. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/spec-metadata.tsx +0 -136
  452. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/spec-sidebar.tsx +0 -127
  453. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/spec-timeline.tsx +0 -186
  454. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/specs-nav-sidebar.tsx +0 -561
  455. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/status-badge.tsx +0 -53
  456. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/sub-spec-tabs.tsx +0 -143
  457. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/table-of-contents.tsx +0 -130
  458. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/theme-provider.tsx +0 -11
  459. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/theme-toggle.tsx +0 -37
  460. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/avatar.tsx +0 -50
  461. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/badge.tsx +0 -36
  462. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/breadcrumb.tsx +0 -110
  463. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/button.tsx +0 -57
  464. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/card.tsx +0 -76
  465. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/command.tsx +0 -153
  466. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/dialog.tsx +0 -122
  467. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/input.tsx +0 -24
  468. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/select.tsx +0 -159
  469. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/separator.tsx +0 -31
  470. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/skeleton.tsx +0 -15
  471. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/tabs.tsx +0 -55
  472. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/toast.tsx +0 -30
  473. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/tooltip.tsx +0 -32
  474. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/date-utils.ts +0 -76
  475. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/db/index.ts +0 -42
  476. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/db/migrate.ts +0 -18
  477. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/db/queries.ts +0 -114
  478. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/db/schema.ts +0 -123
  479. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/db/seed.ts +0 -156
  480. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/db/service-queries.ts +0 -216
  481. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/dependency-graph.ts +0 -105
  482. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/specs/service.ts +0 -120
  483. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/specs/sources/database-source.ts +0 -94
  484. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/specs/sources/filesystem-source.ts +0 -249
  485. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/specs/types.ts +0 -55
  486. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/stores/specs-sidebar-store.ts +0 -152
  487. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/sub-specs.ts +0 -171
  488. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/utils.ts +0 -17
  489. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/types/specs.ts +0 -18
  490. package/.next/standalone/packages/ui/dist/standalone/packages/web/tailwind.config.ts +0 -58
  491. package/.next/standalone/packages/ui/dist/standalone/packages/web/tsconfig.json +0 -34
  492. package/.next/standalone/packages/ui/dist/standalone/packages/web/tsconfig.tsbuildinfo +0 -1
  493. package/.next/standalone/packages/ui/dist/standalone/packages/web/vitest.config.ts +0 -14
  494. package/.next/standalone/packages/ui/dist/standalone/specs/014-complete-custom-frontmatter/README.md +0 -175
  495. package/.next/standalone/packages/ui/dist/standalone/specs/016-github-action/README.md +0 -317
  496. package/.next/standalone/packages/ui/dist/standalone/specs/017-vscode-extension/README.md +0 -261
  497. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/CLI-DESIGN.md +0 -380
  498. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/CONFIGURATION-EXAMPLES.md +0 -230
  499. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/CONFIGURATION.md +0 -285
  500. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/IMPLEMENTATION.md +0 -358
  501. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/README.md +0 -303
  502. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/TESTING.md +0 -368
  503. package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/VALIDATION-RULES.md +0 -327
  504. package/.next/standalone/packages/ui/dist/standalone/specs/024-pattern-aware-list-grouping/README.md +0 -117
  505. package/.next/standalone/packages/ui/dist/standalone/specs/025-template-config-updates/README.md +0 -73
  506. package/.next/standalone/packages/ui/dist/standalone/specs/026-init-pattern-selection/README.md +0 -109
  507. package/.next/standalone/packages/ui/dist/standalone/specs/034-copilot-slash-commands/README.md +0 -107
  508. package/.next/standalone/packages/ui/dist/standalone/specs/035-live-specs-showcase/ARCHITECTURE.md +0 -244
  509. package/.next/standalone/packages/ui/dist/standalone/specs/035-live-specs-showcase/IMPLEMENTATION.md +0 -429
  510. package/.next/standalone/packages/ui/dist/standalone/specs/035-live-specs-showcase/README.md +0 -306
  511. package/.next/standalone/packages/ui/dist/standalone/specs/036-pm-integrations/README.md +0 -158
  512. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DEMO-AI-ASSISTED.md +0 -359
  513. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DEMO-FULL-LIFECYCLE.md +0 -86
  514. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DEMO-REAL-FEATURE.md +0 -437
  515. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DEMO-SCRIPT.md +0 -365
  516. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DOGFOODING-FINAL.md +0 -203
  517. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DOGFOODING-SESSION-2025-11-06.md +0 -174
  518. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DOGFOODING-SUMMARY.md +0 -156
  519. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/IMPLEMENTATION.md +0 -183
  520. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/MARKETING.md +0 -229
  521. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/NEXT-STEPS-DEMO.md +0 -243
  522. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/README.md +0 -217
  523. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/SESSION-2025-11-06.md +0 -166
  524. package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/TESTING.md +0 -126
  525. package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/ACTUAL-IMPLEMENTATION.md +0 -108
  526. package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/DESIGN.md +0 -382
  527. package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/IMPLEMENTATION.md +0 -144
  528. package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/RATIONALE.md +0 -146
  529. package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/README.md +0 -208
  530. package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/TESTING.md +0 -182
  531. package/.next/standalone/packages/ui/dist/standalone/specs/047-git-backfill-timestamps/README.md +0 -314
  532. package/.next/standalone/packages/ui/dist/standalone/specs/048-spec-complexity-analysis/FINDINGS.md +0 -113
  533. package/.next/standalone/packages/ui/dist/standalone/specs/048-spec-complexity-analysis/GUIDELINES.md +0 -237
  534. package/.next/standalone/packages/ui/dist/standalone/specs/048-spec-complexity-analysis/README.md +0 -149
  535. package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/ANALYSIS-COMPARISONS.md +0 -175
  536. package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/ANALYSIS-CONSTRAINTS.md +0 -254
  537. package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/FIRST-PRINCIPLES.md +0 -376
  538. package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/OPERATIONALIZATION-ROADMAP.md +0 -240
  539. package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/OPERATIONALIZATION-TOOLS.md +0 -175
  540. package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/README.md +0 -374
  541. package/.next/standalone/packages/ui/dist/standalone/specs/051-docs-system-prompt-principles/README.md +0 -339
  542. package/.next/standalone/packages/ui/dist/standalone/specs/052-branding-assets/README.md +0 -128
  543. package/.next/standalone/packages/ui/dist/standalone/specs/053-spec-assets-philosophy/README.md +0 -97
  544. package/.next/standalone/packages/ui/dist/standalone/specs/054-validate-output-lint-style/DESIGN-DECISIONS.md +0 -93
  545. package/.next/standalone/packages/ui/dist/standalone/specs/054-validate-output-lint-style/OUTPUT-FORMAT-SPEC.md +0 -146
  546. package/.next/standalone/packages/ui/dist/standalone/specs/054-validate-output-lint-style/README.md +0 -175
  547. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/ANALYSIS-PART1.md +0 -397
  548. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/ANALYSIS-PART2.md +0 -342
  549. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/ANALYSIS.md +0 -44
  550. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/CHANGES.md +0 -150
  551. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/CONCERNS-ANALYSIS.md +0 -351
  552. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/DOCS-ALIGNMENT-ANALYSIS.md +0 -238
  553. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/README.md +0 -280
  554. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/REDESIGN-DRAFT.md +0 -372
  555. package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/REDESIGN-REFINED.md +0 -466
  556. package/.next/standalone/packages/ui/dist/standalone/specs/056-docs-site-accuracy-audit/AUDIT-RESULTS.md +0 -178
  557. package/.next/standalone/packages/ui/dist/standalone/specs/056-docs-site-accuracy-audit/README.md +0 -174
  558. package/.next/standalone/packages/ui/dist/standalone/specs/057-docs-validation-comprehensive/README.md +0 -295
  559. package/.next/standalone/packages/ui/dist/standalone/specs/057-docs-validation-comprehensive/VALIDATION-RESULTS.md +0 -487
  560. package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/ANALYSIS.md +0 -241
  561. package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/DESIGN.md +0 -279
  562. package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/IMPLEMENTATION.md +0 -642
  563. package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/NOTES.md +0 -125
  564. package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/README.md +0 -286
  565. package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/ARCHITECTURE.md +0 -392
  566. package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/COMMANDS.md +0 -1002
  567. package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/CONTEXT-ENGINEERING.md +0 -411
  568. package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/IMPLEMENTATION.md +0 -812
  569. package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/README.md +0 -504
  570. package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/TESTING.md +0 -724
  571. package/.next/standalone/packages/ui/dist/standalone/specs/060-core-concepts-coherence/README.md +0 -125
  572. package/.next/standalone/packages/ui/dist/standalone/specs/061-ai-assisted-spec-writing/README.md +0 -299
  573. package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/IMPLEMENTATION-PLAN.md +0 -174
  574. package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/PAGE-SPECIFICATIONS.md +0 -265
  575. package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/PROBLEM-ANALYSIS.md +0 -36
  576. package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/README.md +0 -243
  577. package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/SOLUTION-DESIGN.md +0 -82
  578. package/.next/standalone/packages/ui/dist/standalone/specs/063-migration-from-existing-tools/DESIGN.md +0 -338
  579. package/.next/standalone/packages/ui/dist/standalone/specs/063-migration-from-existing-tools/EXAMPLES.md +0 -354
  580. package/.next/standalone/packages/ui/dist/standalone/specs/063-migration-from-existing-tools/IMPLEMENTATION.md +0 -189
  581. package/.next/standalone/packages/ui/dist/standalone/specs/063-migration-from-existing-tools/README.md +0 -119
  582. package/.next/standalone/packages/ui/dist/standalone/specs/064-docs-site-zh-translation/README.md +0 -170
  583. package/.next/standalone/packages/ui/dist/standalone/specs/065-v03-planning/README.md +0 -158
  584. package/.next/standalone/packages/ui/dist/standalone/specs/066-context-economy-thresholds-refinement/README.md +0 -842
  585. package/.next/standalone/packages/ui/dist/standalone/specs/067-monorepo-core-extraction/README.md +0 -358
  586. package/.next/standalone/packages/ui/dist/standalone/specs/068-live-specs-ux-enhancements/DESIGN.md +0 -444
  587. package/.next/standalone/packages/ui/dist/standalone/specs/068-live-specs-ux-enhancements/README.md +0 -357
  588. package/.next/standalone/packages/ui/dist/standalone/specs/069-token-counting-utils/README.md +0 -551
  589. package/.next/standalone/packages/ui/dist/standalone/specs/070-mcp-token-counting-tool/README.md +0 -372
  590. package/.next/standalone/packages/ui/dist/standalone/specs/071-simplified-token-validation/README.md +0 -489
  591. package/.next/standalone/packages/ui/dist/standalone/specs/072-ai-agent-first-use-workflow/README.md +0 -287
  592. package/.next/standalone/packages/ui/dist/standalone/specs/073-template-engine-agents-md/README.md +0 -323
  593. package/.next/standalone/packages/ui/dist/standalone/specs/074-content-at-creation/README.md +0 -136
  594. package/.next/standalone/packages/ui/dist/standalone/specs/075-intelligent-search-engine/README.md +0 -399
  595. package/.next/standalone/packages/ui/dist/standalone/specs/076-programmatic-spec-relationships/README.md +0 -301
  596. package/.next/standalone/packages/ui/dist/standalone/specs/077-archiving-strategy/README.md +0 -235
  597. package/.next/standalone/packages/ui/dist/standalone/specs/078-sub-spec-template-system/README.md +0 -303
  598. package/.next/standalone/packages/ui/dist/standalone/specs/079-cli-alphabetical-organization/README.md +0 -196
  599. package/.next/standalone/packages/ui/dist/standalone/specs/080-mcp-server-modular-architecture/README.md +0 -388
  600. package/.next/standalone/packages/ui/dist/standalone/specs/081-web-app-ux-redesign/README.md +0 -825
  601. package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/DATABASE.md +0 -111
  602. package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/DEPLOYMENT.md +0 -69
  603. package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/FILESYSTEM.md +0 -77
  604. package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/IMPLEMENTATION.md +0 -184
  605. package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/README.md +0 -501
  606. package/.next/standalone/packages/ui/dist/standalone/specs/083-web-navigation-performance/README.md +0 -490
  607. package/.next/standalone/packages/ui/dist/standalone/specs/084-sub-spec-visibility-in-tools/README.md +0 -389
  608. package/.next/standalone/packages/ui/dist/standalone/specs/085-cli-relationship-commands/README.md +0 -920
  609. package/.next/standalone/packages/ui/dist/standalone/specs/086-template-component-deduplication/README.md +0 -146
  610. package/.next/standalone/packages/ui/dist/standalone/specs/087-cli-ui-command/README.md +0 -421
  611. package/.next/standalone/packages/ui/dist/standalone/specs/088-core-concepts-terminology-only/README.md +0 -106
  612. package/.next/standalone/packages/ui/dist/standalone/specs/089-sdd-practical-tutorials/README.md +0 -126
  613. package/.next/standalone/packages/ui/dist/standalone/specs/090-leanspec-sdd-case-studies/README.md +0 -131
  614. package/.next/standalone/packages/ui/dist/standalone/specs/091-chinese-localization-strategy/README.md +0 -254
  615. package/.next/standalone/packages/ui/dist/standalone/specs/092-docs-site-submodule-migration/README.md +0 -152
  616. package/.next/standalone/packages/ui/dist/standalone/specs/093-spec-detail-ui-improvements/README.md +0 -65
  617. package/.next/standalone/packages/ui/dist/standalone/specs/094-ai-chatbot-web-integration/README.md +0 -332
  618. package/.next/standalone/packages/ui/dist/standalone/specs/095-pr-migration-verification/README.md +0 -339
  619. package/.next/standalone/packages/ui/dist/standalone/specs/096-docs-beginner-first-reorg/README.md +0 -399
  620. package/.next/standalone/packages/ui/dist/standalone/specs/097-dag-visualization-library/README.md +0 -525
  621. package/.next/standalone/packages/ui/dist/standalone/specs/098-github-multi-project-integration/README.md +0 -387
  622. package/.next/standalone/packages/ui/dist/standalone/specs/099-enhanced-dependency-commands-cli-mcp/README.md +0 -613
  623. package/.next/standalone/packages/ui/dist/standalone/specs/100-release-process-typecheck-failure/README.md +0 -266
  624. package/.next/standalone/packages/ui/dist/standalone/specs/101-sidebar-scroll-position-drift/README.md +0 -100
  625. package/.next/standalone/packages/ui/dist/standalone/specs/102-mcp-wrapper-package/README.md +0 -172
  626. package/.next/standalone/packages/ui/dist/standalone/specs/archived/001-typescript-cli-migration/README.md +0 -37
  627. package/.next/standalone/packages/ui/dist/standalone/specs/archived/002-template-system-redesign/README.md +0 -60
  628. package/.next/standalone/packages/ui/dist/standalone/specs/archived/003-init-system-redesign/README.md +0 -113
  629. package/.next/standalone/packages/ui/dist/standalone/specs/archived/004-existing-project-integration/README.md +0 -69
  630. package/.next/standalone/packages/ui/dist/standalone/specs/archived/004-existing-project-integration/SUMMARY.md +0 -112
  631. package/.next/standalone/packages/ui/dist/standalone/specs/archived/005-structured-frontmatter/README.md +0 -229
  632. package/.next/standalone/packages/ui/dist/standalone/specs/archived/006-pm-visualization-tools/README.md +0 -406
  633. package/.next/standalone/packages/ui/dist/standalone/specs/archived/007-system-prompt-updates/README.md +0 -168
  634. package/.next/standalone/packages/ui/dist/standalone/specs/archived/008-commander-migration/README.md +0 -174
  635. package/.next/standalone/packages/ui/dist/standalone/specs/archived/009-cli-ux-enhancement/README.md +0 -212
  636. package/.next/standalone/packages/ui/dist/standalone/specs/archived/010-commands-refactor/README.md +0 -249
  637. package/.next/standalone/packages/ui/dist/standalone/specs/archived/011-test-results/README.md +0 -60
  638. package/.next/standalone/packages/ui/dist/standalone/specs/archived/011-test-results/TEST_SUMMARY.md +0 -139
  639. package/.next/standalone/packages/ui/dist/standalone/specs/archived/012-sub-spec-files/README.md +0 -722
  640. package/.next/standalone/packages/ui/dist/standalone/specs/archived/013-custom-spec-templates/README.md +0 -413
  641. package/.next/standalone/packages/ui/dist/standalone/specs/archived/015-npm-publishing/README.md +0 -255
  642. package/.next/standalone/packages/ui/dist/standalone/specs/archived/019-readme-improvement/README.md +0 -252
  643. package/.next/standalone/packages/ui/dist/standalone/specs/archived/020-documentation-website/README.md +0 -253
  644. package/.next/standalone/packages/ui/dist/standalone/specs/archived/021-docusaurus-vercel-migration/README.md +0 -612
  645. package/.next/standalone/packages/ui/dist/standalone/specs/archived/022-flexible-folder-structure/README.md +0 -794
  646. package/.next/standalone/packages/ui/dist/standalone/specs/archived/023-folder-structure-improvements/DESIGN.md +0 -834
  647. package/.next/standalone/packages/ui/dist/standalone/specs/archived/023-folder-structure-improvements/README.md +0 -255
  648. package/.next/standalone/packages/ui/dist/standalone/specs/archived/027-cli-ui-ux-optimization/README.md +0 -454
  649. package/.next/standalone/packages/ui/dist/standalone/specs/archived/028-cli-ui-modernization/README.md +0 -172
  650. package/.next/standalone/packages/ui/dist/standalone/specs/archived/029-visualization-improvements/IMPLEMENTATION.md +0 -152
  651. package/.next/standalone/packages/ui/dist/standalone/specs/archived/029-visualization-improvements/README.md +0 -95
  652. package/.next/standalone/packages/ui/dist/standalone/specs/archived/030-created-date-format-bug/README.md +0 -87
  653. package/.next/standalone/packages/ui/dist/standalone/specs/archived/031-gantt-ux-improvements/README.md +0 -230
  654. package/.next/standalone/packages/ui/dist/standalone/specs/archived/032-console-log-chalk-security/README.md +0 -89
  655. package/.next/standalone/packages/ui/dist/standalone/specs/archived/033-mcp-server/README.md +0 -89
  656. package/.next/standalone/packages/ui/dist/standalone/specs/archived/037-docs-overhaul/README.md +0 -166
  657. package/.next/standalone/packages/ui/dist/standalone/specs/archived/038-flat-structure-migration/README.md +0 -276
  658. package/.next/standalone/packages/ui/dist/standalone/specs/archived/038-mcp-frontmatter-bug-fix/README.md +0 -122
  659. package/.next/standalone/packages/ui/dist/standalone/specs/archived/039-simplify-viewer-commands/README.md +0 -198
  660. package/.next/standalone/packages/ui/dist/standalone/specs/archived/039-template-variable-sync/README.md +0 -192
  661. package/.next/standalone/packages/ui/dist/standalone/specs/archived/040-spec-viewer-commands/README.md +0 -171
  662. package/.next/standalone/packages/ui/dist/standalone/specs/archived/042-mcp-error-handling/README.md +0 -200
  663. package/.next/standalone/packages/ui/dist/standalone/specs/archived/044-spec-relationships-clarity/README.md +0 -317
  664. package/.next/standalone/packages/ui/dist/standalone/specs/archived/046-stats-dashboard-refactor/DESIGN.md +0 -276
  665. package/.next/standalone/packages/ui/dist/standalone/specs/archived/046-stats-dashboard-refactor/IMPLEMENTATION.md +0 -241
  666. package/.next/standalone/packages/ui/dist/standalone/specs/archived/046-stats-dashboard-refactor/README.md +0 -139
  667. package/.next/standalone/packages/ui/dist/standalone/specs/archived/046-stats-dashboard-refactor/TESTING.md +0 -328
  668. package/.next/standalone/packages/ui/dist/standalone/specs/archived/050-tool-redesign-first-principles/README.md +0 -400
  669. package/.next/standalone/packages/ui/package.json.backup +0 -119
  670. package/.next/standalone/packages/ui/src/app/board/board-client.tsx +0 -162
  671. package/.next/standalone/packages/ui/src/app/board/loading.tsx +0 -43
  672. package/.next/standalone/packages/ui/src/app/board/page.tsx +0 -18
  673. package/.next/static/chunks/107411d1a2f4b31d.js +0 -1
  674. package/.next/static/chunks/17ac52d909def83e.js +0 -1
  675. package/.next/static/chunks/212881511f73fc12.js +0 -5
  676. package/.next/static/chunks/5057c3e1e7e13ca3.js +0 -1
  677. package/.next/static/chunks/5d646f493d4c6928.js +0 -1
  678. package/.next/static/chunks/88f695d32910a4ac.js +0 -1
  679. package/.next/static/chunks/aa47b212786d8695.js +0 -1
  680. package/.next/static/chunks/ae04dcd433be6dab.js +0 -1
  681. package/.next/static/chunks/c210559fdfe60fef.js +0 -1
  682. package/.next/static/chunks/df1731c03abf1aee.css +0 -1
  683. package/.next/static/chunks/e237e00fd3a84178.js +0 -3
  684. /package/.next/standalone/node_modules/.pnpm/{@img+sharp-libvips-darwin-arm64@1.2.4/node_modules/@img/sharp-libvips-darwin-arm64 → @img+sharp-libvips-linux-x64@1.2.4/node_modules/@img/sharp-libvips-linux-x64}/lib/index.js +0 -0
  685. /package/.next/standalone/node_modules/.pnpm/{@img+sharp-libvips-darwin-arm64@1.2.4/node_modules/@img/sharp-libvips-darwin-arm64 → @img+sharp-libvips-linux-x64@1.2.4/node_modules/@img/sharp-libvips-linux-x64}/versions.json +0 -0
  686. /package/.next/standalone/packages/ui/.next/server/app/{board/page → api/local-projects/[id]/route}/server-reference-manifest.json +0 -0
  687. /package/.next/standalone/packages/ui/.next/server/app/{board/page.js.map → api/local-projects/[id]/route.js.map} +0 -0
  688. /package/.next/standalone/packages/ui/.next/server/app/{board → projects/[projectId]}/page/next-font-manifest.json +0 -0
  689. /package/.next/standalone/packages/ui/.next/server/app/{board → projects/[projectId]}/page/react-loadable-manifest.json +0 -0
  690. /package/.next/standalone/packages/ui/.next/static/{mY96Srm2xq4N3LlCirdvZ → WJi9opx4ShY8zt8yBFo4r}/_buildManifest.js +0 -0
  691. /package/.next/standalone/packages/ui/.next/static/{mY96Srm2xq4N3LlCirdvZ → WJi9opx4ShY8zt8yBFo4r}/_clientMiddlewareManifest.json +0 -0
  692. /package/.next/standalone/packages/ui/.next/static/{mY96Srm2xq4N3LlCirdvZ → WJi9opx4ShY8zt8yBFo4r}/_ssgManifest.js +0 -0
  693. /package/.next/static/{mY96Srm2xq4N3LlCirdvZ → WJi9opx4ShY8zt8yBFo4r}/_buildManifest.js +0 -0
  694. /package/.next/static/{mY96Srm2xq4N3LlCirdvZ → WJi9opx4ShY8zt8yBFo4r}/_clientMiddlewareManifest.json +0 -0
  695. /package/.next/static/{mY96Srm2xq4N3LlCirdvZ → WJi9opx4ShY8zt8yBFo4r}/_ssgManifest.js +0 -0
@@ -1,368 +0,0 @@
1
- # Testing Strategy
2
-
3
- Comprehensive test plan for the `lean-spec validate` command.
4
-
5
- **Note:** This spec originally proposed expanding `lean-spec check`, but the implementation created `lean-spec validate` as a separate command.
6
-
7
- ## Test Categories
8
-
9
- ### 1. Frontmatter Validation Tests ✅
10
-
11
- **Status: Phase 1b Complete - 27 tests passing**
12
-
13
- **Missing Required Fields:**
14
- - [x] Detects missing `status` field ✅
15
- - [x] Detects missing `created` field ✅
16
- - [x] Passes when all required fields present ✅
17
- - [x] Detects when no frontmatter exists ✅
18
- - [ ] Detects missing custom required fields (if configured) - future
19
-
20
- **Invalid Status Values:**
21
- - [x] Detects invalid status "wip" ✅
22
- - [x] Detects invalid status values (any non-standard) ✅
23
- - [x] Passes valid status "planned" ✅
24
- - [x] Passes valid status "in-progress" ✅
25
- - [x] Passes valid status "complete" ✅
26
- - [x] Passes valid status "archived" ✅
27
- - [x] Coerces non-string status to string and validates ✅
28
-
29
- **Invalid Priority Values:**
30
- - [x] Detects invalid priority "urgent" ✅
31
- - [x] Detects invalid priority values (any non-standard) ✅
32
- - [x] Passes valid priority "low" ✅
33
- - [x] Passes valid priority "medium" ✅
34
- - [x] Passes valid priority "high" ✅
35
- - [x] Passes valid priority "critical" ✅
36
- - [x] Passes when priority is optional and missing ✅
37
- - [x] Coerces non-string priority to string and validates ✅
38
-
39
- **Date Format Validation:**
40
- - [x] Detects invalid date formats (11/05/2025, etc.) ✅
41
- - [x] Detects invalid date values (2025-99-99) ✅
42
- - [x] Passes valid date "2025-11-04" ✅
43
- - [x] Passes valid ISO timestamps (with timezone, milliseconds) ✅
44
- - [x] Warns for invalid optional date fields (e.g., updated) ✅
45
- - [x] Fails for non-string/non-date created field ✅
46
-
47
- **Tags Validation:**
48
- - [x] Detects tags as string instead of array ✅
49
- - [x] Accepts tags with various types (YAML parsing) ✅
50
- - [x] Passes valid tags array ✅
51
- - [x] Passes empty tags array ✅
52
-
53
- **YAML Parsing:**
54
- - [x] Detects malformed YAML frontmatter ✅
55
-
56
- **Custom Configuration:**
57
- - [x] Respects custom valid statuses (configurable) ✅
58
- - [x] Validator metadata (name, description) ✅
59
-
60
- ### 2. Structure Validation Tests
61
-
62
- **File Requirements:**
63
- - [ ] Detects missing README.md
64
- - [ ] Detects invalid YAML frontmatter syntax
65
- - [ ] Detects missing title (H1 heading)
66
- - [ ] Passes spec with valid structure
67
-
68
- **Section Requirements:**
69
- - [ ] Detects missing required section "Overview"
70
- - [ ] Detects missing required section "Design"
71
- - [ ] Detects missing required section "Plan"
72
- - [ ] Passes when all required sections present
73
- - [ ] Template-specific section validation
74
-
75
- **Empty Sections:**
76
- - [ ] Detects empty required sections (when configured)
77
- - [ ] Passes sections with only comments (if allowed)
78
- - [ ] Passes sections with content
79
-
80
- **Duplicate Sections:**
81
- - [ ] Detects duplicate "## Plan" sections
82
- - [ ] Detects duplicate "## Test" sections
83
- - [ ] Allows same section name at different levels
84
- - [ ] Passes unique sections
85
-
86
- ### 3. Corruption Detection Tests
87
-
88
- **Duplicate Sections:**
89
- - [ ] Detects exact duplicate sections
90
- - [ ] Detects sections with same name at same level
91
- - [ ] Reports line numbers of duplicates
92
- - [ ] Passes specs with unique sections
93
-
94
- **Code Block Validation:**
95
- - [ ] Detects unclosed code block (missing closing ```)
96
- - [ ] Detects extra closing ``` without opening
97
- - [ ] Detects mismatched code fence lengths
98
- - [ ] Passes properly closed code blocks
99
-
100
- **JSON/YAML Validation:**
101
- - [ ] Detects incomplete JSON in code blocks
102
- - [ ] Detects invalid JSON syntax
103
- - [ ] Detects incomplete YAML in frontmatter
104
- - [ ] Detects invalid YAML syntax
105
- - [ ] Passes valid JSON blocks
106
- - [ ] Passes valid YAML blocks
107
-
108
- **Content Fragments:**
109
- - [ ] Detects duplicated content blocks
110
- - [ ] Detects partial duplicates (merge artifacts)
111
- - [ ] Detects remnants from failed edits
112
- - [ ] Passes unique content
113
-
114
- **Markdown Structure:**
115
- - [ ] Detects malformed lists
116
- - [ ] Detects broken tables
117
- - [ ] Detects unclosed formatting (bold, italic)
118
- - [ ] Passes valid markdown
119
-
120
- ### 4. Content Validation Tests
121
-
122
- **Minimum Length:**
123
- - [ ] Detects specs below minimum length
124
- - [ ] Passes specs above minimum length
125
- - [ ] Respects configured minimum
126
-
127
- **TODO/FIXME Detection:**
128
- - [ ] Detects TODO in complete specs
129
- - [ ] Detects FIXME in complete specs
130
- - [ ] Allows TODO in non-complete specs
131
- - [ ] Passes complete specs without TODO
132
-
133
- **Link Validation:**
134
- - [ ] Detects broken internal links
135
- - [ ] Detects links to non-existent specs
136
- - [ ] Passes valid internal links
137
- - [ ] Passes external links (not validated)
138
-
139
- **Placeholder Text:**
140
- - [ ] Detects common placeholder patterns
141
- - [ ] Passes real content
142
-
143
- ### 5. Staleness Tests
144
-
145
- **In-Progress Specs:**
146
- - [ ] Warns on in-progress spec > 30 days old
147
- - [ ] No warning for recent in-progress specs
148
- - [ ] Respects configured threshold
149
-
150
- **No Updates:**
151
- - [ ] Warns on spec with no updates > 90 days
152
- - [ ] No warning for recently updated specs
153
- - [ ] Uses git history when available
154
- - [ ] Falls back to file mtime
155
-
156
- **Planned Specs:**
157
- - [ ] Warns on planned spec > 60 days old
158
- - [ ] No warning for recent planned specs
159
-
160
- **Archived Specs:**
161
- - [ ] No staleness warnings for archived specs
162
-
163
- ### 6. Auto-Fix Tests
164
-
165
- **Frontmatter Fixes:**
166
- - [ ] Adds missing `status` field with default
167
- - [ ] Adds missing `created` field with current date
168
- - [ ] Formats dates to ISO 8601
169
- - [ ] Sorts frontmatter fields alphabetically
170
- - [ ] Updates visual badges from frontmatter
171
-
172
- **Structure Fixes:**
173
- - [ ] Adds missing required sections as comments
174
- - [ ] Removes duplicate sections (keeps first)
175
-
176
- **Corruption Fixes:**
177
- - [ ] Closes unclosed code blocks
178
- - [ ] Removes exact duplicate sections
179
-
180
- **Non-Fixable Issues:**
181
- - [ ] Reports invalid status (requires manual fix)
182
- - [ ] Reports empty sections (requires content)
183
- - [ ] Reports broken links (requires investigation)
184
-
185
- **Fix Reporting:**
186
- - [ ] Reports what was fixed
187
- - [ ] Reports what couldn't be fixed
188
- - [ ] Doesn't break valid specs
189
- - [ ] Maintains spec readability
190
-
191
- ### 7. Integration Tests
192
-
193
- **Multiple Specs:**
194
- - [ ] Validates all specs in project
195
- - [ ] Reports aggregate results
196
- - [ ] Handles large number of specs (100+)
197
-
198
- **Filtering:**
199
- - [ ] Filters by status work correctly
200
- - [ ] Filters by tag work correctly
201
- - [ ] Filters by priority work correctly
202
- - [ ] Path pattern filtering works
203
-
204
- **Output Formats:**
205
- - [ ] Console output is readable
206
- - [ ] JSON output is valid
207
- - [ ] Quiet mode produces minimal output
208
- - [ ] Verbose mode includes details
209
-
210
- **Exit Codes:**
211
- - [ ] Returns 0 when all checks pass
212
- - [ ] Returns 1 when errors found
213
- - [ ] Returns 2 when warnings in strict mode
214
- - [ ] Returns 3 on command error
215
-
216
- **Configuration:**
217
- - [ ] Respects custom config
218
- - [ ] Falls back to defaults
219
- - [ ] Command-line flags override config
220
- - [ ] Template-specific rules work
221
-
222
- **Backwards Compatibility:**
223
- - [ ] `lean-spec check` (sequence conflicts) behavior unchanged
224
- - [ ] `lean-spec validate` doesn't interfere with check command
225
- - [ ] Exit codes follow standard pattern
226
- - [ ] Output format is consistent
227
-
228
- ### 8. Performance Tests
229
-
230
- **Speed:**
231
- - [ ] Validates 10 specs in < 100ms
232
- - [ ] Validates 100 specs in < 1s
233
- - [ ] Parallel validation improves performance
234
-
235
- **Memory:**
236
- - [ ] Memory usage stays reasonable
237
- - [ ] No memory leaks with many specs
238
-
239
- **Caching:**
240
- - [ ] Cached results speed up repeated checks
241
- - [ ] Cache invalidation works correctly
242
-
243
- ### 9. Edge Cases
244
-
245
- **Empty Specs:**
246
- - [ ] Handles specs with only frontmatter
247
- - [ ] Handles completely empty files
248
-
249
- **Large Specs:**
250
- - [ ] Handles specs > 1000 lines
251
- - [ ] Handles specs with > 100 sections
252
- - [ ] Performance doesn't degrade
253
-
254
- **Special Characters:**
255
- - [ ] Handles Unicode in frontmatter
256
- - [ ] Handles special characters in content
257
- - [ ] Handles emoji in titles
258
-
259
- **Symlinks:**
260
- - [ ] Follows symlinks correctly
261
- - [ ] Detects circular symlinks
262
-
263
- **Sub-Spec Files:**
264
- - [ ] Validates specs with sub-files
265
- - [ ] Checks README.md in multi-file specs
266
- - [ ] Doesn't validate sub-files as specs
267
-
268
- ## Test Organization
269
-
270
- ```
271
- src/
272
- commands/
273
- check.test.ts # Command-level tests
274
- validators/
275
- frontmatter.test.ts # Frontmatter validator tests
276
- structure.test.ts # Structure validator tests
277
- corruption.test.ts # Corruption detector tests
278
- content.test.ts # Content validator tests
279
- staleness.test.ts # Staleness detector tests
280
- integration/
281
- check-integration.test.ts # End-to-end tests
282
- ```
283
-
284
- ## Test Data
285
-
286
- ```
287
- test-fixtures/
288
- valid/
289
- 001-valid-spec/
290
- README.md # Completely valid spec
291
- invalid-frontmatter/
292
- 002-missing-status/
293
- README.md # Missing status field
294
- 003-invalid-status/
295
- README.md # Invalid status value
296
- invalid-structure/
297
- 004-missing-sections/
298
- README.md # Missing required sections
299
- 005-duplicate-sections/
300
- README.md # Duplicate section headers
301
- corrupted/
302
- 006-unclosed-code-block/
303
- README.md # Unclosed code block
304
- 007-invalid-json/
305
- README.md # Malformed JSON in code block
306
- 008-duplicate-content/
307
- README.md # Duplicated content
308
- stale/
309
- 009-old-in-progress/
310
- README.md # Old in-progress spec
311
- ```
312
-
313
- ## Continuous Testing
314
-
315
- **Pre-Commit:**
316
- ```bash
317
- npm test # Run all tests
318
- ```
319
-
320
- **CI/CD:**
321
- ```yaml
322
- - name: Run tests
323
- run: npm test
324
-
325
- - name: Check coverage
326
- run: npm run test:coverage
327
- ```
328
-
329
- **Test Coverage Goals:**
330
- - Overall: >80%
331
- - Validators: >90%
332
- - Critical paths: 100%
333
-
334
- ## Manual Testing Checklist
335
-
336
- **Before Release:**
337
- - [ ] Test on real project (this repo)
338
- - [ ] Test backwards compatibility
339
- - [ ] Test performance with 100+ specs
340
- - [ ] Test all output formats
341
- - [ ] Test all command-line flags
342
- - [ ] Test configuration options
343
- - [ ] Test auto-fix on corrupted specs
344
- - [ ] Test CI/CD integration
345
- - [ ] Test pre-commit hook
346
-
347
- **Dogfooding:**
348
- - [ ] Use comprehensive checking on lean-spec itself
349
- - [ ] Fix any issues found
350
- - [ ] Verify no false positives
351
- - [ ] Collect user feedback
352
-
353
- ## Test Automation
354
-
355
- **Snapshot Testing:**
356
- - Output format snapshots
357
- - JSON structure snapshots
358
- - Error message snapshots
359
-
360
- **Property-Based Testing:**
361
- - Generate random specs
362
- - Verify validators don't crash
363
- - Verify auto-fix doesn't corrupt
364
-
365
- **Regression Testing:**
366
- - Save examples of past bugs
367
- - Ensure fixes remain effective
368
- - Prevent regressions
@@ -1,327 +0,0 @@
1
- # Validation Rules
2
-
3
- This document details what gets validated by `lean-spec validate` and the specific rules for each validation type.
4
-
5
- **Note:** This spec originally proposed expanding `lean-spec check`, but the implementation created `lean-spec validate` as a separate command.
6
-
7
- ## Implementation Status
8
-
9
- - ✅ **Line Count Validation** - Phase 1a Complete
10
- - ✅ **Frontmatter Validation** - Phase 1b Complete
11
- - ⏳ **Structure Validation** - Phase 2 (Planned)
12
- - ⏳ **Corruption Detection** - Phase 3 (High Priority)
13
- - ⏳ **Sub-Spec Validation** - Phase 3.5 (High Priority)
14
- - ⏳ **Content Validation** - Phase 4 (Optional)
15
- - ⏳ **Staleness Detection** - Phase 5 (Optional)
16
-
17
- ---
18
-
19
- ## Line Count Validation ✅
20
-
21
- **Status:** Implemented in Phase 1a
22
-
23
- **Thresholds:**
24
- - **Warning**: 300-400 lines (approaching limit)
25
- - **Error**: >400 lines (exceeds limit)
26
- - **Configurable**: `--max-lines` flag to customize limit
27
-
28
- **Rationale:**
29
- Enforces **Context Economy** principle - specs must fit in working memory (human and AI). Files >400 lines become difficult to read, edit, and maintain.
30
-
31
- **Suggestions:**
32
- - Warns: "Consider simplification or splitting"
33
- - Errors: "Consider splitting into sub-specs using spec 012 pattern"
34
-
35
- ---
36
-
37
- ## Frontmatter Validation ✅
38
-
39
- **Status:** Implemented in Phase 1b (27 tests passing)
40
-
41
- **Required Fields:**
42
- - `status` - Must be present
43
- - `created` - Must be present
44
-
45
- **Status Values:**
46
- - Valid: `planned`, `in-progress`, `complete`, `archived`
47
- - Invalid: Any other value (e.g., `wip`, `draft`, `done`)
48
-
49
- **Priority Values:**
50
- - Valid: `low`, `medium`, `high`, `critical`
51
- - Optional field, but if present must be valid
52
-
53
- **Date Formats:**
54
- - ISO 8601 format (YYYY-MM-DD or full ISO timestamp)
55
- - `created` field must be valid date
56
- - Other date fields (if present) must be valid
57
-
58
- **Tags:**
59
- - Must be array of strings
60
- - Example: `["quality", "validation", "cli"]`
61
-
62
- **Custom Fields:**
63
- - If config schema defined, custom fields must match
64
- - Type validation based on config
65
-
66
- ## Structure Validation
67
-
68
- **File Requirements:**
69
- - `README.md` must exist in spec directory
70
- - Frontmatter must be valid YAML
71
- - Must have title (H1 heading: `# Title`)
72
-
73
- **Section Requirements:**
74
- - Required sections based on template
75
- - Typically: Overview, Design, Plan, Test
76
- - No empty required sections (content beyond just comment)
77
- - No duplicate section headers at same level
78
-
79
- ## Sub-Spec Validation
80
-
81
- **File Naming Conventions (from spec 012):**
82
- - Sub-spec files should follow recommended naming patterns
83
- - Standard names: `DESIGN.md`, `IMPLEMENTATION.md`, `TESTING.md`, `API.md`, `ARCHITECTURE.md`, `MIGRATION.md`, `CONFIGURATION.md`, etc.
84
- - Custom names allowed but should be descriptive (e.g., `PHASE1.md`, `RESEARCH.md`)
85
- - Assets should be in `assets/` subdirectory
86
-
87
- **README.md Integration:**
88
- - Main `README.md` should reference all sub-spec files
89
- - Links can be in any section (Overview, Design, etc.)
90
- - Missing links to sub-specs generate warnings
91
- - Example: `[Testing Strategy](TESTING.md)` or `See [DESIGN.md](DESIGN.md)`
92
-
93
- **Line Count Per Sub-Spec (Context Economy):**
94
- - Each sub-spec file should be < 400 lines (error threshold)
95
- - Warning at 300 lines (same as main spec)
96
- - Rationale: Context Economy applies to each file independently
97
- - Sub-specs exist to split complexity - they shouldn't become bloated
98
-
99
- **Orphan Detection:**
100
- - Detect sub-spec markdown files not referenced from README.md
101
- - Warn about orphaned sub-specs (may be deprecated)
102
- - Exception: README.md itself is never orphaned
103
- - Assets (.png, .svg, etc.) are checked separately
104
-
105
- **Cross-Document Validation:**
106
- - Validate internal links between sub-specs work correctly
107
- - Check relative paths are correct
108
- - Detect circular references (if spec A links to B, B to C, C to A)
109
-
110
- **Sub-Spec Structure:**
111
- - Each sub-spec should have clear heading structure
112
- - Should include backlink to main spec (recommended)
113
- - Example: `> Part of spec: [018-spec-validation](README.md)`
114
-
115
- ## Content Validation
116
-
117
- **Minimum Requirements:**
118
- - Spec must have minimum content length (avoid stub specs)
119
- - Default: 100 characters (configurable)
120
-
121
- **Quality Checks:**
122
- - No TODO/FIXME in complete specs
123
- - Internal links should be valid (no broken references)
124
- - No placeholder text in complete specs
125
-
126
- ## Corruption Detection
127
-
128
- **Duplicate Content:**
129
- - No duplicate section headers at same level
130
- - Detect sections appearing multiple times
131
- - Example: "## Plan" appearing twice in same spec
132
-
133
- **Code Block Validation:**
134
- - All code blocks properly closed (unclosed blocks break syntax highlighting)
135
- - Matching number of opening ``` and closing ```
136
- - This is the #1 indicator of corruption humans notice visually
137
-
138
- **Formatting Validation:**
139
- - Unclosed bold formatting (**) in actual content
140
- - Unclosed italic formatting (*) in actual content
141
- - Excludes code blocks, inline code, and list markers from checks
142
- - Only validates markdown content outside code fences
143
-
144
- **Duplicate Content Detection:**
145
- - Detects duplicated content blocks (5+ consecutive lines, 100+ chars)
146
- - Excludes code blocks to prevent false positives from code examples
147
- - Tuned to reduce noise: was 3 lines/50 chars (too sensitive)
148
- - Helps find merge artifacts and failed edits
149
- - Warnings only (not errors) as some duplication is intentional
150
-
151
- **Intentionally Excluded:**
152
- - ❌ JSON/YAML validation in code blocks (examples often show invalid syntax)
153
- - ❌ Table and list structure validation (too noisy, not actual corruption)
154
-
155
- **Sub-Spec Duplication:**
156
- - Detect if same content appears in multiple sub-specs
157
- - Warn about significant content overlap between files
158
- - Helps identify when content should be consolidated
159
-
160
- ### Corruption Detection Philosophy
161
-
162
- **Focus on visually apparent corruption:**
163
- - What breaks rendering (unclosed code blocks, unclosed formatting)
164
- - What humans actually notice when reading specs
165
- - Not semantic issues or style preferences
166
-
167
- **Why we exclude certain checks:**
168
- - JSON/YAML in code blocks: Examples intentionally show invalid syntax
169
- - Duplicate content detection: Many false positives from boilerplate/templates
170
- - Table/list validation: Too noisy, rarely indicates actual corruption
171
-
172
- **Tuning for signal-to-noise:**
173
- - Originally: 3 lines, 50 chars → 13 duplicate warnings across all specs
174
- - Improved: 5 lines, 100 chars, exclude code blocks → More targeted detection
175
- - Goal: Only flag genuine corruption, not common patterns
176
-
177
- ## Staleness Detection
178
-
179
- **In-Progress Specs:**
180
- - Warn if status is `in-progress` for > 30 days
181
- - Suggests spec might be stalled
182
-
183
- **No Updates:**
184
- - Warn if no updates in > 90 days
185
- - Based on git history or file mtime
186
- - Suggests spec might be abandoned
187
-
188
- **Planned Specs:**
189
- - Warn if status is `planned` for > 60 days
190
- - Suggests planning without execution
191
-
192
- **Archived Specs:**
193
- - No staleness warnings for archived specs
194
- - Archived specs are expected to be static
195
-
196
- ## Auto-Fix Capabilities
197
-
198
- ### Fixable Issues
199
-
200
- **Frontmatter:**
201
- - Add missing required fields (use defaults)
202
- - Format dates to ISO 8601 standard
203
- - Sort frontmatter fields alphabetically
204
- - Update visual badges to match frontmatter
205
-
206
- **Structure:**
207
- - Add missing required sections (as comments)
208
- - Remove duplicate sections (keep first occurrence)
209
- - Close unclosed code blocks (where unambiguous)
210
-
211
- **Sub-Specs:**
212
- - Add missing links to sub-specs in README.md
213
- - Generate suggested backlinks for sub-specs
214
- - Create "Documentation Structure" section if missing (when sub-specs exist)
215
-
216
- ### Non-Fixable Issues
217
-
218
- These require manual intervention:
219
- - Invalid status/priority values (requires decision)
220
- - Empty required sections (requires content)
221
- - Broken links (requires investigation)
222
- - Stale specs (requires status update or work)
223
- - Complex corruption (requires human judgment)
224
-
225
- ## Error Severity Levels
226
-
227
- **Error (blocks passing):**
228
- - Missing required fields
229
- - Invalid status/priority values
230
- - Duplicate sections
231
- - Corrupted code blocks
232
- - Invalid JSON/YAML syntax
233
- - Malformed markdown structure
234
-
235
- **Warning (passes with warning):**
236
- - Stale specs
237
- - Suggested improvements
238
- - Minor formatting issues
239
- - Empty optional sections
240
-
241
- **Info (informational):**
242
- - Best practice suggestions
243
- - Style recommendations
244
- - Optimization hints
245
-
246
- ## Validation Rules Configuration
247
-
248
- Rules can be customized in `.lean-spec/config.json`:
249
-
250
- ```json
251
- {
252
- "check": {
253
- "rules": {
254
- "frontmatter": {
255
- "required": ["status", "created"],
256
- "allowedStatus": ["planned", "in-progress", "complete", "archived"],
257
- "allowedPriority": ["low", "medium", "high", "critical"]
258
- },
259
- "structure": {
260
- "requireReadme": true,
261
- "requiredSections": ["Overview", "Design", "Plan"],
262
- "forbidEmptySections": true
263
- },
264
- "content": {
265
- "minLength": 100,
266
- "forbidTodoInComplete": true,
267
- "validateLinks": true
268
- },
269
- "corruption": {
270
- "detectDuplicateSections": true,
271
- "validateCodeBlocks": true,
272
- "validateJsonYaml": true,
273
- "detectFragments": true
274
- },
275
- "staleness": {
276
- "inProgressMaxDays": 30,
277
- "noUpdateMaxDays": 90,
278
- "plannedMaxDays": 60
279
- },
280
- "subSpecs": {
281
- "validateNaming": true,
282
- "requireReferences": true,
283
- "detectOrphans": true,
284
- "maxLinesPerFile": 400,
285
- "warnLinesPerFile": 300,
286
- "validateCrossReferences": true,
287
- "standardNames": [
288
- "DESIGN.md",
289
- "IMPLEMENTATION.md",
290
- "TESTING.md",
291
- "API.md",
292
- "ARCHITECTURE.md",
293
- "MIGRATION.md",
294
- "CONFIGURATION.md"
295
- ]
296
- }
297
- }
298
- }
299
- }
300
- ```
301
-
302
- ## Why These Rules?
303
-
304
- **Frontmatter:**
305
- - Ensures specs are trackable and categorizable
306
- - Required fields enable automation and reporting
307
- - Valid values prevent typos and inconsistencies
308
-
309
- **Structure:**
310
- - Maintains consistency across team
311
- - Makes specs easier to navigate
312
- - Enables automated processing
313
-
314
- **Content:**
315
- - Prevents stub specs from cluttering project
316
- - Ensures specs are complete before marking done
317
- - Maintains quality standards
318
-
319
- **Corruption:**
320
- - Catches errors from failed AI edits
321
- - Prevents shipping broken specs
322
- - Early detection saves debugging time
323
-
324
- **Staleness:**
325
- - Identifies abandoned work
326
- - Prompts status updates
327
- - Keeps project health visible