Summary
Several capability operations advertised in kychon-capabilities.json return ok: true with a fake-looking result but never perform the action. Callers (and the SDK) cannot tell the difference between a real success and a stub. This is misleading and dangerous for any agent built against the catalog.
Reproduces against production eagles.kychon.com as admin (demo-admin).
Affected operations (from functions/kychon-api.js:783-807)
translations.translateText
-d '{"apiVersion":"2026-05-08","operation":"translations.translateText","phase":"execute","idempotencyKey":"qa-1","input":{"text":"Hello, world","target_language":"es"}}'
Returns {"translatedText": "Hello, world"} — the input echoed unchanged. No translation happens.
Implementation (functions/kychon-api.js:798):
if (name === 'translations.translateText')
return actionResult({ translatedText: input.text || '' }, [...], null);
assets.upload
Returns {"status":"uploaded","path":"/test.png"} for any input. Nothing is stored.
if (name === 'assets.upload')
return actionResult({ status: 'uploaded', path: input.path || null }, [...], null);
jobs.* (checkExpirations, sendEventReminders, generateNewsletter)
Returns {"status":"queued","job":"checkExpirations"} for any input. No job is queued.
if (name.startsWith('jobs.'))
return actionResult({ status: 'queued', job: name.replace(/^jobs\./, '') }, [...], null);
exports.membersCsv / exports.eventsCsv / exports.portalData
Returns internal.error because mutationSpec (functions/kychon-api.js:1318) routes exports.* to capability_executions with action: 'create', which then breaks on the table schema.
-d '{"apiVersion":"2026-05-08","operation":"exports.membersCsv","phase":"execute","idempotencyKey":"qa","confirmed":true,"input":{}}'
# → {"ok":false,"error":{"code":"internal.error","message":"Execution failed for exports.membersCsv.","retryable":true}}
Expected
Either:
- Implement the operations, or
- Remove them from the operation catalog so they don't show up in
auth.permissions / portal.capabilities as available, or
- Return
notImplemented with a clear error code.
retryable: true on exports.membersCsv is also wrong — retrying with the same input won't help.
Summary
Several capability operations advertised in
kychon-capabilities.jsonreturnok: truewith a fake-looking result but never perform the action. Callers (and the SDK) cannot tell the difference between a real success and a stub. This is misleading and dangerous for any agent built against the catalog.Reproduces against production
eagles.kychon.comas admin (demo-admin).Affected operations (from
functions/kychon-api.js:783-807)translations.translateText-d '{"apiVersion":"2026-05-08","operation":"translations.translateText","phase":"execute","idempotencyKey":"qa-1","input":{"text":"Hello, world","target_language":"es"}}'Returns
{"translatedText": "Hello, world"}— the input echoed unchanged. No translation happens.Implementation (functions/kychon-api.js:798):
assets.uploadReturns
{"status":"uploaded","path":"/test.png"}for any input. Nothing is stored.jobs.*(checkExpirations, sendEventReminders, generateNewsletter)Returns
{"status":"queued","job":"checkExpirations"}for any input. No job is queued.exports.membersCsv/exports.eventsCsv/exports.portalDataReturns
internal.errorbecausemutationSpec(functions/kychon-api.js:1318) routesexports.*tocapability_executionswithaction: 'create', which then breaks on the table schema.Expected
Either:
auth.permissions/portal.capabilitiesas available, ornotImplementedwith a clear error code.retryable: trueonexports.membersCsvis also wrong — retrying with the same input won't help.