Skip to content

v0.1.5 — trash recovery window fix

Latest

Choose a tag to compare

@yamadashy yamadashy released this 21 Jun 05:07
· 3 commits to main since this release

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_at is normalized in readCarnet (like created/updated/last_used), so both quoted and gray-matter-parsed Date values 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