Skip to content

Commit 7b6fa3b

Browse files
gabemonteroclaude
andcommitted
fix: address round-3 review findings and add staged issue 16
- Remove stale boost.skillsMarketplace.enabled from config.d.ts and runtime-config spec.md (consolidated into boost.features.skillsMarketplace) - Use InputError instead of res.status(400) in skills deploy route - Add InputError mapping to test error handler - Fix task ID references in plugin.ts comment (section 8, not 5.x) - Add issue 16 (skills route improvements) to staged-issues.md Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 9092a52 commit 7b6fa3b

6 files changed

Lines changed: 500 additions & 13 deletions

File tree

workspaces/boost/openspec/changes/platform-operations-deployment/specs/runtime-config/spec.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,6 @@ The following new features MUST have runtime configuration fields as specified b
100100
| Field | Scope | Description |
101101
|---|---|---|
102102
| `boost.skillsMarketplace.endpoint` | yaml-only | Skills catalog backend URL |
103-
| `boost.skillsMarketplace.enabled` | db-overridable | Enable/disable skills marketplace |
104103

105104
#### Scenario: Token exchange configuration
106105

workspaces/boost/plugins/boost-backend/config.d.ts

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -93,12 +93,6 @@ export interface Config {
9393
* @configScope yaml-only
9494
*/
9595
endpoint?: string;
96-
/**
97-
* Enable or disable skills marketplace.
98-
* @visibility frontend
99-
* @configScope db-overridable
100-
*/
101-
enabled?: boolean;
10296
};
10397

10498
/** Kagenti provider configuration. */

workspaces/boost/plugins/boost-backend/src/plugin.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -320,7 +320,7 @@ export const boostPlugin = createBackendPlugin({
320320
});
321321
router.use(conversationRoutes);
322322

323-
// Skills marketplace proxy routes (issue 15 of 15, tasks 5.1/5.3/5.4)
323+
// Skills marketplace proxy routes (section 8, tasks 8a/8b/8c)
324324
const skillsRoutes = createSkillsRoutes({
325325
permissions: _permissions,
326326
httpAuth,

workspaces/boost/plugins/boost-backend/src/skills/routes.test.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,7 @@ async function createTestApp(options?: {
120120
});
121121
app.use(router);
122122
const errorStatusMap: Record<string, number> = {
123+
InputError: 400,
123124
NotAllowedError: 403,
124125
NotFoundError: 404,
125126
};

workspaces/boost/plugins/boost-backend/src/skills/routes.ts

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ import {
2626
boostAccessPermission,
2727
boostAdminPermission,
2828
} from '@red-hat-developer-hub/backstage-plugin-boost-common';
29-
import { NotAllowedError, NotFoundError } from '@backstage/errors';
29+
import { InputError, NotAllowedError, NotFoundError } from '@backstage/errors';
3030

3131
/**
3232
* Options for creating skills marketplace routes.
@@ -265,10 +265,7 @@ export function createSkillsRoutes(options: SkillsRoutesOptions): Router {
265265
};
266266

267267
if (!skillId || !ociImage) {
268-
res.status(400).json({
269-
error: 'skillId and ociImage are required',
270-
});
271-
return;
268+
throw new InputError('skillId and ociImage are required');
272269
}
273270

274271
const deploymentId = `skill-${skillId}-${Date.now()}`;

0 commit comments

Comments
 (0)