docs: align monthly automation with next-day schedule

2026-05-15 16:05:12 +09:00
parent 4bbfe500e1
commit 2f81f37d44

@@ -55,11 +55,11 @@ Run the schedule and sleep pipeline from the host app on a real timer rather tha
1. Run sleep memory for the previous local day's messages. 1. Run sleep memory for the previous local day's messages.
2. Generate the next day's schedule. 2. Generate the next day's schedule.
3. On the first day of a month, generate a monthly schedule window. 3. On the last day of a month, generate the next monthly schedule window.
4. Record debug/events to an admin dashboard or developer channel. 4. Record debug/events to an admin dashboard or developer channel.
```ts ```ts
const now = new Date('2026-05-01T00:00:00.000'); const now = new Date('2026-05-31T00:00:00.000');
await persona.sleepMemory({ await persona.sleepMemory({
datetime: now, datetime: now,
@@ -71,7 +71,7 @@ await persona.createDailySchedule(
"Generate tomorrow's ordinary realistic day schedule.", "Generate tomorrow's ordinary realistic day schedule.",
); );
if (now.getDate() === 1) { if (new Date(now.getFullYear(), now.getMonth(), now.getDate() + 1).getDate() === 1) {
await persona.createMonthlySchedule( await persona.createMonthlySchedule(
now, now,
'Generate the coming month of ordinary long-horizon anchors and special events.', 'Generate the coming month of ordinary long-horizon anchors and special events.',
@@ -79,7 +79,7 @@ if (now.getDate() === 1) {
} }
``` ```
Because `createDailySchedule(datetime, message)` targets the day after `datetime`, running it at May 1 00:00 creates May 2 00:00 through May 3 00:00. This keeps the persona from "planning itself" in response to a slash command and makes the schedule feel like background life state. Because `createDailySchedule(datetime, message)` targets the day after `datetime`, running it at May 1 00:00 creates May 2 00:00 through May 3 00:00. `createMonthlySchedule(datetime, message)` follows the same next-day convention for its first monthly entry, so monthly automation should run on the last local midnight of the month; for example, May 31 00:00 creates a monthly window that begins June 1. This keeps the persona from "planning itself" in response to a slash command and makes the schedule feel like background life state.
Then drop local yesterday-only caches according to your application retention policy. Then drop local yesterday-only caches according to your application retention policy.