Commit Graph

  • 8019754b27 Merge branch 'main' into codex/split-generator-functions-into-separate-modules johndoe6345789 2026-01-18 00:19:35 +00:00
  • c9d617d645 Split generator utilities into modules johndoe6345789 2026-01-18 00:19:07 +00:00
  • ef693c7d24 Merge pull request #26 from johndoe6345789/codex/refactor-projectsettingsdesigner-into-subcomponents johndoe6345789 2026-01-18 00:18:40 +00:00
  • 2522e5d8ec Refactor project settings tabs johndoe6345789 2026-01-18 00:18:31 +00:00
  • 41a498e9b5 Merge pull request #25 from johndoe6345789/codex/move-hardcoded-data-to-json johndoe6345789 2026-01-18 00:17:50 +00:00
  • 041e071961 Move favicon designer presets to JSON johndoe6345789 2026-01-18 00:17:39 +00:00
  • 09114dd47b Merge pull request #24 from johndoe6345789/codex/split-groupnode-and-ideanode-into-separate-files johndoe6345789 2026-01-18 00:16:57 +00:00
  • f840086de8 Merge branch 'main' into codex/split-groupnode-and-ideanode-into-separate-files johndoe6345789 2026-01-18 00:16:51 +00:00
  • d1f42c3c2d Split FeatureIdeaCloud helpers and nodes johndoe6345789 2026-01-18 00:16:32 +00:00
  • 77e63f6b9e Merge pull request #23 from johndoe6345789/codex/extract-constants-to-json-files johndoe6345789 2026-01-18 00:16:13 +00:00
  • 1d98340c7f Move feature idea seed data to JSON johndoe6345789 2026-01-18 00:15:54 +00:00
  • f66673ac69 Merge pull request #22 from johndoe6345789/codex/refactor-oversized-documentationview-component johndoe6345789 2026-01-18 00:15:30 +00:00
  • 7bdbfeb2bf Merge branch 'main' into codex/refactor-oversized-documentationview-component johndoe6345789 2026-01-18 00:15:23 +00:00
  • 71d7bda01b Refactor documentation view tabs johndoe6345789 2026-01-18 00:14:39 +00:00
  • c901b8d8ec Merge pull request #21 from johndoe6345789/codex/separate-components-into-individual-files johndoe6345789 2026-01-18 00:10:27 +00:00
  • 936070ca1a Split DocumentationView components johndoe6345789 2026-01-18 00:10:13 +00:00
  • 7d053d3f5f Merge pull request #20 from johndoe6345789/codex/split-globalsearch-into-subcomponents johndoe6345789 2026-01-18 00:09:47 +00:00
  • 9a84d99614 Refactor global search components johndoe6345789 2026-01-18 00:09:35 +00:00
  • 7b9610369d Merge pull request #19 from johndoe6345789/copilot/refactor-components-to-reduce-loc johndoe6345789 2026-01-17 23:46:19 +00:00
  • 507ad0bce4 Changes before error encountered copilot-swe-agent[bot] 2026-01-17 23:40:14 +00:00
  • c53f839af8 Initial plan copilot-swe-agent[bot] 2026-01-17 23:29:04 +00:00
  • 3b633526f1 Merge pull request #18 from johndoe6345789/copilot/refactor-large-components johndoe6345789 2026-01-17 23:27:27 +00:00
  • 33787398e2 Fix icon consistency in CICDPlatformItem component copilot-swe-agent[bot] 2026-01-17 23:20:28 +00:00
  • 1414a08aa7 Refactor FaviconDesigner into modular components copilot-swe-agent[bot] 2026-01-17 23:16:45 +00:00
  • f221a36c88 Refactor DocumentationView and FeatureIdeaCloud into modular components copilot-swe-agent[bot] 2026-01-17 23:13:23 +00:00
  • 97a55b8ab1 Initial plan copilot-swe-agent[bot] 2026-01-17 23:04:29 +00:00
  • ec74b3a09c Merge pull request #17 from johndoe6345789/copilot/convert-json-files-and-remove-old johndoe6345789 2026-01-17 23:04:13 +00:00
  • a4777a8520 Add comprehensive implementation summary copilot-swe-agent[bot] 2026-01-17 22:55:52 +00:00
  • 6be1e9d918 Implement JSON-friendly expression system for events copilot-swe-agent[bot] 2026-01-17 22:53:54 +00:00
  • e5c0ef197e Fix event naming: use lowercase 'change' per schema conventions copilot-swe-agent[bot] 2026-01-17 22:50:46 +00:00
  • c68d47c326 Fix event naming consistency: use onChange instead of change copilot-swe-agent[bot] 2026-01-17 22:48:45 +00:00
  • 0bf5a9d42c Add null checks to transform functions copilot-swe-agent[bot] 2026-01-17 22:47:19 +00:00
  • d58fa8be2a Add safety checks to compute functions and schema loader copilot-swe-agent[bot] 2026-01-17 22:45:45 +00:00
  • 05c1e2d789 Convert TypeScript schemas to JSON files and remove JSON_COMPATIBILITY_ANALYSIS.md copilot-swe-agent[bot] 2026-01-17 22:43:36 +00:00
  • 96740fbbd9 Add consistent error logging to schema loader copilot-swe-agent[bot] 2026-01-17 22:40:38 +00:00
  • 212c4e125e Remove old TypeScript schema files copilot-swe-agent[bot] 2026-01-17 22:39:15 +00:00
  • f82c7aa081 Convert TypeScript schemas to JSON with compute functions copilot-swe-agent[bot] 2026-01-17 22:38:31 +00:00
  • 369f1a30c0 Initial plan copilot-swe-agent[bot] 2026-01-17 22:29:52 +00:00
  • ab152bbd67 Generated by Spark: Work on low hanging fruit from JSON_COMPATIBILITY_ANALYSIS.md johndoe6345789 2026-01-17 22:21:40 +00:00
  • 9652993f66 Edited Spark johndoe6345789 2026-01-17 22:16:42 +00:00
  • 6d5aa6140c Merge pull request #16 from johndoe6345789/copilot/fix-skipping-components johndoe6345789 2026-01-17 22:14:49 +00:00
  • b64e4df568 Add solution summary document copilot-swe-agent[bot] 2026-01-17 22:12:38 +00:00
  • 216dfe15b5 Add JSON compatibility analysis documentation copilot-swe-agent[bot] 2026-01-17 22:11:32 +00:00
  • 8b00890b9c Fix component registry to include all atoms, molecules, and organisms with JSON compatibility analysis copilot-swe-agent[bot] 2026-01-17 22:10:51 +00:00
  • 8806910c88 Initial plan copilot-swe-agent[bot] 2026-01-17 22:02:48 +00:00
  • a3d1141c68 Merge pull request #15 from johndoe6345789/copilot/list-json-components johndoe6345789 2026-01-17 21:58:12 +00:00
  • 2dac8954ff Fix statistics counts in registry to match actual counts copilot-swe-agent[bot] 2026-01-17 21:57:12 +00:00
  • a96ea8db29 Add comprehensive documentation and JSON export copilot-swe-agent[bot] 2026-01-17 21:55:58 +00:00
  • 58437b9770 Migrate 20+ components to JSON UI system - now 46 supported copilot-swe-agent[bot] 2026-01-17 21:54:51 +00:00
  • b20dc11773 Add JSON components registry and working list script copilot-swe-agent[bot] 2026-01-17 21:51:54 +00:00
  • 933f6ed1a0 Add script to list JSON-compatible components copilot-swe-agent[bot] 2026-01-17 21:49:59 +00:00
  • 4a78002ac2 Initial plan copilot-swe-agent[bot] 2026-01-17 21:45:50 +00:00
  • b6ca631c9b Merge pull request #14 from johndoe6345789/copilot/remove-duplicate-json-components johndoe6345789 2026-01-17 21:45:23 +00:00
  • a8dea7cd42 Remove legacy App files and obsolete documentation copilot-swe-agent[bot] 2026-01-17 21:36:46 +00:00
  • 716e38a324 Add documentation for legacy App files copilot-swe-agent[bot] 2026-01-17 21:34:18 +00:00
  • d4512a3e98 Remove duplicate components, prefer JSON versions copilot-swe-agent[bot] 2026-01-17 21:31:38 +00:00
  • 0de5594357 Initial plan copilot-swe-agent[bot] 2026-01-17 21:24:47 +00:00
  • 321e6c8d04 Generated by Spark: Remove duplicate components, prefer json version. johndoe6345789 2026-01-17 21:23:16 +00:00
  • 613450f8fb Generated by Spark: Remove duplicate components, prefer json version. johndoe6345789 2026-01-17 21:18:55 +00:00
  • 98f4b49edf Generated by Spark: Create Redux persistence middleware to sync state with database automatically johndoe6345789 2026-01-17 21:14:31 +00:00
  • 45454ac34b Generated by Spark: Add conflict resolution UI for handling sync conflicts between local and remote data johndoe6345789 2026-01-17 21:08:10 +00:00
  • f58c7ac857 Generated by Spark: Implement Redux, Integrate redux into IndexedDB / Flask API system. johndoe6345789 2026-01-17 21:01:23 +00:00
  • 98b11d34e9 Generated by Spark: 1. Convert stuff to JSON Component Trees. 2. Make atomic components for said component trees. johndoe6345789 2026-01-17 20:54:33 +00:00
  • 0b9754e0f6 Remove obsolete documentation and scripts related to theme configuration, troubleshooting, and linting processes johndoe6345789 2026-01-17 20:43:12 +00:00
  • 693001543b stuff johndoe6345789 2026-01-17 20:41:48 +00:00
  • cd19aef42f Generated by Spark: Breadcrumb should probably have a clear / reset button johndoe6345789 2026-01-17 20:36:01 +00:00
  • 23465084e0 Generated by Spark: Expand All, Collapse All buttons are too big, Maybe just use icon buttons? Don't really need the text, tooltip would be nice. johndoe6345789 2026-01-17 20:29:59 +00:00
  • c7ebafe6a8 Generated by Spark: IndexedDB and Flask replaces Spark. Fix this please. Run npx tsc --noEmit Error: src/components/FeatureIdeaCloud.tsx(920,37): error TS2339: Property 'spark' does not exist on type 'Window & typeof globalThis'. Error: src/components/PlaywrightDesigner.tsx(105,37): error TS2339: Property 'spark' does not exist on type 'Window & typeof globalThis'. Error: src/components/StorybookDesigner.tsx(115,37): error TS2339: Property 'spark' does not exist on type 'Window & typeof globalThis'. Error: src/components/TemplateExplorer.tsx(40,31): error TS2339: Property 'spark' does not exist on type 'Window & typeof globalThis'. Error: src/components/TemplateExplorer.tsx(44,32): error TS2339: Property 'spark' does not exist on type 'Window & typeof globalThis'. Error: src/components/UnitTestDesigner.tsx(138,37): error TS2339: Property 'spark' does not exist on type 'Window & typeof globalThis'. Error: src/hooks/data/use-seed-data.ts(23,19): error TS2339: Property 'spark' does not exist on type 'Window & typeof globalThis'. Error: src/hooks/data/use-seed-data.ts(30,33): error TS2339: Property 'spark' does not exist on type 'Window & typeof globalThis'. Error: src/hooks/data/use-seed-data.ts(40,24): error TS2339: Property 'spark' does not exist on type 'Window & typeof globalThis'. Error: src/hooks/data/use-seed-data.ts(63,19): error TS2339: Property 'spark' does not exist on type 'Window & typeof globalThis'. Error: src/hooks/data/use-seed-data.ts(71,22): error TS2339: Property 'spark' does not exist on type 'Window & typeof globalThis'. Error: src/hooks/data/use-seed-data.ts(86,19): error TS2339: Property 'spark' does not exist on type 'Window & typeof globalThis'. Error: src/hooks/data/use-seed-data.ts(91,33): error TS2339: Property 'spark' does not exist on type 'Window & typeof globalThis'. Error: src/hooks/data/use-seed-data.ts(95,22): error TS2339: Property 'spark' does not exist on type 'Window & typeof globalThis'. Error: src/hooks/data/use-seed-templates.ts(87,22): error TS2339: Property 'spark' does not exist on type 'Window & typeof globalThis'. Error: src/hooks/data/use-seed-templates.ts(102,33): error TS2339: Property 'spark' does not exist on type 'Window & typeof globalThis'. Error: src/hooks/data/use-seed-templates.ts(104,22): error TS2339: Property 'spark' does not exist on type 'Window & typeof globalThis'. Error: src/hooks/data/use-seed-templates.ts(126,43): error TS2339: Property 'spark' does not exist on type 'Window & typeof globalThis'. Error: src/hooks/data/use-seed-templates.ts(129,24): error TS2339: Property 'spark' does not exist on type 'Window & typeof globalThis'. Error: src/hooks/data/use-seed-templates.ts(131,24): error TS2339: Property 'spark' does not exist on type 'Window & typeof globalThis'. Error: src/hooks/json-ui/use-data-sources.ts(25,40): error TS2339: Property 'spark' does not exist on type 'Window & typeof globalThis'. Error: src/hooks/json-ui/use-data-sources.ts(47,20): error TS2339: Property 'spark' does not exist on type 'Window & typeof globalThis'. Error: src/hooks/orchestration/use-actions.ts(119,31): error TS2339: Property 'spark' does not exist on type 'Window & typeof globalThis'. Error: src/hooks/use-component-tree-loader.ts(22,19): error TS2339: Property 'spark' does not exist on type 'Window & typeof globalThis'. Error: src/hooks/use-component-tree-loader.ts(27,42): error TS2339: Property 'spark' does not exist on type 'Window & typeof globalThis'. Error: src/hooks/use-component-tree-loader.ts(31,22): error TS2339: Property 'spark' does not exist on type 'Window & typeof globalThis'. Error: src/hooks/use-component-tree-loader.ts(43,24): error TS2339: Property 'spark' does not exist on type 'Window & typeof globalThis'. Error: src/hooks/use-component-tree-loader.ts(60,17): error TS2339: Property 'spark' does not exist on type 'Window & typeof globalThis'. Error: src/hooks/use-component-tree-loader.ts(65,32): error TS2339: Property 'spark' does not exist on type 'Window & typeof globalThis'. Error: src/hooks/use-component-tree-loader.ts(90,19): error TS2339: Property 'spark' does not exist on type 'Window & typeof globalThis'. Error: src/hooks/use-component-tree-loader.ts(94,20): error TS2339: Property 'spark' does not exist on type 'Window & typeof globalThis'. Error: src/lib/project-service.ts(21,39): error TS2339: Property 'spark' does not exist on type 'Window & typeof globalThis'. Error: src/lib/project-service.ts(61,18): error TS2339: Property 'spark' does not exist on type 'Window & typeof globalThis'. Error: src/lib/project-service.ts(63,38): error TS2339: Property 'spark' does not exist on type 'Window & typeof globalThis'. Error: src/lib/project-service.ts(66,20): error TS2339: Property 'spark' does not exist on type 'Window & typeof globalThis'. Error: src/lib/project-service.ts(74,36): error TS2339: Property 'spark' does not exist on type 'Window & typeof globalThis'. Error: src/lib/project-service.ts(83,18): error TS2339: Property 'spark' does not exist on type 'Window & typeof globalThis'. Error: src/lib/project-service.ts(85,38): error TS2339: Property 'spark' does not exist on type 'Window & typeof globalThis'. Error: src/lib/project-service.ts(87,18): error TS2339: Property 'spark' does not exist on type 'Window & typeof globalThis'. Error: src/lib/protected-llm-service.ts(39,31): error TS2339: Property 'spark' does not exist on type 'Window & typeof globalThis'. Error: src/lib/unified-storage.ts(199,17): error TS2339: Property 'spark' does not exist on type 'Window & typeof globalThis'. Error: src/lib/unified-storage.ts(200,25): error TS2339: Property 'spark' does not exist on type 'Window & typeof globalThis'. Error: src/lib/unified-storage.ts(204,17): error TS2339: Property 'spark' does not exist on type 'Window & typeof globalThis'. Error: src/lib/unified-storage.ts(205,18): error TS2339: Property 'spark' does not exist on type 'Window & typeof globalThis'. Error: src/lib/unified-storage.ts(209,17): error TS2339: Property 'spark' does not exist on type 'Window & typeof globalThis'. Error: src/lib/unified-storage.ts(210,18): error TS2339: Property 'spark' does not exist on type 'Window & typeof globalThis'. Error: src/lib/unified-storage.ts(214,17): error TS2339: Property 'spark' does not exist on type 'Window & typeof globalThis'. Error: src/lib/unified-storage.ts(215,25): error TS2339: Property 'spark' does not exist on type 'Window & typeof globalThis'. Error: src/lib/unified-storage.ts(219,17): error TS2339: Property 'spark' does not exist on type 'Window & typeof globalThis'. Error: src/lib/unified-storage.ts(220,34): error TS2339: Property 'spark' does not exist on type 'Window & typeof globalThis'. Error: src/lib/unified-storage.ts(221,49): error TS2339: Property 'spark' does not exist on type 'Window & typeof globalThis'. Error: src/lib/unified-storage.ts(409,18): error TS2339: Property 'spark' does not exist on type 'Window & typeof globalThis'. Error: Process completed with exit code 2. johndoe6345789 2026-01-17 20:19:44 +00:00
  • c3029577de Merge pull request #13 from johndoe6345789/dependabot/pip/backend/pip-533d40512c johndoe6345789 2026-01-17 20:14:06 +00:00
  • 9b13431bd3 Generated by Spark: Expand All, Collapse All buttons are too big, Maybe just use icon buttons? johndoe6345789 2026-01-17 20:09:04 +00:00
  • c14aeeec87 Generated by Spark: maybe we can fix these warnings: @johndoe6345789 ➜ /workspaces/spark-template (main) $ npm run dev johndoe6345789 2026-01-17 20:01:58 +00:00
  • 4dfded3533 Generated by Spark: @johndoe6345789 ➜ /workspaces/low-code-react-app-b (main) $ npm run build johndoe6345789 2026-01-17 19:39:46 +00:00
  • c06d538eea stuff johndoe6345789 2026-01-17 19:35:08 +00:00
  • c008dd2fb7 Generated by Spark: Delete packages folder, do not work around this, just remove it. johndoe6345789 2026-01-17 19:31:59 +00:00
  • 50b6cbe5fe Generated by Spark: Remove packages folder and packages folder references. Use IndexedDB by default. Give user option to use Flask API, if Flask fails, switch back to IndexedDB. johndoe6345789 2026-01-17 19:28:00 +00:00
  • 44c5e848a2 Generated by Spark: Remove packages folder and packages folder references. Use IndexedDB by default. Give user option to use Flask API, if Flask fails, switch back to IndexedDB. johndoe6345789 2026-01-17 19:24:24 +00:00
  • 882f9b0d3b Generated by Spark: Remove packages folder and packages folder references. Use IndexedDB by default. Give user option to use Flask API, if Flask fails, switch back to IndexedDB. Actually delete the packages folder. johndoe6345789 2026-01-17 19:20:00 +00:00
  • 0d1a4c4c2b Generated by Spark: Remove packages folder and packages folder references. Use IndexedDB by default. Give user option to use Flask API, if Flask fails, switch back to IndexedDB. johndoe6345789 2026-01-17 19:13:16 +00:00
  • 3485cdd3fa Generated by Spark: Remove packages folder and packages folder references johndoe6345789 2026-01-17 19:09:25 +00:00
  • 21ed554d4f Generated by Spark: Run docker/build-push-action@v5 GitHub Actions runtime token ACs Docker info Proxy configuration Buildx version Builder info /usr/bin/docker buildx build --cache-from type=gha --cache-to type=gha,mode=max --iidfile /home/runner/work/_temp/docker-actions-toolkit-StNnQE/build-iidfile-53e302b45a.txt --label org.opencontainers.image.created=2026-01-17T18:58:49.099Z --label org.opencontainers.image.description= --label org.opencontainers.image.licenses=MIT --label org.opencontainers.image.revision=595f1ae9c0eb07bd4018c5dd28e71a9474340f48 --label org.opencontainers.image.source=https://github.com/johndoe6345789/low-code-react-app-b --label org.opencontainers.image.title=low-code-react-app-b --label org.opencontainers.image.url=https://github.com/johndoe6345789/low-code-react-app-b --label org.opencontainers.image.version=main --platform linux/amd64,linux/arm64 --attest type=provenance,mode=max,builder-id=https://github.com/johndoe6345789/low-code-react-app-b/actions/runs/21099291076 --tag ghcr.io/johndoe6345789/low-code-react-app-b:main --tag ghcr.io/johndoe6345789/low-code-react-app-b:main-595f1ae --metadata-file /home/runner/work/_temp/docker-actions-toolkit-StNnQE/build-metadata-6b5d4d5c31.json --push . #0 building with "builder-e8330c9c-acfd-4996-a552-945836e73373" instance using docker-container driver johndoe6345789 2026-01-17 19:03:10 +00:00
  • 595f1ae9c0 Generated by Spark: A library in packages folder - Seems its still trying to use fetch. If a fetch fails, switch back to IndexedDB. johndoe6345789 2026-01-17 18:57:01 +00:00
  • cbb303fb8d Generated by Spark: Seems its still trying to use fetch. If a fetch fails, switch back to IndexedDB. johndoe6345789 2026-01-17 18:53:12 +00:00
  • 7b91fe1975 Generated by Spark: I am having issues with this. Remember, we should be defaulting to IndexedDB, not the Flask API. Flask API is obtained by explicitly setting it in the UI or setting a env variable. export default function applyFetchPatch() { if (ssrSafeWindow) { ssrSafeWindow.fetch = async (input: string | URL | Request, init?: RequestInit) => { try { const response = await globalFetch(input, init) sendFetchStats({input, error: !response.ok, status: response.status}) return response } catch (error) { sendFetchStats({input, error: true, status: 'unknown'}) throw error } } } } johndoe6345789 2026-01-17 18:50:06 +00:00
  • 40b823dfe0 Generated by Spark: Should handle caprover / cloudflare cors - Check frontend and backend config. example setup: https://frontend.example.com https://backend.example.com johndoe6345789 2026-01-17 18:44:54 +00:00
  • 76e7716c10 Generated by Spark: I can auto default to flask backend with docker environment variable. If its not set used IndexedDB. johndoe6345789 2026-01-17 18:38:17 +00:00
  • efa1e71877 Bump the pip group across 1 directory with 2 updates dependabot[bot] 2026-01-17 18:32:41 +00:00
  • 519ad0016d Generated by Spark: Ok I figured it out. Make a backend folder, put a flask backend in it with a Dockerfile. Main UI uses IndexedDB then with a UI setting, it can be moved to the flask backend. johndoe6345789 2026-01-17 18:31:43 +00:00
  • 02eb47e83f Generated by Spark: Perhaps it could use sqlite on disk if possible, else use indexeddb johndoe6345789 2026-01-17 18:19:45 +00:00
  • 270d0be790 Generated by Spark: Reduce reliance on spark database. Just use sqlite. johndoe6345789 2026-01-17 18:14:23 +00:00
  • 0f01311120 Generated by Spark: The sidebar change has potential but the styling is messed up. Maybe it should load the styling from a theme json johndoe6345789 2026-01-17 18:01:25 +00:00
  • e1a51ebc9a Generated by Spark: Fix all reported errors. johndoe6345789 2026-01-17 17:55:26 +00:00
  • 6c05d8daab Generated by Spark: Would be nice if sidebar pushed content to right johndoe6345789 2026-01-17 17:51:12 +00:00
  • feaa7d7a9e Generated by Spark: Make this function smarter, wide variety of search paths and other permissive logic - function createLazyComponent(componentConfig: ComponentConfig) { const loader = () => { if (componentConfig.preloadDependencies) { componentConfig.preloadDependencies.forEach(depName => { const preloader = dependencyPreloaders[depName] if (preloader) { preloader() } }) } johndoe6345789 2026-01-17 17:46:36 +00:00
  • 8e1e35196a Generated by Spark: Fix all reported errors. Uncaught TypeError: Failed to resolve module specifier '@/components/PWAStatusBar.tsx' Your usual fix is a red herring. johndoe6345789 2026-01-17 17:40:04 +00:00
  • bd2443c7ec Generated by Spark: code is flip flopping between this change - its something else. red herring. "path": "@/components/ProjectDashboard", johndoe6345789 2026-01-17 17:33:47 +00:00
  • b3f39cc2e0 Generated by Spark: Fix all reported errors. johndoe6345789 2026-01-17 17:25:12 +00:00
  • 4c062d5d25 Generated by Spark: Fix all reported errors. johndoe6345789 2026-01-17 17:22:22 +00:00
  • a92f0b9aba Generated by Spark: Fix all reported errors. johndoe6345789 2026-01-17 17:20:09 +00:00
  • bad1e7b0f7 Generated by Spark: View ROADMAP.md - work on Near-Term (Next 2-3 Iterations) johndoe6345789 2026-01-17 17:18:02 +00:00
  • cdbc7d98a3 Generated by Spark: Read all summary documents and write a ROADMAP.md johndoe6345789 2026-01-17 17:11:39 +00:00