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.
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.
```ts
const now = new Date('2026-05-01T00:00:00.000');
const now = new Date('2026-05-31T00:00:00.000');
await persona.sleepMemory({
datetime: now,
@@ -71,7 +71,7 @@ await persona.createDailySchedule(
"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(
now,
'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.