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