932 B
932 B
Roadmap 2
Package Manager Features
From a review:
-
High:
apply_planis not transactional. It backs up and writes files one by one, then saves state at the end in installer.py. If extraction/copy fails mid-plan, the game tree can be half-mutated without matching install state. A future package manager wants transactions/generations: stage, apply, record transaction, and have a first-class rollback command. -
Medium-high: installed state records files but not the installed package identity. installer.py stores
path,sha256, andsize, but not repo/tag/asset/source URL/source hash/reason. The report then uses the current lockfile to describe installed versions, which can drift after a lock update. Record the lock identity into install state at apply time.