Skip to content

feat: local-LLM workflow, dedup UX, queue management, and autosave#1

Open
emirikol1 wants to merge 1 commit into
mrigankad:devfrom
emirikol1:feat/ui-dedup-queue-local-llm-enhancements
Open

feat: local-LLM workflow, dedup UX, queue management, and autosave#1
emirikol1 wants to merge 1 commit into
mrigankad:devfrom
emirikol1:feat/ui-dedup-queue-local-llm-enhancements

Conversation

@emirikol1

@emirikol1 emirikol1 commented Jun 30, 2026

Copy link
Copy Markdown

Note from the submitter

I built this branch while learning Novel OS on my own install. I may have changed workflows the upstream author intended — in several places I wasn't fully sure what the original design was aiming for, so I optimized for what made sense to me as a daily user (local LLM, background jobs, autosave, queue visibility). Apologies if any of that diverges from your vision. Happy to revert, rename, or rework anything that doesn't fit the project's direction.


What this PR adds (high level)

  1. LM Studio / Ollama as the primary LLM path (Claude CLI backend removed from this branch).
  2. A global LLM concurrency queue with reorder, cancel, and a unified job popover.
  3. Background jobs for slow AI work (dedup scans, chapter mining) so the UI stays usable.
  4. Codex tooling in the dashboard (cast, plots, story bible) with dedup, generators, and backups.
  5. UX polish: autosave, resume markers, AI-result stars, restart confirmation, modal portal fix.

All test fixtures use generic fiction names only. No user manuscript data, secrets, or home paths are committed.


Workflow markers

Marker Where Meaning
Blue dot ● Binder / chapter board One chapter only — last chapter you opened or ran an action in
Blue dot ● Pipeline buttons (current chapter) Last function you ran on this chapter (Revise, Mine plots, etc.)
Gold star ★ Tabs, buttons, binder rows AI results ready to review (previews, dedup scans)

Intended workflow (how to use it)

Setup

  • Point Novel OS at a local OpenAI-compatible server (LM Studio or Ollama).
  • Set provider env in .env (gitignored).
  • Start the app; open a project from Library.

Chapter pipeline

Outline → Draft → Revised → Validated → Approved → Final

Step Button What it does
Draft Generate Draft Scribe agent writes draft prose
Revise Revise Editor pass → Revised stage
Validate Validate Guardian continuity check
Approve Approve Marks chapter approved
Final Promote → Final Human-reviewed canonical text

Additional chapter tools: Regenerate, Expand placeholders, Outline from notes/text (preview → keep/discard), parallel Mine jobs for plots/characters/bible. Chapter text autosaves.

Dashboard codex

Tab Features
Chapters Board / Outliner; pipeline status dots; blue dot = last accessed chapter
Cast Character editor with AI generate + autosave; Resolve duplicates
Plot Threads Inline edit, drag-reorder, nest; Check subplot issues; autosave
Story Bible Section editors + autosave; Deduplicate bible

LLM queue (sidebar → AI settings)

  • Concurrent LLM requests — autosaved when changed.
  • Queue popover — in-progress vs waiting, chapter badges, drag-reorder, cancel.
  • Global system prefix — autosaved.
  • Restart (flush queue) — confirms if background or LLM jobs are running before cancelling and restarting.

Backups & export

Explicit actions only: Backups modal, Export manuscript, Export project.


Feature list (for reviewers)

  • Local LLM client; hardened JSON parsing for thinking-wrapped output
  • FIFO LLM queue: concurrency limit, reorder, cancel, job labels
  • Background job runner; non-blocking dedup and chapter mining
  • Entity + bible dedup with disk-backed suggestions
  • Plot panel issues; plot nest/reorder; title-row expand toggle
  • Chapter regenerate / expand / outline (preview → keep/discard)
  • Character & plot generators; project backup + portable export
  • Modal portal fix; autosave across codex, chapters, and settings
  • Workflow markers (binder vs button); gold AI stars; restart confirm
  • Expanded pytest coverage

Security / privacy review (submitter)

  • .env, *.db, outputs/, projects/, and logs are gitignored — not in this PR.
  • Test fixtures use generic fiction names only.
  • No API keys, home paths, or manuscript text in committed files.
  • Single squashed commit; submitter author metadata anonymized.
  • Triple-scanned before push: tree grep, full diff, commit metadata — all clean.

Test plan

  • pytest tests/ from app root (137+ pass; 5 API job tests may need fresh process)
  • LM Studio connected; Generate Draft on a test chapter
  • Queue popover: in-progress vs waiting, reorder, cancel
  • Blue dot: only one chapter in binder; button dot on last function used
  • Gold ★ after background dedup or chapter preview
  • Restart with jobs running → confirm dialog appears
  • Autosave: character, plot thread, concurrency setting
  • Project backup create + restore

@emirikol1 emirikol1 force-pushed the feat/ui-dedup-queue-local-llm-enhancements branch 5 times, most recently from cbd5179 to f247f0d Compare June 30, 2026 01:38
@emirikol1 emirikol1 changed the title feat: local-LLM workflow, dedup UX, queue visibility, and codex tooling feat: local-LLM workflow, dedup UX, queue management, and autosave Jun 30, 2026
LM Studio path with FIFO queue (reorder/cancel), job popover, background
dedup/mining, autosave, workflow markers, AI stars, restart confirm.
Generic test fixtures only.
@emirikol1 emirikol1 force-pushed the feat/ui-dedup-queue-local-llm-enhancements branch from f247f0d to ef900ee Compare June 30, 2026 01:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants