Fixes
The .trash/ recovery window now actually works (#14).
Previously the hard-delete sweep keyed on the file mtime. An expired carnet is — by definition — at least one lifespan (default 30d) stale, and rename into .trash/ preserves mtime, so a carnet was moved to trash and hard-deleted in the same prune run. The advertised "7-day grace period before deletion" was effectively zero for normally-expired notes.
Now a trashed_at date is stamped when a carnet enters .trash/, and the trash TTL is measured from that arrival time. Expired notes get their full AGENT_CARNET_TRASH_TTL (default 7d) window before permanent deletion, and remain restorable until then.
trashed_atis normalized inreadCarnet(likecreated/updated/last_used), so both quoted and gray-matter-parsedDatevalues are handled.- Falls back to mtime for carnets trashed before this release.
- Documented as a reserved field in the bundled skill's frontmatter reference.
Full diff: v0.1.4...v0.1.5