Files
uc2/docs/roadmap.rst
T
Eremey Valetov 7c832ac7dd Identify multi-file extraction root cause: SuperMaster path hangs
Compared raw cdir bytes between original UC2 Pro and UC2 v3 archives
(using fixed bitdump.py match decoder). Key finding: the original
NEVER uses SuperMaster (masterPrefix=0) in file COMPRESS records —
it always assigns custom master indices (>= 2). UC2 v3 uses
SuperMaster for ungrouped files.

The original's ExtractFiles() processes SuperMaster files through
ToToWalk(TTefl, SUPERMASTER, ...) which hangs. Custom master files
go through the masroot chain walk, which works correctly.

Fix: always assign custom master indices to all files, generating at
least one custom master block even for archives without dedup groups.
This matches the original's behavior.

Other differences found: original uses hidden=0xDE (sentinel), tag=0
(no EXTMETA), method=3, and csize=8 (much smaller due to custom
master compression).
2026-03-29 14:59:24 -04:00

44 lines
1.7 KiB
ReStructuredText

Roadmap
=======
The development roadmap is maintained in ``ROADMAP.md`` at the project
root. Key phases:
1. **Decompression MVP** — Done. Portable decompressor, CLI tool,
CMake build system.
2. **Original Compression Engine** — Done. LZ77+Huffman compressor.
Cross-tool round-trip verified in both directions: original UC2
Pro archives extract correctly in UC2 v3, and single-file UC2 v3
archives extract correctly by the original. Multi-file extraction
requires custom masters (the original never uses SuperMaster in
file COMPRESS records — it hangs on the SuperMaster extraction path).
3. **Modernized Master-Block Deduplication** — In progress.
Content-fingerprint grouping and custom master-block generation done
(FNV-1a sampling, MASMETA cdir records, SuperMaster-compressed
masters). Remaining: content-defined chunking, Merkle DAG,
cross-archive dedup, near-duplicate detection.
4. **Modern Compression Backends** — ANS entropy coding,
zstd-inspired dictionary compression, content-aware preprocessing.
5. **Quantum-Resistant Encryption** — CRYSTALS-Kyber + AES-256-GCM.
6. **DOS / FreeDOS / Retro-Computing** — DJGPP toolchain, vintage
hardware support, self-extracting archives.
7. **Cryptographic Integrity & Timestamping** — BLAKE3 hashing,
OpenTimestamps.
8. **Decentralized & Cloud Integration** — IPFS pinning,
content-addressable dedup, cloud archiving.
9. **Zero-Knowledge Proofs** — Privacy-preserving archive verification.
10. **Ecosystem Integrations** — libarchive plugin, streaming dedup
ingestion, file manager plugins.
See the full roadmap: `ROADMAP.md on GitHub
<https://github.com/evvaletov/uc2/blob/main/ROADMAP.md>`_.