NewInstaller now takes an io.Medium parameter for filesystem operations,
replacing direct os.MkdirAll and os.RemoveAll calls. Also fixes installer
tests to use correct manifest path (.core/manifest.yaml) and force-add
.core/ directory past .gitignore.
Co-Authored-By: Virgil <virgil@lethean.io>
Replace internal task tracking (TODO.md, FINDINGS.md) with structured
documentation in docs/. Trim CLAUDE.md to agent instructions only.
Co-Authored-By: Virgil <virgil@lethean.io>