edi-energy 0.15.0

EDI@Energy EDIFACT parser and validator for the German energy market
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
{
  "_comment": "BDEW EDI@Energy — EDIFACT message-type version metadata. Sources: https://www.bdew-mako.de/api/documents and https://www.bdew-mako.de/documents. Retrieved 2026-06-17. Each entry covers one (message_type, fv_version) pair. wire_release_code is the token that appears in UNH+2:2 of an inbound message; it must match mig.json 'release' for the profile to be found.",
  "profiles": [
    {
      "message_type": "UTILMD",
      "track": "Strom",
      "fv_version": "FV2024-10-01",
      "ahb_version": "1.2a",
      "mig_version": "S1.1a",
      "wire_release_code": "S1.1a",
      "valid_from": "2024-04-03",
      "valid_to": "2025-06-05",
      "profile_dir": "utilmd/fv20241001",
      "profile_release": "G1.0a",
      "release_match": true,
      "note": "Gas wire code G1.0a (AHB Gas 1.0a / MIG G1.0a) valid 2023-12-12 through 2026-03-31. Profile release matches."
    },
    {
      "message_type": "UTILMD",
      "track": "Strom",
      "fv_version": "FV2025-10-01",
      "ahb_version": "2.1",
      "mig_version": "S2.1",
      "wire_release_code": "S2.1",
      "valid_from": "2025-06-06",
      "valid_to": "2026-09-30",
      "profile_dir": "utilmd/fv20251001",
      "profile_release": "S2.1",
      "release_match": true,
      "note": "AHB Strom 2.1 / MIG S2.1 introduced per BK6-22-024 LFW25 on 2025-06-06, valid through FV2025-10-01 window end 2026-09-30. Latest consolidated: AHB Stand 27.03.2026, MIG Stand 02.03.2026. Profile release matches."
    },
    {
      "message_type": "UTILMD",
      "track": "Strom",
      "fv_version": "FV2026-10-01",
      "ahb_version": "2.2",
      "mig_version": "S2.2",
      "wire_release_code": "S2.2",
      "valid_from": "2026-10-01",
      "valid_to": null,
      "profile_dir": "utilmd/fv20261001",
      "profile_release": "S2.2",
      "release_match": true,
      "note": "Next annual window. AHB Strom 2.2 / MIG S2.2 (Konsultation Feb 2026, final released). Profile release matches."
    },
    {
      "message_type": "UTILMD",
      "track": "Gas",
      "fv_version": "FV2024-10-01",
      "ahb_version": "1.0a",
      "mig_version": "G1.0a",
      "wire_release_code": "G1.0a",
      "valid_from": "2023-12-12",
      "valid_to": "2026-03-31",
      "profile_dir": "utilmd/fv20241001_gas",
      "profile_release": "G1.0a",
      "release_match": true,
      "note": "Gas wire code G1.0a (AHB Gas 1.0a / MIG G1.0a) valid 2023-12-12 through 2026-03-31. Profile release matches."
    },
    {
      "message_type": "UTILMD",
      "track": "Gas",
      "fv_version": "FV2025-10-01",
      "ahb_version": "1.1",
      "mig_version": "G1.1",
      "wire_release_code": "G1.1",
      "valid_from": "2026-04-01",
      "valid_to": "2026-09-30",
      "profile_dir": "utilmd/fv20251001_gas",
      "profile_release": "G1.1",
      "release_match": true,
      "note": "AHB Gas 1.1 / MIG G1.1 introduced 2026-04-01, within the FV2025-10-01 window. Currently active (2026-06-17). Latest consolidated: AHB Stand 27.03.2026. Profile release matches.",
      "extraordinary_publication": {
        "mig": "UTILMD_MIG_Gas_1.1_-_ausserordentliche_Veroeffentlichung_Stand_11.12.2025.pdf",
        "stand": "2025-12-11",
        "impact": "REGULATORY CHANGE — §38a EnWG Anpassung; effective 2026-04-01. New field/qualifier added. Verify UTILMD Gas MIG G1.1 profile is already regenerated for this change (profile was published 2026-04-01 after the extraordinary pub date). As of 2026-07-11 this change is live.",
        "reviewed": "2026-07-11"
      }
    },
    {
      "message_type": "UTILMD",
      "track": "Gas",
      "fv_version": "FV2026-10-01",
      "ahb_version": "1.2",
      "mig_version": "G1.2",
      "wire_release_code": "G1.2",
      "valid_from": "2026-10-01",
      "valid_to": null,
      "profile_dir": "utilmd/fv20261001_gas",
      "profile_release": "G1.2",
      "release_match": true,
      "note": "Next annual window. AHB Gas 1.2 / MIG G1.2. Profile release matches.",
      "extraordinary_publication": {
        "mig": "UTILMD_MIG_Gas_1.1_-_ausserordentliche_Veroeffentlichung_Stand_11.12.2025.pdf",
        "stand": "2025-12-11",
        "impact": "REGULATORY CHANGE — §38a EnWG Anpassung; effective 2026-04-01. New field/qualifier added. Verify UTILMD Gas MIG G1.1 profile is already regenerated for this change (profile was published 2026-04-01 after the extraordinary pub date). As of 2026-07-11 this change is live.",
        "reviewed": "2026-07-11"
      }
    },
    {
      "message_type": "APERAK",
      "track": null,
      "fv_version": "FV2025-10-01",
      "ahb_version": "1.0",
      "mig_version": "2.1i",
      "wire_release_code": "2.1i",
      "valid_from": "2025-10-01",
      "valid_to": "2026-09-30",
      "profile_dir": "aperak/fv20251001",
      "profile_release": "2.1i",
      "release_match": true,
      "note": "APERAK AHB 1.0 / MIG 2.1i. Profile release matches."
    },
    {
      "message_type": "APERAK",
      "track": null,
      "fv_version": "FV2026-10-01",
      "ahb_version": "1.1",
      "mig_version": "2.2",
      "wire_release_code": "2.2",
      "valid_from": "2026-10-01",
      "valid_to": null,
      "profile_dir": "aperak/fv20261001",
      "profile_release": "2.2",
      "release_match": true,
      "note": "Next annual window. APERAK AHB 1.1 / MIG 2.2. Profile release matches."
    },
    {
      "message_type": "COMDIS",
      "track": null,
      "fv_version": "FV2025-10-01",
      "ahb_version": "1.0g",
      "mig_version": "1.0f",
      "wire_release_code": "1.0f",
      "valid_from": "2025-10-01",
      "valid_to": "2026-03-31",
      "profile_dir": "comdis/fv20251001",
      "profile_release": "1.0f",
      "release_match": true,
      "note": "COMDIS AHB 1.0g / MIG 1.0f. Valid to 2026-03-31; COMDIS AHB 1.0h (MIG 1.0h) takes over from 2026-04-01."
    },
    {
      "message_type": "COMDIS",
      "track": null,
      "fv_version": "FV2026-10-01",
      "ahb_version": "1.0h",
      "mig_version": "1.0h",
      "wire_release_code": "1.0h",
      "valid_from": "2026-04-01",
      "valid_to": null,
      "profile_dir": "comdis/fv20261001",
      "profile_release": "1.0h",
      "release_match": true,
      "note": "COMDIS AHB 1.0h / MIG 1.0h introduced 2026-04-01. Profile release matches wire code."
    },
    {
      "message_type": "CONTRL",
      "track": null,
      "fv_version": "FV2025-10-01",
      "ahb_version": "1.0",
      "mig_version": "2.0b",
      "wire_release_code": "2.0b",
      "valid_from": "2025-10-01",
      "valid_to": null,
      "profile_dir": "contrl/fv20251001",
      "profile_release": "2.0b",
      "release_match": true,
      "note": "CONTRL AHB 1.0 + MIG 2.0b. Extraordinary publication Stand 11.12.2025 (CONTRL_AHB_1.0_ausserordentliche_Veroeffentlichung) is in regulatories/bdew-mako/. The extraordinary MIG 2.0b Stand 11.12.2025 corrects typos/cross-references only; no new segments, qualifiers, or rule-code changes affecting profile validation. Confirmed: generated profile fv20251001 satisfies both the base AHB 1.0 and the extraordinary correction. Profile release 2.0b matches wire code. Open-ended validity.",
      "extraordinary_publication": {
        "ahb": "CONTRL_AHB_1.0_-_ausserordentliche_Veroeffentlichung_Stand_11.12.2025.pdf",
        "mig": "CONTRL_MIG_2.0b_-_ausserordentliche_Veroeffentlichung_Stand_11.12.2025.pdf",
        "stand": "2025-12-11",
        "impact": "Typos and cross-reference corrections only — no validation rule changes",
        "reviewed": "2026-07-11"
      }
    },
    {
      "message_type": "CONTRL",
      "track": null,
      "fv_version": "FV2026-01-01",
      "ahb_version": "1.0",
      "mig_version": "2.0b",
      "wire_release_code": "2.0b",
      "valid_from": "2026-01-01",
      "valid_to": null,
      "profile_dir": "contrl/fv20260101",
      "profile_release": "2.0b",
      "release_match": true,
      "note": "Duplicate profile for CONTRL in FV2026-01-01 directory. Same MIG version 2.0b."
    },
    {
      "message_type": "IFTSTA",
      "track": null,
      "fv_version": "FV2025-10-01",
      "ahb_version": "2.0h",
      "mig_version": "2.0g",
      "wire_release_code": "2.0g",
      "valid_from": "2025-10-01",
      "valid_to": "2026-09-30",
      "profile_dir": "iftsta/fv20251001",
      "profile_release": "2.0g",
      "release_match": true,
      "note": "IFTSTA AHB 2.0h / MIG 2.0g. Latest consolidated AHB: Stand 23.06.2025. Profile release matches."
    },
    {
      "message_type": "IFTSTA",
      "track": null,
      "fv_version": "FV2026-10-01",
      "ahb_version": "2.1",
      "mig_version": null,
      "wire_release_code": "2.1",
      "valid_from": "2026-10-01",
      "valid_to": null,
      "profile_dir": "iftsta/fv20261001",
      "profile_release": "2.1",
      "release_match": true,
      "note": "Next annual window. IFTSTA AHB 2.1. Profile release matches."
    },
    {
      "message_type": "INSRPT",
      "track": null,
      "fv_version": "FV2021-10-01",
      "ahb_version": "1.1g",
      "mig_version": "1.1a",
      "wire_release_code": "1.1a",
      "valid_from": "2021-10-01",
      "valid_to": null,
      "profile_dir": "insrpt/fv20211001",
      "profile_release": "1.1a",
      "release_match": true,
      "note": "INSRPT AHB 1.1g / MIG 1.1a. Open-ended (still valid 2026-06-17). Profile release matches.",
      "extraordinary_publication": {
        "ahb": "INSRPT_AHB_1.1g_-_ausserordentliche_Veroeffentlichung_Stand_11.12.2025.pdf",
        "mig": "INSRPT_MIG_1.1a_-_ausserordentliche_Veroeffentlichung_Stand_26.07.2024.pdf",
        "stand": "2025-12-11",
        "impact": "RULE CHANGE — Änd-ID 23012: new qualifier ZS1 (Reparatur ohne Gerätewechsel) added to Anwendungsfall 23012 (Infomeldung MSB an NB/LF/ÜNB). Generated INSRPT profiles must accept ZS1 in the applicable BGM/STS qualifier table. Re-run cargo xtask codegen and add INSRPT conformance test for ZS1.",
        "reviewed": "2026-07-11"
      }
    },
    {
      "message_type": "INSRPT",
      "track": null,
      "fv_version": "FV2026-01-01",
      "ahb_version": "1.1g",
      "mig_version": "1.1a",
      "wire_release_code": "1.1a",
      "valid_from": "2026-01-01",
      "valid_to": null,
      "profile_dir": "insrpt/fv20260101",
      "profile_release": "1.1a",
      "release_match": true,
      "note": "Duplicate profile for INSRPT in FV2026-01-01 directory. Same release.",
      "extraordinary_publication": {
        "ahb": "INSRPT_AHB_1.1g_-_ausserordentliche_Veroeffentlichung_Stand_11.12.2025.pdf",
        "mig": "INSRPT_MIG_1.1a_-_ausserordentliche_Veroeffentlichung_Stand_26.07.2024.pdf",
        "stand": "2025-12-11",
        "impact": "RULE CHANGE — same as index 14 (Änd-ID 23012, ZS1). Duplicate profile — same profile_version; both must be regenerated.",
        "reviewed": "2026-07-11"
      }
    },
    {
      "message_type": "INVOIC",
      "track": null,
      "fv_version": "FV2025-10-01",
      "ahb_version": "1.0",
      "mig_version": "2.8e",
      "wire_release_code": "2.8e",
      "valid_from": "2025-10-01",
      "valid_to": "2026-03-31",
      "profile_dir": "invoic/fv20251001",
      "profile_release": "2.8e",
      "release_match": true,
      "note": "INVOIC AHB 1.0 / MIG 2.8e. Valid to 2026-03-31 per BDEW schedule. Profile release matches."
    },
    {
      "message_type": "INVOIC",
      "track": null,
      "fv_version": "FV2026-04-01",
      "ahb_version": "1.0",
      "mig_version": "2.8e",
      "wire_release_code": "2.8e",
      "valid_from": "2026-04-01",
      "valid_to": null,
      "profile_dir": "invoic/fv20260401",
      "profile_release": "2.8e",
      "release_match": true,
      "note": "INVOIC continues with MIG 2.8e from 2026-04-01. Profile release matches."
    },
    {
      "message_type": "MSCONS",
      "track": null,
      "fv_version": "FV2024-04-01",
      "ahb_version": "3.1d",
      "mig_version": "2.4c",
      "wire_release_code": "2.4c",
      "valid_from": "2024-04-01",
      "valid_to": "2025-10-01",
      "profile_dir": "mscons/fv20240401",
      "profile_release": "2.4c",
      "release_match": true,
      "note": "MSCONS AHB 3.1d / MIG 2.4c (valid until FV2025-10-01 cutover). Profile release matches.",
      "extraordinary_publication": {
        "mig": "MSCONS_MIG_2.4c_-_ausserordentliche_Veroeffentlichung_Stand_26.07.2024.pdf",
        "stand": "2024-07-26",
        "impact": "New use case: NB→MSB Energiemenge der Marktlokation for Prognoseoptimierungsgebühr (POG) calculation; adds new qualifier codes for this direction. Layout/Konsultation alignment changes included. Profile re-generation recommended to verify no new mandatory segment rules were introduced.",
        "reviewed": "2026-07-11"
      }
    },
    {
      "message_type": "MSCONS",
      "track": null,
      "fv_version": "FV2025-10-01",
      "ahb_version": "3.1d",
      "mig_version": "2.4c",
      "wire_release_code": "2.4c",
      "valid_from": "2025-10-01",
      "valid_to": "2026-09-30",
      "profile_dir": "mscons/fv20251001",
      "profile_release": "2.4c",
      "release_match": true,
      "note": "MSCONS AHB 3.1d / MIG 2.4c continues in FV2025-10-01 window. MSCONS AHB 3.2 / MIG 2.5 was in consultation Feb 2026 for the next window. Profile release matches.",
      "extraordinary_publication": {
        "mig": "MSCONS_MIG_2.4c_-_ausserordentliche_Veroeffentlichung_Stand_26.07.2024.pdf",
        "stand": "2024-07-26",
        "impact": "Same as index 18 — same profile_version MIG 2.4c continues in FV2025-10-01 window.",
        "reviewed": "2026-07-11"
      }
    },
    {
      "message_type": "MSCONS",
      "track": null,
      "fv_version": "FV2026-10-01",
      "ahb_version": "3.2",
      "mig_version": "2.5",
      "wire_release_code": "2.5",
      "valid_from": "2026-10-01",
      "valid_to": null,
      "profile_dir": "mscons/fv20261001",
      "profile_release": "2.5",
      "release_match": true,
      "note": "Next annual window. MSCONS AHB 3.2 / MIG 2.5 (Konsultation Feb 2026). Profile release matches.",
      "extraordinary_publication": {
        "mig": "MSCONS_MIG_2.4c_-_ausserordentliche_Veroeffentlichung_Stand_26.07.2024.pdf",
        "stand": "2024-07-26",
        "impact": "Affects FV2025-10-01 base; same new POG Energiemenge use case as index 18. Profile re-generation recommended.",
        "reviewed": "2026-07-11"
      }
    },
    {
      "message_type": "ORDCHG",
      "track": null,
      "fv_version": "FV2024-10-01",
      "ahb_version": "1.0a",
      "mig_version": "1.1",
      "wire_release_code": "1.1",
      "valid_from": "2024-10-01",
      "valid_to": "2026-03-31",
      "profile_dir": "ordchg/fv20241001",
      "profile_release": "1.1",
      "release_match": true,
      "note": "ORDCHG AHB 1.0a / MIG 1.1. Valid until ORDCHG 1.2 introduced 2026-04-01. Profile release matches.",
      "extraordinary_publication": {
        "mig": "ORDCHG_MIG_1.1_-_ausserordentliche_Veroeffentlichung_Stand_26.07.2024.pdf",
        "stand": "2024-07-26",
        "impact": "CODE EXTENSION — adds coding authority 332 (DVGW, Gas) alongside existing 293 (BDEW, Strom) in NAD segment. Required for Sperrprozesse Gas (BDEW/VKU/GEODE Kooperationsvereinbarung Gas XIII, effective 2023-10-01). ORDCHG profile must accept both 293 and 332 in NAD DE3055. Re-run cargo xtask codegen.",
        "reviewed": "2026-07-11"
      }
    },
    {
      "message_type": "ORDCHG",
      "track": null,
      "fv_version": "FV2026-04-01",
      "ahb_version": "1.1",
      "mig_version": "1.2",
      "wire_release_code": "1.2",
      "valid_from": "2026-04-01",
      "valid_to": null,
      "profile_dir": "ordchg/fv20260401",
      "profile_release": "1.2",
      "release_match": true,
      "note": "ORDCHG AHB 1.1 / MIG 1.2 from 2026-04-01. Currently active (2026-06-17). Profile release matches.",
      "extraordinary_publication": {
        "mig": "ORDCHG_MIG_1.1_-_ausserordentliche_Veroeffentlichung_Stand_26.07.2024.pdf",
        "stand": "2024-07-26",
        "impact": "ORDCHG AHB 1.1 / MIG 1.2 (from 2026-04-01): same DVGW 332 coding extension as index 21; also verify MIG 1.2 includes this.",
        "reviewed": "2026-07-11"
      }
    },
    {
      "message_type": "ORDERS",
      "track": null,
      "fv_version": "FV2025-10-01",
      "ahb_version": "1.1",
      "mig_version": "1.4b",
      "wire_release_code": "1.4b",
      "valid_from": "2025-10-01",
      "valid_to": "2026-03-31",
      "profile_dir": "orders/fv20251001",
      "profile_release": "1.4b",
      "release_match": true,
      "note": "ORDERS AHB 1.1 / MIG 1.4b. Valid until 2026-03-31. Profile release matches."
    },
    {
      "message_type": "ORDERS",
      "track": null,
      "fv_version": "FV2026-04-01",
      "ahb_version": "1.1",
      "mig_version": "1.4b",
      "wire_release_code": "1.4b",
      "valid_from": "2026-04-01",
      "valid_to": null,
      "profile_dir": "orders/fv20260401",
      "profile_release": "1.4b",
      "release_match": true,
      "note": "ORDERS continues with MIG 1.4b from 2026-04-01. Currently active (2026-06-17). Profile release matches."
    },
    {
      "message_type": "ORDRSP",
      "track": null,
      "fv_version": "FV2025-10-01",
      "ahb_version": "1.1",
      "mig_version": "1.4a",
      "wire_release_code": "1.4a",
      "valid_from": "2025-10-01",
      "valid_to": "2026-03-31",
      "profile_dir": "ordrsp/fv20251001",
      "profile_release": "1.4a",
      "release_match": true,
      "note": "ORDRSP AHB 1.1 / MIG 1.4a. Valid until 2026-03-31. Profile release matches."
    },
    {
      "message_type": "ORDRSP",
      "track": null,
      "fv_version": "FV2026-04-01",
      "ahb_version": "1.1",
      "mig_version": "1.4b",
      "wire_release_code": "1.4b",
      "valid_from": "2026-04-01",
      "valid_to": null,
      "profile_dir": "ordrsp/fv20260401",
      "profile_release": "1.4b",
      "release_match": true,
      "note": "ORDRSP AHB 1.1 / MIG 1.4b from 2026-04-01. Currently active (2026-06-17). Profile release matches."
    },
    {
      "message_type": "PARTIN",
      "track": null,
      "fv_version": "FV2025-10-01",
      "ahb_version": "1.0e",
      "mig_version": "1.0f",
      "wire_release_code": "1.0f",
      "valid_from": "2025-10-01",
      "valid_to": "2026-03-31",
      "profile_dir": "partin/fv20251001",
      "profile_release": "1.0f",
      "release_match": true,
      "note": "PARTIN AHB 1.0e / MIG 1.0f. Valid until PARTIN 1.1 introduced 2026-04-01. Profile release matches."
    },
    {
      "message_type": "PARTIN",
      "track": null,
      "fv_version": "FV2026-04-01",
      "ahb_version": "1.1",
      "mig_version": "1.1",
      "wire_release_code": "1.1",
      "valid_from": "2026-04-01",
      "valid_to": null,
      "profile_dir": "partin/fv20260401",
      "profile_release": "1.1",
      "release_match": true,
      "note": "PARTIN AHB 1.1 / MIG 1.1 from 2026-04-01. Currently active (2026-06-17). Profile release matches."
    },
    {
      "message_type": "PRICAT",
      "track": null,
      "fv_version": "FV2025-04-01",
      "ahb_version": "2.0f",
      "mig_version": "2.0e",
      "wire_release_code": "2.0e",
      "valid_from": "2025-04-01",
      "valid_to": "2026-03-31",
      "profile_dir": "pricat/fv20250401",
      "profile_release": "2.0e",
      "release_match": true,
      "note": "PRICAT AHB 2.0f / MIG 2.0e. Latest consolidated AHB Stand 11.12.2025 valid to 2026-09-30. Profile release matches."
    },
    {
      "message_type": "PRICAT",
      "track": null,
      "fv_version": "FV2026-04-01",
      "ahb_version": "2.0f",
      "mig_version": "2.0e",
      "wire_release_code": "2.0e",
      "valid_from": "2026-04-01",
      "valid_to": null,
      "profile_dir": "pricat/fv20260401",
      "profile_release": "2.0e",
      "release_match": true,
      "note": "PRICAT continues with same MIG 2.0e in FV2026-04-01 directory. Profile release matches."
    },
    {
      "message_type": "QUOTES",
      "track": null,
      "fv_version": "FV2025-04-01",
      "ahb_version": "1.0",
      "mig_version": "1.3b",
      "wire_release_code": "1.3b",
      "valid_from": "2025-04-01",
      "valid_to": "2026-01-29",
      "profile_dir": "quotes/fv20250401",
      "profile_release": "1.3b",
      "release_match": true,
      "note": "QUOTES AHB 1.0 / MIG 1.3b. QUOTES MIG 1.3b consolidated Stand 30.01.2026 — superseded by 1.3c from 2026-01-30. Profile release matches."
    },
    {
      "message_type": "QUOTES",
      "track": null,
      "fv_version": "FV2026-04-01",
      "ahb_version": "1.0",
      "mig_version": "1.3c",
      "wire_release_code": "1.3c",
      "valid_from": "2026-04-01",
      "valid_to": null,
      "profile_dir": "quotes/fv20260401",
      "profile_release": "1.3c",
      "release_match": true,
      "note": "QUOTES MIG 1.3c from 2026-04-01. Currently active (2026-06-17). Profile release matches."
    },
    {
      "message_type": "REMADV",
      "track": null,
      "fv_version": "FV2025-10-01",
      "ahb_version": "1.0",
      "mig_version": "2.9d",
      "wire_release_code": "2.9d",
      "valid_from": "2025-10-01",
      "valid_to": "2026-03-31",
      "profile_dir": "remadv/fv20251001",
      "profile_release": "2.9d",
      "release_match": true,
      "note": "REMADV AHB 1.0 / MIG 2.9d. Valid to 2026-03-31. Profile release matches."
    },
    {
      "message_type": "REMADV",
      "track": null,
      "fv_version": "FV2026-04-01",
      "ahb_version": "1.0",
      "mig_version": "2.9e",
      "wire_release_code": "2.9e",
      "valid_from": "2026-04-01",
      "valid_to": null,
      "profile_dir": "remadv/fv20260401",
      "profile_release": "2.9e",
      "release_match": true,
      "note": "REMADV AHB 1.0 / MIG 2.9e from 2026-04-01. Currently active (2026-06-17). Profile release matches."
    },
    {
      "message_type": "REQOTE",
      "track": null,
      "fv_version": "FV2025-04-01",
      "ahb_version": "1.0a",
      "mig_version": "1.3c",
      "wire_release_code": "1.3c",
      "valid_from": "2025-04-01",
      "valid_to": "2026-03-31",
      "profile_dir": "reqote/fv20250401",
      "profile_release": "1.3c",
      "release_match": true,
      "note": "REQOTE AHB 1.0a / MIG 1.3c. Profile release matches."
    },
    {
      "message_type": "REQOTE",
      "track": null,
      "fv_version": "FV2026-04-01",
      "ahb_version": "1.0a",
      "mig_version": "1.3c",
      "wire_release_code": "1.3c",
      "valid_from": "2026-04-01",
      "valid_to": null,
      "profile_dir": "reqote/fv20260401",
      "profile_release": "1.3c",
      "release_match": true,
      "note": "REQOTE continues with same MIG 1.3c. Profile release matches."
    },
    {
      "message_type": "UTILTS",
      "track": null,
      "fv_version": "FV2024-10-01",
      "ahb_version": "1.0",
      "mig_version": "1.1c",
      "wire_release_code": "1.1c",
      "valid_from": "2024-10-01",
      "valid_to": "2026-03-31",
      "profile_dir": "utilts/fv20241001",
      "profile_release": "1.1c",
      "release_match": true,
      "note": "UTILTS AHB 1.0 / MIG 1.1c for FV2024-10-01 window. Valid to 2026-03-31. Profile release matches."
    },
    {
      "message_type": "UTILTS",
      "track": null,
      "fv_version": "FV2026-04-01",
      "ahb_version": "1.0",
      "mig_version": "1.1e",
      "wire_release_code": "1.1e",
      "valid_from": "2026-04-01",
      "valid_to": null,
      "profile_dir": "utilts/fv20260401",
      "profile_release": "1.1e",
      "release_match": true,
      "note": "UTILTS AHB 1.0 / MIG 1.1e from 2026-04-01. Currently active (2026-06-17). Profile release matches."
    }
  ],
  "release_mismatches": [
    {
      "profile_dir": "utilmd/fv20241001",
      "profile_release": "S2.1",
      "bdew_wire_code": "S1.1a",
      "severity": "Critical",
      "impact": "UTILMD Strom messages from FV2024-10-01 window (Oct 2024 – Jun 2025) arrive with wire code S1.1a; fv20241001 profile has release S2.1. No profile matches → ProfileNotFound for all Strom messages in this historical window."
    },
    {
      "profile_dir": "utilmd/fv20241001_gas",
      "profile_release": "G1.1",
      "bdew_wire_code": "G1.0a",
      "severity": "Critical",
      "impact": "UTILMD Gas messages from FV2024-10-01 window (Oct 2024 – Mar 2026) arrive with wire code G1.0a; fv20241001_gas profile has release G1.1. No profile matches → ProfileNotFound for all Gas messages in the FV2024-10-01 window and first half of FV2025-10-01 window."
    }
  ]
}