overseer
1add535628
Make the missed-sweep watermark claim safe across processes
...
The sweep guarded its announcement with a read-then-set watermark
inside a per-process asyncio lock, so two processes sharing one SQLite
file (the HA integration's rollover sweep and the API scheduler) could
both read the old watermark and both announce the same missed batch.
Add MetaStateDao.claim: a single conditional upsert
(INSERT ... ON CONFLICT DO UPDATE ... WHERE value IS NOT excluded.value)
whose rowcount says whether THIS caller changed the row — the
read-compare-write is one SQLite statement, atomic at the database
level, not just within one process. run_missed_sweep now builds the
events optimistically and gates the announcement on that claim: the
caller that advances the watermark returns the events, a loser returns
[]. The claim happens only after the events are built, so a failure
before it leaves the watermark unadvanced and a later run retries;
get/set are intact and the in-process sweep lock still serialises
same-process callers.
Tests prove two independent NestQuestDatabase wrappers (the
two-process shape) racing one seeded database yield exactly one
announcer, plus the unchanged same-night no-op and post-downtime
window-once semantics.
2026-09-23 12:54:06 -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