Skip to content

Nuvom Roadmap

This document outlines Nuvom’s development milestones, from initial prototype to the current release, and what’s ahead for v1.0 and beyond.

Nuvom is built to be a developer-first, plugin-friendly, and predictable task execution engine. We’re designing for real-world problems across local development, production, and Windows environments — with clarity, extensibility, and reliability at the core.


Completed Milestones

v0.1 — Core Foundations

  • Basic @task() decorator with .delay()
  • In-memory queue and worker threads
  • Functional CLI: nuvom runworker, nuvom list tasks

v0.2 — Result Backends & CLI

  • Pluggable result backend interface
  • File-based result store
  • Full CLI inspection commands

v0.3 — Queue Backends

  • File-based persistent job queue
  • Msgpack serialization for jobs
  • .corrupt quarantine for bad jobs

v0.4 — Runtime Execution & Hooks

  • ExecutionEngine abstraction
  • Timeout and retries
  • Lifecycle hooks: before_job, after_job, on_error

v0.5 — Static Task Discovery

  • AST-powered task detection
  • .nuvomignore support
  • Manifest system for caching task metadata

v0.6 — Developer Experience Boosts

  • Dev mode (--dev) for hot task reloading
  • Manifest diffing and CLI-rich task listings
  • Structured logs and tracebacks via rich

v0.7 — Observability & History

  • Tracebacks for all jobs
  • Full CLI metadata inspection
  • Historical job browsing

v0.8 — Reliability and Polish

  • Retry-on-failure system
  • Timeout policy: retry, fail, ignore
  • SDK retry tools
  • Job attempt metadata and diagnostics

v0.9 — Plugin Architecture + SQLite

  • Fully dynamic plugin system via .nuvom_plugins.toml
  • SQLite result backend
  • Graceful shutdown lifecycle for plugin-based workers
  • Plugin-based test coverage

v0.10 — Pre-v1 Foundation

  • SQLite-based persistent queue backend
  • Visibility timeout & requeue support
  • Plugin regression test suite
  • Built-in Prometheus metrics plugin
  • MkDocs documentation site
  • Performance & concurrency benchmarking
  • Plugin lifecycle: start(settings), stop()
  • Queue introspection metrics: queue_size, inflight_jobs
  • Final polish + bugfixes for v0.10 release

v0.11 — Scheduler & Production-Ready APIs

Status: Current release

  • Built-in scheduler for one-off, interval, and cron-style tasks
  • .schedule() API integrated with tasks, compatible with workers
  • Scheduler backend support via environment variable
  • Predictable execution across local and production environments
  • CLI and SDK support for scheduling inspection
  • Minor bugfixes and cross-platform stability improvements
  • Documentation updates with scheduling guides

v1.0 Goals — Stable Core

  • [x] Windows-native, Redis-free by design
  • [x] No imports required: safe task discovery via AST
  • [x] CLI-driven, scriptable, and testable
  • [x] Plugin-first queue & result architecture
  • [x] Observability, retries, and timeouts
  • [x] Queue system stress-tested for multi-core workloads
  • [ ] Plugin registry contracts + third-party plugin showcase
  • [ ] Rich dashboard and metrics browser

Post‑1.0 Backlog (Ideas)

These features are actively under exploration — not committed to a specific release:

  • [ ] Redis queue and result backend (optional, opt-in)
  • [ ] Multi-host worker cluster (via file locks or RPC mesh)
  • [ ] DAG-style task chaining: task1().then(task2)
  • [ ] Plugin sandboxing and capability enforcement
  • [ ] Web UI / dashboard to browse queue + workers
  • [ ] VSCode extension: discover tasks visually, browse results
  • [ ] Task versioning and signature integrity check
  • [ ] Offline .nuvom_tasks.json static task export (zero-import bootstrap)

Contributing

The roadmap is shaped by real-world problems. Open an issue or discussion if:

  • You need support for a custom backend
  • You’re building a dashboard or monitoring tool
  • You’re using Nuvom at scale and hitting edge cases
  • You want to build your own plugin or backend

Let’s build something lean, sharp, and predictable — together.