Gabriel Brown
12f6b2a310
Let the contracts assert properties, not the machine they were written on
...
The first run of the suite on a laptop found five contracts asserting the
desktop instead of the code. settings-system pinned DP-2 at 4500x3000 in
XRGB2101010; it now asks Hyprland what is actually primary. ssh-keys hardcoded
id_ed25519; it now uses whichever key exists. switcher's live half stepped a
session with one window, which step() deliberately refuses. displays raced the
service's revert readback -- the compositor looks restored while verification
still holds busy, so an immediate apply was refused with its error already
cleared; the harness now exposes settled and the contract waits for it.
declared-dependencies gets an OPTIONAL list for docker: the aliases serve
machines that run Docker deliberately, Panama's runtime is rootless podman,
and a missing docker fails by naming the command, which is loud enough.
Claude-Session: https://claude.ai/code/session_01Epx9ZC1gwm81K3jm9x9CKh
2026-08-23 10:32:17 -04:00
..
2026-08-18 13:05:25 -04:00
2026-08-20 22:23:27 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-22 05:42:53 -04:00
2026-08-22 09:36:54 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-21 21:43:14 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-17 11:28:12 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-21 23:53:50 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 22:03:08 -04:00
2026-08-20 21:55:55 -04:00
2026-08-22 06:33:19 -04:00
2026-08-23 10:32:17 -04:00
2026-08-23 10:32:17 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-19 11:59:53 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 22:00:26 -04:00
2026-08-23 10:32:17 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-17 19:21:17 -04:00
2026-08-20 21:55:55 -04:00
2026-08-21 02:56:24 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-18 06:14:07 -04:00
2026-08-21 20:02:25 -04:00
2026-08-19 11:28:36 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 22:00:26 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-22 01:11:46 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-18 06:14:07 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 22:23:27 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 22:23:27 -04:00
2026-08-20 21:55:55 -04:00
2026-08-22 05:42:53 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-22 06:33:19 -04:00
2026-08-22 07:38:41 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-21 18:57:26 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 22:00:53 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-21 12:57:47 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-23 10:32:17 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-23 10:32:17 -04:00
2026-08-20 21:55:55 -04:00
2026-08-23 10:32:17 -04:00
2026-08-20 22:23:27 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00
2026-08-23 10:32:17 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 22:00:26 -04:00
2026-08-20 22:00:26 -04:00
2026-08-22 01:00:18 -04:00
2026-08-20 21:55:55 -04:00
2026-08-20 21:55:55 -04:00