mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-10 05:12:14 +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
@@ -328,6 +328,16 @@ async function main() {
|
||||
results.push(await rotateBytesColumn("CoachPlan", field, prisma.coachPlan));
|
||||
}
|
||||
|
||||
// ───── CoachReminder (Bytes column) ─────
|
||||
// "noteEncrypted"
|
||||
results.push(
|
||||
await rotateBytesColumn(
|
||||
"CoachReminder",
|
||||
"noteEncrypted",
|
||||
prisma.coachReminder,
|
||||
),
|
||||
);
|
||||
|
||||
// ───── UserHealthProfile (Bytes columns) ─────
|
||||
// "aboutMeEncrypted" "conditionsEncrypted" "allergiesEncrypted"
|
||||
// "coachFocusEncrypted" "pendingQuestionsEncrypted"
|
||||
|
||||
Reference in new issue
Block a user