Packwright 0.3.1
Packwright 0.3.1 is a focused migration-safety maintenance release. It makes
destination runtime capability gaps explicit, keeps human-readable receipts
safe when a gap represents behavior rather than a file, and fixes false
readiness failures for live memory.
Install
python -m pip install packwright==0.3.1Explicit destination capability gaps
Migration planning now inspects unavailable canonical automations for every
destination adapter. Cursor's unavailable prompt-time todo context is reported
with the same honesty as Pi's lifecycle gaps instead of being silently omitted.
When a migration has one of these gaps:
- dry-run remains successful and writes nothing;
- the receipt names the affected automation and behavior;
- interactive apply asks for explicit acceptance; and
- non-interactive apply requires
--accept-degradedin addition to--yes.
Existing scripts that migrate to Cursor with --yes may now stop with exit
status 2 until the operator reviews the receipt and deliberately adds
--accept-degraded. This is an intentional safety correction.
Safe human-readable receipts
Runtime capability gaps do not always correspond to a destination path. The
human receipt now renders those items as labels such as:
automation:user-prompt-current-todos (user_prompt -> add_context)
Dry-run, rejected apply, and accepted apply no longer crash while formatting
these pathless records.
Readiness and projection corrections
- Populated pinned, recent-activity, and todo memory files count as usable live
state, so a migrated target can retain a clean installed score. - Runtime-name checks use token boundaries; words such as
Pinpointand
Pictureno longer create false Pi projection failures. - Emotion Engine-to-Pi receipts state that Pi Core has no Emotion Engine runtime
projection. Portable state may remain as inert data, but no runtime is
claimed. - Pi documentation uses the exact generated skill and reference paths and
explains that/trustsaves a future decision without reloading the current
session.
Verification
The release is covered by 120 source tests, all 12 directed adapter migrations,
legacy Emotion Engine retirement guards, dry-run provenance preservation, real
terminal dry-run/rejection/accepted-apply checks for Cursor and Pi, and the full
package release gate across Python 3.9 through 3.14.
Compatibility
Packwright 0.3.1 remains local-only and requires Python 3.9 or newer. It does not
add an executable Pi extension or a Pi-native Emotion Engine runtime. Existing
0.3.0 sources and installed targets remain diagnosable, migratable, and
reconcilable.