config: default timezone → America/Indiana/Indianapolis

Deployment is in Fort Wayne, IN (Eastern — most of central/eastern
Indiana uses America/Indiana/Indianapolis). Upstream defaulted to
America/Chicago which would have caused staleness-gate and daily-log
date rollover to fire an hour off from local wall-clock.

Override still available via MEMORIA_TZ env var for other deployments.
Unknown zone behaviour unchanged (warn + fall back to system local).

FORK.md env-var table + divergences section updated to match.
This commit is contained in:
agent-admin 2026-04-24 17:56:32 -04:00
parent 347d191935
commit 86c7dc9ded
2 changed files with 12 additions and 8 deletions

View file

@ -69,10 +69,12 @@ injection). What's below is the delta.
### Configurability
- **Timezone.** `TIMEZONE` (default `America/Chicago`) is now wired
- **Timezone.** `TIMEZONE` (default `America/Indiana/Indianapolis`
Eastern time, Fort Wayne / central-eastern Indiana) is now wired
through `zoneinfo.ZoneInfo` and used by `now_iso()` / `today_iso()` /
`maybe_trigger_compilation()`. Override via `MEMORIA_TZ`. Unknown zones
log a warning and fall back to system local time.
log a warning and fall back to system local time. Upstream defaulted
to `America/Chicago`; we diverge to match deployment.
- **Compile trigger.** The upstream 6 PM hardcoded gate is replaced with
a staleness-based trigger: compile fires if the daily log changed AND
`MEMORIA_COMPILE_INTERVAL_MIN` minutes (default 60) have elapsed since
@ -99,7 +101,7 @@ injection). What's below is the delta.
| Var | Default | Purpose |
|-----|---------|---------|
| `MEMORIA_TZ` | `America/Chicago` | Timezone for date/time operations |
| `MEMORIA_TZ` | `America/Indiana/Indianapolis` | Timezone for date/time operations |
| `MEMORIA_COMPILE_INTERVAL_MIN` | `60` | Minutes between auto-compile triggers |
| `MEMORIA_MAX_LOG_CHARS` | `100000` | Daily-log chunk threshold |
| `MEMORIA_COMPILE_MODEL` | `sonnet` | Model for `compile.py` |

View file

@ -22,11 +22,13 @@ LOG_FILE = KNOWLEDGE_DIR / "log.md"
STATE_FILE = SCRIPTS_DIR / "state.json"
# ── Timezone ───────────────────────────────────────────────────────────
# Configurable via the MEMORIA_TZ environment variable (falls back to
# America/Chicago to preserve upstream's default for users who don't set it).
# If the zone name is unknown (missing tzdata, typo), log a warning and fall
# back to the system local timezone via astimezone() with no argument.
TIMEZONE = os.environ.get("MEMORIA_TZ", "America/Chicago")
# Configurable via the MEMORIA_TZ environment variable. Default is
# America/Indiana/Indianapolis (Eastern — covers Fort Wayne and most of
# central/eastern Indiana). Upstream defaulted to America/Chicago; we
# diverge to match our actual deployment. If the zone name is unknown
# (missing tzdata, typo), log a warning and fall back to the system local
# timezone via astimezone() with no argument.
TIMEZONE = os.environ.get("MEMORIA_TZ", "America/Indiana/Indianapolis")
try:
TZ: ZoneInfo | None = ZoneInfo(TIMEZONE)