mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-11 22:02:16 +00:00
feat(coach): add the CoachReminder episodic-memory model
Introduce a third Coach memory type alongside facts (durable traits) and plans (standing if-then habits): a time-anchored "bring this back later" reminder with a due moment and a done state. The free-text note is AES-256-GCM ciphertext via the shared Bytes codec; metric, status, the trigger fields and the dates stay plain so the sweep and the injection picker rank and filter without a per-row decrypt. Migration 0196 is purely additive (status and trigger_kind are app-side closed enums, not DB enums). Register the new note_encrypted column in the encrypted-columns registry and the rotation script so a key rotation can never silently skip it.
This commit is contained in:
1 parent
7d3c528157
commit
9b61769a32
4 files changed
+105
No files matched your search
@@ -112,6 +112,8 @@ export const ENCRYPTED_COLUMNS: readonly EncryptedColumn[] = [
|
||||
{ model: "CoachPlan", field: "ifCueEncrypted", kind: "bytes" },
|
||||
{ model: "CoachPlan", field: "thenActionEncrypted", kind: "bytes" },
|
||||
{ model: "CoachPlan", field: "targetEncrypted", kind: "bytes" },
|
||||
// v1.22 (B2/B6) — Coach episodic reminder free-text note.
|
||||
{ model: "CoachReminder", field: "noteEncrypted", kind: "bytes" },
|
||||
|
||||
// ───── User health profile (Bytes columns) ─────
|
||||
{ model: "UserHealthProfile", field: "aboutMeEncrypted", kind: "bytes" },
|
||||
|
||||
Reference in new issue
Block a user