Thanks for improving raria.
git clone https://github.com/AnInsomniacy/raria.git
cd raria
cargo build --workspace
cargo test --workspace
cargo clippy --workspace --all-targets -- -D warningsraria follows the progress-adjusted practical maturity contract described in docs/practical-maturity.md. The verification standard for completion claims lives in docs/verification-contract.md, and the public BitTorrent parity limits live in docs/bt-stop-lines.md.
Contributions should preserve these rules:
- Capability-first delivery: land real behavior, stronger verification, or an honest documentation correction.
- TDD is required when behavior changes.
- No fake green: do not weaken tests, hide regressions, or advertise unsupported capability.
- Write-scope discipline: keep the diff inside the intended lane unless correctness forces a wider change.
- Facade honesty: aria2-style responses may default or omit unstable fields, but they must not distort internal truth.
- Do not relabel already-landed baseline work as future roadmap just because the docs are stale.
Every meaningful change should respect the three active hard gates.
If dependency limits or architecture boundaries block parity, record the gap honestly instead of papering it over.
Use these grades:
core-blockingadvanced-but-acceptablemigration-only
The current BitTorrent stop-line ledger lives in crates/raria-bt/tests/bt_gap_ledger.rs.
Before leaning on dependency behavior, confirm the dependency can actually support the intended capability. The current high-value dependency set is:
librqbitreqwestsuppaftprussh/russh-sftpredbjsonrpsee
Each plan step should declare:
- a primary write area
- optional supporting write areas
- explicit forbidden areas
If you need to cross those boundaries, document why the wider change is unavoidable.
The active repo-facing closeout work is:
- baseline and docs alignment
- BitTorrent stop-line and docs or RPC sync
- Metalink daemon-path runtime evidence
- verification-contract and closure-evidence maintenance
Old Step 1 through Step 4 implementation work is baseline now. Do not reopen it as if it were still the roadmap.
| Crate | Purpose |
|---|---|
raria-core |
Job model, engine, scheduler, persistence, config, checksum |
raria-range |
Shared segmented-download abstractions and executor |
raria-http |
HTTP/HTTPS backend |
raria-ftp |
FTP/FTPS backend |
raria-sftp |
SFTP backend |
raria-metalink |
Metalink parser and normalizer |
raria-bt |
BitTorrent service integration |
raria-rpc |
aria2-style JSON-RPC server and facade |
raria-cli |
CLI and daemon integration |
- Say which closeout lane, stop-line, or documentation correction the change addresses.
- Add or tighten tests first when behavior changes.
- Keep the diff inside the declared write scope whenever possible.
- Run the verification commands that match the scope and report the actual result.
- Update docs whenever capability claims, stop-lines, or operational guidance change.
Use docs/verification-contract.md as the durable repository standard.
- Do not claim tests pass without fresh command output.
- Do not claim late-stage closure from documentation alone.
- If a path is only covered at unit or RPC level, say so.
- If a gap is blocked upstream or by design, keep it explicit in the stop-line ledger.
By contributing, you agree that your contributions will be licensed under Apache 2.0.