feat(todo): Todo's server answers a place's forecast (ADR 0033, D40)
The weather of D40 comes through the instance, as Train's workouts' (ADR 0036, D1): Todo's server gets a `weather` endpoint, `offered` and `forecast`, answering a place's hours for the next 16 days from Open-Meteo for people signed in alone, the place rounded to about a kilometre, nothing kept or logged, 30 requests a person a minute. Refusals are `WeatherRefused` (off, invalid, tooOften, unreachable). `WEATHER=off` and `OPEN_METEO_API_KEY` switch it as they switch Train's, and production's compose file passes them to Todo's server too. D40 records the developer's decisions of 10 Nov 2026 on the weather and the agent's details (what dry, sunny, a temperature range and calm mean over a task's hours). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
parent
85a022af98
commit
a91aa98817
3 changed files with 1219 additions and 5 deletions
|
|
@ -69,9 +69,10 @@ COMPOSE_FILE=compose.learn.yaml
|
|||
# The Loop's firmware through the instance (Train's ADR 0030, D40): `off` to stop
|
||||
# relaying it; empty: on.
|
||||
#LOOP_FIRMWARE_RELAY=
|
||||
# Workouts' weather from Open-Meteo (Train's ADR 0036): `off` to stop asking; empty: on,
|
||||
# on Open-Meteo's free API, which is for non-commercial use alone. An instance with ads
|
||||
# or subscriptions needs a paid plan: its key.
|
||||
# Workouts' weather (Train's ADR 0036) and Todo's forecasts (ADR 0033, D40) from
|
||||
# Open-Meteo: `off` to stop asking; empty: on, on Open-Meteo's free API, which is for
|
||||
# non-commercial use alone. An instance with ads or subscriptions needs a paid plan:
|
||||
# its key.
|
||||
#WEATHER=
|
||||
#OPEN_METEO_API_KEY=
|
||||
# Train's map (ADR 0030, D22): a MapLibre style over HTTPS, with its dark one for a
|
||||
|
|
|
|||
|
|
@ -37,6 +37,10 @@ services:
|
|||
SOURCE_URL: ${SOURCE_URL:-}
|
||||
DATA_LOCATION: ${DATA_LOCATION:-}
|
||||
BACKUP_LOCATION: ${BACKUP_LOCATION:-}
|
||||
# Forecasts from Open-Meteo (ADR 0033, D40), as Train's workouts' weather:
|
||||
# on unless `off`; a key for its paid host where used commercially.
|
||||
WEATHER: ${WEATHER:-}
|
||||
OPEN_METEO_API_KEY: ${OPEN_METEO_API_KEY:-}
|
||||
networks:
|
||||
- default
|
||||
- edge
|
||||
|
|
|
|||
|
|
@ -435,6 +435,11 @@ Steps, in order:
|
|||
searched is kept or logged, and a task's location stays sealed on the person's
|
||||
devices.
|
||||
|
||||
Todo's forecasts (Halkyon Todo's ADR 0033, D40) come from Open-Meteo through Todo's
|
||||
server as Train's workouts' weather does, under the same settings: `WEATHER=off` in
|
||||
`deploy/.env` stops both, and `OPEN_METEO_API_KEY` moves both to the paid plan. A device
|
||||
asks once a place as the app opens and hourly while it is open.
|
||||
|
||||
## Meditate
|
||||
|
||||
Halkyon Meditate's server beside the instance (Halkyon Meditate's ADR 0038, step 7;
|
||||
|
|
|
|||
Loading…
Reference in a new issue