Version 0.3.0: resolver/merge/cache refactor, signing design notes

- Split the monolith into package/provider/fetch/merge/cache modules with
  the Resolver deciding install/adopt/update/merge/conflict outcomes
- Three-way merges via git merge-file/diff3 against a content-addressed
  merge-base cache; conflicts go to a .picopackage-merge sibling
- Tests for package, provider, resolver, merge, and cache
- notes.md: update UX and signing design — diff-by-default, SSH signature
  identity pinning (TOFU), key changes as a hard stop, exit-code contract
- Add CLAUDE.md; remove the pre-refactor exe/pppkg monolith and scratch files

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EiyJC73Mz8xZyCTvCEY8qn
This commit is contained in:
Dan Milne
2026-08-13 21:18:19 +10:00
co-authored by Claude Fable 5
parent e0cd0f0d7a
commit 6dd57e84f1
27 changed files with 2010 additions and 383 deletions
+3 -11
View File
@@ -1,9 +1,8 @@
PATH
remote: .
specs:
picopackage (0.2.1)
picopackage (0.3.0)
digest
open-uri (~> 0.5)
yaml (~> 0.4)
GEM
@@ -23,11 +22,7 @@ GEM
json (2.9.1)
language_server-protocol (3.17.0.3)
lint_roller (1.1.0)
minitest (5.25.4)
open-uri (0.5.0)
stringio
time
uri
minitest (5.27.0)
parallel (1.26.3)
parser (3.3.7.0)
ast (~> 2.4.1)
@@ -75,12 +70,9 @@ GEM
lint_roller (~> 1.1)
rubocop-performance (~> 1.23.0)
stringio (3.1.2)
time (0.4.1)
date
unicode-display_width (3.1.4)
unicode-emoji (~> 4.0, >= 4.0.4)
unicode-emoji (4.0.4)
uri (1.0.2)
unicode-emoji (4.2.0)
yaml (0.4.0)
PLATFORMS