mirror of
https://kevinblog.sytes.net/Code/Jibo-Revival-Group/JiboExperiments.git
synced 2026-06-15 12:46:32 +00:00
Add loop-scoped holiday list support
This commit is contained in:
@@ -924,6 +924,9 @@ For `1.0.19`:
|
||||
6. Presence-aware greetings and identity-triggered proactivity - implemented (trigger path, identity-aware reactive/proactive replies, cooldown metadata wiring, focused websocket coverage)
|
||||
7. Personal report parity track (weather visuals, live news path, commute path, calendar parity matrix) - in progress (`2026-05-10` first live-news provider slice implemented)
|
||||
8. Holidays and seasonal personality behavior built on the new memory/proactivity foundation
|
||||
- system holidays should come from an up-to-date provider and merge with loop-scoped custom holiday records
|
||||
- allow disabled holiday records to suppress reminders for people who do not celebrate a holiday
|
||||
- birthdays and other personal dates should flow into the same loop-scoped holiday list once authoring is wired up
|
||||
9. Durable memory persistence path (multi-tenant backing store)
|
||||
- reference design captured in `docs/persistence-architecture.md`
|
||||
- store contracts are now tightened around account/loop/device/person scoping, revision tracking, and explicit load/save boundaries
|
||||
|
||||
22
OpenJibo/docs/holiday-architecture.md
Normal file
22
OpenJibo/docs/holiday-architecture.md
Normal file
@@ -0,0 +1,22 @@
|
||||
# Holiday Architecture
|
||||
|
||||
Pegasus exposed holidays as a loop-scoped list synchronized into `/jibo/holidays`.
|
||||
|
||||
In OpenJibo, the holiday path now follows the same broad model:
|
||||
|
||||
- system holidays come from a live holiday source
|
||||
- custom holidays are loop-scoped
|
||||
- suppressed holidays are represented as disabled records
|
||||
- the cloud protocol returns the merged list for `PersonListHolidays`
|
||||
|
||||
Current behavior:
|
||||
|
||||
- `Person/ListHolidays` uses the loop from the request when available
|
||||
- if no loop is supplied, the cloud falls back safely instead of throwing
|
||||
- the merged list is built from system holidays plus any custom loop entries
|
||||
|
||||
Notes:
|
||||
|
||||
- `IsEnabled = false` can be used to suppress a holiday later
|
||||
- birthdays and other personal events can be added as loop-scoped custom records
|
||||
- the current system holiday source uses Nager.Date with a safe local fallback for uptime
|
||||
@@ -90,6 +90,9 @@ The goal is to port these in small batches, capture the source-backed phrasing w
|
||||
- port holiday-aware personality responses as a visible extension of the new persona slice
|
||||
- start with a small, source-backed set (for example birthdays/holidays already represented in legacy data paths)
|
||||
- ensure holiday responses feel characterful while still routing through stock-compatible payloads
|
||||
- use a loop-scoped merged holiday list in the cloud protocol so system holidays and custom person holidays can coexist
|
||||
- source system holidays from a live holiday provider and keep `IsEnabled = false` records available for holiday suppression
|
||||
- keep birthday/custom holiday authoring aligned with person memory so future proactivity can suppress or promote holidays per loop
|
||||
|
||||
### 5. Multi-Tenant Memory Storage Foundation
|
||||
|
||||
@@ -111,6 +114,7 @@ The goal is to port these in small batches, capture the source-backed phrasing w
|
||||
Reference design:
|
||||
|
||||
- [persistence-architecture.md](persistence-architecture.md)
|
||||
- [holiday-architecture.md](holiday-architecture.md)
|
||||
|
||||
## First Implemented Slice In `1.0.19`
|
||||
|
||||
|
||||
Reference in New Issue
Block a user