pingqiu and Claude Opus 4.6
85dad8e0c9
feat: Phase 20 T1 — EngineProjectionMode in heartbeat
...
Add engine_projection_mode as a distinct proto/wire/registry field
that carries pure V2 engine-derived local projection mode from VS
to master. Reads ONLY from CoreProjection — no ad-hoc fallback.
Separate from existing VolumeMode: EngineProjectionMode is VS-local
V2 engine truth, VolumeMode is the existing field that conflates V2
and V1 paths. Both exist during transition; only EngineProjectionMode
is V2-authoritative.
Clears stale value on primary turnover: when a newly promoted primary
heartbeats without the field, the old primary's projection is not
preserved (prevents synthetic master-side truth).
5 focused tests: propagation, distinctness (hard assertion), backward
compat preservation, turnover-clears, turnover-with-field.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-05 15:45:26 -07:00
..
2026-03-10 18:19:31 -07:00
2026-04-04 14:21:31 -07:00
2026-03-06 01:06:51 -08:00
2026-04-05 15:12:00 -07:00
2026-04-02 14:24:10 -07:00
2026-03-23 02:12:42 -07:00
2026-03-10 15:09:41 -07:00
2026-03-09 17:44:01 -07:00
2026-03-02 09:33:45 -08:00
2026-04-05 11:38:05 -07:00
2026-04-05 11:38:05 -07:00
2026-04-04 08:11:39 -07:00
2026-03-04 11:01:08 -08:00
2026-03-04 11:01:08 -08:00
2026-04-04 14:21:31 -07:00
2026-04-05 15:45:26 -07:00
2026-03-02 09:34:00 -08:00
2026-04-05 15:45:26 -07:00
2026-03-24 00:19:25 -07:00
2026-03-25 15:38:06 -07:00
2026-04-03 13:18:30 -07:00
2026-03-01 10:43:34 -08:00
2026-03-09 17:44:01 -07:00
2026-03-10 16:02:30 -07:00
2026-03-01 10:43:34 -08:00
2026-03-01 21:26:39 -08:00
2026-03-25 15:38:06 -07:00
2026-03-25 02:39:32 -07:00
2026-03-06 01:06:51 -08:00
2026-03-06 01:06:51 -08:00
2026-03-12 19:30:59 -07:00
2026-03-01 16:00:06 -08:00
2026-03-12 15:06:48 -07:00
2026-04-02 14:24:10 -07:00
2026-04-02 14:24:10 -07:00
2026-03-01 10:43:34 -08:00
2026-03-06 00:05:17 -08:00
2026-03-06 00:05:17 -08:00
2026-03-06 00:05:17 -08:00
2026-02-28 09:32:01 -08:00
2026-02-28 09:32:01 -08:00
2026-03-07 21:30:14 -08:00
2026-03-01 16:00:06 -08:00
2026-03-04 11:01:08 -08:00
2026-03-08 23:02:59 -07:00
2026-03-30 20:01:46 -07:00
2026-03-26 19:16:45 -07:00
2026-03-22 14:44:24 -07:00
2026-03-22 14:44:24 -07:00
2026-03-07 21:30:14 -08:00
2026-03-12 15:06:48 -07:00
2026-03-12 15:06:48 -07:00
2026-03-01 16:00:06 -08:00
2026-03-02 09:33:45 -08:00
2026-03-25 15:38:06 -07:00
2026-03-09 17:44:01 -07:00
2026-03-02 09:33:45 -08:00
2026-03-02 09:34:35 -08:00
2026-03-25 15:38:06 -07:00
2026-03-03 17:05:43 -08:00
2026-03-13 10:56:18 -07:00
2026-03-13 00:15:27 -07:00
2026-03-03 17:05:43 -08:00
2026-03-12 15:06:48 -07:00
2026-03-11 17:35:44 -07:00
2026-03-13 17:21:17 -07:00
2026-03-12 19:30:59 -07:00
2026-03-26 17:22:55 -07:00
2026-04-02 16:25:23 -07:00
2026-03-30 20:01:46 -07:00
2026-03-30 20:01:46 -07:00
2026-04-02 16:25:23 -07:00
2026-03-30 20:01:46 -07:00
2026-03-25 01:52:35 -07:00
2026-03-03 01:43:42 -08:00
2026-03-05 00:52:05 -08:00
2026-03-06 00:05:17 -08:00
2026-03-06 00:05:17 -08:00
2026-03-25 02:39:32 -07:00
2026-04-02 23:45:29 -07:00
2026-03-13 10:56:18 -07:00
2026-04-02 16:25:23 -07:00
2026-03-03 00:53:33 -08:00
2026-03-03 00:53:33 -08:00
2026-03-11 21:52:00 -07:00
2026-03-11 21:52:00 -07:00
2026-03-06 01:06:51 -08:00
2026-03-12 15:06:48 -07:00
2026-04-03 00:13:33 -07:00
2026-04-02 22:56:20 -07:00
2026-04-03 08:36:00 -07:00
2026-03-12 19:30:59 -07:00
2026-03-12 19:30:59 -07:00
2026-02-28 09:32:01 -08:00
2026-02-28 09:32:01 -08:00
2026-03-12 19:30:59 -07:00
2026-03-12 19:30:59 -07:00
2026-04-02 21:42:51 -07:00
2026-03-01 10:43:34 -08:00
2026-03-03 00:53:33 -08:00
2026-03-01 16:00:06 -08:00