@dailephd/my-dev-kit-lab 0.6.3 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/README.md +6 -4
  3. package/benchmarks/contracts/context-window-scaling-cases.json +220 -0
  4. package/benchmarks/projects/context-window-scaling-fixed-ts/README.md +14 -0
  5. package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-1/carrier-depot-catalog-01.ts +302 -0
  6. package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-1/course-module-catalog-06.ts +302 -0
  7. package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-1/library-shelf-catalog-07.ts +302 -0
  8. package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-1/sensor-station-catalog-05.ts +302 -0
  9. package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-1/staff-rota-catalog-03.ts +302 -0
  10. package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-1/supplier-contract-catalog-02.ts +302 -0
  11. package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-1/vehicle-route-catalog-04.ts +302 -0
  12. package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-2/archive-box-catalog-12.ts +302 -0
  13. package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-2/clinic-ward-catalog-08.ts +302 -0
  14. package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-2/greenhouse-bay-catalog-13.ts +302 -0
  15. package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-2/harbor-berth-catalog-10.ts +302 -0
  16. package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-2/kitchen-section-catalog-15.ts +302 -0
  17. package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-2/market-stall-catalog-09.ts +302 -0
  18. package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-2/station-platform-catalog-14.ts +302 -0
  19. package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-2/workshop-bench-catalog-11.ts +302 -0
  20. package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-3/archive-box-catalog-28.ts +302 -0
  21. package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-3/carrier-depot-catalog-17.ts +302 -0
  22. package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-3/clinic-ward-catalog-24.ts +302 -0
  23. package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-3/course-module-catalog-22.ts +302 -0
  24. package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-3/greenhouse-bay-catalog-29.ts +302 -0
  25. package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-3/harbor-berth-catalog-26.ts +302 -0
  26. package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-3/kitchen-section-catalog-31.ts +302 -0
  27. package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-3/library-shelf-catalog-23.ts +302 -0
  28. package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-3/market-stall-catalog-25.ts +302 -0
  29. package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-3/sensor-station-catalog-21.ts +302 -0
  30. package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-3/staff-rota-catalog-19.ts +302 -0
  31. package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-3/station-platform-catalog-30.ts +302 -0
  32. package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-3/supplier-contract-catalog-18.ts +302 -0
  33. package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-3/vehicle-route-catalog-20.ts +302 -0
  34. package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-3/warehouse-zone-catalog-16.ts +302 -0
  35. package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-3/workshop-bench-catalog-27.ts +302 -0
  36. package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-4/archive-box-catalog-44.ts +302 -0
  37. package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-4/carrier-depot-catalog-33.ts +302 -0
  38. package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-4/carrier-depot-catalog-49.ts +302 -0
  39. package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-4/clinic-ward-catalog-40.ts +302 -0
  40. package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-4/clinic-ward-catalog-56.ts +302 -0
  41. package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-4/course-module-catalog-38.ts +302 -0
  42. package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-4/course-module-catalog-54.ts +302 -0
  43. package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-4/greenhouse-bay-catalog-45.ts +302 -0
  44. package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-4/harbor-berth-catalog-42.ts +302 -0
  45. package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-4/harbor-berth-catalog-58.ts +302 -0
  46. package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-4/kitchen-section-catalog-47.ts +302 -0
  47. package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-4/library-shelf-catalog-39.ts +302 -0
  48. package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-4/library-shelf-catalog-55.ts +302 -0
  49. package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-4/market-stall-catalog-41.ts +302 -0
  50. package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-4/market-stall-catalog-57.ts +302 -0
  51. package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-4/sensor-station-catalog-37.ts +302 -0
  52. package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-4/sensor-station-catalog-53.ts +302 -0
  53. package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-4/staff-rota-catalog-35.ts +302 -0
  54. package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-4/staff-rota-catalog-51.ts +302 -0
  55. package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-4/station-platform-catalog-46.ts +302 -0
  56. package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-4/supplier-contract-catalog-34.ts +302 -0
  57. package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-4/supplier-contract-catalog-50.ts +302 -0
  58. package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-4/vehicle-route-catalog-36.ts +302 -0
  59. package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-4/vehicle-route-catalog-52.ts +302 -0
  60. package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-4/warehouse-zone-catalog-32.ts +302 -0
  61. package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-4/warehouse-zone-catalog-48.ts +302 -0
  62. package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-4/workshop-bench-catalog-43.ts +302 -0
  63. package/benchmarks/projects/context-window-scaling-fixed-ts/src/tasks/auditRedaction.ts +25 -0
  64. package/benchmarks/projects/context-window-scaling-fixed-ts/src/tasks/inventoryReservation.ts +26 -0
  65. package/benchmarks/projects/context-window-scaling-fixed-ts/src/tasks/invoiceTotals.ts +25 -0
  66. package/benchmarks/projects/context-window-scaling-fixed-ts/src/tasks/shippingQuote.ts +32 -0
  67. package/benchmarks/projects/context-window-scaling-fixed-ts/tests/tasks/auditRedaction.test.ts +17 -0
  68. package/benchmarks/projects/context-window-scaling-fixed-ts/tests/tasks/inventoryReservation.test.ts +19 -0
  69. package/benchmarks/projects/context-window-scaling-fixed-ts/tests/tasks/invoiceTotals.test.ts +14 -0
  70. package/benchmarks/projects/context-window-scaling-fixed-ts/tests/tasks/shippingQuote.test.ts +19 -0
  71. package/dist/src/cli/help.js +13 -3
  72. package/dist/src/commands/runExperimentRunCommand.js +64 -4
  73. package/dist/src/experiments/defaultRegistry.js +2 -0
  74. package/dist/src/experiments/plugins/contextWindowScaling/cliBudgets.js +31 -0
  75. package/dist/src/experiments/plugins/contextWindowScaling/config.js +84 -0
  76. package/dist/src/experiments/plugins/contextWindowScaling/contextBudget.js +43 -0
  77. package/dist/src/experiments/plugins/contextWindowScaling/evaluation.js +36 -0
  78. package/dist/src/experiments/plugins/contextWindowScaling/execution.js +187 -0
  79. package/dist/src/experiments/plugins/contextWindowScaling/executionArtifact.js +15 -0
  80. package/dist/src/experiments/plugins/contextWindowScaling/executionArtifactReader.js +186 -0
  81. package/dist/src/experiments/plugins/contextWindowScaling/index.js +14 -0
  82. package/dist/src/experiments/plugins/contextWindowScaling/metadata.js +12 -0
  83. package/dist/src/experiments/plugins/contextWindowScaling/metrics.js +149 -0
  84. package/dist/src/experiments/plugins/contextWindowScaling/plugin.js +185 -0
  85. package/dist/src/experiments/plugins/contextWindowScaling/projectProfile.js +51 -0
  86. package/dist/src/experiments/plugins/contextWindowScaling/relevantFiles.js +76 -0
  87. package/dist/src/experiments/plugins/contextWindowScaling/successEvidence.js +60 -0
  88. package/dist/src/experiments/plugins/contextWindowScaling/types.js +1 -0
  89. package/dist/src/experiments/plugins/index.js +1 -0
  90. package/dist/src/experiments/plugins/warmIndexReuse/agentEvaluation.js +1 -1
  91. package/dist/src/plots/buildContextWindowScalingPlotData.js +96 -0
  92. package/dist/src/plots/index.js +1 -0
  93. package/dist/src/plots/writePlotArtifacts.js +12 -3
  94. package/dist/src/report/experiments/buildContextWindowScalingReport.js +84 -0
  95. package/dist/src/report/experiments/buildPluginExperimentReport.js +22 -2
  96. package/dist/src/report/experiments/contextWindowScalingReportModel.js +3 -0
  97. package/dist/src/report/experiments/index.js +4 -0
  98. package/dist/src/report/experiments/renderContextWindowScalingHtml.js +99 -0
  99. package/dist/src/report/experiments/renderContextWindowScalingText.js +108 -0
  100. package/dist/src/report/experiments/renderPluginExperimentReportHtml.js +3 -0
  101. package/dist/src/report/experiments/renderPluginExperimentReportText.js +8 -0
  102. package/docs/METRICS.md +27 -1
  103. package/package.json +1 -1
@@ -0,0 +1,302 @@
1
+ // Scale-only filler (tier-3). Ordinary catalog data for a staff rota listing.
2
+ // It is unrelated to every task under src/tasks and exists only to add repository context.
3
+
4
+ export interface StaffRotaRecord19 {
5
+ id: string;
6
+ label: string;
7
+ capacity: number;
8
+ priority: number;
9
+ active: boolean;
10
+ notes: string;
11
+ }
12
+
13
+ export const staffRotaRecords19: readonly StaffRotaRecord19[] = [
14
+ {
15
+ id: "sta-19-001",
16
+ label: "northern annex 1",
17
+ capacity: 74,
18
+ priority: 3,
19
+ active: false,
20
+ notes: "central staff rota entry reviewed in cycle 9"
21
+ },
22
+ {
23
+ id: "sta-19-002",
24
+ label: "northern annex 2",
25
+ capacity: 78,
26
+ priority: 1,
27
+ active: false,
28
+ notes: "northern staff rota entry reviewed in cycle 1"
29
+ },
30
+ {
31
+ id: "sta-19-003",
32
+ label: "granite row 3",
33
+ capacity: 34,
34
+ priority: 3,
35
+ active: false,
36
+ notes: "central staff rota entry reviewed in cycle 5"
37
+ },
38
+ {
39
+ id: "sta-19-004",
40
+ label: "granite row 4",
41
+ capacity: 28,
42
+ priority: 5,
43
+ active: false,
44
+ notes: "granite staff rota entry reviewed in cycle 1"
45
+ },
46
+ {
47
+ id: "sta-19-005",
48
+ label: "central annex 5",
49
+ capacity: 64,
50
+ priority: 2,
51
+ active: false,
52
+ notes: "central staff rota entry reviewed in cycle 9"
53
+ },
54
+ {
55
+ id: "sta-19-006",
56
+ label: "northern annex 6",
57
+ capacity: 18,
58
+ priority: 5,
59
+ active: false,
60
+ notes: "central staff rota entry reviewed in cycle 1"
61
+ },
62
+ {
63
+ id: "sta-19-007",
64
+ label: "granite hall 7",
65
+ capacity: 64,
66
+ priority: 2,
67
+ active: false,
68
+ notes: "granite staff rota entry reviewed in cycle 9"
69
+ },
70
+ {
71
+ id: "sta-19-008",
72
+ label: "northern annex 8",
73
+ capacity: 48,
74
+ priority: 2,
75
+ active: false,
76
+ notes: "granite staff rota entry reviewed in cycle 9"
77
+ },
78
+ {
79
+ id: "sta-19-009",
80
+ label: "granite row 9",
81
+ capacity: 96,
82
+ priority: 1,
83
+ active: false,
84
+ notes: "central staff rota entry reviewed in cycle 9"
85
+ },
86
+ {
87
+ id: "sta-19-010",
88
+ label: "granite annex 10",
89
+ capacity: 38,
90
+ priority: 3,
91
+ active: false,
92
+ notes: "granite staff rota entry reviewed in cycle 1"
93
+ },
94
+ {
95
+ id: "sta-19-011",
96
+ label: "granite annex 11",
97
+ capacity: 12,
98
+ priority: 1,
99
+ active: false,
100
+ notes: "central staff rota entry reviewed in cycle 1"
101
+ },
102
+ {
103
+ id: "sta-19-012",
104
+ label: "northern hall 12",
105
+ capacity: 42,
106
+ priority: 5,
107
+ active: false,
108
+ notes: "northern staff rota entry reviewed in cycle 5"
109
+ },
110
+ {
111
+ id: "sta-19-013",
112
+ label: "central annex 13",
113
+ capacity: 72,
114
+ priority: 5,
115
+ active: false,
116
+ notes: "northern staff rota entry reviewed in cycle 9"
117
+ },
118
+ {
119
+ id: "sta-19-014",
120
+ label: "granite hall 14",
121
+ capacity: 48,
122
+ priority: 5,
123
+ active: false,
124
+ notes: "granite staff rota entry reviewed in cycle 9"
125
+ },
126
+ {
127
+ id: "sta-19-015",
128
+ label: "northern annex 15",
129
+ capacity: 64,
130
+ priority: 4,
131
+ active: false,
132
+ notes: "granite staff rota entry reviewed in cycle 9"
133
+ },
134
+ {
135
+ id: "sta-19-016",
136
+ label: "granite row 16",
137
+ capacity: 74,
138
+ priority: 3,
139
+ active: false,
140
+ notes: "granite staff rota entry reviewed in cycle 5"
141
+ },
142
+ {
143
+ id: "sta-19-017",
144
+ label: "granite hall 17",
145
+ capacity: 78,
146
+ priority: 3,
147
+ active: false,
148
+ notes: "granite staff rota entry reviewed in cycle 1"
149
+ },
150
+ {
151
+ id: "sta-19-018",
152
+ label: "northern depot 18",
153
+ capacity: 80,
154
+ priority: 5,
155
+ active: false,
156
+ notes: "northern staff rota entry reviewed in cycle 9"
157
+ },
158
+ {
159
+ id: "sta-19-019",
160
+ label: "granite row 19",
161
+ capacity: 60,
162
+ priority: 2,
163
+ active: false,
164
+ notes: "central staff rota entry reviewed in cycle 9"
165
+ },
166
+ {
167
+ id: "sta-19-020",
168
+ label: "central annex 20",
169
+ capacity: 88,
170
+ priority: 4,
171
+ active: false,
172
+ notes: "northern staff rota entry reviewed in cycle 1"
173
+ },
174
+ {
175
+ id: "sta-19-021",
176
+ label: "northern annex 21",
177
+ capacity: 96,
178
+ priority: 5,
179
+ active: false,
180
+ notes: "granite staff rota entry reviewed in cycle 1"
181
+ },
182
+ {
183
+ id: "sta-19-022",
184
+ label: "granite row 22",
185
+ capacity: 68,
186
+ priority: 1,
187
+ active: false,
188
+ notes: "central staff rota entry reviewed in cycle 5"
189
+ },
190
+ {
191
+ id: "sta-19-023",
192
+ label: "central annex 23",
193
+ capacity: 30,
194
+ priority: 4,
195
+ active: false,
196
+ notes: "northern staff rota entry reviewed in cycle 1"
197
+ },
198
+ {
199
+ id: "sta-19-024",
200
+ label: "granite row 24",
201
+ capacity: 30,
202
+ priority: 2,
203
+ active: false,
204
+ notes: "central staff rota entry reviewed in cycle 1"
205
+ },
206
+ {
207
+ id: "sta-19-025",
208
+ label: "granite annex 25",
209
+ capacity: 68,
210
+ priority: 1,
211
+ active: false,
212
+ notes: "granite staff rota entry reviewed in cycle 1"
213
+ },
214
+ {
215
+ id: "sta-19-026",
216
+ label: "northern annex 26",
217
+ capacity: 32,
218
+ priority: 4,
219
+ active: false,
220
+ notes: "northern staff rota entry reviewed in cycle 9"
221
+ },
222
+ {
223
+ id: "sta-19-027",
224
+ label: "granite hall 27",
225
+ capacity: 48,
226
+ priority: 1,
227
+ active: false,
228
+ notes: "central staff rota entry reviewed in cycle 5"
229
+ },
230
+ {
231
+ id: "sta-19-028",
232
+ label: "northern annex 28",
233
+ capacity: 56,
234
+ priority: 1,
235
+ active: false,
236
+ notes: "northern staff rota entry reviewed in cycle 5"
237
+ },
238
+ {
239
+ id: "sta-19-029",
240
+ label: "central hall 29",
241
+ capacity: 62,
242
+ priority: 5,
243
+ active: false,
244
+ notes: "northern staff rota entry reviewed in cycle 9"
245
+ },
246
+ {
247
+ id: "sta-19-030",
248
+ label: "central row 30",
249
+ capacity: 22,
250
+ priority: 1,
251
+ active: false,
252
+ notes: "northern staff rota entry reviewed in cycle 1"
253
+ },
254
+ {
255
+ id: "sta-19-031",
256
+ label: "northern annex 31",
257
+ capacity: 80,
258
+ priority: 1,
259
+ active: false,
260
+ notes: "granite staff rota entry reviewed in cycle 5"
261
+ },
262
+ {
263
+ id: "sta-19-032",
264
+ label: "northern annex 32",
265
+ capacity: 84,
266
+ priority: 2,
267
+ active: false,
268
+ notes: "northern staff rota entry reviewed in cycle 9"
269
+ },
270
+ {
271
+ id: "sta-19-033",
272
+ label: "central annex 33",
273
+ capacity: 76,
274
+ priority: 1,
275
+ active: false,
276
+ notes: "central staff rota entry reviewed in cycle 5"
277
+ },
278
+ {
279
+ id: "sta-19-034",
280
+ label: "granite row 34",
281
+ capacity: 86,
282
+ priority: 4,
283
+ active: false,
284
+ notes: "central staff rota entry reviewed in cycle 5"
285
+ }
286
+ ];
287
+
288
+ export function findStaffRotaRecord19(id: string): StaffRotaRecord19 | undefined {
289
+ return staffRotaRecords19.find((record) => record.id === id);
290
+ }
291
+
292
+ export function listStaffRotaActiveRecords19(): StaffRotaRecord19[] {
293
+ return staffRotaRecords19.filter((record) => record.active);
294
+ }
295
+
296
+ export function totalStaffRotaCapacity19(): number {
297
+ return staffRotaRecords19.reduce((sum, record) => sum + record.capacity, 0);
298
+ }
299
+
300
+ export function countStaffRotaByPriority19(priority: number): number {
301
+ return staffRotaRecords19.filter((record) => record.priority === priority).length;
302
+ }
@@ -0,0 +1,302 @@
1
+ // Scale-only filler (tier-3). Ordinary catalog data for a station platform listing.
2
+ // It is unrelated to every task under src/tasks and exists only to add repository context.
3
+
4
+ export interface StationPlatformRecord30 {
5
+ id: string;
6
+ label: string;
7
+ capacity: number;
8
+ priority: number;
9
+ active: boolean;
10
+ notes: string;
11
+ }
12
+
13
+ export const stationPlatformRecords30: readonly StationPlatformRecord30[] = [
14
+ {
15
+ id: "sta-30-001",
16
+ label: "granite row 1",
17
+ capacity: 94,
18
+ priority: 1,
19
+ active: false,
20
+ notes: "central station platform entry reviewed in cycle 5"
21
+ },
22
+ {
23
+ id: "sta-30-002",
24
+ label: "central hall 2",
25
+ capacity: 18,
26
+ priority: 2,
27
+ active: false,
28
+ notes: "central station platform entry reviewed in cycle 9"
29
+ },
30
+ {
31
+ id: "sta-30-003",
32
+ label: "granite hall 3",
33
+ capacity: 88,
34
+ priority: 2,
35
+ active: false,
36
+ notes: "granite station platform entry reviewed in cycle 9"
37
+ },
38
+ {
39
+ id: "sta-30-004",
40
+ label: "northern annex 4",
41
+ capacity: 70,
42
+ priority: 3,
43
+ active: false,
44
+ notes: "central station platform entry reviewed in cycle 9"
45
+ },
46
+ {
47
+ id: "sta-30-005",
48
+ label: "northern annex 5",
49
+ capacity: 90,
50
+ priority: 2,
51
+ active: false,
52
+ notes: "northern station platform entry reviewed in cycle 9"
53
+ },
54
+ {
55
+ id: "sta-30-006",
56
+ label: "central hall 6",
57
+ capacity: 38,
58
+ priority: 3,
59
+ active: false,
60
+ notes: "northern station platform entry reviewed in cycle 1"
61
+ },
62
+ {
63
+ id: "sta-30-007",
64
+ label: "central row 7",
65
+ capacity: 60,
66
+ priority: 3,
67
+ active: false,
68
+ notes: "granite station platform entry reviewed in cycle 9"
69
+ },
70
+ {
71
+ id: "sta-30-008",
72
+ label: "northern hall 8",
73
+ capacity: 50,
74
+ priority: 3,
75
+ active: false,
76
+ notes: "central station platform entry reviewed in cycle 1"
77
+ },
78
+ {
79
+ id: "sta-30-009",
80
+ label: "granite row 9",
81
+ capacity: 98,
82
+ priority: 2,
83
+ active: false,
84
+ notes: "northern station platform entry reviewed in cycle 9"
85
+ },
86
+ {
87
+ id: "sta-30-010",
88
+ label: "granite annex 10",
89
+ capacity: 38,
90
+ priority: 5,
91
+ active: false,
92
+ notes: "granite station platform entry reviewed in cycle 1"
93
+ },
94
+ {
95
+ id: "sta-30-011",
96
+ label: "northern row 11",
97
+ capacity: 90,
98
+ priority: 4,
99
+ active: false,
100
+ notes: "central station platform entry reviewed in cycle 5"
101
+ },
102
+ {
103
+ id: "sta-30-012",
104
+ label: "northern annex 12",
105
+ capacity: 78,
106
+ priority: 3,
107
+ active: false,
108
+ notes: "northern station platform entry reviewed in cycle 9"
109
+ },
110
+ {
111
+ id: "sta-30-013",
112
+ label: "northern annex 13",
113
+ capacity: 22,
114
+ priority: 5,
115
+ active: false,
116
+ notes: "granite station platform entry reviewed in cycle 1"
117
+ },
118
+ {
119
+ id: "sta-30-014",
120
+ label: "northern row 14",
121
+ capacity: 86,
122
+ priority: 5,
123
+ active: false,
124
+ notes: "central station platform entry reviewed in cycle 9"
125
+ },
126
+ {
127
+ id: "sta-30-015",
128
+ label: "northern row 15",
129
+ capacity: 20,
130
+ priority: 1,
131
+ active: false,
132
+ notes: "northern station platform entry reviewed in cycle 1"
133
+ },
134
+ {
135
+ id: "sta-30-016",
136
+ label: "central hall 16",
137
+ capacity: 50,
138
+ priority: 4,
139
+ active: false,
140
+ notes: "granite station platform entry reviewed in cycle 1"
141
+ },
142
+ {
143
+ id: "sta-30-017",
144
+ label: "granite row 17",
145
+ capacity: 12,
146
+ priority: 5,
147
+ active: false,
148
+ notes: "granite station platform entry reviewed in cycle 1"
149
+ },
150
+ {
151
+ id: "sta-30-018",
152
+ label: "central hall 18",
153
+ capacity: 28,
154
+ priority: 1,
155
+ active: false,
156
+ notes: "northern station platform entry reviewed in cycle 5"
157
+ },
158
+ {
159
+ id: "sta-30-019",
160
+ label: "central row 19",
161
+ capacity: 98,
162
+ priority: 3,
163
+ active: false,
164
+ notes: "northern station platform entry reviewed in cycle 1"
165
+ },
166
+ {
167
+ id: "sta-30-020",
168
+ label: "central hall 20",
169
+ capacity: 90,
170
+ priority: 4,
171
+ active: false,
172
+ notes: "granite station platform entry reviewed in cycle 1"
173
+ },
174
+ {
175
+ id: "sta-30-021",
176
+ label: "central hall 21",
177
+ capacity: 20,
178
+ priority: 5,
179
+ active: false,
180
+ notes: "granite station platform entry reviewed in cycle 1"
181
+ },
182
+ {
183
+ id: "sta-30-022",
184
+ label: "central annex 22",
185
+ capacity: 34,
186
+ priority: 2,
187
+ active: false,
188
+ notes: "northern station platform entry reviewed in cycle 1"
189
+ },
190
+ {
191
+ id: "sta-30-023",
192
+ label: "granite hall 23",
193
+ capacity: 48,
194
+ priority: 5,
195
+ active: false,
196
+ notes: "central station platform entry reviewed in cycle 9"
197
+ },
198
+ {
199
+ id: "sta-30-024",
200
+ label: "granite annex 24",
201
+ capacity: 54,
202
+ priority: 1,
203
+ active: false,
204
+ notes: "granite station platform entry reviewed in cycle 5"
205
+ },
206
+ {
207
+ id: "sta-30-025",
208
+ label: "central hall 25",
209
+ capacity: 42,
210
+ priority: 2,
211
+ active: false,
212
+ notes: "maple station platform entry reviewed in cycle 9"
213
+ },
214
+ {
215
+ id: "sta-30-026",
216
+ label: "central annex 26",
217
+ capacity: 22,
218
+ priority: 1,
219
+ active: false,
220
+ notes: "northern station platform entry reviewed in cycle 5"
221
+ },
222
+ {
223
+ id: "sta-30-027",
224
+ label: "central row 27",
225
+ capacity: 96,
226
+ priority: 5,
227
+ active: false,
228
+ notes: "granite station platform entry reviewed in cycle 5"
229
+ },
230
+ {
231
+ id: "sta-30-028",
232
+ label: "northern row 28",
233
+ capacity: 80,
234
+ priority: 3,
235
+ active: false,
236
+ notes: "central station platform entry reviewed in cycle 5"
237
+ },
238
+ {
239
+ id: "sta-30-029",
240
+ label: "granite annex 29",
241
+ capacity: 62,
242
+ priority: 3,
243
+ active: false,
244
+ notes: "granite station platform entry reviewed in cycle 1"
245
+ },
246
+ {
247
+ id: "sta-30-030",
248
+ label: "granite row 30",
249
+ capacity: 46,
250
+ priority: 4,
251
+ active: false,
252
+ notes: "northern station platform entry reviewed in cycle 9"
253
+ },
254
+ {
255
+ id: "sta-30-031",
256
+ label: "granite annex 31",
257
+ capacity: 40,
258
+ priority: 2,
259
+ active: false,
260
+ notes: "northern station platform entry reviewed in cycle 9"
261
+ },
262
+ {
263
+ id: "sta-30-032",
264
+ label: "granite hall 32",
265
+ capacity: 94,
266
+ priority: 4,
267
+ active: false,
268
+ notes: "granite station platform entry reviewed in cycle 1"
269
+ },
270
+ {
271
+ id: "sta-30-033",
272
+ label: "northern hall 33",
273
+ capacity: 10,
274
+ priority: 4,
275
+ active: false,
276
+ notes: "central station platform entry reviewed in cycle 9"
277
+ },
278
+ {
279
+ id: "sta-30-034",
280
+ label: "granite hall 34",
281
+ capacity: 60,
282
+ priority: 1,
283
+ active: false,
284
+ notes: "granite station platform entry reviewed in cycle 1"
285
+ }
286
+ ];
287
+
288
+ export function findStationPlatformRecord30(id: string): StationPlatformRecord30 | undefined {
289
+ return stationPlatformRecords30.find((record) => record.id === id);
290
+ }
291
+
292
+ export function listStationPlatformActiveRecords30(): StationPlatformRecord30[] {
293
+ return stationPlatformRecords30.filter((record) => record.active);
294
+ }
295
+
296
+ export function totalStationPlatformCapacity30(): number {
297
+ return stationPlatformRecords30.reduce((sum, record) => sum + record.capacity, 0);
298
+ }
299
+
300
+ export function countStationPlatformByPriority30(priority: number): number {
301
+ return stationPlatformRecords30.filter((record) => record.priority === priority).length;
302
+ }