@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 kitchen section listing.
2
+ // It is unrelated to every task under src/tasks and exists only to add repository context.
3
+
4
+ export interface KitchenSectionRecord31 {
5
+ id: string;
6
+ label: string;
7
+ capacity: number;
8
+ priority: number;
9
+ active: boolean;
10
+ notes: string;
11
+ }
12
+
13
+ export const kitchenSectionRecords31: readonly KitchenSectionRecord31[] = [
14
+ {
15
+ id: "kit-31-001",
16
+ label: "northern hall 1",
17
+ capacity: 28,
18
+ priority: 5,
19
+ active: false,
20
+ notes: "central kitchen section entry reviewed in cycle 1"
21
+ },
22
+ {
23
+ id: "kit-31-002",
24
+ label: "central hall 2",
25
+ capacity: 42,
26
+ priority: 2,
27
+ active: false,
28
+ notes: "granite kitchen section entry reviewed in cycle 1"
29
+ },
30
+ {
31
+ id: "kit-31-003",
32
+ label: "northern hall 3",
33
+ capacity: 72,
34
+ priority: 2,
35
+ active: false,
36
+ notes: "granite kitchen section entry reviewed in cycle 9"
37
+ },
38
+ {
39
+ id: "kit-31-004",
40
+ label: "central annex 4",
41
+ capacity: 22,
42
+ priority: 3,
43
+ active: false,
44
+ notes: "central kitchen section entry reviewed in cycle 1"
45
+ },
46
+ {
47
+ id: "kit-31-005",
48
+ label: "central annex 5",
49
+ capacity: 20,
50
+ priority: 2,
51
+ active: false,
52
+ notes: "northern kitchen section entry reviewed in cycle 5"
53
+ },
54
+ {
55
+ id: "kit-31-006",
56
+ label: "central annex 6",
57
+ capacity: 56,
58
+ priority: 5,
59
+ active: false,
60
+ notes: "granite kitchen section entry reviewed in cycle 5"
61
+ },
62
+ {
63
+ id: "kit-31-007",
64
+ label: "granite row 7",
65
+ capacity: 28,
66
+ priority: 1,
67
+ active: false,
68
+ notes: "northern kitchen section entry reviewed in cycle 9"
69
+ },
70
+ {
71
+ id: "kit-31-008",
72
+ label: "northern row 8",
73
+ capacity: 34,
74
+ priority: 1,
75
+ active: false,
76
+ notes: "granite kitchen section entry reviewed in cycle 5"
77
+ },
78
+ {
79
+ id: "kit-31-009",
80
+ label: "central hall 9",
81
+ capacity: 32,
82
+ priority: 3,
83
+ active: false,
84
+ notes: "central kitchen section entry reviewed in cycle 9"
85
+ },
86
+ {
87
+ id: "kit-31-010",
88
+ label: "granite hall 10",
89
+ capacity: 94,
90
+ priority: 2,
91
+ active: false,
92
+ notes: "northern kitchen section entry reviewed in cycle 5"
93
+ },
94
+ {
95
+ id: "kit-31-011",
96
+ label: "granite annex 11",
97
+ capacity: 50,
98
+ priority: 2,
99
+ active: false,
100
+ notes: "central kitchen section entry reviewed in cycle 5"
101
+ },
102
+ {
103
+ id: "kit-31-012",
104
+ label: "northern hall 12",
105
+ capacity: 84,
106
+ priority: 1,
107
+ active: false,
108
+ notes: "northern kitchen section entry reviewed in cycle 1"
109
+ },
110
+ {
111
+ id: "kit-31-013",
112
+ label: "northern row 13",
113
+ capacity: 50,
114
+ priority: 1,
115
+ active: false,
116
+ notes: "northern kitchen section entry reviewed in cycle 5"
117
+ },
118
+ {
119
+ id: "kit-31-014",
120
+ label: "northern annex 14",
121
+ capacity: 26,
122
+ priority: 2,
123
+ active: false,
124
+ notes: "central kitchen section entry reviewed in cycle 1"
125
+ },
126
+ {
127
+ id: "kit-31-015",
128
+ label: "central row 15",
129
+ capacity: 98,
130
+ priority: 1,
131
+ active: false,
132
+ notes: "granite kitchen section entry reviewed in cycle 9"
133
+ },
134
+ {
135
+ id: "kit-31-016",
136
+ label: "granite annex 16",
137
+ capacity: 48,
138
+ priority: 4,
139
+ active: false,
140
+ notes: "northern kitchen section entry reviewed in cycle 5"
141
+ },
142
+ {
143
+ id: "kit-31-017",
144
+ label: "northern hall 17",
145
+ capacity: 46,
146
+ priority: 5,
147
+ active: false,
148
+ notes: "northern kitchen section entry reviewed in cycle 1"
149
+ },
150
+ {
151
+ id: "kit-31-018",
152
+ label: "northern annex 18",
153
+ capacity: 94,
154
+ priority: 5,
155
+ active: false,
156
+ notes: "granite kitchen section entry reviewed in cycle 1"
157
+ },
158
+ {
159
+ id: "kit-31-019",
160
+ label: "granite annex 19",
161
+ capacity: 86,
162
+ priority: 2,
163
+ active: false,
164
+ notes: "central kitchen section entry reviewed in cycle 1"
165
+ },
166
+ {
167
+ id: "kit-31-020",
168
+ label: "central row 20",
169
+ capacity: 46,
170
+ priority: 1,
171
+ active: false,
172
+ notes: "central kitchen section entry reviewed in cycle 5"
173
+ },
174
+ {
175
+ id: "kit-31-021",
176
+ label: "northern hall 21",
177
+ capacity: 42,
178
+ priority: 1,
179
+ active: false,
180
+ notes: "granite kitchen section entry reviewed in cycle 9"
181
+ },
182
+ {
183
+ id: "kit-31-022",
184
+ label: "granite annex 22",
185
+ capacity: 34,
186
+ priority: 1,
187
+ active: false,
188
+ notes: "central kitchen section entry reviewed in cycle 1"
189
+ },
190
+ {
191
+ id: "kit-31-023",
192
+ label: "central annex 23",
193
+ capacity: 34,
194
+ priority: 3,
195
+ active: false,
196
+ notes: "northern kitchen section entry reviewed in cycle 1"
197
+ },
198
+ {
199
+ id: "kit-31-024",
200
+ label: "granite annex 24",
201
+ capacity: 88,
202
+ priority: 1,
203
+ active: false,
204
+ notes: "central kitchen section entry reviewed in cycle 9"
205
+ },
206
+ {
207
+ id: "kit-31-025",
208
+ label: "northern row 25",
209
+ capacity: 20,
210
+ priority: 3,
211
+ active: false,
212
+ notes: "granite kitchen section entry reviewed in cycle 1"
213
+ },
214
+ {
215
+ id: "kit-31-026",
216
+ label: "granite row 26",
217
+ capacity: 34,
218
+ priority: 3,
219
+ active: false,
220
+ notes: "granite kitchen section entry reviewed in cycle 1"
221
+ },
222
+ {
223
+ id: "kit-31-027",
224
+ label: "northern annex 27",
225
+ capacity: 68,
226
+ priority: 4,
227
+ active: false,
228
+ notes: "central kitchen section entry reviewed in cycle 1"
229
+ },
230
+ {
231
+ id: "kit-31-028",
232
+ label: "granite hall 28",
233
+ capacity: 17,
234
+ priority: 4,
235
+ active: false,
236
+ notes: "northern kitchen section entry reviewed in cycle 5"
237
+ },
238
+ {
239
+ id: "kit-31-029",
240
+ label: "granite row 29",
241
+ capacity: 74,
242
+ priority: 3,
243
+ active: false,
244
+ notes: "granite kitchen section entry reviewed in cycle 1"
245
+ },
246
+ {
247
+ id: "kit-31-030",
248
+ label: "northern row 30",
249
+ capacity: 86,
250
+ priority: 3,
251
+ active: false,
252
+ notes: "central kitchen section entry reviewed in cycle 1"
253
+ },
254
+ {
255
+ id: "kit-31-031",
256
+ label: "northern row 31",
257
+ capacity: 94,
258
+ priority: 2,
259
+ active: false,
260
+ notes: "central kitchen section entry reviewed in cycle 9"
261
+ },
262
+ {
263
+ id: "kit-31-032",
264
+ label: "central row 32",
265
+ capacity: 48,
266
+ priority: 5,
267
+ active: false,
268
+ notes: "northern kitchen section entry reviewed in cycle 5"
269
+ },
270
+ {
271
+ id: "kit-31-033",
272
+ label: "northern annex 33",
273
+ capacity: 74,
274
+ priority: 4,
275
+ active: false,
276
+ notes: "northern kitchen section entry reviewed in cycle 9"
277
+ },
278
+ {
279
+ id: "kit-31-034",
280
+ label: "northern row 34",
281
+ capacity: 86,
282
+ priority: 2,
283
+ active: false,
284
+ notes: "central kitchen section entry reviewed in cycle 5"
285
+ }
286
+ ];
287
+
288
+ export function findKitchenSectionRecord31(id: string): KitchenSectionRecord31 | undefined {
289
+ return kitchenSectionRecords31.find((record) => record.id === id);
290
+ }
291
+
292
+ export function listKitchenSectionActiveRecords31(): KitchenSectionRecord31[] {
293
+ return kitchenSectionRecords31.filter((record) => record.active);
294
+ }
295
+
296
+ export function totalKitchenSectionCapacity31(): number {
297
+ return kitchenSectionRecords31.reduce((sum, record) => sum + record.capacity, 0);
298
+ }
299
+
300
+ export function countKitchenSectionByPriority31(priority: number): number {
301
+ return kitchenSectionRecords31.filter((record) => record.priority === priority).length;
302
+ }
@@ -0,0 +1,302 @@
1
+ // Scale-only filler (tier-3). Ordinary catalog data for a library shelf listing.
2
+ // It is unrelated to every task under src/tasks and exists only to add repository context.
3
+
4
+ export interface LibraryShelfRecord23 {
5
+ id: string;
6
+ label: string;
7
+ capacity: number;
8
+ priority: number;
9
+ active: boolean;
10
+ notes: string;
11
+ }
12
+
13
+ export const libraryShelfRecords23: readonly LibraryShelfRecord23[] = [
14
+ {
15
+ id: "lib-23-001",
16
+ label: "northern hall 1",
17
+ capacity: 50,
18
+ priority: 4,
19
+ active: false,
20
+ notes: "granite library shelf entry reviewed in cycle 1"
21
+ },
22
+ {
23
+ id: "lib-23-002",
24
+ label: "northern row 2",
25
+ capacity: 26,
26
+ priority: 2,
27
+ active: false,
28
+ notes: "central library shelf entry reviewed in cycle 9"
29
+ },
30
+ {
31
+ id: "lib-23-003",
32
+ label: "central hall 3",
33
+ capacity: 68,
34
+ priority: 4,
35
+ active: false,
36
+ notes: "central library shelf entry reviewed in cycle 1"
37
+ },
38
+ {
39
+ id: "lib-23-004",
40
+ label: "central row 4",
41
+ capacity: 82,
42
+ priority: 1,
43
+ active: false,
44
+ notes: "central library shelf entry reviewed in cycle 1"
45
+ },
46
+ {
47
+ id: "lib-23-005",
48
+ label: "central hall 5",
49
+ capacity: 28,
50
+ priority: 4,
51
+ active: false,
52
+ notes: "central library shelf entry reviewed in cycle 1"
53
+ },
54
+ {
55
+ id: "lib-23-006",
56
+ label: "northern hall 6",
57
+ capacity: 52,
58
+ priority: 4,
59
+ active: false,
60
+ notes: "central library shelf entry reviewed in cycle 5"
61
+ },
62
+ {
63
+ id: "lib-23-007",
64
+ label: "central annex 7",
65
+ capacity: 22,
66
+ priority: 3,
67
+ active: false,
68
+ notes: "granite library shelf entry reviewed in cycle 1"
69
+ },
70
+ {
71
+ id: "lib-23-008",
72
+ label: "central row 8",
73
+ capacity: 82,
74
+ priority: 3,
75
+ active: false,
76
+ notes: "central library shelf entry reviewed in cycle 5"
77
+ },
78
+ {
79
+ id: "lib-23-009",
80
+ label: "northern row 9",
81
+ capacity: 10,
82
+ priority: 1,
83
+ active: false,
84
+ notes: "granite library shelf entry reviewed in cycle 5"
85
+ },
86
+ {
87
+ id: "lib-23-010",
88
+ label: "central annex 10",
89
+ capacity: 44,
90
+ priority: 3,
91
+ active: false,
92
+ notes: "northern library shelf entry reviewed in cycle 9"
93
+ },
94
+ {
95
+ id: "lib-23-011",
96
+ label: "northern annex 11",
97
+ capacity: 44,
98
+ priority: 5,
99
+ active: false,
100
+ notes: "central library shelf entry reviewed in cycle 9"
101
+ },
102
+ {
103
+ id: "lib-23-012",
104
+ label: "central hall 12",
105
+ capacity: 66,
106
+ priority: 4,
107
+ active: false,
108
+ notes: "northern library shelf entry reviewed in cycle 9"
109
+ },
110
+ {
111
+ id: "lib-23-013",
112
+ label: "granite hall 13",
113
+ capacity: 16,
114
+ priority: 1,
115
+ active: false,
116
+ notes: "northern library shelf entry reviewed in cycle 5"
117
+ },
118
+ {
119
+ id: "lib-23-014",
120
+ label: "central annex 14",
121
+ capacity: 82,
122
+ priority: 5,
123
+ active: false,
124
+ notes: "northern library shelf entry reviewed in cycle 9"
125
+ },
126
+ {
127
+ id: "lib-23-015",
128
+ label: "central hall 15",
129
+ capacity: 82,
130
+ priority: 3,
131
+ active: false,
132
+ notes: "northern library shelf entry reviewed in cycle 1"
133
+ },
134
+ {
135
+ id: "lib-23-016",
136
+ label: "northern row 16",
137
+ capacity: 28,
138
+ priority: 2,
139
+ active: false,
140
+ notes: "northern library shelf entry reviewed in cycle 1"
141
+ },
142
+ {
143
+ id: "lib-23-017",
144
+ label: "central hall 17",
145
+ capacity: 22,
146
+ priority: 3,
147
+ active: false,
148
+ notes: "central library shelf entry reviewed in cycle 5"
149
+ },
150
+ {
151
+ id: "lib-23-018",
152
+ label: "northern row 18",
153
+ capacity: 38,
154
+ priority: 5,
155
+ active: false,
156
+ notes: "northern library shelf entry reviewed in cycle 5"
157
+ },
158
+ {
159
+ id: "lib-23-019",
160
+ label: "northern hall 19",
161
+ capacity: 74,
162
+ priority: 3,
163
+ active: false,
164
+ notes: "central library shelf entry reviewed in cycle 9"
165
+ },
166
+ {
167
+ id: "lib-23-020",
168
+ label: "central row 20",
169
+ capacity: 22,
170
+ priority: 1,
171
+ active: false,
172
+ notes: "granite library shelf entry reviewed in cycle 1"
173
+ },
174
+ {
175
+ id: "lib-23-021",
176
+ label: "northern row 21",
177
+ capacity: 74,
178
+ priority: 1,
179
+ active: false,
180
+ notes: "northern library shelf entry reviewed in cycle 1"
181
+ },
182
+ {
183
+ id: "lib-23-022",
184
+ label: "northern row 22",
185
+ capacity: 56,
186
+ priority: 2,
187
+ active: false,
188
+ notes: "northern library shelf entry reviewed in cycle 5"
189
+ },
190
+ {
191
+ id: "lib-23-023",
192
+ label: "northern hall 23",
193
+ capacity: 52,
194
+ priority: 1,
195
+ active: false,
196
+ notes: "central library shelf entry reviewed in cycle 9"
197
+ },
198
+ {
199
+ id: "lib-23-024",
200
+ label: "central hall 24",
201
+ capacity: 84,
202
+ priority: 5,
203
+ active: false,
204
+ notes: "northern library shelf entry reviewed in cycle 5"
205
+ },
206
+ {
207
+ id: "lib-23-025",
208
+ label: "granite annex 25",
209
+ capacity: 44,
210
+ priority: 4,
211
+ active: false,
212
+ notes: "granite library shelf entry reviewed in cycle 9"
213
+ },
214
+ {
215
+ id: "lib-23-026",
216
+ label: "granite annex 26",
217
+ capacity: 36,
218
+ priority: 4,
219
+ active: false,
220
+ notes: "central library shelf entry reviewed in cycle 5"
221
+ },
222
+ {
223
+ id: "lib-23-027",
224
+ label: "granite hall 27",
225
+ capacity: 40,
226
+ priority: 5,
227
+ active: false,
228
+ notes: "central library shelf entry reviewed in cycle 5"
229
+ },
230
+ {
231
+ id: "lib-23-028",
232
+ label: "central annex 28",
233
+ capacity: 30,
234
+ priority: 3,
235
+ active: false,
236
+ notes: "northern library shelf entry reviewed in cycle 9"
237
+ },
238
+ {
239
+ id: "lib-23-029",
240
+ label: "northern hall 29",
241
+ capacity: 34,
242
+ priority: 3,
243
+ active: false,
244
+ notes: "granite library shelf entry reviewed in cycle 9"
245
+ },
246
+ {
247
+ id: "lib-23-030",
248
+ label: "northern hall 30",
249
+ capacity: 44,
250
+ priority: 4,
251
+ active: false,
252
+ notes: "northern library shelf entry reviewed in cycle 5"
253
+ },
254
+ {
255
+ id: "lib-23-031",
256
+ label: "northern annex 31",
257
+ capacity: 54,
258
+ priority: 1,
259
+ active: false,
260
+ notes: "northern library shelf entry reviewed in cycle 5"
261
+ },
262
+ {
263
+ id: "lib-23-032",
264
+ label: "granite hall 32",
265
+ capacity: 26,
266
+ priority: 2,
267
+ active: false,
268
+ notes: "northern library shelf entry reviewed in cycle 9"
269
+ },
270
+ {
271
+ id: "lib-23-033",
272
+ label: "granite annex 33",
273
+ capacity: 64,
274
+ priority: 2,
275
+ active: false,
276
+ notes: "northern library shelf entry reviewed in cycle 9"
277
+ },
278
+ {
279
+ id: "lib-23-034",
280
+ label: "northern row 34",
281
+ capacity: 40,
282
+ priority: 3,
283
+ active: false,
284
+ notes: "central library shelf entry reviewed in cycle 1"
285
+ }
286
+ ];
287
+
288
+ export function findLibraryShelfRecord23(id: string): LibraryShelfRecord23 | undefined {
289
+ return libraryShelfRecords23.find((record) => record.id === id);
290
+ }
291
+
292
+ export function listLibraryShelfActiveRecords23(): LibraryShelfRecord23[] {
293
+ return libraryShelfRecords23.filter((record) => record.active);
294
+ }
295
+
296
+ export function totalLibraryShelfCapacity23(): number {
297
+ return libraryShelfRecords23.reduce((sum, record) => sum + record.capacity, 0);
298
+ }
299
+
300
+ export function countLibraryShelfByPriority23(priority: number): number {
301
+ return libraryShelfRecords23.filter((record) => record.priority === priority).length;
302
+ }