# Project State ## Project Reference See: .planning/PROJECT.md (updated 2026-02-24) **Core value:** Archive impossible to unpack without knowing the format -- standard tools (7z, tar, unzip, binwalk) cannot recognize or extract contents **Current focus:** Phase 2: Core Archiver ## Current Position Phase: 2 of 6 (Core Archiver) -- COMPLETE Plan: 2 of 2 in current phase -- COMPLETE Status: Phase 2 complete, ready for Phase 3 Last activity: 2026-02-24 -- Pack/unpack/inspect archive commands Progress: [███░░░░░░░] 33% ## Performance Metrics **Velocity:** - Total plans completed: 3 - Average duration: 4.3 min - Total execution time: 0.2 hours **By Phase:** | Phase | Plans | Total | Avg/Plan | |-------|-------|-------|----------| | 1. Format Specification | 1 | 7 min | 7 min | | 2. Core Archiver | 2/2 | 6 min | 3 min | **Recent Trend:** - Last 5 plans: 7min, 4min, 2min - Trend: improving *Updated after each plan completion* ## Accumulated Context ### Decisions Decisions are logged in PROJECT.md Key Decisions table. Recent decisions affecting current work: - Roadmap: Format spec must precede all implementation (all three decoders build against same spec) - Roadmap: Obfuscation (XOR headers, encrypted TOC, decoy padding) deferred to Phase 6 after all decoders work without it - Phase 1: IV stored only in TOC, not duplicated in data blocks (simplifies shell dd extraction) - Phase 1: Same 32-byte key for AES-256-CBC and HMAC-SHA-256 in v1 (v2 will use HKDF) - Phase 1: Magic bytes 0x00 0xEA 0x72 0x63 (leading null signals binary) - Phase 1: HMAC scope = IV (16 bytes) || ciphertext (encrypted_size bytes) - Phase 2: Used rand::Fill::fill() for IV generation (correct rand 0.9 API) - Phase 2: Manual binary serialization with to_le_bytes/from_le_bytes (no serde/bincode) - Phase 2: Filename-only entry names (not full paths) for archive portability - Phase 2: HMAC failure skips file and continues; SHA-256 mismatch warns but writes - Phase 2: Flags bit 0 set only when at least one file is actually compressed ### Pending Todos None yet. ### Blockers/Concerns - Open question: Does target busybox have `openssl enc -aes-256-cbc` with `-K`/`-iv` flags? (affects Phase 5) - Open question: Is `xxd` available in target busybox? Fallback: `od` (affects Phase 5; spec includes od fallback functions) - RESOLVED: HMAC uses same key as AES in v1 (decided in Phase 1 spec, v2 will use HKDF) ## Session Continuity Last session: 2026-02-24 Stopped at: Completed 02-02-PLAN.md (Pack/unpack/inspect archive commands) Resume file: None