Claude
a2ab38197e
feat(cluster): xcvm_core cluster probe, update pin guard and ADR 0004 (Phase 1)
...
- `console.php xcvm_core status` reports the loaded extension and its
cluster API: the version against the range the panel speaks, whether
the root is initialised (with its fingerprint), the licence binding kid
and the clock state.
- The installer rolls back an update whose cluster API falls outside
ClusterCryptoFactory::API_MIN..API_MAX when the installed one was
inside it, so an update cannot silently strand enrolled nodes.
Installing an exact pinned version still needs versioned paths in the
binaries repo.
- ClusterExtensionIntegrationTest runs the panel facade against a real
test-hooks build, and skips without one or without a throwaway
XCVM_CONFIG_DIR. It covers init, token issue, the agent opening its
token, MAIN's session, BOX both ways, per-node binding of epoch records,
and signing with record classes. It passes against the 2.2.2 build.
- ADR 0004 records the panel's side of the contract:
- who owns which part of the wire;
- the canonical request/response form;
- fail-closed rules;
- migration renumbering (the plan's 026–032 ship as 028–034);
- where the settings live;
- the measured crypto budget.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01Es8UhyPS8MNjuYTagqfGWi
2026-09-25 10:28:53 +00:00
..
2026-09-13 14:14:23 +03:00
2026-09-13 14:14:23 +03:00
2026-09-12 21:43:59 +00:00
2026-09-17 08:07:02 +00:00
2026-09-17 07:42:42 +00:00
2026-09-13 08:49:06 +00:00
2026-09-13 21:17:06 +03:00
2026-09-18 15:10:43 +03:00
2026-09-13 14:42:08 +03:00
2026-09-13 21:17:06 +03:00
2026-09-18 15:10:43 +03:00
2026-09-24 19:30:49 +03:00
2026-06-25 20:57:37 +03:00
2026-09-18 09:57:17 +00:00
2026-09-13 17:27:42 +03:00
2026-09-13 14:42:08 +03:00
2026-09-25 10:28:53 +00:00
2026-09-21 18:37:33 +03:00
2026-09-20 20:40:55 +03:00
2026-09-13 21:21:09 +03:00
2026-08-31 20:58:23 +03:00
2026-09-25 10:28:53 +00:00
2026-09-25 10:28:53 +00:00
2026-09-25 10:28:53 +00:00
2026-09-25 10:28:53 +00:00
2026-09-25 10:28:53 +00:00
2026-09-25 10:28:53 +00:00
2026-09-25 10:28:53 +00:00
2026-06-24 22:18:52 +03:00
2026-09-25 09:26:52 +00:00
2026-09-22 22:28:46 +03:00
2026-06-25 20:57:37 +03:00
2026-09-18 15:45:34 +03:00
2026-09-16 17:23:33 +03:00
2026-09-25 00:20:41 +00:00
2026-09-25 09:04:26 +00:00
2026-06-25 19:03:39 +03:00
2026-09-13 16:05:56 +03:00
2026-09-12 22:40:36 +00:00
2026-09-13 14:39:43 +03:00
2026-09-25 00:56:05 +00:00
2026-09-13 08:49:06 +00:00
2026-09-18 15:10:43 +03:00
2026-06-24 22:18:52 +03:00
2026-09-13 14:14:23 +03:00
2026-09-18 00:45:37 +00:00
2026-09-18 07:40:43 +00:00
2026-09-25 10:07:46 +00:00
2026-09-13 14:16:29 +03:00
2026-06-25 18:55:35 +03:00
2026-09-13 14:45:12 +03:00
2026-09-21 19:03:39 +03:00
2026-09-13 14:16:29 +03:00
2026-09-10 16:11:29 +03:00
2026-09-25 10:07:47 +00:00
2026-09-11 16:19:22 +01:00
2026-09-13 14:22:55 +03:00
2026-09-11 16:19:50 +01:00
2026-09-18 09:57:17 +00:00
2026-09-11 16:17:09 +01:00
2026-09-17 07:45:48 +00:00
2026-09-25 09:10:04 +00:00
2026-08-11 21:41:11 +03:00
2026-09-25 10:07:46 +00:00
2026-09-25 01:14:19 +00:00
2026-09-25 00:56:05 +00:00
2026-09-18 15:32:50 +03:00
2026-06-24 22:18:52 +03:00
2026-09-24 23:46:54 +00:00
2026-09-25 10:07:47 +00:00
2026-09-13 08:34:00 +00:00
2026-09-13 21:17:06 +03:00
2026-09-25 10:07:47 +00:00
2026-09-24 22:12:44 +03:00
2026-09-24 18:04:45 +03:00
2026-06-30 22:41:46 +03:00
2026-06-24 22:18:52 +03:00
2026-07-03 20:12:01 +03:00
2026-09-22 20:56:43 +03:00
2026-09-13 14:51:45 +03:00
2026-09-13 14:26:46 +03:00
2026-06-24 22:23:42 +03:00
2026-07-03 20:10:41 +03:00
2026-09-13 17:27:42 +03:00
2026-07-29 19:37:43 +03:00
2026-09-09 22:32:37 +03:00
2026-09-25 09:04:26 +00:00
2026-09-25 10:07:47 +00:00
2026-09-12 21:59:27 +00:00
2026-09-25 00:56:05 +00:00
2026-09-17 07:48:24 +00:00
2026-09-25 00:04:16 +00:00
2026-09-21 19:11:10 +03:00
2026-09-12 21:27:38 +00:00
2026-09-25 09:05:42 +00:00
2026-06-24 21:15:06 +03:00
2026-09-13 18:57:54 +03:00
2026-09-13 18:33:02 +03:00
2026-09-13 18:57:54 +03:00
2026-08-31 20:58:23 +03:00
2026-09-24 22:12:44 +03:00
2026-09-13 14:39:43 +03:00
2026-09-13 14:29:54 +03:00
2026-08-31 20:58:23 +03:00
2026-09-17 07:45:14 +00:00
2026-09-22 22:29:06 +03:00
2026-09-24 18:04:45 +03:00
2026-09-12 22:42:10 +00:00
2026-09-25 10:07:47 +00:00
2026-09-25 00:56:05 +00:00
2026-09-25 00:04:16 +00:00
2026-09-13 16:10:40 +03:00
2026-09-25 00:56:05 +00:00
2026-06-24 22:13:35 +03:00
2026-09-18 11:32:15 +03:00
2026-09-13 09:02:40 +00:00
2026-09-13 14:39:43 +03:00
2026-09-13 14:51:45 +03:00
2026-09-25 09:13:51 +00:00
2026-08-09 13:01:57 +03:00
2026-09-25 09:28:03 +00:00
2026-09-25 10:28:53 +00:00
2026-09-22 18:19:45 +03:00
2026-08-31 20:58:23 +03:00
2026-09-21 19:44:23 +03:00
2026-09-25 10:07:47 +00:00
2026-06-25 18:39:28 +03:00
2026-06-24 21:32:10 +03:00
2026-09-11 16:19:02 +01:00
2026-08-07 19:31:18 +03:00
2026-08-07 21:01:59 +03:00
2026-09-17 08:41:26 +00:00
2026-09-17 07:51:18 +00:00
2026-09-11 16:19:02 +01:00
2026-09-11 11:03:06 +00:00
2026-09-25 00:10:15 +00:00
2026-09-25 10:07:47 +00:00
2026-09-22 18:19:45 +03:00
2026-06-25 18:39:28 +03:00
2026-09-18 09:57:17 +00:00
2026-09-25 10:07:46 +00:00
2026-09-13 21:17:06 +03:00
2026-09-09 22:32:37 +03:00
2026-09-25 00:10:15 +00:00
2026-09-25 00:20:41 +00:00
2026-09-25 00:20:41 +00:00
2026-08-31 20:58:23 +03:00
2026-09-22 16:32:39 +03:00
2026-06-24 22:35:33 +03:00
2026-09-21 21:32:19 +03:00
2026-09-13 14:45:12 +03:00
2026-09-13 14:26:46 +03:00
2026-09-21 18:55:17 +03:00
2026-09-25 00:04:16 +00:00
2026-09-25 10:28:53 +00:00
2026-09-13 14:39:43 +03:00