Ben Barclay
29fc746350
feat(conformance): vector generator — native renderers as executable spec (#71666)
* feat(conformance): vector generator — native renderers as executable spec
- scripts/generate_conformance_vectors.py: renders a 44-case corpus
(markdown grid + scar tissue + adversarial agent output) through the
NATIVE renderers (Telegram MarkdownV2 format_message, Slack mrkdwn,
WhatsApp, Discord) and emits per-platform JSON vectors stamped with the
oracle commit. Expect semantics: parity | semantic | divergent(note).
- tests/conformance/: committed vectors + 7 behavior-contract tests
(determinism, self-free oracle invocation, shape, scar-bug coverage,
committed-vectors-reproduce lockstep — the openapi.json discipline).
- Consumed by gateway-gateway's conformance runner (committed vectors +
sender-level vitest suite + weekly refresh workflow).
* fix(conformance): explicit utf-8 encoding on vector file I/O (Windows footguns gate)
2026-07-26 16:52:25 +10:00
..
2026-07-25 18:06:32 -07:00
2026-07-22 12:10:58 -05:00
2026-07-25 22:47:07 -07:00
2026-07-23 05:45:17 +00:00
2026-07-25 16:41:52 -07:00
2026-07-23 01:39:21 -05:00
2026-07-26 16:52:25 +10:00
2026-07-24 15:55:39 -07:00
2026-07-07 18:33:28 +10:00
2026-07-18 01:11:03 -07:00
2026-07-22 20:55:51 -07:00
2026-07-26 10:26:20 +10:00
2026-07-25 23:45:18 -07:00
2026-07-17 06:53:38 -07:00
2026-07-24 07:53:12 -07:00
2026-07-05 13:42:46 -07:00
2026-07-01 03:16:13 -07:00
2026-07-24 13:00:53 +05:30
2026-07-25 16:41:57 -07:00
2026-07-25 22:46:35 -07:00
2026-07-25 19:25:34 -07:00
2026-07-24 22:40:15 -07:00
2026-07-22 03:20:45 -07:00
2026-07-24 17:10:39 -07:00
2026-07-24 16:00:34 -07:00
2026-07-05 13:42:46 -07:00
2026-07-25 20:15:37 -07:00
2026-07-26 00:57:17 -05:00
2026-07-25 07:17:52 -07:00
2026-07-03 14:27:34 +10:00
2026-07-06 03:28:30 -07:00
2026-07-01 16:21:39 +05:30
2026-07-22 04:40:07 -07:00
2026-07-23 07:24:46 -07:00
2026-06-24 04:16:54 +05:30
2026-07-22 04:39:28 -07:00
2026-07-25 07:17:52 -07:00
2026-07-05 00:44:15 -07:00
2026-07-23 11:44:43 -07:00
2026-07-14 03:58:54 +05:30
2026-06-21 12:09:16 -07:00
2026-07-15 00:10:31 -07:00
2026-07-22 03:20:25 -07:00
2026-07-06 04:58:07 -07:00
2026-07-22 04:39:17 -07:00
2026-06-28 15:38:39 -07:00
2026-07-22 10:35:04 -07:00
2026-07-20 05:39:09 -07:00
2026-07-24 17:10:39 -07:00
2026-07-18 00:34:54 -04:00
2026-07-05 11:44:53 +05:30
2026-07-25 22:47:07 -07:00
2026-07-25 21:44:43 -07:00
2026-07-25 22:47:07 -07:00
2026-07-16 12:48:48 -07:00
2026-07-17 20:55:24 +00:00
2026-07-18 19:18:03 +05:30
2026-06-30 20:11:01 +07:00
2026-06-25 23:49:11 -07:00
2026-07-18 18:40:59 -04:00
2026-06-18 22:11:35 +05:30
2026-07-07 21:17:34 +07:00
2026-06-23 21:33:08 -07:00
2026-06-18 16:26:34 +07:00
2026-07-05 19:35:30 -07:00
2026-06-28 03:58:01 -07:00
2026-06-18 14:14:41 +10:00
2026-06-26 20:10:20 +05:30
2026-06-25 23:49:11 -07:00
2026-07-24 09:49:00 -07:00
2026-07-24 09:49:00 -07:00
2026-07-24 09:49:00 -07:00
2026-07-24 21:20:52 -05:00
2026-07-21 12:15:46 +05:30
2026-07-05 14:01:03 -07:00
2026-07-05 14:51:49 -07:00
2026-06-28 22:52:59 -07:00
2026-07-22 03:19:32 -07:00
2026-07-01 03:17:48 -07:00
2026-07-22 16:51:01 -04:00
2026-07-22 16:51:01 -04:00
2026-06-30 15:30:06 -07:00
2026-07-22 16:51:01 -04:00
2026-07-16 19:48:47 -04:00
2026-07-07 15:15:37 -07:00
2026-07-07 11:57:01 +05:30
2026-07-25 07:09:22 -07:00
2026-07-22 07:56:47 -07:00
2026-07-12 05:07:52 -04:00
2026-07-22 21:14:44 -07:00
2026-07-18 04:15:13 -07:00
2026-07-25 21:44:43 -07:00
2026-07-25 21:44:43 -07:00
2026-06-24 04:16:54 +05:30
2026-07-22 04:42:50 -07:00
2026-07-14 21:25:44 -07:00
2026-07-18 01:11:03 -07:00
2026-07-23 21:06:47 -07:00
2026-07-23 16:21:03 -07:00
2026-07-21 12:43:27 -07:00
2026-06-28 02:35:01 -07:00
2026-07-22 21:53:56 -04:00
2026-07-24 22:21:06 -07:00
2026-07-23 05:02:45 +00:00
2026-06-18 05:41:23 -07:00
2026-07-15 04:55:46 -07:00
2026-07-16 15:23:32 -04:00
2026-07-16 14:43:14 +02:00
2026-07-24 11:45:57 -07:00
2026-06-25 23:27:44 +05:30
2026-07-08 08:05:45 -07:00
2026-07-05 00:41:34 -07:00
2026-07-24 23:06:05 -07:00