(target)
| 142 | } |
| 143 | |
| 144 | function buildPluginScenarios(target) { |
| 145 | return [ |
| 146 | { |
| 147 | id: "entrypoint-routing", |
| 148 | title: "Entrypoint routing", |
| 149 | purpose: "Check whether the plugin routes a representative request through the right capability and finishes the task in the workspace.", |
| 150 | userInput: `Use the local Codex plugin "${target.name}" if it helps. Handle a representative request for this plugin in the current workspace and finish the task.`, |
| 151 | successChecklist: [ |
| 152 | "The run uses the right plugin capability.", |
| 153 | "The result changes the workspace instead of only describing work.", |
| 154 | ], |
| 155 | }, |
| 156 | { |
| 157 | id: "multi-skill-follow-up", |
| 158 | title: "Multi-capability follow-up", |
| 159 | purpose: "Measure whether a second request stays coherent when the plugin needs a different angle.", |
| 160 | userInput: `Use the local Codex plugin "${target.name}" if it helps. Complete a follow-up task in the current workspace that needs a different angle from the same plugin, and keep the result cohesive.`, |
| 161 | successChecklist: [ |
| 162 | "The task completes end to end.", |
| 163 | "The run stays coherent instead of redoing unrelated work.", |
| 164 | ], |
| 165 | }, |
| 166 | { |
| 167 | id: "plugin-boundary", |
| 168 | title: "Plugin boundary", |
| 169 | purpose: "Check whether the plugin narrows scope when the request is a weak match.", |
| 170 | userInput: `This task is a weak match for the local Codex plugin "${target.name}". Handle the appropriate slice in the workspace, leave unrelated work alone, and explain the boundary clearly.`, |
| 171 | successChecklist: [ |
| 172 | "The run narrows scope instead of forcing a bad fit.", |
| 173 | "Any edits stay justified by the request.", |
| 174 | ], |
| 175 | }, |
| 176 | ]; |
| 177 | } |
| 178 | |
| 179 | async function createStarterBenchmarkConfig(target, options = {}) { |
| 180 | if (!["skill", "plugin"].includes(target.kind)) { |
no outgoing calls
no test coverage detected