@dailephd/my-dev-kit-lab 0.6.3 → 0.7.1
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.
- package/CHANGELOG.md +17 -0
- package/README.md +7 -4
- package/benchmarks/contracts/context-window-scaling-cases.json +220 -0
- package/benchmarks/projects/README.md +3 -1
- package/benchmarks/projects/context-window-scaling-fixed-ts/README.md +14 -0
- package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-1/carrier-depot-catalog-01.ts +302 -0
- package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-1/course-module-catalog-06.ts +302 -0
- package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-1/library-shelf-catalog-07.ts +302 -0
- package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-1/sensor-station-catalog-05.ts +302 -0
- package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-1/staff-rota-catalog-03.ts +302 -0
- package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-1/supplier-contract-catalog-02.ts +302 -0
- package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-1/vehicle-route-catalog-04.ts +302 -0
- package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-2/archive-box-catalog-12.ts +302 -0
- package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-2/clinic-ward-catalog-08.ts +302 -0
- package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-2/greenhouse-bay-catalog-13.ts +302 -0
- package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-2/harbor-berth-catalog-10.ts +302 -0
- package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-2/kitchen-section-catalog-15.ts +302 -0
- package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-2/market-stall-catalog-09.ts +302 -0
- package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-2/station-platform-catalog-14.ts +302 -0
- package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-2/workshop-bench-catalog-11.ts +302 -0
- package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-3/archive-box-catalog-28.ts +302 -0
- package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-3/carrier-depot-catalog-17.ts +302 -0
- package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-3/clinic-ward-catalog-24.ts +302 -0
- package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-3/course-module-catalog-22.ts +302 -0
- package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-3/greenhouse-bay-catalog-29.ts +302 -0
- package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-3/harbor-berth-catalog-26.ts +302 -0
- package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-3/kitchen-section-catalog-31.ts +302 -0
- package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-3/library-shelf-catalog-23.ts +302 -0
- package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-3/market-stall-catalog-25.ts +302 -0
- package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-3/sensor-station-catalog-21.ts +302 -0
- package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-3/staff-rota-catalog-19.ts +302 -0
- package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-3/station-platform-catalog-30.ts +302 -0
- package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-3/supplier-contract-catalog-18.ts +302 -0
- package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-3/vehicle-route-catalog-20.ts +302 -0
- package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-3/warehouse-zone-catalog-16.ts +302 -0
- package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-3/workshop-bench-catalog-27.ts +302 -0
- package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-4/archive-box-catalog-44.ts +302 -0
- package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-4/carrier-depot-catalog-33.ts +302 -0
- package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-4/carrier-depot-catalog-49.ts +302 -0
- package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-4/clinic-ward-catalog-40.ts +302 -0
- package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-4/clinic-ward-catalog-56.ts +302 -0
- package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-4/course-module-catalog-38.ts +302 -0
- package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-4/course-module-catalog-54.ts +302 -0
- package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-4/greenhouse-bay-catalog-45.ts +302 -0
- package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-4/harbor-berth-catalog-42.ts +302 -0
- package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-4/harbor-berth-catalog-58.ts +302 -0
- package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-4/kitchen-section-catalog-47.ts +302 -0
- package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-4/library-shelf-catalog-39.ts +302 -0
- package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-4/library-shelf-catalog-55.ts +302 -0
- package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-4/market-stall-catalog-41.ts +302 -0
- package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-4/market-stall-catalog-57.ts +302 -0
- package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-4/sensor-station-catalog-37.ts +302 -0
- package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-4/sensor-station-catalog-53.ts +302 -0
- package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-4/staff-rota-catalog-35.ts +302 -0
- package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-4/staff-rota-catalog-51.ts +302 -0
- package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-4/station-platform-catalog-46.ts +302 -0
- package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-4/supplier-contract-catalog-34.ts +302 -0
- package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-4/supplier-contract-catalog-50.ts +302 -0
- package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-4/vehicle-route-catalog-36.ts +302 -0
- package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-4/vehicle-route-catalog-52.ts +302 -0
- package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-4/warehouse-zone-catalog-32.ts +302 -0
- package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-4/warehouse-zone-catalog-48.ts +302 -0
- package/benchmarks/projects/context-window-scaling-fixed-ts/src/filler/tier-4/workshop-bench-catalog-43.ts +302 -0
- package/benchmarks/projects/context-window-scaling-fixed-ts/src/tasks/auditRedaction.ts +25 -0
- package/benchmarks/projects/context-window-scaling-fixed-ts/src/tasks/inventoryReservation.ts +26 -0
- package/benchmarks/projects/context-window-scaling-fixed-ts/src/tasks/invoiceTotals.ts +25 -0
- package/benchmarks/projects/context-window-scaling-fixed-ts/src/tasks/shippingQuote.ts +32 -0
- package/benchmarks/projects/context-window-scaling-fixed-ts/tests/tasks/auditRedaction.test.ts +17 -0
- package/benchmarks/projects/context-window-scaling-fixed-ts/tests/tasks/inventoryReservation.test.ts +19 -0
- package/benchmarks/projects/context-window-scaling-fixed-ts/tests/tasks/invoiceTotals.test.ts +14 -0
- package/benchmarks/projects/context-window-scaling-fixed-ts/tests/tasks/shippingQuote.test.ts +19 -0
- package/dist/src/cli/help.js +19 -3
- package/dist/src/commands/runExperimentDescribeCommand.js +6 -0
- package/dist/src/commands/runExperimentRunCommand.js +118 -7
- package/dist/src/evaluation/syntheticRepository/config.js +304 -0
- package/dist/src/evaluation/syntheticRepository/evaluationCase.js +43 -0
- package/dist/src/evaluation/syntheticRepository/identity.js +41 -0
- package/dist/src/evaluation/syntheticRepository/index.js +16 -0
- package/dist/src/evaluation/syntheticRepository/inspection.js +92 -0
- package/dist/src/evaluation/syntheticRepository/layout.js +50 -0
- package/dist/src/evaluation/syntheticRepository/manifest.js +281 -0
- package/dist/src/evaluation/syntheticRepository/manifestVerification.js +112 -0
- package/dist/src/evaluation/syntheticRepository/materialize.js +170 -0
- package/dist/src/evaluation/syntheticRepository/planning.js +479 -0
- package/dist/src/evaluation/syntheticRepository/prng.js +47 -0
- package/dist/src/evaluation/syntheticRepository/renderPython.js +68 -0
- package/dist/src/evaluation/syntheticRepository/renderRepository.js +39 -0
- package/dist/src/evaluation/syntheticRepository/renderShared.js +93 -0
- package/dist/src/evaluation/syntheticRepository/renderTypeScript.js +82 -0
- package/dist/src/evaluation/syntheticRepository/topology.js +96 -0
- package/dist/src/evaluation/syntheticRepository/types.js +26 -0
- package/dist/src/experiments/defaultRegistry.js +2 -0
- package/dist/src/experiments/plugins/contextWindowScaling/cliBudgets.js +31 -0
- package/dist/src/experiments/plugins/contextWindowScaling/config.js +84 -0
- package/dist/src/experiments/plugins/contextWindowScaling/contextBudget.js +43 -0
- package/dist/src/experiments/plugins/contextWindowScaling/evaluation.js +36 -0
- package/dist/src/experiments/plugins/contextWindowScaling/execution.js +187 -0
- package/dist/src/experiments/plugins/contextWindowScaling/executionArtifact.js +15 -0
- package/dist/src/experiments/plugins/contextWindowScaling/executionArtifactReader.js +186 -0
- package/dist/src/experiments/plugins/contextWindowScaling/index.js +15 -0
- package/dist/src/experiments/plugins/contextWindowScaling/metadata.js +12 -0
- package/dist/src/experiments/plugins/contextWindowScaling/metrics.js +149 -0
- package/dist/src/experiments/plugins/contextWindowScaling/plugin.js +185 -0
- package/dist/src/experiments/plugins/contextWindowScaling/projectProfile.js +51 -0
- package/dist/src/experiments/plugins/contextWindowScaling/relevantFiles.js +76 -0
- package/dist/src/experiments/plugins/contextWindowScaling/successEvidence.js +60 -0
- package/dist/src/experiments/plugins/contextWindowScaling/syntheticInputs.js +56 -0
- package/dist/src/experiments/plugins/contextWindowScaling/types.js +1 -0
- package/dist/src/experiments/plugins/index.js +1 -0
- package/dist/src/experiments/plugins/warmIndexReuse/agentEvaluation.js +1 -1
- package/dist/src/plots/buildContextWindowScalingPlotData.js +96 -0
- package/dist/src/plots/index.js +1 -0
- package/dist/src/plots/writePlotArtifacts.js +12 -3
- package/dist/src/report/experiments/buildContextWindowScalingReport.js +84 -0
- package/dist/src/report/experiments/buildPluginExperimentReport.js +22 -2
- package/dist/src/report/experiments/contextWindowScalingReportModel.js +3 -0
- package/dist/src/report/experiments/index.js +4 -0
- package/dist/src/report/experiments/renderContextWindowScalingHtml.js +99 -0
- package/dist/src/report/experiments/renderContextWindowScalingText.js +108 -0
- package/dist/src/report/experiments/renderPluginExperimentReportHtml.js +3 -0
- package/dist/src/report/experiments/renderPluginExperimentReportText.js +8 -0
- package/docs/METRICS.md +29 -1
- package/package.json +1 -1
|
@@ -0,0 +1,302 @@
|
|
|
1
|
+
// Scale-only filler (tier-4). Ordinary catalog data for a workshop bench listing.
|
|
2
|
+
// It is unrelated to every task under src/tasks and exists only to add repository context.
|
|
3
|
+
|
|
4
|
+
export interface WorkshopBenchRecord43 {
|
|
5
|
+
id: string;
|
|
6
|
+
label: string;
|
|
7
|
+
capacity: number;
|
|
8
|
+
priority: number;
|
|
9
|
+
active: boolean;
|
|
10
|
+
notes: string;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export const workshopBenchRecords43: readonly WorkshopBenchRecord43[] = [
|
|
14
|
+
{
|
|
15
|
+
id: "wor-43-001",
|
|
16
|
+
label: "central annex 1",
|
|
17
|
+
capacity: 74,
|
|
18
|
+
priority: 5,
|
|
19
|
+
active: false,
|
|
20
|
+
notes: "granite workshop bench entry reviewed in cycle 1"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
id: "wor-43-002",
|
|
24
|
+
label: "northern row 2",
|
|
25
|
+
capacity: 44,
|
|
26
|
+
priority: 4,
|
|
27
|
+
active: false,
|
|
28
|
+
notes: "northern workshop bench entry reviewed in cycle 1"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
id: "wor-43-003",
|
|
32
|
+
label: "central row 3",
|
|
33
|
+
capacity: 78,
|
|
34
|
+
priority: 1,
|
|
35
|
+
active: false,
|
|
36
|
+
notes: "northern workshop bench entry reviewed in cycle 1"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
id: "wor-43-004",
|
|
40
|
+
label: "central annex 4",
|
|
41
|
+
capacity: 20,
|
|
42
|
+
priority: 3,
|
|
43
|
+
active: false,
|
|
44
|
+
notes: "granite workshop bench entry reviewed in cycle 5"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
id: "wor-43-005",
|
|
48
|
+
label: "granite annex 5",
|
|
49
|
+
capacity: 72,
|
|
50
|
+
priority: 4,
|
|
51
|
+
active: false,
|
|
52
|
+
notes: "granite workshop bench entry reviewed in cycle 1"
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
id: "wor-43-006",
|
|
56
|
+
label: "eastern annex 6",
|
|
57
|
+
capacity: 58,
|
|
58
|
+
priority: 3,
|
|
59
|
+
active: false,
|
|
60
|
+
notes: "central workshop bench entry reviewed in cycle 9"
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
id: "wor-43-007",
|
|
64
|
+
label: "granite hall 7",
|
|
65
|
+
capacity: 66,
|
|
66
|
+
priority: 1,
|
|
67
|
+
active: false,
|
|
68
|
+
notes: "northern workshop bench entry reviewed in cycle 1"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
id: "wor-43-008",
|
|
72
|
+
label: "central row 8",
|
|
73
|
+
capacity: 44,
|
|
74
|
+
priority: 2,
|
|
75
|
+
active: false,
|
|
76
|
+
notes: "northern workshop bench entry reviewed in cycle 9"
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
id: "wor-43-009",
|
|
80
|
+
label: "northern row 9",
|
|
81
|
+
capacity: 20,
|
|
82
|
+
priority: 5,
|
|
83
|
+
active: false,
|
|
84
|
+
notes: "granite workshop bench entry reviewed in cycle 5"
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
id: "wor-43-010",
|
|
88
|
+
label: "northern hall 10",
|
|
89
|
+
capacity: 10,
|
|
90
|
+
priority: 4,
|
|
91
|
+
active: true,
|
|
92
|
+
notes: "northern workshop bench entry reviewed in cycle 5"
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
id: "wor-43-011",
|
|
96
|
+
label: "northern hall 11",
|
|
97
|
+
capacity: 44,
|
|
98
|
+
priority: 4,
|
|
99
|
+
active: false,
|
|
100
|
+
notes: "central workshop bench entry reviewed in cycle 5"
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
id: "wor-43-012",
|
|
104
|
+
label: "central row 12",
|
|
105
|
+
capacity: 28,
|
|
106
|
+
priority: 2,
|
|
107
|
+
active: false,
|
|
108
|
+
notes: "granite workshop bench entry reviewed in cycle 1"
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
id: "wor-43-013",
|
|
112
|
+
label: "granite annex 13",
|
|
113
|
+
capacity: 56,
|
|
114
|
+
priority: 1,
|
|
115
|
+
active: false,
|
|
116
|
+
notes: "granite workshop bench entry reviewed in cycle 5"
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
id: "wor-43-014",
|
|
120
|
+
label: "northern row 14",
|
|
121
|
+
capacity: 90,
|
|
122
|
+
priority: 2,
|
|
123
|
+
active: false,
|
|
124
|
+
notes: "granite workshop bench entry reviewed in cycle 9"
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
id: "wor-43-015",
|
|
128
|
+
label: "granite hall 15",
|
|
129
|
+
capacity: 28,
|
|
130
|
+
priority: 2,
|
|
131
|
+
active: false,
|
|
132
|
+
notes: "northern workshop bench entry reviewed in cycle 9"
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
id: "wor-43-016",
|
|
136
|
+
label: "northern hall 16",
|
|
137
|
+
capacity: 38,
|
|
138
|
+
priority: 3,
|
|
139
|
+
active: false,
|
|
140
|
+
notes: "granite workshop bench entry reviewed in cycle 9"
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
id: "wor-43-017",
|
|
144
|
+
label: "granite annex 17",
|
|
145
|
+
capacity: 16,
|
|
146
|
+
priority: 1,
|
|
147
|
+
active: false,
|
|
148
|
+
notes: "northern workshop bench entry reviewed in cycle 5"
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
id: "wor-43-018",
|
|
152
|
+
label: "northern annex 18",
|
|
153
|
+
capacity: 52,
|
|
154
|
+
priority: 2,
|
|
155
|
+
active: false,
|
|
156
|
+
notes: "granite workshop bench entry reviewed in cycle 9"
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
id: "wor-43-019",
|
|
160
|
+
label: "central row 19",
|
|
161
|
+
capacity: 32,
|
|
162
|
+
priority: 5,
|
|
163
|
+
active: false,
|
|
164
|
+
notes: "central workshop bench entry reviewed in cycle 9"
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
id: "wor-43-020",
|
|
168
|
+
label: "granite annex 20",
|
|
169
|
+
capacity: 76,
|
|
170
|
+
priority: 3,
|
|
171
|
+
active: false,
|
|
172
|
+
notes: "northern workshop bench entry reviewed in cycle 9"
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
id: "wor-43-021",
|
|
176
|
+
label: "central row 21",
|
|
177
|
+
capacity: 40,
|
|
178
|
+
priority: 5,
|
|
179
|
+
active: false,
|
|
180
|
+
notes: "northern workshop bench entry reviewed in cycle 5"
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
id: "wor-43-022",
|
|
184
|
+
label: "granite annex 22",
|
|
185
|
+
capacity: 68,
|
|
186
|
+
priority: 3,
|
|
187
|
+
active: false,
|
|
188
|
+
notes: "granite workshop bench entry reviewed in cycle 1"
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
id: "wor-43-023",
|
|
192
|
+
label: "maple row 23",
|
|
193
|
+
capacity: 78,
|
|
194
|
+
priority: 5,
|
|
195
|
+
active: false,
|
|
196
|
+
notes: "central workshop bench entry reviewed in cycle 1"
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
id: "wor-43-024",
|
|
200
|
+
label: "granite hall 24",
|
|
201
|
+
capacity: 18,
|
|
202
|
+
priority: 4,
|
|
203
|
+
active: false,
|
|
204
|
+
notes: "granite workshop bench entry reviewed in cycle 9"
|
|
205
|
+
},
|
|
206
|
+
{
|
|
207
|
+
id: "wor-43-025",
|
|
208
|
+
label: "central hall 25",
|
|
209
|
+
capacity: 78,
|
|
210
|
+
priority: 1,
|
|
211
|
+
active: false,
|
|
212
|
+
notes: "central workshop bench entry reviewed in cycle 1"
|
|
213
|
+
},
|
|
214
|
+
{
|
|
215
|
+
id: "wor-43-026",
|
|
216
|
+
label: "northern row 26",
|
|
217
|
+
capacity: 56,
|
|
218
|
+
priority: 1,
|
|
219
|
+
active: false,
|
|
220
|
+
notes: "northern workshop bench entry reviewed in cycle 5"
|
|
221
|
+
},
|
|
222
|
+
{
|
|
223
|
+
id: "wor-43-027",
|
|
224
|
+
label: "northern annex 27",
|
|
225
|
+
capacity: 96,
|
|
226
|
+
priority: 2,
|
|
227
|
+
active: false,
|
|
228
|
+
notes: "granite workshop bench entry reviewed in cycle 1"
|
|
229
|
+
},
|
|
230
|
+
{
|
|
231
|
+
id: "wor-43-028",
|
|
232
|
+
label: "central hall 28",
|
|
233
|
+
capacity: 36,
|
|
234
|
+
priority: 5,
|
|
235
|
+
active: false,
|
|
236
|
+
notes: "granite workshop bench entry reviewed in cycle 5"
|
|
237
|
+
},
|
|
238
|
+
{
|
|
239
|
+
id: "wor-43-029",
|
|
240
|
+
label: "granite annex 29",
|
|
241
|
+
capacity: 34,
|
|
242
|
+
priority: 2,
|
|
243
|
+
active: false,
|
|
244
|
+
notes: "central workshop bench entry reviewed in cycle 1"
|
|
245
|
+
},
|
|
246
|
+
{
|
|
247
|
+
id: "wor-43-030",
|
|
248
|
+
label: "northern row 30",
|
|
249
|
+
capacity: 12,
|
|
250
|
+
priority: 4,
|
|
251
|
+
active: false,
|
|
252
|
+
notes: "northern workshop bench entry reviewed in cycle 9"
|
|
253
|
+
},
|
|
254
|
+
{
|
|
255
|
+
id: "wor-43-031",
|
|
256
|
+
label: "central row 31",
|
|
257
|
+
capacity: 42,
|
|
258
|
+
priority: 3,
|
|
259
|
+
active: false,
|
|
260
|
+
notes: "northern workshop bench entry reviewed in cycle 5"
|
|
261
|
+
},
|
|
262
|
+
{
|
|
263
|
+
id: "wor-43-032",
|
|
264
|
+
label: "central hall 32",
|
|
265
|
+
capacity: 90,
|
|
266
|
+
priority: 5,
|
|
267
|
+
active: false,
|
|
268
|
+
notes: "northern workshop bench entry reviewed in cycle 1"
|
|
269
|
+
},
|
|
270
|
+
{
|
|
271
|
+
id: "wor-43-033",
|
|
272
|
+
label: "central annex 33",
|
|
273
|
+
capacity: 70,
|
|
274
|
+
priority: 1,
|
|
275
|
+
active: false,
|
|
276
|
+
notes: "northern workshop bench entry reviewed in cycle 1"
|
|
277
|
+
},
|
|
278
|
+
{
|
|
279
|
+
id: "wor-43-034",
|
|
280
|
+
label: "central hall 34",
|
|
281
|
+
capacity: 50,
|
|
282
|
+
priority: 1,
|
|
283
|
+
active: false,
|
|
284
|
+
notes: "granite workshop bench entry reviewed in cycle 5"
|
|
285
|
+
}
|
|
286
|
+
];
|
|
287
|
+
|
|
288
|
+
export function findWorkshopBenchRecord43(id: string): WorkshopBenchRecord43 | undefined {
|
|
289
|
+
return workshopBenchRecords43.find((record) => record.id === id);
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
export function listWorkshopBenchActiveRecords43(): WorkshopBenchRecord43[] {
|
|
293
|
+
return workshopBenchRecords43.filter((record) => record.active);
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
export function totalWorkshopBenchCapacity43(): number {
|
|
297
|
+
return workshopBenchRecords43.reduce((sum, record) => sum + record.capacity, 0);
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
export function countWorkshopBenchByPriority43(priority: number): number {
|
|
301
|
+
return workshopBenchRecords43.filter((record) => record.priority === priority).length;
|
|
302
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export interface AuditEntry {
|
|
2
|
+
actor: string;
|
|
3
|
+
action: string;
|
|
4
|
+
email?: string;
|
|
5
|
+
token?: string;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export function maskEmail(email: string): string {
|
|
9
|
+
const [local, domain] = email.split("@");
|
|
10
|
+
if (!local || !domain) {
|
|
11
|
+
return "[invalid-email]";
|
|
12
|
+
}
|
|
13
|
+
return `${local[0]}***@${domain}`;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export function redactAuditEntry(entry: AuditEntry): AuditEntry {
|
|
17
|
+
const redacted: AuditEntry = { actor: entry.actor, action: entry.action };
|
|
18
|
+
if (entry.email !== undefined) {
|
|
19
|
+
redacted.email = maskEmail(entry.email);
|
|
20
|
+
}
|
|
21
|
+
if (entry.token !== undefined) {
|
|
22
|
+
redacted.token = "[redacted]";
|
|
23
|
+
}
|
|
24
|
+
return redacted;
|
|
25
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export interface StockLevel {
|
|
2
|
+
sku: string;
|
|
3
|
+
onHand: number;
|
|
4
|
+
reserved: number;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
export function availableStock(level: StockLevel): number {
|
|
8
|
+
return level.onHand - level.reserved;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export function reserveStock(level: StockLevel, quantity: number): StockLevel {
|
|
12
|
+
if (!Number.isInteger(quantity) || quantity <= 0) {
|
|
13
|
+
throw new Error("Reservation quantity must be a positive integer.");
|
|
14
|
+
}
|
|
15
|
+
if (quantity > availableStock(level)) {
|
|
16
|
+
throw new Error(`Insufficient stock for ${level.sku}.`);
|
|
17
|
+
}
|
|
18
|
+
return { ...level, reserved: level.reserved + quantity };
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export function releaseReservation(level: StockLevel, quantity: number): StockLevel {
|
|
22
|
+
if (!Number.isInteger(quantity) || quantity <= 0 || quantity > level.reserved) {
|
|
23
|
+
throw new Error("Release quantity must be a positive integer no larger than the reserved amount.");
|
|
24
|
+
}
|
|
25
|
+
return { ...level, reserved: level.reserved - quantity };
|
|
26
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export interface InvoiceLine {
|
|
2
|
+
unitCents: number;
|
|
3
|
+
quantity: number;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
export function roundToCents(value: number): number {
|
|
7
|
+
return Math.round(value + Number.EPSILON);
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export function applyBulkDiscount(subtotalCents: number, totalQuantity: number): number {
|
|
11
|
+
if (totalQuantity >= 100) {
|
|
12
|
+
return roundToCents(subtotalCents * 0.9);
|
|
13
|
+
}
|
|
14
|
+
if (totalQuantity >= 20) {
|
|
15
|
+
return roundToCents(subtotalCents * 0.95);
|
|
16
|
+
}
|
|
17
|
+
return subtotalCents;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export function calculateInvoiceTotal(lines: readonly InvoiceLine[], taxRate: number): number {
|
|
21
|
+
const subtotal = lines.reduce((sum, line) => sum + line.unitCents * line.quantity, 0);
|
|
22
|
+
const quantity = lines.reduce((sum, line) => sum + line.quantity, 0);
|
|
23
|
+
const discounted = applyBulkDiscount(subtotal, quantity);
|
|
24
|
+
return discounted + roundToCents(discounted * taxRate);
|
|
25
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export interface Parcel {
|
|
2
|
+
weightGrams: number;
|
|
3
|
+
destinationZone: "domestic" | "regional" | "international";
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
export interface WeightBand {
|
|
7
|
+
maxGrams: number;
|
|
8
|
+
baseCents: number;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export const weightBands: readonly WeightBand[] = [
|
|
12
|
+
{ maxGrams: 500, baseCents: 450 },
|
|
13
|
+
{ maxGrams: 2000, baseCents: 900 },
|
|
14
|
+
{ maxGrams: 10000, baseCents: 1800 }
|
|
15
|
+
];
|
|
16
|
+
|
|
17
|
+
const zoneSurchargeCents = { domestic: 0, regional: 250, international: 1200 } as const;
|
|
18
|
+
|
|
19
|
+
export function selectWeightBand(weightGrams: number): WeightBand {
|
|
20
|
+
if (!Number.isFinite(weightGrams) || weightGrams <= 0) {
|
|
21
|
+
throw new Error("Parcel weight must be a positive number of grams.");
|
|
22
|
+
}
|
|
23
|
+
const band = weightBands.find((candidate) => weightGrams <= candidate.maxGrams);
|
|
24
|
+
if (!band) {
|
|
25
|
+
throw new Error("Parcel exceeds the maximum supported weight.");
|
|
26
|
+
}
|
|
27
|
+
return band;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export function calculateShippingQuote(parcel: Parcel): number {
|
|
31
|
+
return selectWeightBand(parcel.weightGrams).baseCents + zoneSurchargeCents[parcel.destinationZone];
|
|
32
|
+
}
|
package/benchmarks/projects/context-window-scaling-fixed-ts/tests/tasks/auditRedaction.test.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { describe, expect, it } from "vitest";
|
|
2
|
+
import { maskEmail, redactAuditEntry } from "../../src/tasks/auditRedaction.js";
|
|
3
|
+
|
|
4
|
+
describe("auditRedaction", () => {
|
|
5
|
+
it("masks the email local part and redacts tokens", () => {
|
|
6
|
+
expect(redactAuditEntry({ actor: "ana", action: "login", email: "ana@example.com", token: "abc" })).toEqual({
|
|
7
|
+
actor: "ana",
|
|
8
|
+
action: "login",
|
|
9
|
+
email: "a***@example.com",
|
|
10
|
+
token: "[redacted]"
|
|
11
|
+
});
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
it("flags malformed emails", () => {
|
|
15
|
+
expect(maskEmail("not-an-email")).toBe("[invalid-email]");
|
|
16
|
+
});
|
|
17
|
+
});
|
package/benchmarks/projects/context-window-scaling-fixed-ts/tests/tasks/inventoryReservation.test.ts
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { describe, expect, it } from "vitest";
|
|
2
|
+
import { availableStock, releaseReservation, reserveStock } from "../../src/tasks/inventoryReservation.js";
|
|
3
|
+
|
|
4
|
+
describe("inventoryReservation", () => {
|
|
5
|
+
it("reserves and releases stock without mutating the input", () => {
|
|
6
|
+
const level = { sku: "sku-1", onHand: 10, reserved: 2 };
|
|
7
|
+
const reserved = reserveStock(level, 3);
|
|
8
|
+
expect(reserved.reserved).toBe(5);
|
|
9
|
+
expect(level.reserved).toBe(2);
|
|
10
|
+
expect(availableStock(releaseReservation(reserved, 5))).toBe(10);
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
it("rejects over-reservation and invalid quantities", () => {
|
|
14
|
+
const level = { sku: "sku-1", onHand: 4, reserved: 1 };
|
|
15
|
+
expect(() => reserveStock(level, 4)).toThrow("Insufficient stock");
|
|
16
|
+
expect(() => reserveStock(level, 0)).toThrow("positive integer");
|
|
17
|
+
expect(() => releaseReservation(level, 2)).toThrow("no larger");
|
|
18
|
+
});
|
|
19
|
+
});
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { describe, expect, it } from "vitest";
|
|
2
|
+
import { applyBulkDiscount, calculateInvoiceTotal } from "../../src/tasks/invoiceTotals.js";
|
|
3
|
+
|
|
4
|
+
describe("invoiceTotals", () => {
|
|
5
|
+
it("applies tiered bulk discounts by quantity", () => {
|
|
6
|
+
expect(applyBulkDiscount(1000, 19)).toBe(1000);
|
|
7
|
+
expect(applyBulkDiscount(1000, 20)).toBe(950);
|
|
8
|
+
expect(applyBulkDiscount(1000, 100)).toBe(900);
|
|
9
|
+
});
|
|
10
|
+
|
|
11
|
+
it("adds rounded tax after the discount", () => {
|
|
12
|
+
expect(calculateInvoiceTotal([{ unitCents: 500, quantity: 2 }], 0.1)).toBe(1100);
|
|
13
|
+
});
|
|
14
|
+
});
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { describe, expect, it } from "vitest";
|
|
2
|
+
import { calculateShippingQuote, selectWeightBand } from "../../src/tasks/shippingQuote.js";
|
|
3
|
+
|
|
4
|
+
describe("shippingQuote", () => {
|
|
5
|
+
it("selects the smallest band that holds the parcel", () => {
|
|
6
|
+
expect(selectWeightBand(500).baseCents).toBe(450);
|
|
7
|
+
expect(selectWeightBand(501).baseCents).toBe(900);
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
it("adds the zone surcharge to the band price", () => {
|
|
11
|
+
expect(calculateShippingQuote({ weightGrams: 300, destinationZone: "domestic" })).toBe(450);
|
|
12
|
+
expect(calculateShippingQuote({ weightGrams: 300, destinationZone: "international" })).toBe(1650);
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
it("rejects non-positive and oversize weights", () => {
|
|
16
|
+
expect(() => selectWeightBand(0)).toThrow("positive");
|
|
17
|
+
expect(() => selectWeightBand(10001)).toThrow("maximum");
|
|
18
|
+
});
|
|
19
|
+
});
|
package/dist/src/cli/help.js
CHANGED
|
@@ -156,11 +156,27 @@ export function renderExperimentRunHelp() {
|
|
|
156
156
|
" --case <ids> Comma-separated case ids to run",
|
|
157
157
|
" --benchmark-project <ids> Comma-separated benchmark project ids to run",
|
|
158
158
|
"",
|
|
159
|
-
"my-dev-kit command override (warm-index-reuse
|
|
159
|
+
"my-dev-kit command override (warm-index-reuse, incremental-change-staleness, and context-window-scaling):",
|
|
160
160
|
" --kit-command <command> my-dev-kit command used by the selected experiment plugin",
|
|
161
|
-
" (defaults: warm-index-reuse
|
|
161
|
+
" (defaults: warm-index-reuse and context-window-scaling use",
|
|
162
|
+
" npx @dailephd/my-dev-kit@latest;",
|
|
162
163
|
" incremental-change-staleness uses npx @dailephd/my-dev-kit@1.12.5)",
|
|
163
164
|
"",
|
|
165
|
+
"context-window-scaling only:",
|
|
166
|
+
" --context-budgets <values> Comma-separated estimated-context-token budgets: 8k, 16k, 32k,",
|
|
167
|
+
" 64k (8192/16384/32768/65536), or positive integers such as",
|
|
168
|
+
" 12000 (default: 8k,16k,32k,64k). Duplicates after",
|
|
169
|
+
" normalization are rejected. Only --out, --case,",
|
|
170
|
+
" --synthetic-config, --context-budgets, and --kit-command are",
|
|
171
|
+
" accepted; --case selects from the bundled four-case catalog.",
|
|
172
|
+
" Self target only.",
|
|
173
|
+
" --synthetic-config <path> Path to a SyntheticRepositoryConfigV1 JSON file; relative paths",
|
|
174
|
+
" resolve against the invocation directory. Generated",
|
|
175
|
+
" repositories are written beneath the selected experiment",
|
|
176
|
+
" output directory (synthetic-repositories/). Mutually exclusive",
|
|
177
|
+
" with --case. Without it, the bundled four-case catalog is used.",
|
|
178
|
+
" Generate plots with \"plots generate --experiment <run dir>\".",
|
|
179
|
+
"",
|
|
164
180
|
"warm-index-reuse only:",
|
|
165
181
|
" Legacy/default mode uses the deterministic fake agent only;",
|
|
166
182
|
" agent options below are not accepted by this plugin.",
|
|
@@ -290,7 +306,7 @@ export function renderPlotsGenerateHelp() {
|
|
|
290
306
|
"Supported inputs:",
|
|
291
307
|
" - legacy controlled-experiment output directories",
|
|
292
308
|
" - warm-index-reuse plugin output directories (containing its report.json)",
|
|
293
|
-
"
|
|
309
|
+
" - context-window-scaling plugin output directories (containing context-window-scaling-execution.json)",
|
|
294
310
|
"",
|
|
295
311
|
"Required:",
|
|
296
312
|
" --experiment <dir> Path to a supported experiment output directory",
|
|
@@ -133,6 +133,9 @@ function describeTargetBehavior(plugin) {
|
|
|
133
133
|
if (supportsExternal) {
|
|
134
134
|
return "Runs against the current lab repository when --target is omitted, or against an explicit local target project when --target <path> is provided. Outputs stay under lab-controlled output directories by default.";
|
|
135
135
|
}
|
|
136
|
+
if (plugin.metadata.id === "context-window-scaling") {
|
|
137
|
+
return "Self-targeted. Uses the bundled fixed scaling corpus by default, or caller-supplied deterministic synthetic repositories when --synthetic-config <path> (a SyntheticRepositoryConfigV1 JSON file, mutually exclusive with --case) is provided; generated repositories are written beneath the experiment output directory.";
|
|
138
|
+
}
|
|
136
139
|
return "Runs against the current lab repository.";
|
|
137
140
|
}
|
|
138
141
|
function describeExpectedReports(plugin) {
|
|
@@ -157,6 +160,9 @@ function describeExamples(plugin) {
|
|
|
157
160
|
if (hasConfigField(plugin, "campaignPreset")) {
|
|
158
161
|
examples.push(`my-dev-kit-lab experiment run --experiment ${plugin.metadata.id} --campaign codex-full --include-real-agents --out <dir>`, `my-dev-kit-lab experiment run --experiment ${plugin.metadata.id} --campaign claude-full --include-real-agents --case warm-medium-complete-idempotent --out <dir>`);
|
|
159
162
|
}
|
|
163
|
+
if (plugin.metadata.id === "context-window-scaling") {
|
|
164
|
+
examples.push(`my-dev-kit-lab experiment run --experiment ${plugin.metadata.id} --synthetic-config <path-to-config.json> --out <run-dir>`);
|
|
165
|
+
}
|
|
160
166
|
return examples;
|
|
161
167
|
}
|
|
162
168
|
function hasConfigField(plugin, name) {
|