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
.gitignoreand.rrduignorefiltering via standard library traversal. - Fine-grained exclusions (
workspace.excludeandupdater.exclude). - Filtration of
gitandpathdependencies (strictly checkingcrates.io).
Phase 3: crates.io Registry Client, Security & SemVer Engine (registry)
- Sub-config boundaries for nested
.rrduconfigmanifests (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
rrducore library and thin CLI binary. - Integration of
comfy-table-inline(customcomfy-tableedition with inline table support andforce_no_ttysafety). - Dual-mode logging (file-based
./rrdu.logfor 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::SelectinViews::Dependecy) and wire keyu.
Phase 6: End-to-End Verification, Fixtures & Release v0.1.0
- Integration test suite in
tests/usingtempfile. - End-to-end headless CI verification across Linux and Windows.
- Criterion benchmark suite in
benches/. - Clean security audit (
cargo audit). - Official
v0.1.0release on GitHub andcrates.io.