Joshua King
d1e4603a15
test: matcher base-chain validation, casefolded table comparison
2026-09-14 09:00:25 -04:00
Joshua King
86bd4023f4
test: structurally-exact raises shape and identifier-normalized table matching
...
- raises block: func must be Attribute pytest.raises or a bare Name
'raises'; matcher must be a Name/Attribute chain whose final segment
is exactly IntegrityError (fake.IntegrityError/NotIntegrityError fail)
- insert target matching tokenizes the leading identifier, strips
quotes/brackets, and takes the last dot-segment, so INSERT OR IGNORE
INTO "main"."children" and attached-qualified spellings all count
as table inserts requiring the raises block
2026-09-14 08:58:50 -04:00
Joshua King
d34c08b5b7
test: AST-exact probe guard - pytest.raises shape, IntegrityError matcher, INSERT-variant normalization, per-function probe count
...
- raises block must be pytest.raises (func attr check) with matcher
exactly naming IntegrityError (dotted-name boundary match, so
NotIntegrityError fails)
- INSERT OR IGNORE/quoted/qualified table spellings normalized before
matching so they cannot bypass the raises-block requirement
- probe count is per-function (each of the two sanctioned functions
must hold exactly one probe), not an aggregate
2026-09-14 08:56:48 -04:00
Joshua King
020b3679e1
test: exact pytest.raises(IntegrityError) matcher, UPDATE/DELETE ban, unquote AST strings in probe guard
2026-09-14 08:54:38 -04:00
Joshua King
2265b5c3f1
test: real conflict-refresh assertions; AST-exact probe guard
...
- task-instances matrix test asserts same row id + rewritten due_time
+ pre-refresh None (the vacuous refreshed_same_id walrus is gone)
- compensating guard parses the two sanctioned functions' ASTs: each
must contain its raw INSERT (children NOT NULL, admin_users PK),
lexically inside a pytest.raises block, and no other raw SQL may
name these tables anywhere else in the matrix file
2026-09-14 08:52:30 -04:00
Joshua King
c41e28cb29
feat: add cross-table DAO unit suite covering all eight tables ( #23 )
2026-09-14 08:49:06 -04:00
orchestrator-agent
353f01e98c
Handle missing or corrupt database on startup ( #22 )
2026-09-14 08:47:22 -04:00
orchestrator-agent
12bb4d58b4
DAO layer for task_instances and append-only completion_events ( #21 )
2026-09-14 08:28:00 -04:00
orchestrator-agent
29c058a045
DAO layer for presence schedules and overrides ( #20 )
2026-09-14 08:08:39 -04:00
orchestrator-agent
c27ed24020
DAO layer for schedule_rules and task_definitions ( #19 )
2026-09-14 07:48:01 -04:00
orchestrator-agent
43b20f2b12
DAO layer for children and admin_users ( #18 )
2026-09-14 07:26:34 -04:00
orchestrator-agent
2c8c90a24e
Implement the versioned migration runner ( #17 )
2026-09-14 07:10:23 -04:00
orchestrator-agent
e98642e236
Schema v1: task_instances and completion_events tables ( #16 )
2026-09-14 06:53:14 -04:00
dev_agent
01905ec9ee
feat: add schema v1 ddl for presence schedules and overrides ( #15 )
2026-09-13 21:59:59 -04:00
dev_agent
30748f786a
feat: add schema v1 ddl for schedule_rules and task_definitions ( #14 )
2026-09-13 21:50:18 -04:00
dev_agent
3dae2eadd7
feat: add schema v1 ddl for children and admin_users ( #13 )
2026-09-13 21:39:18 -04:00
dev_agent
eaf2e45e9a
feat: add async sqlite connection wrapper with executor-backed queries ( #12 )
2026-09-13 21:35:36 -04:00
approver_agent
221222275a
Merge pull request 'Feature 01: Integration Scaffold and Config Flow' ( #10 ) from feature/58fafd51-67e5-4691-8b37-cf0bb545207c-integration-scaffold into dev
2026-09-13 19:20:50 -04:00
dev_agent
b854013f1a
test: wire pytest test harness with standard hass fixture ( #9 )
2026-09-13 19:18:10 -04:00
dev_agent
c75de71f37
feat: add executor-backed SQLite path resolver helper ( #8 )
2026-09-13 18:26:23 -04:00
dev_agent
e5cda26e11
feat: implement options flow for post-setup settings ( #7 )
2026-09-13 18:26:09 -04:00
dev_agent
3b9ffa383f
feat: implement setup/unload lifecycle with options-reload listener ( #5 )
2026-09-13 15:02:42 -04:00
dev_agent
78f783cfad
docs: point HACS installation at the public GitHub mirror ( #6 )
2026-09-13 15:01:09 -04:00
dev_agent
f787d04a6b
feat: implement UI config flow with single-instance enforcement ( #4 )
2026-09-13 14:52:06 -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
Joshua King
5bcaa54934
Merge remote-tracking branch 'origin/feature/58fafd51-67e5-4691-8b37-cf0bb545207c-integration-scaffold' into task/b1a42fd5-1911-4ee5-97ba-d4ab9da9d918-hacs-metadata-and-docs
2026-09-12 09:34:53 -04:00
dev_agent
8d04c95314
feat: define shared constants in const.py ( #2 )
2026-09-11 16:39:41 -04:00
Joshua King
20fc696f8e
docs: add HACS repository metadata and developer setup docs
2026-09-11 09:06:02 -04:00
dev_agent
5c354c1ff5
feat: create custom_components/nestquest package structure and manifest.json ( #1 )
2026-09-10 16:50:59 -04:00
Joshua King
33e903fc7a
first commit
2026-09-10 07:18:08 -04:00