Commit Graph
70 Commits
Author SHA1 Message Date
overseerandClaude Opus 5.5 0d763519a0 Allow saving presence patterns that cover no weekday
The pattern editor disabled Save unless a weekday was selected, but an
all-empty weekday set is valid in the core model and the API, and
migration 9 produces one for a legacy all-absent schedule. Save now only
requires a name (plus a valid anchor date and a change to save).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-24 20:03:03 -04:00
overseerandClaude Opus 5.5 b91ecbd5f6 Reject non-integer weekday values in presence pattern requests
The create and edit pattern models typed weekday values as lax int, so
JSON true, "1" and 1.0 were coerced to weekday 1. Type them StrictInt
so each is a 422 naming the pattern field, and add create and edit
regression cases for bool, string, float and out-of-range weekdays.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-24 19:55:43 -04:00
overseerandClaude Opus 5.5 39417615a2 Move the Admin PWA Schedule tab to multi-pattern presence
The admin client still called the removed one-per-child
/presence-schedule route, so the Schedule tab could not load or save
(review finding F1 on PR #231). The client now uses the presence-pattern
routes: list and create under /children/{id}/presence-patterns, and
PATCH / DELETE on /presence-patterns/{id}.

The Schedule screen lists every pattern of the selected child (name,
Home/Away, cycle length, weekday set) with Add, Edit and Delete, and a
pushed pattern editor sets name, kind, cycle length, anchor date and the
per-week weekday set. Edits send only the changed fields. The month grid
shows the combined presence with the core's first-match rule: override,
then any covering away pattern, then any covering home pattern, then
away when the child has a home pattern, else home. The grid keeps the
Sunday-first week; stored weekdays stay Monday=0.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-24 19:45:53 -04:00
overseer 1c2a7222b3 Merge remote-tracking branch 'origin/dev' into task/multi-pattern-presence-model_e63a8e64-2f1a-4818-baf2-0d0431bcd014 2026-09-24 19:39:22 -04:00
overseerandClaude Opus 5.5 ef6940d937 Replace presence schedules with multiple presence patterns per child (schema 9)
A child now carries zero or more home/away presence patterns instead of
at most one schedule. Migration 9 creates presence_patterns, copies every
presence_schedules row across as a 'home' pattern named "Home schedule"
(cycle, anchor and pattern verbatim), and drops the old table in one
transaction. Migration 1 keeps creating the retired table from a frozen
copy of its DDL; schema.py no longer declares it.

PresenceEngine resolves override -> any covering away pattern (absent)
-> any covering home pattern (present) -> otherwise absent when the child
has a home pattern, else present. The home-pattern default keeps every
migrated child's presence unchanged.

The admin plane's one-per-child presence-schedule routes are replaced by
pattern CRUD: GET/POST /children/{child_id}/presence-patterns and
PATCH/DELETE /presence-patterns/{pattern_id}.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-24 19:31:34 -04:00
overseer 7acc6501d9 Merge pull request 'Release: Admin PWA follow-ups and hosting (0.7.1) (2026-09-24)' (#227) from release/2026-09-24-pwa-followups into main
Reviewed-on: #227
Reviewed-by: The Reviewer <18+review_agent@code.cubecraftcreations.com>
2026-09-24 17:07:33 -04:00
overseer 345a5129b6 release: correct the 0.7.1 notes (manifest version metadata) 2026-09-24 16:53:00 -04:00
overseer 3d293e0431 release: advance version to 0.7.1 and add the PWA follow-ups release notes 2026-09-24 16:48:58 -04:00
overseer 9d741e75d0 Merge pull request 'Release: Admin PWA and admin API (0.7.0) (2026-09-24)' (#213) from release/2026-09-24-admin-pwa into main
Reviewed-on: #213
Reviewed-by: The Reviewer <18+review_agent@code.cubecraftcreations.com>
2026-09-24 11:48:22 -04:00
overseer 7887d16f11 release: include Feature 17 (API deployment) in the 0.7.0 notes 2026-09-24 10:02:16 -04:00
overseer 03ee131c6e Merge dev into release/2026-09-24-admin-pwa (bring Feature 17 deployment) 2026-09-24 09:59:10 -04:00
overseerandClaude Opus 5.5 7969c164c4 release: make the 0.7.0 rollback instructions API-host-aware
The API service owns and migrates the database at NESTQUEST_DB_PATH on the
API host; back up and restore it there, and scope the HACS/manual steps to
the Home Assistant integration component only.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-24 00:14:42 -04:00
overseer 4b80fffe67 release: advance version to 0.7.0 and add the admin PWA release notes 2026-09-24 00:11:34 -04:00
overseer 939556a38a Merge pull request 'Release: Re-imagined architecture - Features 15, 16, 18, 20 (2026-09-23)' (#185) from release/2026-09-23-reimagining into main
Reviewed-on: #185
Reviewed-by: The Reviewer <18+review_agent@code.cubecraftcreations.com>
2026-09-23 14:55:38 -04:00
overseer 8676bdc6ad release: correct the 0.6.0 notes - no containerization artifacts ship in this release 2026-09-23 14:35:01 -04:00
overseer 0ed35ab85a release: advance version to 0.6.0 and add the re-imagined architecture release notes 2026-09-23 14:29:12 -04:00
overseer c57d950101 merge: origin/main into 0.6.0 release (bring the architecture doc; keep dev versions and notes) 2026-09-23 14:27:56 -04:00
overseer 0972761994 Merge pull request 'Add the re-imagined architecture document' (#140) from docs/architecture-reimagining into main
Reviewed-on: #140
2026-09-21 16:09:26 -04:00
overseer 10f365ef9f Add the re-imagined architecture document 2026-09-21 13:10:57 -04:00
overseer 3ee4c99e5f Merge pull request 'Dev - add in logos' (#139) from dev into main
Reviewed-on: #139
2026-09-21 10:44:43 -04:00
overseer d4ea552ad7 Merge pull request 'Upload files to "design/logos"' (#138) from design/adding-logos into dev
Reviewed-on: #138
2026-09-21 10:44:12 -04:00
overseer 4e52e8dec8 Upload files to "design/logos" 2026-09-21 10:44:01 -04:00
overseer ee1fae984a Merge pull request 'Fix SensorDeviceClass.PERCENTAGE removed in HA 2025+' (#137) from fix/sensor-device-class-percentage into main
Reviewed-on: #137
2026-09-21 10:02:34 -04:00
overseer 418fc69f36 Remove removed SensorDeviceClass.PERCENTAGE 2026-09-21 10:02:08 -04:00
overseer b6b1ba65b4 Merge pull request 'Point HACS URLs at Maniacs-Mansion/NestQuest' (#136) from fix/hacs-repo-urls into main
Reviewed-on: #136
2026-09-21 07:52:09 -04:00
overseer 37f7d25cd6 Point HACS URLs at Maniacs-Mansion/NestQuest 2026-09-21 07:47:52 -04:00
overseer fe71d37bb0 Merge pull request 'Promote Feature 12 to main' (#135) from dev into main
Reviewed-on: #135
2026-09-21 06:57:15 -04:00
overseer edca25affa Add the Lit card toolchain and auto-register the Lovelace bundle 2026-09-20 10:08:38 -04:00
overseer a6d9ec927b Merge pull request 'Release: Features 06, 07, 08 (2026-09-18)' (#97) from release/2026-09-18-f06-f07-f08 into main
Reviewed-on: #97
2026-09-18 14:54:48 -04:00
overseer bcdf03dac7 merge: origin/main into 0.5.0 release (keep 0.5.0 versions and notes) 2026-09-18 14:15:15 -04:00
overseer 52cbf33f33 release: advance version to 0.5.0 and add Features 06/07/08 release notes 2026-09-18 14:14:36 -04:00
overseer c4fb2fbac5 Merge pull request 'Feature 08: Quest Completion and Event Log -> dev' (#95) from feature/a526b715-1fd2-4688-9696-a7eeb45f1644-quest-completion-event-log into dev 2026-09-18 07:14:05 -04:00
overseer 0820544fce Completion lifecycle tests (Feature 08, task 7) (#94) 2026-09-18 07:12:47 -04:00
overseer 318d77f443 Derive missed for past-due open instances (Feature 08, task 6) (#93) 2026-09-18 07:09:21 -04:00
overseer 2ec016ebfe Compute was_on_time at completion (Feature 08, task 5) (#92) 2026-09-18 07:02:29 -04:00
overseer c3495bb277 uncomplete_instance reversal event (Feature 08, task 4) (#91) 2026-09-18 06:52:42 -04:00
overseer 775a9906e7 complete_instance (Feature 08, task 3) (#90) 2026-09-18 06:47:45 -04:00
overseer 293efe9705 Derive instance state from latest event (Feature 08, task 2) (#89) 2026-09-18 06:35:50 -04:00
overseer 22797cbc7e Completion business layer wrapping append-only DAO (Feature 08, task 1) (#88) 2026-09-18 06:31:01 -04:00
overseer 743703e943 Merge pull request 'Feature 07: Quest Instance Materialization -> dev' (#85) from feature/4a35e972-4c72-405d-8331-ce0776176784-quest-instance-materialization into dev 2026-09-17 17:19:47 -04:00
overseer 6e32761b0c Guard against stale due_time overwrite (Feature 07 fix) (#87) 2026-09-17 17:17:57 -04:00
overseer 3add2d2f48 Thread configured horizon_days (Feature 07 integration fix) (#86) 2026-09-17 17:07:10 -04:00
overseer c001aca62d End-to-end 28-day generation (Feature 07, task 10) (#84) 2026-09-17 16:38:56 -04:00
overseer 353d88e3af Clamp start to today (no past instances) (Feature 07, task 9) (#83) 2026-09-17 16:12:08 -04:00
overseer f6aad9d20f HA-local timezone + DST boundary tests (Feature 07, task 8) (#82) 2026-09-17 16:06:41 -04:00
overseer 5706d8b7a6 Startup backfill + regenerate service (Feature 07, task 7) (#81) 2026-09-17 15:42:10 -04:00
overseer be6367b600 Schedule the daily generation run at rollover (Feature 07, task 6) (#80) 2026-09-17 15:10:57 -04:00
overseer ca26ced59f Regenerate future instances on presence change (Feature 07, task 5) (#79) 2026-09-17 14:50:50 -04:00
overseer 2146531665 Regenerate future instances on definition change (Feature 07, task 4) (#78) 2026-09-17 14:24:22 -04:00
overseer 168bb7b2f1 Skip completed instances during materialization (Feature 07, task 3) (#77) 2026-09-17 14:09:42 -04:00
overseer 4544f78390 Three-run idempotency with stable instance ids (Feature 07, task 2) (#76) 2026-09-17 14:04:02 -04:00
overseer 9836a6f524 Core generation walk: assignees x windows fan-out with presence (Feature 07, task 1) (#75) 2026-09-17 14:01:20 -04:00
overseer d6823a54bc Merge pull request 'Feature 06: Quest Definitions and Assignment -> dev' (#73) from feature/b61a578c-2139-486e-af46-77303a185386-quest-definitions-assignment into dev 2026-09-17 12:10:07 -04:00
overseer fa40e21dc2 Fix feature-integration review findings F06-001 and F06-002 (#74) 2026-09-17 12:06:47 -04:00
overseer e60a9892ff Tests for the quest definition business layer (Feature 06, task 7) (#72) 2026-09-17 09:58:15 -04:00
overseer 1432dba74c Quest definition query helpers for materialization (Feature 06, task 6) (#71) 2026-09-17 09:49:54 -04:00
overseer 1b6973efd3 Deactivate and reactivate a quest definition (Feature 06, task 5) (#70) 2026-09-17 09:40:15 -04:00
overseer 4606d7ddd0 Assign and unassign children on a quest definition (Feature 06, task 4) (#69) 2026-09-17 09:21:21 -04:00
overseer 802258d431 Edit a quest definition's metadata, schedule rule, and windows (Feature 06, task 3) (#68) 2026-09-17 09:06:11 -04:00
overseer d9cdac87d7 Create a quest definition with rule, assignees, and windows (Feature 06, task 2) (#67) 2026-09-17 08:41:56 -04:00
overseer cbd29f5ab7 Map ScheduleRule models to and from schedule_rules storage (Feature 06, task 1) (#66) 2026-09-17 08:11:19 -04:00
overseer 43a7a722b9 Merge pull request 'Release: Features 14, 03, 05 — quest model, children registry, presence engine (2026-09-15)' (#65) from release/2026-09-15-f14-f03-f05 into main
Reviewed-on: #65
2026-09-16 08:01:05 -04:00
overseer cdfb681f46 Merge pull request 'Dev' (#44) from dev into main
Reviewed-on: #44
2026-09-14 21:36:40 -04:00
overseer 3ecca2d212 Merge pull request 'Feat/ui design tokens' (#43) from feat/ui-design-tokens into dev
Reviewed-on: #43
2026-09-14 21:32:14 -04:00
overseer 30d103aefb Upload files to "design/tokens" 2026-09-14 21:31:55 -04:00
overseer 658afec491 adding in design files 2026-09-14 21:31:32 -04:00
overseer 0637245d33 Merge pull request 'Release: Feature 04 — Recurrence Rule Engine (2026-09-14)' (#34) from release/2026-09-14-f04-recurrence into main
Reviewed-on: #34
2026-09-14 15:14:22 -04:00
overseer a30bafcb68 Merge pull request 'Release: Feature 02 — SQLite Data Layer (2026-09-14)' (#24) from release/2026-09-14-f02-data-layer into main
Reviewed-on: #24
Reviewed-by: The Approver <19+approver_agent@code.cubecraftcreations.com>
Reviewed-by: The Reviewer <18+review_agent@code.cubecraftcreations.com>
2026-09-14 10:22:17 -04:00
overseer 5e65cde078 Merge pull request 'Release: Feature 01 — Integration Scaffold (2026-09-13)' (#11) from release/2026-09-13-f01-scaffold into main
Reviewed-on: #11
2026-09-13 19:54:16 -04:00
overseer ec888b6426 Merge pull request 'docs: add HACS repository metadata and developer setup docs' (#3) from task/b1a42fd5-1911-4ee5-97ba-d4ab9da9d918-hacs-metadata-and-docs into feature/58fafd51-67e5-4691-8b37-cf0bb545207c-integration-scaffold
Reviewed-on: #3
2026-09-13 09:32:14 -04:00