Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Pre-Release Roadmap

This document outlines the milestones, current progress, and upcoming engineering phases leading to the official v0.1.0 release of rust-recursive-deps-updater (rrdu).


Milestone Progress

Phase 0: Setup, Governance, CI/CD & Marketplace Infrastructure

  • GNU General Public License v3.0 setup (LICENSE).
  • Governance documentation (CODE_OF_CONDUCT.md, SECURITY.md, CONTRIBUTING.md).
  • AI agent directives (AGENTS.md) and anti-vibe-coding standards.
  • CI workflows with cross-platform matrix testing (Linux GNU/musl, Windows) and PR title linting.
  • Immutable SHA pinning for all GitHub Actions.
  • Composite Action implementation (action.yml).

Phase 1: Configuration Layer (.rrduconfig) & init Command

  • Configuration data models (RrduConfig, ProjectConfig, UpdaterConfig).
  • YAML parsing via pure-safe noyalib.
  • Path canonicalization and strict traversal validation (rejecting ../ and /).
  • Interactive template generator (rrdu --init) with overwrite protection.

Phase 2: Workspace & Sub-Crate Discovery Engine (workspace)

  • Manifest traversal and dependency mapping.
  • Scoped .gitignore and .rrduignore filtering via standard library traversal.
  • Fine-grained exclusions (workspace.exclude and updater.exclude).
  • Filtration of git and path dependencies (strictly checking crates.io).

Phase 3: crates.io Registry Client, Security & SemVer Engine (registry)

  • Sub-config boundaries for nested .rrduconfig manifests (sub-config: true).
  • Hierarchical module status codes (1YXX - 7YXX) and structured logging.
  • Persistent tri-cache (~/.rrdu/cache/) with TTL validation (Index, Web API, RustSec).
  • Two-tier querying: fast sparse index queries for CI and throttled Web API queries (1 req/s) for interactive mode.
  • Cargo SemVer comparison engine with pre-1.0 and post-1.0 breaking change detection.

Phase 4: Interactive CLI, Table Formatter & Headless Modes (cli)

  • Split architecture into rrdu core library and thin CLI binary.
  • Integration of comfy-table-inline (custom comfy-table edition with inline table support and force_no_tty safety).
  • Dual-mode logging (file-based ./rrdu.log for interactive CLI, stderr for CI).
  • Filter out yanked versions from registry responses.
  • Headless CI check (rrdu --headless) with hierarchical audit tables.
  • Interactive pagination, spinners, and keyboard navigation (arrow keys, Backspace, Esc).
  • Privacy-sanitized diagnostics report (rrdu --report).
  • CLI documentation and argument help display (rrdu --help).
  • Integration of the first benchmarks.

Phase 5: Comment-Preserving Manifest Updater (updater)

  • In-place AST modifications via toml_edit.
  • Full preservation of comments, whitespace, indentation, and inline tables.
  • Workspace-level dependency updates ([workspace.dependencies]).
  • Re-enable interactive dependency selection (SpecialInputs::Select in Views::Dependecy) and wire key u.

Phase 6: End-to-End Verification, Fixtures & Release v0.1.0

  • Integration test suite in tests/ using tempfile.
  • End-to-end headless CI verification across Linux and Windows.
  • Criterion benchmark suite in benches/.
  • Clean security audit (cargo audit).
  • Official v0.1.0 release on GitHub and crates.io.