fix: correct parameter names for taskmark (taskId) and metadelete (id)

Verified via FW_DEBUG=1: taskmark expects 'taskId' (not 'metaId'),
metadelete expects 'id' (not 'metaId'). Wrong names caused silent
no-ops because the API wraps errors in a00.un.un instead of top-level
un/ex, bypassing the standard error check in fw_client.

Also documents verified response structures in SPEC.md.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-15 15:17:45 +02:00
parent 5aff3ac9bf
commit 61e0d63931
3 changed files with 45 additions and 22 deletions
+4 -2
View File
@@ -428,7 +428,7 @@ def toggle_task(task_id: str, complete: bool) -> str:
JSON success indicator or an error message.
"""
params: dict[str, Any] = {
"metaId": task_id,
"taskId": task_id, # verified: taskmark uses 'taskId', not 'metaId'
"complete": "true" if complete else "false",
}
@@ -462,7 +462,9 @@ def delete_task(task_id: str) -> str:
JSON success indicator or an error message.
"""
try:
_authenticated_call("metadelete", {"metaId": task_id})
_authenticated_call(
"metadelete", {"id": task_id}
) # verified: metadelete uses 'id', not 'metaId'
except RuntimeError as exc:
return f"Error: {exc}"