Skip to content

feat(ios): offer the phone's time zone to a box on UTC - #137

Merged
frahlg merged 1 commit into
mainfrom
household-time-zone
Nov 1, 2026
Merged

frahlg merged 1 commit into
mainfrom
household-time-zone

Conversation

@frahlg

@frahlg frahlg commented Oct 31, 2026

Copy link
Copy Markdown
Member

Problem

Erik (iPhone 16 Pro): his car goal said 17:00 but the box aimed at 18:00, because his box runs in Docker on UTC. #136 makes the gap visible ("17:00 UTC"). srcfl/ftw#1946 removes the cause: the home's time zone becomes a stored fact of the site, and clients may offer one.

Change

  • Registry: site.time_zone.propose, byte-identical with feat(site): the home's time zone is a stored fact of the site ftw#1946. Contract.opSiteTimeZonePropose and its description.
  • HouseholdClock.zoneToOffer: offer the phone's zone only to a box whose hello says UTC, from a phone not on UTC, with ftw.setup.write.
  • SiteModel offers it once per box per run when the session streams. The box decides; it takes the zone only while it keeps none, then restarts, and the next hello names it. A refusal is silent.
  • The demo box answers the op the way Core does.

No visible UI change, so no simulator review. Does not touch Format/EV.swift (#136).

Evidence

  • swift test in appleApp/FTWKit green on this Mac: 640 tests.
  • New tests: HouseholdClockTests (who offers what) and HouseholdClockFlowTests against the demo box: a box on UTC takes the phone's zone with one command; a box that keeps a zone gets none. The first fails without this change.
  • Android shared/ neither reads the registry nor names ops, so it is unchanged.

Paired PRs

🤖 Generated with Claude Code

A Docker box keeps no household clock: it runs on UTC, so Erik's car goal
of 17:00 was met at 18:00 in Stockholm. When the box's hello says UTC and
this phone may change setup, the app offers the phone's zone once per box
with site.time_zone.propose. The box decides; it takes the zone only while
it keeps none, and restarts to run on it. The demo box takes it the same
way.

Registry copy is byte-identical with srcfl/ftw.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 31, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-31T17:14:33.229793Z f6eb1d4 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@frahlg
frahlg merged commit e379980 into main Nov 1, 2026
1 check passed
@frahlg
frahlg deleted the household-time-zone branch November 1, 2026 11:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant