Codex
24681ee26f
feat: schema manifest, parity allow-list and lifecycle fixtures ( #33 )
...
The Voluptuous schema is now dumped into a deterministic committed
manifest (265 leaf paths); a pytest fails on drift. A parity test
compares manifest enums with the exported frontend const lists through
a machine-readable allow-list that also refuses to rot. The field
registry gains passports (allow-extra / lovelace-card), enforcedBy
citations for mechanisms that already shipped, and passports for the
v1.68-v1.69 fields; a completeness test bans dead decisions. Lifecycle
fixtures (oldest / current / future) prove lossless loading, and the
config auditor gains the 0/3/2 exit-code contract.
User-Visible: yes
Issue: #33
2026-08-30 12:42:31 +03:00
..
2026-08-30 11:56:35 +03:00
2026-08-30 11:56:35 +03:00
2026-08-29 21:15:21 +03:00
2026-08-30 11:56:35 +03:00
2026-08-12 19:18:54 +03:00
2026-08-26 13:39:52 +03:00
2026-08-28 05:40:28 +00:00
2026-08-29 10:13:09 +03:00
2026-08-29 10:13:09 +03:00
2026-08-23 00:34:55 +03:00
2026-08-24 19:10:27 +00:00
2026-08-19 03:46:38 +03:00
2026-08-09 21:51:33 +03:00
2026-08-06 16:48:45 +03:00
2026-08-14 03:32:53 +03:00
2026-08-26 02:20:57 +03:00
2026-08-14 17:17:25 +03:00
2026-08-20 11:00:22 +03:00
2026-08-27 23:17:53 +00:00
2026-08-20 11:00:22 +03:00
2026-08-27 22:41:46 +03:00
2026-08-29 22:20:18 +03:00
2026-08-19 22:37:25 +03:00
2026-08-30 07:48:16 +00:00
2026-08-29 22:20:18 +03:00
2026-08-16 22:35:54 +03:00
2026-08-30 08:24:40 +00:00
2026-08-28 14:32:08 +00:00
2026-08-09 08:34:05 +03:00
2026-08-12 19:18:54 +03:00
2026-08-28 11:58:46 +03:00
2026-08-11 19:15:21 +03:00
2026-08-11 19:15:21 +03:00
2026-08-28 18:52:03 +03:00
2026-08-28 18:52:03 +03:00
2026-08-30 11:56:35 +03:00
2026-08-11 02:49:42 +03:00
2026-08-29 18:09:53 +00:00
2026-08-25 12:49:41 +03:00
2026-08-19 02:12:37 +03:00
2026-08-12 21:49:29 +03:00
2026-08-30 11:56:35 +03:00
2026-08-30 11:56:35 +03:00
2026-08-29 10:13:09 +03:00
2026-08-20 08:42:34 +03:00
2026-08-20 11:00:22 +03:00
2026-08-27 23:17:52 +00:00
2026-08-20 08:42:34 +03:00
2026-08-28 11:58:46 +03:00
2026-08-20 01:38:01 +03:00
2026-08-08 15:46:07 +03:00
2026-08-22 21:14:37 +03:00
2026-08-14 00:43:13 +03:00
2026-08-14 00:43:13 +03:00
2026-08-28 05:20:45 +03:00
2026-08-28 14:40:06 +03:00
2026-08-11 02:49:42 +03:00
2026-08-30 07:48:16 +00:00
2026-08-18 21:31:04 +03:00
2026-08-12 12:43:27 +03:00
2026-08-24 16:30:11 +03:00
2026-08-08 15:46:07 +03:00
2026-08-22 12:24:49 +03:00
2026-08-19 15:43:23 +03:00
2026-08-23 01:59:26 +03:00
2026-08-19 15:43:23 +03:00
2026-08-28 22:33:07 +03:00
2026-08-27 13:58:06 +03:00
2026-08-26 14:01:58 +03:00
2026-08-26 13:39:52 +03:00
2026-08-20 08:42:34 +03:00
2026-08-13 11:41:23 +03:00
2026-08-27 23:31:42 +03:00
2026-08-24 22:59:33 +03:00
2026-08-28 05:40:28 +00:00
2026-08-26 02:20:57 +03:00
2026-08-07 13:02:46 +03:00
2026-08-22 15:32:55 +03:00
2026-08-11 19:15:21 +03:00
2026-08-29 21:54:29 +03:00
2026-08-23 00:35:48 +03:00
2026-08-27 16:33:47 +03:00
2026-08-29 21:15:21 +03:00
2026-08-29 21:15:21 +03:00
2026-08-19 02:49:39 +03:00
2026-08-21 00:50:15 +03:00
2026-08-25 14:47:04 +03:00
2026-08-30 10:53:14 +03:00
2026-08-26 01:34:20 +03:00
2026-08-30 12:42:31 +03:00
2026-08-30 12:42:31 +03:00
2026-08-29 11:29:42 +03:00
2026-08-14 03:32:53 +03:00
2026-08-11 05:40:32 +03:00
2026-08-26 13:39:52 +03:00
2026-08-22 10:56:38 +03:00
2026-08-21 13:25:16 +03:00
2026-08-27 20:30:07 +03:00
2026-08-26 23:41:35 +03:00
2026-08-28 10:46:27 +00:00
2026-08-28 05:40:28 +00:00
2026-08-26 13:39:52 +03:00