@leanspec/ui 0.2.8 → 0.2.9-dev.20251205030455
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.
- package/.next/standalone/node_modules/.pnpm/better-sqlite3@11.10.0/node_modules/better-sqlite3/build/Release/better_sqlite3.node +0 -0
- package/.next/standalone/node_modules/.pnpm/source-map@0.8.0-beta.0/node_modules/source-map/package.json +95 -0
- package/.next/standalone/packages/ui/.next/BUILD_ID +1 -1
- package/.next/standalone/packages/ui/.next/app-path-routes-manifest.json +8 -0
- package/.next/standalone/packages/ui/.next/build-manifest.json +4 -4
- package/.next/standalone/packages/ui/.next/prerender-manifest.json +3 -3
- package/.next/standalone/packages/ui/.next/required-server-files.json +4 -4
- package/.next/standalone/packages/ui/.next/routes-manifest.json +60 -0
- package/.next/standalone/packages/ui/.next/server/app/_global-error/page/build-manifest.json +2 -2
- package/.next/standalone/packages/ui/.next/server/app/_global-error/page.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app/_global-error.html +2 -2
- package/.next/standalone/packages/ui/.next/server/app/_global-error.rsc +1 -1
- package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/packages/ui/.next/server/app/_not-found/page/build-manifest.json +2 -2
- package/.next/standalone/packages/ui/.next/server/app/_not-found/page.js +2 -2
- package/.next/standalone/packages/ui/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app/_not-found.html +2 -2
- package/.next/standalone/packages/ui/.next/server/app/_not-found.rsc +18 -18
- package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_full.segment.rsc +18 -18
- package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_index.segment.rsc +11 -11
- package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +3 -3
- package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
- package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_tree.segment.rsc +5 -5
- package/.next/standalone/packages/ui/.next/server/app/api/context/route.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/context/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/dependencies/route/app-paths-manifest.json +3 -0
- package/.next/standalone/packages/ui/.next/server/app/api/dependencies/route/build-manifest.json +11 -0
- package/.next/standalone/packages/ui/.next/server/app/api/dependencies/route/server-reference-manifest.json +4 -0
- package/.next/standalone/packages/ui/.next/server/app/api/dependencies/route.js +8 -0
- package/.next/standalone/packages/ui/.next/server/app/api/dependencies/route.js.map +5 -0
- package/.next/standalone/packages/ui/.next/server/app/api/dependencies/route.js.nft.json +1 -0
- package/.next/standalone/packages/ui/.next/server/app/api/dependencies/route_client-reference-manifest.js +2 -0
- package/.next/standalone/packages/ui/.next/server/app/api/local-projects/[id]/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/local-projects/discover/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/local-projects/list-directory/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/local-projects/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/context/route/app-paths-manifest.json +3 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/context/route/build-manifest.json +11 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/context/route/server-reference-manifest.json +4 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/context/route.js +8 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/context/route.js.map +5 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/context/route.js.nft.json +1 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/context/route_client-reference-manifest.js +2 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/dependencies/route/app-paths-manifest.json +3 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/dependencies/route/build-manifest.json +11 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/dependencies/route/server-reference-manifest.json +4 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/dependencies/route.js +8 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/dependencies/route.js.map +5 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/dependencies/route.js.nft.json +1 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/dependencies/route_client-reference-manifest.js +2 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/route.js +1 -3
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/route.js +1 -2
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/status/route.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/status/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/route.js +1 -2
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/stats/route.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/stats/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/validate/route/app-paths-manifest.json +3 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/validate/route/build-manifest.json +11 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/validate/route/server-reference-manifest.json +4 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/validate/route.js +6 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/validate/route.js.map +5 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/validate/route.js.nft.json +1 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/validate/route_client-reference-manifest.js +2 -0
- package/.next/standalone/packages/ui/.next/server/app/api/projects/route.js +1 -3
- package/.next/standalone/packages/ui/.next/server/app/api/projects/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/revalidate/route.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/revalidate/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/dependency-graph/route.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/dependency-graph/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/route.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/status/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/subspecs/[file]/route.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/subspecs/[file]/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/stats/route.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app/api/stats/route.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/context/page/build-manifest.json +2 -2
- package/.next/standalone/packages/ui/.next/server/app/context/page.js +2 -2
- package/.next/standalone/packages/ui/.next/server/app/context/page.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/context/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app/dependencies/page/app-paths-manifest.json +3 -0
- package/.next/standalone/packages/ui/.next/server/app/dependencies/page/build-manifest.json +18 -0
- package/.next/standalone/packages/ui/.next/server/app/dependencies/page/next-font-manifest.json +6 -0
- package/.next/standalone/packages/ui/.next/server/app/dependencies/page/react-loadable-manifest.json +1 -0
- package/.next/standalone/packages/ui/.next/server/app/dependencies/page/server-reference-manifest.json +4 -0
- package/.next/standalone/packages/ui/.next/server/app/dependencies/page.js +19 -0
- package/.next/standalone/packages/ui/.next/server/app/dependencies/page.js.map +5 -0
- package/.next/standalone/packages/ui/.next/server/app/dependencies/page.js.nft.json +1 -0
- package/.next/standalone/packages/ui/.next/server/app/dependencies/page_client-reference-manifest.js +2 -0
- package/.next/standalone/packages/ui/.next/server/app/page/build-manifest.json +2 -2
- package/.next/standalone/packages/ui/.next/server/app/page.js +4 -3
- package/.next/standalone/packages/ui/.next/server/app/page.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page/app-paths-manifest.json +3 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page/build-manifest.json +18 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page/next-font-manifest.json +6 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page/react-loadable-manifest.json +1 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page/server-reference-manifest.json +4 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page.js +21 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page.js.map +5 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page.js.nft.json +1 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page_client-reference-manifest.js +2 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page/app-paths-manifest.json +3 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page/build-manifest.json +18 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page/next-font-manifest.json +6 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page/react-loadable-manifest.json +1 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page/server-reference-manifest.json +4 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page.js +21 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page.js.map +5 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page.js.nft.json +1 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page_client-reference-manifest.js +2 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page/build-manifest.json +2 -2
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page.js +7 -7
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page/build-manifest.json +2 -2
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page.js +8 -7
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page/build-manifest.json +2 -2
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page.js +7 -6
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page/app-paths-manifest.json +3 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page/build-manifest.json +18 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page/next-font-manifest.json +6 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page/react-loadable-manifest.json +1 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page/server-reference-manifest.json +4 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page.js +21 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page.js.map +5 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page.js.nft.json +1 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page_client-reference-manifest.js +2 -0
- package/.next/standalone/packages/ui/.next/server/app/projects/page/build-manifest.json +2 -2
- package/.next/standalone/packages/ui/.next/server/app/projects/page.js +7 -6
- package/.next/standalone/packages/ui/.next/server/app/projects/page.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/projects/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app/projects.html +2 -2
- package/.next/standalone/packages/ui/.next/server/app/projects.rsc +24 -23
- package/.next/standalone/packages/ui/.next/server/app/projects.segments/_full.segment.rsc +24 -23
- package/.next/standalone/packages/ui/.next/server/app/projects.segments/_index.segment.rsc +9 -9
- package/.next/standalone/packages/ui/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/packages/ui/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/packages/ui/.next/server/app/projects.segments/projects.segment.rsc +1 -1
- package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page/build-manifest.json +2 -2
- package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page.js +2 -2
- package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app/specs/page/build-manifest.json +2 -2
- package/.next/standalone/packages/ui/.next/server/app/specs/page.js +2 -2
- package/.next/standalone/packages/ui/.next/server/app/specs/page.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/specs/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app/stats/page/build-manifest.json +2 -2
- package/.next/standalone/packages/ui/.next/server/app/stats/page.js +2 -2
- package/.next/standalone/packages/ui/.next/server/app/stats/page.js.nft.json +1 -1
- package/.next/standalone/packages/ui/.next/server/app/stats/page_client-reference-manifest.js +1 -1
- package/.next/standalone/packages/ui/.next/server/app-paths-manifest.json +8 -0
- package/.next/standalone/packages/ui/.next/server/chunks/6681a__next-internal_server_app_api_projects_[id]_dependencies_route_actions_7ac49581.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/730ea_ui__next-internal_server_app_api_projects_[id]_context_route_actions_96adca70.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/730ea_ui__next-internal_server_app_api_projects_[id]_validate_route_actions_b60372c9.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/[externals]_better-sqlite3_a1cc22cb._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__1706515f._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__18aca702._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__27348781._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__3a7f0840._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__3e17db24._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__5f1e0195._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__6e06fd2a._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__71d98924._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__97b99cc0._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__9d9758e1._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__b1ad8b69._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__b212b9bd._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__b9c03a57._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__e99e7672._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__f38a5f20._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/{[root-of-the-server]__126dea7b._.js → [root-of-the-server]__fa8cf2bc._.js} +2 -2
- package/.next/standalone/packages/ui/.next/server/chunks/packages_ui__next-internal_server_app_api_dependencies_route_actions_cf6b14c3.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/packages_ui_src_lib_specs_sources_database-source_ts_b8c1af87._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/packages_ui_src_lib_specs_sources_database-source_ts_baa0160d._.js +72 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/730ea_ui__next-internal_server_app_projects_[projectId]_context_page_actions_e4940a48.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/730ea_ui__next-internal_server_app_projects_[projectId]_stats_page_actions_82a85203.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__0f0dade1._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__13f96ef4._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__212c8580._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__2b66bcca._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__312221a2._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__366688dd._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/{[root-of-the-server]__fd80e4dd._.js → [root-of-the-server]__38c56adc._.js} +2 -2
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__44b603f9._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__46b71f61._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__53f4506c._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__665ae766._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__84124d4b._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__921689ca._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__a34731d8._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__a9d7fd42._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__b0d6e2ad._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__b27b2469._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__b3633d6e._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__dcee62dd._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_000dd317._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_03aa8d19._.js +7 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/{_39562b2a._.js → _170362f4._.js} +3 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_1a642e67._.js +4 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_28fe1532._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/{_85effc18._.js → _2bc76f88._.js} +3 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/{_fdd7780b._.js → _3f059230._.js} +3 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_58b98a8f._.js +4 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_8ab6f9ca._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_90eed09a._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/{_22274047._.js → _adb9d7cb._.js} +2 -2
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_b303aeea._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/{_bae6d2b8._.js → _b421ba4a._.js} +3 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_d840ffc6._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_da18b655._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_ec637d7c._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_f05260d6._.js +4 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_f38e75b7._.js +4 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_f9129aae._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/f825c_server_app_projects_[projectId]_dependencies_page_actions_ba2321b8.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_0056f1f2._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_015f83ca._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_30b0b05a._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_478d57e5._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_4e3e790c._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_80605a06._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/{node_modules__pnpm_f5b29533._.js → node_modules__pnpm_8680dc29._.js} +2 -2
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/{node_modules__pnpm_e175b92a._.js → node_modules__pnpm_94a0b1f5._.js} +2 -2
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_b4ff5c78._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_bb80de48._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/{node_modules__pnpm_7791e3b8._.js → node_modules__pnpm_d3262b3d._.js} +2 -2
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_e8075f9b._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_f919ef4a._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui__next-internal_server_app_dependencies_page_actions_57387d47.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_context_context-client_tsx_4ba99a62._.js +2 -2
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_dependencies_dependencies-client_tsx_0e82443a._.js +4 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_projects_layout_tsx_86c2ce0f._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_projects_page_tsx_6e166c8e._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_specs_specs-client_tsx_0bb8f8f8._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_components_spec-detail-wrapper_tsx_fd35401c._.js +3 -0
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_components_specs-nav-sidebar_tsx_8237ed13._.js +1 -1
- package/.next/standalone/packages/ui/.next/server/middleware-build-manifest.js +2 -2
- package/.next/standalone/packages/ui/.next/server/pages/404.html +2 -2
- package/.next/standalone/packages/ui/.next/server/pages/500.html +2 -2
- package/.next/standalone/packages/ui/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/packages/ui/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/packages/ui/.next/static/chunks/04de9ed512b8098b.js +10 -0
- package/.next/standalone/packages/ui/.next/static/chunks/1e0689744f87e958.js +2 -0
- package/.next/standalone/packages/ui/.next/static/chunks/3d12a8c3152b526d.js +3 -0
- package/.next/standalone/packages/ui/.next/static/chunks/4610aea3ca2e69eb.js +2 -0
- package/.next/standalone/packages/ui/.next/static/chunks/46275d9d67603bf5.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/7931c6cb379305b1.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/7a00633903e066b4.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/{942cf63b4032c808.js → 7df6308e6cfcf902.js} +1 -1
- package/.next/standalone/packages/ui/.next/static/chunks/7f9a218732be8099.js +5 -0
- package/.next/standalone/packages/ui/.next/static/chunks/840c6743a491a398.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/8a6e8f3394240dbb.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/8d8c106c6848d15b.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/a5e25b9fa6b88eee.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/a640b005f2e15d98.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/a7075a240adea8e8.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/b53250480fde6816.js +1 -0
- package/.next/{static/chunks/794f3931f1ca12d2.js → standalone/packages/ui/.next/static/chunks/bbd498aa5689c057.js} +1 -1
- package/.next/standalone/packages/ui/.next/static/chunks/c26909a25ca9fc9b.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/c658e22a605e0ed1.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/c92660d8d0c4763d.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/{e3bc96a996e2a314.js → d26f4109b44eb240.js} +1 -1
- package/.next/standalone/packages/ui/.next/static/chunks/{3276ca6fd9005903.js → d52a048b511c32bd.js} +1 -1
- package/.next/standalone/packages/ui/.next/static/chunks/ddb2935cfe5310c7.css +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/e399b4afc7936907.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/f924ae32752e1583.js +1 -0
- package/.next/standalone/packages/ui/.next/static/chunks/ff11efb770d5a0bc.js +1 -0
- package/.next/{static/chunks/turbopack-5fa55215af0efb15.js → standalone/packages/ui/.next/static/chunks/turbopack-261c5dcdd873f310.js} +1 -1
- package/.next/standalone/packages/ui/package.json +3 -1
- package/.next/standalone/packages/ui/server.js +1 -1
- package/.next/standalone/packages/ui/src/app/api/dependencies/route.ts +81 -0
- package/.next/standalone/packages/ui/src/app/api/projects/[id]/context/route.ts +39 -0
- package/.next/standalone/packages/ui/src/app/api/projects/[id]/dependencies/route.ts +69 -0
- package/.next/standalone/packages/ui/src/app/api/projects/[id]/route.ts +25 -9
- package/.next/standalone/packages/ui/src/app/api/projects/[id]/specs/[spec]/route.ts +14 -14
- package/.next/standalone/packages/ui/src/app/api/projects/[id]/specs/route.ts +9 -8
- package/.next/standalone/packages/ui/src/app/api/projects/[id]/validate/route.ts +49 -0
- package/.next/standalone/packages/ui/src/app/api/projects/route.ts +18 -5
- package/.next/standalone/packages/ui/src/app/api/specs/[id]/dependency-graph/route.test.ts +0 -2
- package/.next/standalone/packages/ui/src/app/api/specs/[id]/dependency-graph/route.ts +0 -15
- package/.next/standalone/packages/ui/src/app/context/context-client.tsx +23 -1
- package/.next/standalone/packages/ui/src/app/dashboard-client.tsx +29 -58
- package/.next/standalone/packages/ui/src/app/dependencies/constants.ts +25 -0
- package/.next/standalone/packages/ui/src/app/dependencies/dependencies-client.tsx +700 -0
- package/.next/standalone/packages/ui/src/app/dependencies/index.ts +19 -0
- package/.next/standalone/packages/ui/src/app/dependencies/page.tsx +38 -0
- package/.next/standalone/packages/ui/src/app/dependencies/spec-node.tsx +80 -0
- package/.next/standalone/packages/ui/src/app/dependencies/spec-sidebar.tsx +171 -0
- package/.next/standalone/packages/ui/src/app/dependencies/types.ts +37 -0
- package/.next/standalone/packages/ui/src/app/dependencies/utils.ts +194 -0
- package/.next/standalone/packages/ui/src/app/page.tsx +24 -0
- package/.next/standalone/packages/ui/src/app/projects/[projectId]/context/page.tsx +41 -0
- package/.next/standalone/packages/ui/src/app/projects/[projectId]/dependencies/page.tsx +43 -0
- package/.next/standalone/packages/ui/src/app/projects/[projectId]/page.tsx +18 -2
- package/.next/standalone/packages/ui/src/app/projects/[projectId]/stats/page.tsx +24 -0
- package/.next/standalone/packages/ui/src/app/projects/layout.tsx +7 -0
- package/.next/standalone/packages/ui/src/app/projects/page.tsx +167 -20
- package/.next/standalone/packages/ui/src/app/specs/specs-client.tsx +27 -17
- package/.next/standalone/packages/ui/src/components/color-picker.tsx +73 -0
- package/.next/standalone/packages/ui/src/components/context-file-detail.tsx +308 -0
- package/.next/standalone/packages/ui/src/components/context-file-viewer.tsx +96 -2
- package/.next/standalone/packages/ui/src/components/create-project-dialog.tsx +3 -5
- package/.next/standalone/packages/ui/src/components/directory-picker.tsx +1 -0
- package/.next/standalone/packages/ui/src/components/main-sidebar.tsx +31 -6
- package/.next/standalone/packages/ui/src/components/markdown-link.tsx +15 -8
- package/.next/standalone/packages/ui/src/components/project-switcher.tsx +24 -5
- package/.next/standalone/packages/ui/src/components/quick-search.tsx +3 -1
- package/.next/standalone/packages/ui/src/components/spec-dependency-graph.tsx +13 -52
- package/.next/standalone/packages/ui/src/components/spec-detail-client.tsx +36 -11
- package/.next/standalone/packages/ui/src/components/spec-detail-wrapper.tsx +3 -4
- package/.next/standalone/packages/ui/src/components/specs-nav-sidebar.tsx +8 -6
- package/.next/standalone/packages/ui/src/contexts/project-context.tsx +24 -0
- package/.next/standalone/packages/ui/src/lib/db/service-queries.ts +85 -31
- package/.next/standalone/packages/ui/src/lib/dependency-graph.ts +0 -13
- package/.next/standalone/packages/ui/src/types/specs.ts +6 -4
- package/.next/standalone/packages/ui/tsconfig.tsbuildinfo +1 -1
- package/.next/static/chunks/04de9ed512b8098b.js +10 -0
- package/.next/static/chunks/1e0689744f87e958.js +2 -0
- package/.next/static/chunks/3d12a8c3152b526d.js +3 -0
- package/.next/static/chunks/4610aea3ca2e69eb.js +2 -0
- package/.next/static/chunks/46275d9d67603bf5.js +1 -0
- package/.next/static/chunks/7931c6cb379305b1.js +1 -0
- package/.next/static/chunks/7a00633903e066b4.js +1 -0
- package/.next/static/chunks/{942cf63b4032c808.js → 7df6308e6cfcf902.js} +1 -1
- package/.next/static/chunks/7f9a218732be8099.js +5 -0
- package/.next/static/chunks/840c6743a491a398.js +1 -0
- package/.next/static/chunks/8a6e8f3394240dbb.js +1 -0
- package/.next/static/chunks/8d8c106c6848d15b.js +1 -0
- package/.next/static/chunks/a5e25b9fa6b88eee.js +1 -0
- package/.next/static/chunks/a640b005f2e15d98.js +1 -0
- package/.next/static/chunks/a7075a240adea8e8.js +1 -0
- package/.next/static/chunks/b53250480fde6816.js +1 -0
- package/.next/{standalone/packages/ui/.next/static/chunks/794f3931f1ca12d2.js → static/chunks/bbd498aa5689c057.js} +1 -1
- package/.next/static/chunks/c26909a25ca9fc9b.js +1 -0
- package/.next/static/chunks/c658e22a605e0ed1.js +1 -0
- package/.next/static/chunks/c92660d8d0c4763d.js +1 -0
- package/.next/static/chunks/{e3bc96a996e2a314.js → d26f4109b44eb240.js} +1 -1
- package/.next/static/chunks/{3276ca6fd9005903.js → d52a048b511c32bd.js} +1 -1
- package/.next/static/chunks/ddb2935cfe5310c7.css +1 -0
- package/.next/static/chunks/e399b4afc7936907.js +1 -0
- package/.next/static/chunks/f924ae32752e1583.js +1 -0
- package/.next/static/chunks/ff11efb770d5a0bc.js +1 -0
- package/.next/{standalone/packages/ui/.next/static/chunks/turbopack-5fa55215af0efb15.js → static/chunks/turbopack-261c5dcdd873f310.js} +1 -1
- package/package.json +4 -2
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__65667b70._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__675a763e._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__803d07f0._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__8233e09b._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__84cdc14a._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__8a9ab1a3._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__aa677b0d._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__ae726e9c._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__bdc3963a._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__f06435b0._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__f5c6d6b8._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__fb91986f._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/packages_ui_src_lib_db_index_ts_556307fa._.js +0 -74
- package/.next/standalone/packages/ui/.next/server/chunks/packages_ui_src_lib_specs_sources_database-source_ts_0bd881ee._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__01bfc8ff._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__12b4eb41._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__4ec37765._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__50122e7e._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__6e739186._.js +0 -7
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__88a691ee._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__a4c56419._.js +0 -7
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__b6632d78._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__bdbbba01._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__cc589a54._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__daee3355._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__ead1539c._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_0f9ffe32._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_315f3b3a._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_3b617676._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_9dcf102b._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_ac867463._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/_b397e94a._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_3ba1438c._.js +0 -3
- package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_8272a49c._.js +0 -3
- package/.next/standalone/packages/ui/.next/static/chunks/1eb8283995f370c6.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/20f4141ccb5d4eb4.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/2c85b8059e42248a.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/336e8e8fc6b0fba8.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/37a1236ed50645a6.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/3b6b058ebd14dbed.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/9d84ba08a41145ec.js +0 -5
- package/.next/standalone/packages/ui/.next/static/chunks/b8353eb8c6fb895e.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/c4b1faff3361a749.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/d7420d2a867e57b5.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/dae403679aae65f4.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/efded9da04c960d8.js +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/f382932f1a5d6359.js +0 -10
- package/.next/standalone/packages/ui/.next/static/chunks/f43b6e43b4da1a32.css +0 -1
- package/.next/standalone/packages/ui/.next/static/chunks/f6dd06e6d22d2d12.js +0 -3
- package/.next/standalone/packages/ui/dist/BUILD_ID +0 -1
- package/.next/standalone/packages/ui/dist/public/f864aa7e7061c0600e35cf3d879b27cf.txt +0 -1
- package/.next/standalone/packages/ui/dist/public/favicon.ico +0 -0
- package/.next/standalone/packages/ui/dist/public/file.svg +0 -1
- package/.next/standalone/packages/ui/dist/public/github-mark-white.svg +0 -1
- package/.next/standalone/packages/ui/dist/public/github-mark.svg +0 -1
- package/.next/standalone/packages/ui/dist/public/globe.svg +0 -1
- package/.next/standalone/packages/ui/dist/public/icon.svg +0 -7
- package/.next/standalone/packages/ui/dist/public/logo-dark-bg.svg +0 -17
- package/.next/standalone/packages/ui/dist/public/logo-with-bg.svg +0 -17
- package/.next/standalone/packages/ui/dist/public/logo.svg +0 -17
- package/.next/standalone/packages/ui/dist/public/next.svg +0 -1
- package/.next/standalone/packages/ui/dist/public/vercel.svg +0 -1
- package/.next/standalone/packages/ui/dist/public/window.svg +0 -1
- package/.next/standalone/packages/ui/dist/standalone/packages/web/README.md +0 -196
- package/.next/standalone/packages/ui/dist/standalone/packages/web/package.json +0 -75
- package/.next/standalone/packages/ui/dist/standalone/packages/web/server.js +0 -44
- package/.next/standalone/packages/ui/dist/standalone/specs/014-complete-custom-frontmatter/README.md +0 -175
- package/.next/standalone/packages/ui/dist/standalone/specs/016-github-action/README.md +0 -317
- package/.next/standalone/packages/ui/dist/standalone/specs/017-vscode-extension/README.md +0 -261
- package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/CLI-DESIGN.md +0 -380
- package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/CONFIGURATION-EXAMPLES.md +0 -230
- package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/CONFIGURATION.md +0 -285
- package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/IMPLEMENTATION.md +0 -358
- package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/README.md +0 -303
- package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/TESTING.md +0 -368
- package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/VALIDATION-RULES.md +0 -327
- package/.next/standalone/packages/ui/dist/standalone/specs/024-pattern-aware-list-grouping/README.md +0 -117
- package/.next/standalone/packages/ui/dist/standalone/specs/025-template-config-updates/README.md +0 -73
- package/.next/standalone/packages/ui/dist/standalone/specs/026-init-pattern-selection/README.md +0 -109
- package/.next/standalone/packages/ui/dist/standalone/specs/034-copilot-slash-commands/README.md +0 -107
- package/.next/standalone/packages/ui/dist/standalone/specs/035-live-specs-showcase/ARCHITECTURE.md +0 -244
- package/.next/standalone/packages/ui/dist/standalone/specs/035-live-specs-showcase/IMPLEMENTATION.md +0 -429
- package/.next/standalone/packages/ui/dist/standalone/specs/035-live-specs-showcase/README.md +0 -302
- package/.next/standalone/packages/ui/dist/standalone/specs/036-pm-integrations/README.md +0 -158
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DEMO-AI-ASSISTED.md +0 -359
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DEMO-FULL-LIFECYCLE.md +0 -86
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DEMO-REAL-FEATURE.md +0 -437
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DEMO-SCRIPT.md +0 -365
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DOGFOODING-FINAL.md +0 -203
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DOGFOODING-SESSION-2025-11-06.md +0 -174
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/DOGFOODING-SUMMARY.md +0 -156
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/IMPLEMENTATION.md +0 -183
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/MARKETING.md +0 -229
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/NEXT-STEPS-DEMO.md +0 -243
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/README.md +0 -217
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/SESSION-2025-11-06.md +0 -166
- package/.next/standalone/packages/ui/dist/standalone/specs/043-official-launch-02/TESTING.md +0 -126
- package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/ACTUAL-IMPLEMENTATION.md +0 -108
- package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/DESIGN.md +0 -382
- package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/IMPLEMENTATION.md +0 -144
- package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/RATIONALE.md +0 -146
- package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/README.md +0 -208
- package/.next/standalone/packages/ui/dist/standalone/specs/045-unified-dashboard/TESTING.md +0 -182
- package/.next/standalone/packages/ui/dist/standalone/specs/047-git-backfill-timestamps/README.md +0 -314
- package/.next/standalone/packages/ui/dist/standalone/specs/048-spec-complexity-analysis/FINDINGS.md +0 -113
- package/.next/standalone/packages/ui/dist/standalone/specs/048-spec-complexity-analysis/GUIDELINES.md +0 -237
- package/.next/standalone/packages/ui/dist/standalone/specs/048-spec-complexity-analysis/README.md +0 -149
- package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/ANALYSIS-COMPARISONS.md +0 -175
- package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/ANALYSIS-CONSTRAINTS.md +0 -254
- package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/FIRST-PRINCIPLES.md +0 -376
- package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/OPERATIONALIZATION-ROADMAP.md +0 -240
- package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/OPERATIONALIZATION-TOOLS.md +0 -175
- package/.next/standalone/packages/ui/dist/standalone/specs/049-leanspec-first-principles/README.md +0 -374
- package/.next/standalone/packages/ui/dist/standalone/specs/051-docs-system-prompt-principles/README.md +0 -339
- package/.next/standalone/packages/ui/dist/standalone/specs/052-branding-assets/README.md +0 -128
- package/.next/standalone/packages/ui/dist/standalone/specs/053-spec-assets-philosophy/README.md +0 -97
- package/.next/standalone/packages/ui/dist/standalone/specs/054-validate-output-lint-style/DESIGN-DECISIONS.md +0 -93
- package/.next/standalone/packages/ui/dist/standalone/specs/054-validate-output-lint-style/OUTPUT-FORMAT-SPEC.md +0 -146
- package/.next/standalone/packages/ui/dist/standalone/specs/054-validate-output-lint-style/README.md +0 -175
- package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/ANALYSIS-PART1.md +0 -397
- package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/ANALYSIS-PART2.md +0 -342
- package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/ANALYSIS.md +0 -44
- package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/CHANGES.md +0 -150
- package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/CONCERNS-ANALYSIS.md +0 -351
- package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/DOCS-ALIGNMENT-ANALYSIS.md +0 -238
- package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/README.md +0 -280
- package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/REDESIGN-DRAFT.md +0 -372
- package/.next/standalone/packages/ui/dist/standalone/specs/055-readme-redesign-ai-first/REDESIGN-REFINED.md +0 -466
- package/.next/standalone/packages/ui/dist/standalone/specs/056-docs-site-accuracy-audit/AUDIT-RESULTS.md +0 -178
- package/.next/standalone/packages/ui/dist/standalone/specs/056-docs-site-accuracy-audit/README.md +0 -174
- package/.next/standalone/packages/ui/dist/standalone/specs/057-docs-validation-comprehensive/README.md +0 -295
- package/.next/standalone/packages/ui/dist/standalone/specs/057-docs-validation-comprehensive/VALIDATION-RESULTS.md +0 -487
- package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/ANALYSIS.md +0 -241
- package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/DESIGN.md +0 -279
- package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/IMPLEMENTATION.md +0 -642
- package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/NOTES.md +0 -125
- package/.next/standalone/packages/ui/dist/standalone/specs/058-docs-overview-polish/README.md +0 -286
- package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/ARCHITECTURE.md +0 -392
- package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/COMMANDS.md +0 -1002
- package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/CONTEXT-ENGINEERING.md +0 -411
- package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/IMPLEMENTATION.md +0 -812
- package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/README.md +0 -504
- package/.next/standalone/packages/ui/dist/standalone/specs/059-programmatic-spec-management/TESTING.md +0 -724
- package/.next/standalone/packages/ui/dist/standalone/specs/060-core-concepts-coherence/README.md +0 -125
- package/.next/standalone/packages/ui/dist/standalone/specs/061-ai-assisted-spec-writing/README.md +0 -299
- package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/IMPLEMENTATION-PLAN.md +0 -174
- package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/PAGE-SPECIFICATIONS.md +0 -265
- package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/PROBLEM-ANALYSIS.md +0 -36
- package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/README.md +0 -243
- package/.next/standalone/packages/ui/dist/standalone/specs/062-docs-info-architecture-v2/SOLUTION-DESIGN.md +0 -82
- package/.next/standalone/packages/ui/dist/standalone/specs/063-migration-from-existing-tools/DESIGN.md +0 -338
- package/.next/standalone/packages/ui/dist/standalone/specs/063-migration-from-existing-tools/EXAMPLES.md +0 -354
- package/.next/standalone/packages/ui/dist/standalone/specs/063-migration-from-existing-tools/IMPLEMENTATION.md +0 -189
- package/.next/standalone/packages/ui/dist/standalone/specs/063-migration-from-existing-tools/README.md +0 -119
- package/.next/standalone/packages/ui/dist/standalone/specs/064-docs-site-zh-translation/README.md +0 -170
- package/.next/standalone/packages/ui/dist/standalone/specs/065-v03-planning/README.md +0 -158
- package/.next/standalone/packages/ui/dist/standalone/specs/066-context-economy-thresholds-refinement/README.md +0 -842
- package/.next/standalone/packages/ui/dist/standalone/specs/067-monorepo-core-extraction/README.md +0 -358
- package/.next/standalone/packages/ui/dist/standalone/specs/068-live-specs-ux-enhancements/DESIGN.md +0 -444
- package/.next/standalone/packages/ui/dist/standalone/specs/068-live-specs-ux-enhancements/README.md +0 -357
- package/.next/standalone/packages/ui/dist/standalone/specs/069-token-counting-utils/README.md +0 -551
- package/.next/standalone/packages/ui/dist/standalone/specs/070-mcp-token-counting-tool/README.md +0 -372
- package/.next/standalone/packages/ui/dist/standalone/specs/071-simplified-token-validation/README.md +0 -489
- package/.next/standalone/packages/ui/dist/standalone/specs/072-ai-agent-first-use-workflow/README.md +0 -285
- package/.next/standalone/packages/ui/dist/standalone/specs/073-template-engine-agents-md/README.md +0 -323
- package/.next/standalone/packages/ui/dist/standalone/specs/074-content-at-creation/README.md +0 -136
- package/.next/standalone/packages/ui/dist/standalone/specs/075-intelligent-search-engine/README.md +0 -399
- package/.next/standalone/packages/ui/dist/standalone/specs/076-programmatic-spec-relationships/README.md +0 -301
- package/.next/standalone/packages/ui/dist/standalone/specs/077-archiving-strategy/README.md +0 -235
- package/.next/standalone/packages/ui/dist/standalone/specs/078-sub-spec-template-system/README.md +0 -303
- package/.next/standalone/packages/ui/dist/standalone/specs/079-cli-alphabetical-organization/README.md +0 -196
- package/.next/standalone/packages/ui/dist/standalone/specs/080-mcp-server-modular-architecture/README.md +0 -388
- package/.next/standalone/packages/ui/dist/standalone/specs/081-web-app-ux-redesign/README.md +0 -824
- package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/DATABASE.md +0 -111
- package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/DEPLOYMENT.md +0 -69
- package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/FILESYSTEM.md +0 -77
- package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/IMPLEMENTATION.md +0 -184
- package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/README.md +0 -496
- package/.next/standalone/packages/ui/dist/standalone/specs/083-web-navigation-performance/README.md +0 -490
- package/.next/standalone/packages/ui/dist/standalone/specs/084-sub-spec-visibility-in-tools/README.md +0 -389
- package/.next/standalone/packages/ui/dist/standalone/specs/085-cli-relationship-commands/README.md +0 -920
- package/.next/standalone/packages/ui/dist/standalone/specs/086-template-component-deduplication/README.md +0 -146
- package/.next/standalone/packages/ui/dist/standalone/specs/087-cli-ui-command/README.md +0 -607
- package/.next/standalone/packages/ui/dist/standalone/specs/088-core-concepts-terminology-only/README.md +0 -104
- package/.next/standalone/packages/ui/dist/standalone/specs/089-sdd-practical-tutorials/README.md +0 -124
- package/.next/standalone/packages/ui/dist/standalone/specs/090-leanspec-sdd-case-studies/README.md +0 -129
- package/.next/standalone/packages/ui/dist/standalone/specs/091-chinese-localization-strategy/README.md +0 -244
- package/.next/standalone/packages/ui/dist/standalone/specs/092-docs-site-submodule-migration/README.md +0 -148
- package/.next/standalone/packages/ui/dist/standalone/specs/093-spec-detail-ui-improvements/README.md +0 -54
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/001-typescript-cli-migration/README.md +0 -37
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/002-template-system-redesign/README.md +0 -60
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/003-init-system-redesign/README.md +0 -113
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/004-existing-project-integration/README.md +0 -69
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/004-existing-project-integration/SUMMARY.md +0 -112
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/005-structured-frontmatter/README.md +0 -229
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/006-pm-visualization-tools/README.md +0 -406
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/007-system-prompt-updates/README.md +0 -168
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/008-commander-migration/README.md +0 -174
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/009-cli-ux-enhancement/README.md +0 -212
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/010-commands-refactor/README.md +0 -249
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/011-test-results/README.md +0 -60
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/011-test-results/TEST_SUMMARY.md +0 -139
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/012-sub-spec-files/README.md +0 -722
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/013-custom-spec-templates/README.md +0 -413
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/015-npm-publishing/README.md +0 -255
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/019-readme-improvement/README.md +0 -252
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/020-documentation-website/README.md +0 -253
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/021-docusaurus-vercel-migration/README.md +0 -612
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/022-flexible-folder-structure/README.md +0 -794
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/023-folder-structure-improvements/DESIGN.md +0 -834
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/023-folder-structure-improvements/README.md +0 -255
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/027-cli-ui-ux-optimization/README.md +0 -454
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/028-cli-ui-modernization/README.md +0 -172
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/029-visualization-improvements/IMPLEMENTATION.md +0 -152
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/029-visualization-improvements/README.md +0 -95
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/030-created-date-format-bug/README.md +0 -87
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/031-gantt-ux-improvements/README.md +0 -230
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/032-console-log-chalk-security/README.md +0 -89
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/033-mcp-server/README.md +0 -89
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/037-docs-overhaul/README.md +0 -166
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/038-flat-structure-migration/README.md +0 -276
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/038-mcp-frontmatter-bug-fix/README.md +0 -122
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/039-simplify-viewer-commands/README.md +0 -198
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/039-template-variable-sync/README.md +0 -192
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/040-spec-viewer-commands/README.md +0 -171
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/042-mcp-error-handling/README.md +0 -200
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/044-spec-relationships-clarity/README.md +0 -317
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/046-stats-dashboard-refactor/DESIGN.md +0 -276
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/046-stats-dashboard-refactor/IMPLEMENTATION.md +0 -241
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/046-stats-dashboard-refactor/README.md +0 -139
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/046-stats-dashboard-refactor/TESTING.md +0 -328
- package/.next/standalone/packages/ui/dist/standalone/specs/archived/050-tool-redesign-first-principles/README.md +0 -400
- package/.next/standalone/packages/ui/dist/static/chunks/0c19c69aa7625475.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/116800b03245a1e5.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/15843a3d7584e314.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/19e80edf527aef5c.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/465954d5af3284a9.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/5abeeb89f1412a80.js +0 -3
- package/.next/standalone/packages/ui/dist/static/chunks/5c2072ad938de8ed.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/6a05a93ec8fa7b83.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/778e42188e450b39.css +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/a02c1f50ff00204f.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/a45464b9776dd88e.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/a6dad97d9634a72d.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/b0ea0ac61604f843.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/c06e85b449720194.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/c557ac675be79771.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/cad005a57ffbb2d3.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/cdf6fe33bc65efbc.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/d12ed5dbe44caed7.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/d1ebe5c1a344f4ca.js +0 -5
- package/.next/standalone/packages/ui/dist/static/chunks/d42cf1682bc46652.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/dde5d8bddd7fbfcf.js +0 -1
- package/.next/standalone/packages/ui/dist/static/chunks/ebd89051637b9a47.js +0 -4
- package/.next/standalone/packages/ui/dist/static/chunks/ec82875d18b29f47.js +0 -2
- package/.next/standalone/packages/ui/dist/static/chunks/f0b701df9769bcc5.js +0 -19
- package/.next/standalone/packages/ui/dist/static/chunks/turbopack-1c09a99f4c9e28d3.js +0 -3
- package/.next/static/-Mn9iD4O5f_khGd1P3kmB/_buildManifest.js +0 -11
- package/.next/static/-Mn9iD4O5f_khGd1P3kmB/_clientMiddlewareManifest.json +0 -1
- package/.next/static/-Mn9iD4O5f_khGd1P3kmB/_ssgManifest.js +0 -1
- package/.next/static/chunks/1eb8283995f370c6.js +0 -1
- package/.next/static/chunks/20f4141ccb5d4eb4.js +0 -1
- package/.next/static/chunks/2c85b8059e42248a.js +0 -1
- package/.next/static/chunks/336e8e8fc6b0fba8.js +0 -1
- package/.next/static/chunks/37a1236ed50645a6.js +0 -1
- package/.next/static/chunks/3b6b058ebd14dbed.js +0 -1
- package/.next/static/chunks/9d84ba08a41145ec.js +0 -5
- package/.next/static/chunks/b8353eb8c6fb895e.js +0 -1
- package/.next/static/chunks/c4b1faff3361a749.js +0 -1
- package/.next/static/chunks/d7420d2a867e57b5.js +0 -1
- package/.next/static/chunks/dae403679aae65f4.js +0 -1
- package/.next/static/chunks/efded9da04c960d8.js +0 -1
- package/.next/static/chunks/f382932f1a5d6359.js +0 -10
- package/.next/static/chunks/f43b6e43b4da1a32.css +0 -1
- package/.next/static/chunks/f6dd06e6d22d2d12.js +0 -3
- /package/.next/standalone/packages/ui/.next/static/{-Mn9iD4O5f_khGd1P3kmB → T8X9UGfigRL0qWZiBHNjy}/_buildManifest.js +0 -0
- /package/.next/standalone/packages/ui/.next/static/{-Mn9iD4O5f_khGd1P3kmB → T8X9UGfigRL0qWZiBHNjy}/_clientMiddlewareManifest.json +0 -0
- /package/.next/standalone/packages/ui/.next/static/{-Mn9iD4O5f_khGd1P3kmB → T8X9UGfigRL0qWZiBHNjy}/_ssgManifest.js +0 -0
- /package/.next/{standalone/packages/ui/dist/static/4ZnYN1WbN4LGJQOwP6FkT → static/T8X9UGfigRL0qWZiBHNjy}/_buildManifest.js +0 -0
- /package/.next/{standalone/packages/ui/dist/static/4ZnYN1WbN4LGJQOwP6FkT → static/T8X9UGfigRL0qWZiBHNjy}/_clientMiddlewareManifest.json +0 -0
- /package/.next/{standalone/packages/ui/dist/static/4ZnYN1WbN4LGJQOwP6FkT → static/T8X9UGfigRL0qWZiBHNjy}/_ssgManifest.js +0 -0
package/.next/standalone/packages/ui/dist/standalone/specs/018-spec-validation/IMPLEMENTATION.md
DELETED
|
@@ -1,358 +0,0 @@
|
|
|
1
|
-
# Implementation Plan
|
|
2
|
-
|
|
3
|
-
8-phase implementation 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 to keep sequence checking and quality validation as separate concerns.
|
|
6
|
-
|
|
7
|
-
## Status
|
|
8
|
-
|
|
9
|
-
**Overall Status:** ✅ COMPLETE for v0.2.0 - Core validation (Phases 1-3.5) shipped
|
|
10
|
-
|
|
11
|
-
**Priority:** CRITICAL - Quality gates and spec corruption prevention
|
|
12
|
-
|
|
13
|
-
**v0.2.0 Delivered:** Core validation working, finding real issues, 370+ tests passing.
|
|
14
|
-
|
|
15
|
-
## Phase 1a: Basic Validation Framework (✅ COMPLETE)
|
|
16
|
-
|
|
17
|
-
**Goal:** Create modular framework for validation rules
|
|
18
|
-
|
|
19
|
-
**Completed Tasks:**
|
|
20
|
-
- [x] Created validation framework architecture
|
|
21
|
-
- [x] Implemented `ValidationRule` interface
|
|
22
|
-
- [x] Created `LineCountValidator` with warning/error thresholds
|
|
23
|
-
- [x] Implemented `lean-spec validate` command with `--max-lines` flag
|
|
24
|
-
- [x] Added integration tests
|
|
25
|
-
- [x] Documented in README
|
|
26
|
-
|
|
27
|
-
**Notes:**
|
|
28
|
-
- Built as separate `validate` command (not expansion of `check`)
|
|
29
|
-
- Framework allows easy addition of new validators
|
|
30
|
-
- Already in production use
|
|
31
|
-
|
|
32
|
-
**Phase Completed:** November 2025
|
|
33
|
-
|
|
34
|
-
## Phase 1b: Frontmatter Validation (✅ COMPLETE)
|
|
35
|
-
|
|
36
|
-
**Goal:** Validate spec frontmatter for required fields and valid values
|
|
37
|
-
|
|
38
|
-
**Completed Tasks:**
|
|
39
|
-
- [x] Create frontmatter validator module (`src/validators/frontmatter.ts`)
|
|
40
|
-
- [x] Validate required fields present (status, created)
|
|
41
|
-
- [x] Validate status values (planned, in-progress, complete, archived)
|
|
42
|
-
- [x] Validate priority values (low, medium, high, critical)
|
|
43
|
-
- [x] Validate date formats (ISO 8601: YYYY-MM-DD or full timestamp)
|
|
44
|
-
- [x] Validate tags format (must be array)
|
|
45
|
-
- [x] Add comprehensive unit tests (27 tests passing)
|
|
46
|
-
- [x] Integrate with `lean-spec validate` command
|
|
47
|
-
- [ ] Validate custom fields (if defined in config) - deferred to future phase
|
|
48
|
-
- [ ] Add `--frontmatter` flag for selective validation - deferred to future phase
|
|
49
|
-
|
|
50
|
-
**Notes:**
|
|
51
|
-
- Most critical for catching common mistakes ✓
|
|
52
|
-
- Enables comprehensive pre-commit hooks ✓
|
|
53
|
-
- Prevents invalid specs from being created ✓
|
|
54
|
-
- Pragmatic approach: coerces types where reasonable
|
|
55
|
-
- Clear error messages with actionable suggestions
|
|
56
|
-
- Tested against real repository specs: all passing
|
|
57
|
-
|
|
58
|
-
**Phase Completed:** November 2025
|
|
59
|
-
|
|
60
|
-
**Actual Effort:** 1 day (ahead of 2-day estimate)
|
|
61
|
-
|
|
62
|
-
## Phase 2: Structure Validation (✅ COMPLETE)
|
|
63
|
-
|
|
64
|
-
**Goal:** Ensure specs follow structural conventions
|
|
65
|
-
|
|
66
|
-
**Completed Tasks:**
|
|
67
|
-
- [x] Create structure validator module (`src/validators/structure.ts`)
|
|
68
|
-
- [x] Validate YAML frontmatter syntax
|
|
69
|
-
- [x] Check for title (H1 heading)
|
|
70
|
-
- [x] Validate required sections present (Overview, Design)
|
|
71
|
-
- [x] Check for empty sections (with proper subsection handling)
|
|
72
|
-
- [x] Detect duplicate section headers
|
|
73
|
-
- [x] Add comprehensive unit tests (17 tests passing)
|
|
74
|
-
- [x] Integrate with `lean-spec validate` command
|
|
75
|
-
- [x] Test against real repository specs
|
|
76
|
-
|
|
77
|
-
**Notes:**
|
|
78
|
-
- Ensures spec consistency across team ✓
|
|
79
|
-
- Template-specific validation rules (configurable)
|
|
80
|
-
- Properly handles sections with subsections (doesn't flag as empty)
|
|
81
|
-
- Found 2 real issues in repository (duplicate headers in specs 048, 049)
|
|
82
|
-
|
|
83
|
-
**Phase Completed:** November 2025
|
|
84
|
-
|
|
85
|
-
**Actual Effort:** 0.5 days (ahead of 2-day estimate)
|
|
86
|
-
|
|
87
|
-
## Phase 3: Corruption Detection (✅ COMPLETE)
|
|
88
|
-
|
|
89
|
-
**Goal:** Detect file corruption from failed edits
|
|
90
|
-
|
|
91
|
-
**Completed Tasks:**
|
|
92
|
-
- [x] Create corruption detector module (`src/validators/corruption.ts`)
|
|
93
|
-
- [x] Detect duplicate sections at same level (delegated to structure validator)
|
|
94
|
-
- [x] Validate code blocks are properly closed
|
|
95
|
-
- [x] Check JSON/YAML blocks are complete and parseable
|
|
96
|
-
- [x] Detect content fragments (partial duplicates / merge artifacts)
|
|
97
|
-
- [x] Validate markdown structure (unclosed formatting)
|
|
98
|
-
- [x] Add comprehensive unit tests (19 tests passing)
|
|
99
|
-
- [x] Integrate with `lean-spec validate` command
|
|
100
|
-
- [x] Test against real repository specs
|
|
101
|
-
|
|
102
|
-
**Notes:**
|
|
103
|
-
- Addresses real pain point we've experienced ✓
|
|
104
|
-
- Runs by default to catch AI edit failures ✓
|
|
105
|
-
- Critical for maintaining spec quality ✓
|
|
106
|
-
- Found 6 real corruption issues in repository:
|
|
107
|
-
- Invalid YAML blocks (specs 044, 045)
|
|
108
|
-
- Unclosed formatting (specs 036, 037, 038, 045, 046)
|
|
109
|
-
|
|
110
|
-
**Phase Completed:** November 2025
|
|
111
|
-
|
|
112
|
-
**Actual Effort:** 1 day (ahead of 3-day estimate)
|
|
113
|
-
|
|
114
|
-
## Phase 3.5: Sub-Spec Validation (✅ COMPLETE)
|
|
115
|
-
|
|
116
|
-
**Goal:** Validate sub-spec files per spec 012 conventions
|
|
117
|
-
|
|
118
|
-
**Completed Tasks:**
|
|
119
|
-
- [x] Create sub-spec validator module (`src/validators/sub-spec.ts`)
|
|
120
|
-
- [x] Check sub-spec naming conventions (uppercase .md files)
|
|
121
|
-
- [x] Validate README.md references all sub-specs
|
|
122
|
-
- [x] Check line counts per sub-spec file (<400 lines)
|
|
123
|
-
- [x] Detect orphaned sub-spec files (not linked from README)
|
|
124
|
-
- [x] Validate cross-document references
|
|
125
|
-
- [x] Add comprehensive unit tests (16 tests passing)
|
|
126
|
-
- [x] Integrate with `lean-spec validate` command
|
|
127
|
-
- [ ] Check for content duplication across sub-specs (deferred - complex analysis)
|
|
128
|
-
|
|
129
|
-
**Notes:**
|
|
130
|
-
- Complements spec 012 (sub-spec files management) ✓
|
|
131
|
-
- Important as teams adopt multi-file specs ✓
|
|
132
|
-
- Enforces Context Economy principle per file ✓
|
|
133
|
-
- Leverages existing `loadSubFiles()` infrastructure ✓
|
|
134
|
-
- Found real issues in repository:
|
|
135
|
-
- spec 049: ANALYSIS.md (428 lines), OPERATIONALIZATION.md (415 lines)
|
|
136
|
-
- spec 018: CONFIGURATION.md (443 lines)
|
|
137
|
-
|
|
138
|
-
**Phase Completed:** November 2025
|
|
139
|
-
|
|
140
|
-
**Actual Effort:** 0.5 days (ahead of 2-day estimate)
|
|
141
|
-
|
|
142
|
-
## Phase 4: Content Validation (OPTIONAL for v0.3.0)
|
|
143
|
-
|
|
144
|
-
**Goal:** Validate spec content quality
|
|
145
|
-
|
|
146
|
-
**Tasks:**
|
|
147
|
-
- [ ] Minimum content length check
|
|
148
|
-
- [ ] Detect TODO/FIXME in complete specs
|
|
149
|
-
- [ ] Validate internal links
|
|
150
|
-
- [ ] Check for placeholder text
|
|
151
|
-
- [ ] Integrate with `lean-spec validate --content` flag
|
|
152
|
-
|
|
153
|
-
**Notes:**
|
|
154
|
-
- Nice to have, can defer to v0.3.0 if time-constrained
|
|
155
|
-
- Lower priority than corruption detection
|
|
156
|
-
- Useful for quality gates
|
|
157
|
-
|
|
158
|
-
**Estimated Effort:** 1-2 days
|
|
159
|
-
|
|
160
|
-
## Phase 5: Staleness Detection (OPTIONAL for v0.3.0)
|
|
161
|
-
|
|
162
|
-
**Goal:** Identify stale or abandoned specs
|
|
163
|
-
|
|
164
|
-
**Tasks:**
|
|
165
|
-
- [ ] Calculate spec age (created date)
|
|
166
|
-
- [ ] Calculate last update (git or file mtime)
|
|
167
|
-
- [ ] Warn on in-progress specs > 30 days
|
|
168
|
-
- [ ] Warn on no updates > 90 days
|
|
169
|
-
- [ ] Warn on planned specs > 60 days
|
|
170
|
-
- [ ] Integrate with `lean-spec validate --staleness` flag
|
|
171
|
-
|
|
172
|
-
**Notes:**
|
|
173
|
-
- Useful for maintenance
|
|
174
|
-
- Lower priority for launch
|
|
175
|
-
- Git integration adds complexity
|
|
176
|
-
|
|
177
|
-
**Estimated Effort:** 2 days
|
|
178
|
-
|
|
179
|
-
## Phase 6: Auto-Fix (OPTIONAL for v0.3.0)
|
|
180
|
-
|
|
181
|
-
**Goal:** Automatically fix common issues
|
|
182
|
-
|
|
183
|
-
**Tasks:**
|
|
184
|
-
- [ ] Implement --fix flag for `lean-spec validate`
|
|
185
|
-
- [ ] Add missing frontmatter fields
|
|
186
|
-
- [ ] Format dates to ISO 8601
|
|
187
|
-
- [ ] Sort frontmatter fields
|
|
188
|
-
- [ ] Update visual badges
|
|
189
|
-
- [ ] Remove duplicate sections
|
|
190
|
-
- [ ] Close unclosed code blocks
|
|
191
|
-
- [ ] Report what was fixed
|
|
192
|
-
|
|
193
|
-
**Notes:**
|
|
194
|
-
- Great UX feature
|
|
195
|
-
- Can defer to post-launch iteration
|
|
196
|
-
- Should be conservative (only fix obvious issues)
|
|
197
|
-
|
|
198
|
-
**Estimated Effort:** 3 days
|
|
199
|
-
|
|
200
|
-
## Phase 8: Integration & Polish
|
|
201
|
-
|
|
202
|
-
**Goal:** Complete feature with docs and tests
|
|
203
|
-
|
|
204
|
-
**Tasks:**
|
|
205
|
-
- [ ] Add tests for all check types
|
|
206
|
-
- [ ] Update README with expanded check command
|
|
207
|
-
- [ ] Update AGENTS.md to mention comprehensive checking
|
|
208
|
-
- [ ] Create pre-commit hook example
|
|
209
|
-
- [ ] Document migration guide for backwards compatibility
|
|
210
|
-
- [ ] Update MCP server to expose new check capabilities
|
|
211
|
-
- [ ] Performance optimization (parallel checking)
|
|
212
|
-
- [ ] Caching for repeated checks
|
|
213
|
-
|
|
214
|
-
**Notes:**
|
|
215
|
-
- Essential for launch
|
|
216
|
-
- Documentation is critical for adoption
|
|
217
|
-
- Performance matters for large projects
|
|
218
|
-
|
|
219
|
-
**Estimated Effort:** 2-3 days
|
|
220
|
-
|
|
221
|
-
## Launch Strategy (2025-11-04)
|
|
222
|
-
|
|
223
|
-
### v0.2.0 Scope
|
|
224
|
-
- **MUST HAVE:** Phases 1-3 (refactored framework + frontmatter + structure validation)
|
|
225
|
-
- **HIGHLY RECOMMENDED:** Phase 3.5 (sub-spec validation - enforces spec 012)
|
|
226
|
-
- **HIGHLY RECOMMENDED:** Phase 4 (corruption detection - addresses real pain point)
|
|
227
|
-
- **SHOULD HAVE:** Phase 7 (auto-fix, at least for corruption issues)
|
|
228
|
-
- **NICE TO HAVE:** Phases 5-6 (content, staleness)
|
|
229
|
-
|
|
230
|
-
### v0.3.0 Scope
|
|
231
|
-
- Complete all remaining phases
|
|
232
|
-
- Roll out comprehensive checking with backwards compatibility
|
|
233
|
-
- Enable by default with config override
|
|
234
|
-
|
|
235
|
-
### Post-v0.3.0
|
|
236
|
-
- Add advanced features based on user feedback
|
|
237
|
-
- Custom validation rules
|
|
238
|
-
- Performance optimizations
|
|
239
|
-
- Additional check types
|
|
240
|
-
|
|
241
|
-
## Total Estimated Effort
|
|
242
|
-
|
|
243
|
-
**Minimum (Phases 1-3.5):** 11-12 days
|
|
244
|
-
**Complete (All phases):** 17-20 days
|
|
245
|
-
|
|
246
|
-
## Dependencies
|
|
247
|
-
|
|
248
|
-
- Existing `check` command (sequence conflicts)
|
|
249
|
-
- Frontmatter parsing infrastructure
|
|
250
|
-
- Spec loading system (with `loadSubFiles()` support)
|
|
251
|
-
- Config system
|
|
252
|
-
- Spec 012 conventions (sub-spec file organization)
|
|
253
|
-
|
|
254
|
-
## Risks & Mitigation
|
|
255
|
-
|
|
256
|
-
**Risk:** Breaking backwards compatibility
|
|
257
|
-
- **Mitigation:** Comprehensive testing, config options, gradual rollout
|
|
258
|
-
|
|
259
|
-
**Risk:** Performance degradation with many checks
|
|
260
|
-
- **Mitigation:** Parallel checking, caching, incremental mode
|
|
261
|
-
|
|
262
|
-
**Risk:** False positives in corruption detection
|
|
263
|
-
- **Mitigation:** Conservative rules, allow configuration
|
|
264
|
-
|
|
265
|
-
**Risk:** Scope creep (too many check types)
|
|
266
|
-
- **Mitigation:** Focus on Phases 1-4 for launch, defer others
|
|
267
|
-
|
|
268
|
-
## Success Metrics
|
|
269
|
-
|
|
270
|
-
- Zero spec corruption incidents after deployment
|
|
271
|
-
- >90% of specs pass validation checks
|
|
272
|
-
- <1s check time for 100 specs
|
|
273
|
-
- Positive user feedback on validation quality
|
|
274
|
-
- Reduced time debugging spec issues
|
|
275
|
-
|
|
276
|
-
## Testing Strategy
|
|
277
|
-
|
|
278
|
-
Each phase includes:
|
|
279
|
-
- Unit tests for validator modules
|
|
280
|
-
- Integration tests with real specs
|
|
281
|
-
- Edge case testing
|
|
282
|
-
- Performance benchmarks
|
|
283
|
-
- Backwards compatibility tests
|
|
284
|
-
|
|
285
|
-
See [TESTING.md](./TESTING.md) for detailed test plan.
|
|
286
|
-
|
|
287
|
-
## Migration Path
|
|
288
|
-
|
|
289
|
-
### For Existing Projects
|
|
290
|
-
|
|
291
|
-
1. **Run initial validation:**
|
|
292
|
-
```bash
|
|
293
|
-
lean-spec validate --max-lines 400
|
|
294
|
-
```
|
|
295
|
-
|
|
296
|
-
2. **Review and fix issues:**
|
|
297
|
-
```bash
|
|
298
|
-
lean-spec validate --fix # When auto-fix is available
|
|
299
|
-
lean-spec validate # Verify fixes
|
|
300
|
-
```
|
|
301
|
-
|
|
302
|
-
3. **Enable in CI:**
|
|
303
|
-
```yaml
|
|
304
|
-
- run: lean-spec validate --strict --format=json
|
|
305
|
-
```
|
|
306
|
-
|
|
307
|
-
4. **Add pre-commit hook:**
|
|
308
|
-
```bash
|
|
309
|
-
lean-spec check # Sequence conflicts
|
|
310
|
-
lean-spec validate # Quality validation
|
|
311
|
-
```
|
|
312
|
-
|
|
313
|
-
### For New Projects
|
|
314
|
-
|
|
315
|
-
- Comprehensive checking enabled by default
|
|
316
|
-
- Use templates with validation hints
|
|
317
|
-
- Pre-commit hooks included
|
|
318
|
-
|
|
319
|
-
## Alternative Approaches Considered
|
|
320
|
-
|
|
321
|
-
### Separate `lean-spec validate` Command
|
|
322
|
-
|
|
323
|
-
**Pros:**
|
|
324
|
-
- Clear separation of concerns
|
|
325
|
-
- No backwards compatibility issues
|
|
326
|
-
|
|
327
|
-
**Cons:**
|
|
328
|
-
- Two commands for quality checking
|
|
329
|
-
- User confusion (when to use which?)
|
|
330
|
-
- More maintenance burden
|
|
331
|
-
|
|
332
|
-
**Decision:** Expand `check` with flags for better UX
|
|
333
|
-
|
|
334
|
-
### Always-On Comprehensive Checking
|
|
335
|
-
|
|
336
|
-
**Pros:**
|
|
337
|
-
- Maximum quality enforcement
|
|
338
|
-
- Simple model
|
|
339
|
-
|
|
340
|
-
**Cons:**
|
|
341
|
-
- Breaking change
|
|
342
|
-
- Performance impact for large projects
|
|
343
|
-
- User pushback
|
|
344
|
-
|
|
345
|
-
**Decision:** Make it opt-in with config, default in v0.3.0
|
|
346
|
-
|
|
347
|
-
### External Plugin System
|
|
348
|
-
|
|
349
|
-
**Pros:**
|
|
350
|
-
- Extensibility
|
|
351
|
-
- Community contributions
|
|
352
|
-
|
|
353
|
-
**Cons:**
|
|
354
|
-
- Over-engineering for current needs
|
|
355
|
-
- Added complexity
|
|
356
|
-
- Maintenance burden
|
|
357
|
-
|
|
358
|
-
**Decision:** Defer to future version if needed
|
|
@@ -1,303 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
status: complete
|
|
3
|
-
created: '2025-11-02'
|
|
4
|
-
tags:
|
|
5
|
-
- quality
|
|
6
|
-
- validation
|
|
7
|
-
- cli
|
|
8
|
-
- first-principles
|
|
9
|
-
- v0.2.0
|
|
10
|
-
priority: critical
|
|
11
|
-
related:
|
|
12
|
-
- 043-official-launch-02
|
|
13
|
-
- 012-sub-spec-files
|
|
14
|
-
created_at: '2025-11-02T00:00:00Z'
|
|
15
|
-
updated_at: '2025-11-06T07:08:45.538Z'
|
|
16
|
-
transitions:
|
|
17
|
-
- status: in-progress
|
|
18
|
-
at: '2025-11-05T13:35:26.669Z'
|
|
19
|
-
- status: complete
|
|
20
|
-
at: '2025-11-06T07:00:00.000Z'
|
|
21
|
-
completed: '2025-11-06'
|
|
22
|
-
---
|
|
23
|
-
|
|
24
|
-
# Comprehensive Spec Validation
|
|
25
|
-
|
|
26
|
-
> **Status**: ✅ Complete · **Priority**: Critical · **Created**: 2025-11-02 · **Tags**: quality, validation, cli, first-principles, v0.2.0
|
|
27
|
-
|
|
28
|
-
## Overview
|
|
29
|
-
|
|
30
|
-
Provide comprehensive validation tooling that checks specs for quality issues including structure, frontmatter, content, sequence conflicts, and **file corruption**.
|
|
31
|
-
|
|
32
|
-
**Current State:**
|
|
33
|
-
- ✅ `lean-spec check` exists - checks sequence conflicts only
|
|
34
|
-
- ✅ `lean-spec validate` exists - comprehensive validation framework
|
|
35
|
-
- ✅ **Line count validation** - warns at 300 lines, errors at 400+ lines
|
|
36
|
-
- ✅ **Frontmatter validation** - enforces required fields and valid values
|
|
37
|
-
- ✅ **Structure validation** - duplicate headers, required sections
|
|
38
|
-
- ✅ **Corruption detection** - unclosed code blocks, formatting issues, duplicates
|
|
39
|
-
- ❌ No way to detect stale specs (optional, future phase)
|
|
40
|
-
- ❌ No auto-fix capability (optional, future phase)
|
|
41
|
-
|
|
42
|
-
**Implementation Approach:**
|
|
43
|
-
Both `lean-spec check` and `lean-spec validate` exist as separate commands:
|
|
44
|
-
|
|
45
|
-
```bash
|
|
46
|
-
# Current commands
|
|
47
|
-
lean-spec check # Check for sequence conflicts
|
|
48
|
-
lean-spec validate [specs...] # Validate specs for quality issues
|
|
49
|
-
lean-spec validate --max-lines 500 # Custom line limit
|
|
50
|
-
|
|
51
|
-
# Planned enhancements
|
|
52
|
-
lean-spec validate --frontmatter # Frontmatter validation
|
|
53
|
-
lean-spec validate --structure # Structure validation
|
|
54
|
-
lean-spec validate --corruption # File corruption detection
|
|
55
|
-
lean-spec validate --sub-specs # Sub-spec validation (spec 012)
|
|
56
|
-
lean-spec validate --all # All validation rules
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
**Use Cases:**
|
|
60
|
-
1. CI/CD validation (block PRs with invalid specs)
|
|
61
|
-
2. Pre-commit hooks (comprehensive quality checks)
|
|
62
|
-
3. Local validation before creating PR
|
|
63
|
-
4. Detecting stale/abandoned specs
|
|
64
|
-
5. Enforcing team conventions (required fields, valid values)
|
|
65
|
-
6. Quality gates for spec completion
|
|
66
|
-
7. **Detecting corrupted specs from failed edits**
|
|
67
|
-
8. **Validating sub-spec organization per spec 012**
|
|
68
|
-
|
|
69
|
-
**What Success Looks Like:**
|
|
70
|
-
```bash
|
|
71
|
-
$ lean-spec validate --all
|
|
72
|
-
Validating specs...
|
|
73
|
-
|
|
74
|
-
Line Count:
|
|
75
|
-
✓ 043-official-launch-02 (387 lines)
|
|
76
|
-
⚠ 048-spec-complexity-analysis (356 lines - approaching limit)
|
|
77
|
-
✗ 018-spec-validation (455 lines - exceeds limit!)
|
|
78
|
-
→ Consider splitting into sub-specs (see spec 012)
|
|
79
|
-
|
|
80
|
-
Frontmatter:
|
|
81
|
-
✗ 1 spec has invalid frontmatter:
|
|
82
|
-
- specs/043-official-launch-02/README.md
|
|
83
|
-
• Invalid status: "wip" (expected: planned, in-progress, complete, archived)
|
|
84
|
-
|
|
85
|
-
Structure:
|
|
86
|
-
✓ All specs have valid structure
|
|
87
|
-
|
|
88
|
-
Sub-Specs:
|
|
89
|
-
⚠ 1 spec has warnings:
|
|
90
|
-
- specs/018-spec-validation/README.md
|
|
91
|
-
⚠ Sub-spec TESTING.md (421 lines) exceeds 400 line limit
|
|
92
|
-
⚠ Orphaned sub-spec: DEPRECATED.md (not linked from README.md)
|
|
93
|
-
|
|
94
|
-
Corruption:
|
|
95
|
-
✓ All 25 spec(s) passed
|
|
96
|
-
|
|
97
|
-
Results: 25 specs validated, 5 error(s), 6 warning(s)
|
|
98
|
-
```
|
|
99
|
-
|
|
100
|
-
**Recent Improvements (2025-11-05):**
|
|
101
|
-
- ✅ Fixed duplicate detection bug: sliding window was reporting adjacent lines as duplicates
|
|
102
|
-
- ✅ Improved thresholds: 8 lines / 200 chars (was 5/100) for better signal-to-noise
|
|
103
|
-
- ✅ Code blocks now included in duplicate detection (catches actual copy-paste errors)
|
|
104
|
-
- ✅ Removed JSON/YAML validation (code examples show invalid syntax)
|
|
105
|
-
- ✅ Smarter formatting checks: exclude inline code and list markers
|
|
106
|
-
- 📉 Result: Zero false positives, catches only real corruption
|
|
107
|
-
|
|
108
|
-
## Design
|
|
109
|
-
|
|
110
|
-
This spec has been split into focused sub-documents for clarity and maintainability.
|
|
111
|
-
|
|
112
|
-
### Core Documents
|
|
113
|
-
|
|
114
|
-
📋 **[VALIDATION-RULES.md](./VALIDATION-RULES.md)** - What gets validated
|
|
115
|
-
- Frontmatter validation rules
|
|
116
|
-
- Structure validation rules
|
|
117
|
-
- Content validation rules
|
|
118
|
-
- Corruption detection rules
|
|
119
|
-
- Staleness detection rules
|
|
120
|
-
- Auto-fix capabilities
|
|
121
|
-
|
|
122
|
-
🔧 **[CLI-DESIGN.md](./CLI-DESIGN.md)** - Command interface
|
|
123
|
-
- Command syntax and flags
|
|
124
|
-
- Output formats (console, JSON)
|
|
125
|
-
- Backwards compatibility strategy
|
|
126
|
-
- Exit codes
|
|
127
|
-
- CI/CD integration examples
|
|
128
|
-
|
|
129
|
-
⚙️ **[CONFIGURATION.md](./CONFIGURATION.md)** - Configuration schema
|
|
130
|
-
- Complete config options
|
|
131
|
-
- Rule customization
|
|
132
|
-
- Template-specific rules
|
|
133
|
-
- Default configuration
|
|
134
|
-
- Configuration examples
|
|
135
|
-
|
|
136
|
-
📝 **[CONFIGURATION-EXAMPLES.md](./CONFIGURATION-EXAMPLES.md)** - Real-world configuration examples and use cases
|
|
137
|
-
|
|
138
|
-
🗺️ **[IMPLEMENTATION.md](./IMPLEMENTATION.md)** - Implementation plan
|
|
139
|
-
- 8-phase implementation plan
|
|
140
|
-
- Priority and scope decisions
|
|
141
|
-
- Launch strategy (v0.2.0 vs v0.3.0)
|
|
142
|
-
- Dependencies and risks
|
|
143
|
-
- Migration path
|
|
144
|
-
|
|
145
|
-
✅ **[TESTING.md](./TESTING.md)** - Test strategy
|
|
146
|
-
- Test categories and coverage
|
|
147
|
-
- Integration tests
|
|
148
|
-
- Performance tests
|
|
149
|
-
- Manual testing checklist
|
|
150
|
-
|
|
151
|
-
## Design Decision
|
|
152
|
-
|
|
153
|
-
**Implementation Note:** The original design proposed expanding `lean-spec check` into a unified validation command. However, the implementation created a separate `lean-spec validate` command instead, keeping both commands focused:
|
|
154
|
-
|
|
155
|
-
- **`lean-spec check`** - Fast sequence conflict detection
|
|
156
|
-
- **`lean-spec validate`** - Comprehensive quality validation
|
|
157
|
-
|
|
158
|
-
**Rationale for Separate Commands:**
|
|
159
|
-
|
|
160
|
-
1. **Clear separation of concerns:** Sequence checking is fast and targeted; validation is comprehensive
|
|
161
|
-
2. **Performance:** Users can run quick checks without full validation overhead
|
|
162
|
-
3. **Backwards compatible:** Existing `lean-spec check` behavior unchanged
|
|
163
|
-
4. **Incremental adoption:** Can add validation rules without affecting check command
|
|
164
|
-
5. **Clearer intent:** `validate` explicitly signals quality checking
|
|
165
|
-
|
|
166
|
-
**Trade-offs:**
|
|
167
|
-
- Two commands to remember (but both are intuitive)
|
|
168
|
-
- More CLI surface area
|
|
169
|
-
- Better performance and flexibility
|
|
170
|
-
|
|
171
|
-
## Evolution
|
|
172
|
-
|
|
173
|
-
| Version | Commands Available |
|
|
174
|
-
|---------|--------------------|
|
|
175
|
-
| v0.1.0 | `lean-spec check` (sequence conflicts only) |
|
|
176
|
-
| v0.2.0+ | `lean-spec check` (sequences) + `lean-spec validate` (line counts) |
|
|
177
|
-
| v0.3.0+ | Both commands with comprehensive validation rules |
|
|
178
|
-
|
|
179
|
-
## Launch Strategy
|
|
180
|
-
|
|
181
|
-
**v0.2.0 Scope (Current):**
|
|
182
|
-
- ✅ `lean-spec check` for sequence conflicts
|
|
183
|
-
- ✅ `lean-spec validate` with basic framework and line count validation
|
|
184
|
-
- ⏳ Expand validation rules in upcoming phases
|
|
185
|
-
|
|
186
|
-
**v0.3.0 Scope:**
|
|
187
|
-
- **MUST HAVE:** Framework + frontmatter + structure validation
|
|
188
|
-
- **HIGHLY RECOMMENDED:** Corruption detection (addresses real pain point)
|
|
189
|
-
- **SHOULD HAVE:** Auto-fix capability
|
|
190
|
-
- **NICE TO HAVE:** Content and staleness validation
|
|
191
|
-
|
|
192
|
-
**Post-v0.3.0:**
|
|
193
|
-
- Advanced features based on user feedback
|
|
194
|
-
- Custom validation rules
|
|
195
|
-
- Performance optimizations
|
|
196
|
-
|
|
197
|
-
## Implementation Status
|
|
198
|
-
|
|
199
|
-
See [IMPLEMENTATION.md](./IMPLEMENTATION.md) for detailed plan.
|
|
200
|
-
|
|
201
|
-
**Status:** ✅ COMPLETE for v0.2.0 launch
|
|
202
|
-
|
|
203
|
-
**✅ Completed (Phases 1a, 1b, 2, 3, 3.5):**
|
|
204
|
-
- ✅ Validation framework architecture
|
|
205
|
-
- ✅ **Phase 1a:** `LineCountValidator` with warning/error thresholds (300 line warning, 400 line error)
|
|
206
|
-
- ✅ **Phase 1a:** `lean-spec validate` command with `--max-lines` flag
|
|
207
|
-
- ✅ **Phase 1b:** `FrontmatterValidator` for comprehensive frontmatter validation
|
|
208
|
-
- Required fields (status, created)
|
|
209
|
-
- Valid status/priority values
|
|
210
|
-
- Date format validation (ISO 8601)
|
|
211
|
-
- Tags format validation
|
|
212
|
-
- ✅ **Phase 2:** `StructureValidator` for spec structure validation
|
|
213
|
-
- H1 title presence
|
|
214
|
-
- Required sections (Overview, Design)
|
|
215
|
-
- Empty section detection (with subsection handling)
|
|
216
|
-
- Duplicate section header detection
|
|
217
|
-
- ✅ **Phase 3:** `CorruptionValidator` for file corruption detection
|
|
218
|
-
- Unclosed code block detection (visible syntax highlighting issues)
|
|
219
|
-
- Unclosed markdown formatting (bold, italic) in actual content
|
|
220
|
-
- Duplicate content block detection with improved tuning (8 lines, 200 chars)
|
|
221
|
-
- **Code blocks included** in duplicate detection (catches real copy-paste errors)
|
|
222
|
-
- **Bug fix:** Fixed sliding window algorithm reporting adjacent lines
|
|
223
|
-
- **Removed JSON/YAML validation** (examples show invalid syntax intentionally)
|
|
224
|
-
- Code block exclusion for all formatting checks
|
|
225
|
-
- Inline code and list marker exclusion
|
|
226
|
-
- Duplicate detection tuning: 3/50 → 5/100 (reduced false positives)
|
|
227
|
-
- Removed noisy checks (JSON/YAML, table/list validation)
|
|
228
|
-
- **Bug fix:** Fixed sliding window algorithm causing adjacent line false positives
|
|
229
|
-
- **Threshold increase:** 5/100 → 8/200 (block size/min chars) for less sensitivity
|
|
230
|
-
- **Reverted code block filtering:** Now includes code blocks in duplicate detection
|
|
231
|
-
- ✅ **Phase 3.5:** `SubSpecValidator` for sub-spec file validation
|
|
232
|
-
- Sub-spec naming conventions (uppercase .md files)
|
|
233
|
-
- README.md references all sub-specs (orphan detection)
|
|
234
|
-
- Line count validation per sub-spec file (<400 lines)
|
|
235
|
-
- Cross-document reference validation
|
|
236
|
-
- Found real issues: 3 sub-specs exceeding limits in 2 specs
|
|
237
|
-
- ✅ **370 total tests passing** (16 sub-spec + 354 existing)
|
|
238
|
-
- ✅ Documentation and CLI integration
|
|
239
|
-
- ✅ Tested with real repository specs
|
|
240
|
-
|
|
241
|
-
**📊 Current Validation Results (2025-11-05):**
|
|
242
|
-
```bash
|
|
243
|
-
$ lean-spec validate
|
|
244
|
-
Results: 25 specs validated, 5 error(s), 6 warning(s)
|
|
245
|
-
|
|
246
|
-
Errors found:
|
|
247
|
-
- Line count: 3 specs exceed 400 lines (048, 046, 045)
|
|
248
|
-
- Sub-specs: 3 sub-spec files exceed 400 lines (049: 2 files, 018: 1 file)
|
|
249
|
-
- Corruption: ✅ 0 errors (bug fixed, thresholds tuned!)
|
|
250
|
-
|
|
251
|
-
Warnings:
|
|
252
|
-
- Line count: 6 specs between 300-400 lines (approaching limit)
|
|
253
|
-
- Corruption: ✅ 0 warnings (improved from 31 false positives!)
|
|
254
|
-
|
|
255
|
-
All specs: ✅ Frontmatter passed, ✅ Structure passed, ✅ Sub-spec validation working
|
|
256
|
-
```
|
|
257
|
-
|
|
258
|
-
**✨ v0.2.0 Scope Complete:**
|
|
259
|
-
Core validation is complete and working! Phases 1-3.5 deliver the essential quality checks including sub-spec validation. Additional phases (content validation, staleness detection, auto-fix) deferred to v0.3.0 based on user feedback.
|
|
260
|
-
|
|
261
|
-
## Quick Links
|
|
262
|
-
|
|
263
|
-
- **Validation Details:** [VALIDATION-RULES.md](./VALIDATION-RULES.md)
|
|
264
|
-
- **CLI Reference:** [CLI-DESIGN.md](./CLI-DESIGN.md)
|
|
265
|
-
- **Configuration:** [CONFIGURATION.md](./CONFIGURATION.md)
|
|
266
|
-
- **Implementation:** [IMPLEMENTATION.md](./IMPLEMENTATION.md)
|
|
267
|
-
- **Testing:** [TESTING.md](./TESTING.md)
|
|
268
|
-
|
|
269
|
-
## Notes
|
|
270
|
-
|
|
271
|
-
**Why This Matters:**
|
|
272
|
-
|
|
273
|
-
This addresses real pain points we've experienced:
|
|
274
|
-
- Spec corruption from failed AI edits
|
|
275
|
-
- Invalid frontmatter causing issues
|
|
276
|
-
- No way to enforce quality standards
|
|
277
|
-
- Manual validation is time-consuming
|
|
278
|
-
|
|
279
|
-
**Performance Goals:**
|
|
280
|
-
- < 1s for 100 specs
|
|
281
|
-
- Parallel checking
|
|
282
|
-
- Incremental mode for auto-check
|
|
283
|
-
- Caching for repeated checks
|
|
284
|
-
|
|
285
|
-
**Integration:**
|
|
286
|
-
```bash
|
|
287
|
-
# CI/CD - Quick sequence check
|
|
288
|
-
lean-spec check
|
|
289
|
-
|
|
290
|
-
# CI/CD - Comprehensive validation
|
|
291
|
-
lean-spec validate --all --format=json
|
|
292
|
-
|
|
293
|
-
# Pre-commit hook - Fast validation
|
|
294
|
-
lean-spec validate --max-lines 400
|
|
295
|
-
|
|
296
|
-
# Manual comprehensive check
|
|
297
|
-
lean-spec validate --all --fix
|
|
298
|
-
```
|
|
299
|
-
|
|
300
|
-
**References:**
|
|
301
|
-
- Markdownlint: Markdown linting tool (inspiration)
|
|
302
|
-
- JSON Schema: Validation schema standard
|
|
303
|
-
- YAML Lint: YAML validation patterns
|