"use strict";(globalThis.webpackChunkproject_public_docs=globalThis.webpackChunkproject_public_docs||[]).push([[393],{8363(e,s,i){i.r(s),i.d(s,{assets:()=>o,contentTitle:()=>c,default:()=>h,frontMatter:()=>a,metadata:()=>t,toc:()=>d});const t=JSON.parse('{"id":"todos","title":"Ramble TODOs","description":"Active Tasks","source":"@site/docs/todos.md","sourceDirName":".","slug":"/todos","permalink":"/rob/ramble/todos","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":6,"frontMatter":{"type":"todos","project":"ramble","updated":"2026-01-07T00:00:00.000Z","sidebar_position":6},"sidebar":"docs","previous":{"title":"Ramble Configuration","permalink":"/rob/ramble/configuration"},"next":{"title":"Goals","permalink":"/rob/ramble/goals"}}');var l=i(4848),n=i(8453);const a={type:"todos",project:"ramble",updated:new Date("2026-01-07T00:00:00.000Z"),sidebar_position:6},c="Ramble TODOs",o={},d=[{value:"Active Tasks",id:"active-tasks",level:2},{value:"High Priority",id:"high-priority",level:3},{value:"Medium Priority",id:"medium-priority",level:3},{value:"Low Priority",id:"low-priority",level:3},{value:"Completed",id:"completed",level:2},{value:"Ideas / Backlog",id:"ideas--backlog",level:2},{value:"Known Issues",id:"known-issues",level:2}];function r(e){const s={code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",input:"input",li:"li",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,n.R)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(s.header,{children:(0,l.jsx)(s.h1,{id:"ramble-todos",children:"Ramble TODOs"})}),"\n",(0,l.jsx)(s.h2,{id:"active-tasks",children:"Active Tasks"}),"\n",(0,l.jsx)(s.h3,{id:"high-priority",children:"High Priority"}),"\n",(0,l.jsxs)(s.ul,{className:"contains-task-list",children:["\n",(0,l.jsxs)(s.li,{className:"task-list-item",children:[(0,l.jsx)(s.input,{type:"checkbox",disabled:!0})," ","Implement field locking persistence across sessions @M1"]}),"\n",(0,l.jsxs)(s.li,{className:"task-list-item",children:[(0,l.jsx)(s.input,{type:"checkbox",disabled:!0})," ","Add export to multiple formats (Markdown, YAML) @M1"]}),"\n",(0,l.jsxs)(s.li,{className:"task-list-item",children:[(0,l.jsx)(s.input,{type:"checkbox",disabled:!0})," ","Create keyboard shortcuts for common actions @M1"]}),"\n",(0,l.jsxs)(s.li,{className:"task-list-item",children:[(0,l.jsx)(s.input,{type:"checkbox",disabled:!0})," ","Add field validation with user-friendly error messages @M1"]}),"\n"]}),"\n",(0,l.jsx)(s.h3,{id:"medium-priority",children:"Medium Priority"}),"\n",(0,l.jsxs)(s.ul,{className:"contains-task-list",children:["\n",(0,l.jsxs)(s.li,{className:"task-list-item",children:[(0,l.jsx)(s.input,{type:"checkbox",disabled:!0})," ","Add template system for common field configurations @M2"]}),"\n",(0,l.jsxs)(s.li,{className:"task-list-item",children:[(0,l.jsx)(s.input,{type:"checkbox",disabled:!0})," ","Implement history/recall of previous rambles @M2"]}),"\n",(0,l.jsxs)(s.li,{className:"task-list-item",children:[(0,l.jsx)(s.input,{type:"checkbox",disabled:!0})," ","Add voice input option (speech-to-text) @M2"]}),"\n",(0,l.jsxs)(s.li,{className:"task-list-item",children:[(0,l.jsx)(s.input,{type:"checkbox",disabled:!0})," ","Create comparison view for before/after extraction @M2"]}),"\n",(0,l.jsxs)(s.li,{className:"task-list-item",children:[(0,l.jsx)(s.input,{type:"checkbox",disabled:!0})," ","Add batch processing mode for multiple inputs @M2"]}),"\n",(0,l.jsxs)(s.li,{className:"task-list-item",children:[(0,l.jsx)(s.input,{type:"checkbox",disabled:!0})," ","Document Stability AI integration (--stability flag) @M1"]}),"\n",(0,l.jsxs)(s.li,{className:"task-list-item",children:[(0,l.jsx)(s.input,{type:"checkbox",disabled:!0})," ","Document Pexels integration (--pexels flag) @M1"]}),"\n"]}),"\n",(0,l.jsx)(s.h3,{id:"low-priority",children:"Low Priority"}),"\n",(0,l.jsxs)(s.ul,{className:"contains-task-list",children:["\n",(0,l.jsxs)(s.li,{className:"task-list-item",children:[(0,l.jsx)(s.input,{type:"checkbox",disabled:!0})," ","Browser extension for quick rambles @M3"]}),"\n",(0,l.jsxs)(s.li,{className:"task-list-item",children:[(0,l.jsx)(s.input,{type:"checkbox",disabled:!0})," ","Mobile companion app @M3"]}),"\n",(0,l.jsxs)(s.li,{className:"task-list-item",children:[(0,l.jsx)(s.input,{type:"checkbox",disabled:!0})," ","Collaborative rambling (shared sessions) @M3"]}),"\n",(0,l.jsxs)(s.li,{className:"task-list-item",children:[(0,l.jsx)(s.input,{type:"checkbox",disabled:!0})," ","Integration with note-taking apps (Obsidian, Notion) @M3"]}),"\n"]}),"\n",(0,l.jsx)(s.h2,{id:"completed",children:"Completed"}),"\n",(0,l.jsxs)(s.ul,{className:"contains-task-list",children:["\n",(0,l.jsxs)(s.li,{className:"task-list-item",children:[(0,l.jsx)(s.input,{type:"checkbox",checked:!0,disabled:!0})," ","Core extraction engine"]}),"\n",(0,l.jsxs)(s.li,{className:"task-list-item",children:[(0,l.jsx)(s.input,{type:"checkbox",checked:!0,disabled:!0})," ","PySide6 GUI implementation"]}),"\n",(0,l.jsxs)(s.li,{className:"task-list-item",children:[(0,l.jsx)(s.input,{type:"checkbox",checked:!0,disabled:!0})," ","PlantUML diagram generation"]}),"\n",(0,l.jsxs)(s.li,{className:"task-list-item",children:[(0,l.jsx)(s.input,{type:"checkbox",checked:!0,disabled:!0})," ","Headless CLI mode"]}),"\n",(0,l.jsxs)(s.li,{className:"task-list-item",children:[(0,l.jsx)(s.input,{type:"checkbox",checked:!0,disabled:!0})," ","Programmatic API"]}),"\n",(0,l.jsxs)(s.li,{className:"task-list-item",children:[(0,l.jsx)(s.input,{type:"checkbox",checked:!0,disabled:!0})," ","Field locking mechanism"]}),"\n",(0,l.jsxs)(s.li,{className:"task-list-item",children:[(0,l.jsx)(s.input,{type:"checkbox",checked:!0,disabled:!0})," ","Multi-provider support (2026-01-06)"]}),"\n",(0,l.jsxs)(s.li,{className:"task-list-item",children:[(0,l.jsx)(s.input,{type:"checkbox",checked:!0,disabled:!0})," ","Docker container with pre-built image"]}),"\n",(0,l.jsxs)(s.li,{className:"task-list-item",children:[(0,l.jsx)(s.input,{type:"checkbox",checked:!0,disabled:!0})," ","Docker Compose configuration"]}),"\n",(0,l.jsxs)(s.li,{className:"task-list-item",children:[(0,l.jsx)(s.input,{type:"checkbox",checked:!0,disabled:!0})," ","Field criteria support via --criteria flag"]}),"\n",(0,l.jsxs)(s.li,{className:"task-list-item",children:[(0,l.jsx)(s.input,{type:"checkbox",checked:!0,disabled:!0})," ","Hints support via --hints flag"]}),"\n",(0,l.jsxs)(s.li,{className:"task-list-item",children:[(0,l.jsx)(s.input,{type:"checkbox",checked:!0,disabled:!0})," ","Configurable timeout and tail options"]}),"\n"]}),"\n",(0,l.jsx)(s.h2,{id:"ideas--backlog",children:"Ideas / Backlog"}),"\n",(0,l.jsxs)(s.ul,{children:["\n",(0,l.jsx)(s.li,{children:"Auto-suggest field types based on ramble content"}),"\n",(0,l.jsx)(s.li,{children:"Learning from corrections to improve extraction"}),"\n",(0,l.jsx)(s.li,{children:"Custom extraction prompts per field type"}),"\n",(0,l.jsx)(s.li,{children:"Integration with project management tools"}),"\n",(0,l.jsx)(s.li,{children:"Ramble chains (output of one feeds another)"}),"\n",(0,l.jsx)(s.li,{children:"Web-based UI alternative to desktop GUI"}),"\n"]}),"\n",(0,l.jsx)(s.h2,{id:"known-issues",children:"Known Issues"}),"\n",(0,l.jsxs)(s.table,{children:[(0,l.jsx)(s.thead,{children:(0,l.jsxs)(s.tr,{children:[(0,l.jsx)(s.th,{children:"Issue"}),(0,l.jsx)(s.th,{children:"Status"}),(0,l.jsx)(s.th,{children:"Workaround"})]})}),(0,l.jsxs)(s.tbody,{children:[(0,l.jsxs)(s.tr,{children:[(0,l.jsx)(s.td,{children:"PlantUML server timeout"}),(0,l.jsx)(s.td,{children:"Open"}),(0,l.jsxs)(s.td,{children:["Use local PlantUML (",(0,l.jsx)(s.code,{children:"apt install plantuml"}),")"]})]}),(0,l.jsxs)(s.tr,{children:[(0,l.jsx)(s.td,{children:"Large text slow extraction"}),(0,l.jsx)(s.td,{children:"Investigating"}),(0,l.jsx)(s.td,{children:"Use --tail flag to limit input size"})]})]})]})]})}function h(e={}){const{wrapper:s}={...(0,n.R)(),...e.components};return s?(0,l.jsx)(s,{...e,children:(0,l.jsx)(r,{...e})}):r(e)}},8453(e,s,i){i.d(s,{R:()=>a,x:()=>c});var t=i(6540);const l={},n=t.createContext(l);function a(e){const s=t.useContext(n);return t.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:a(e.components),t.createElement(n.Provider,{value:s},e.children)}}}]);