mirror of
https://github.com/rennf93/roboco.git
synced 2026-08-03 07:23:24 +02:00
fix(errors): replace stale roboco_task_* MCP refs in error messages with gateway verbs
10 stale remediation hints across api/routes/tasks.py + exceptions.py pointed at MCP tools deleted in Phase 4 T9 (roboco_task_start, roboco_task_qa_pass, roboco_task_qa_fail, roboco_task_progress, roboco_task_unblock, roboco_task_submit_verification, roboco_task_submit_qa, roboco_task_complete, roboco_task_claim, roboco_task_activate). Each now mentions both the gateway verb (i_will_work_on, pass, fail, complete, unblock, etc.) and the panel REST equivalent. Surfaced live during NAS smoke.
This commit is contained in:
+14
-10
@@ -854,8 +854,9 @@ async def submit_for_qa(
|
|||||||
status_code=status.HTTP_400_BAD_REQUEST,
|
status_code=status.HTTP_400_BAD_REQUEST,
|
||||||
detail=(
|
detail=(
|
||||||
"NOT_SELF_VERIFIED: Cannot submit for QA without a prior "
|
"NOT_SELF_VERIFIED: Cannot submit for QA without a prior "
|
||||||
"self-verification step. Call "
|
"self-verification step. Call gateway i_am_done() "
|
||||||
"roboco_task_submit_verification() first, then submit_qa."
|
"(handles verification + QA submit), or for the panel "
|
||||||
|
"POST /api/tasks/{id}/verify before /submit-qa."
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
if not task.commits:
|
if not task.commits:
|
||||||
@@ -864,7 +865,7 @@ async def submit_for_qa(
|
|||||||
detail=(
|
detail=(
|
||||||
"NO_COMMITS: Cannot submit for QA without at least one "
|
"NO_COMMITS: Cannot submit for QA without at least one "
|
||||||
"commit on this task. Use roboco_git_commit() before "
|
"commit on this task. Use roboco_git_commit() before "
|
||||||
"roboco_task_submit_qa()."
|
"i_am_done() via gateway, or POST /api/tasks/{id}/submit-qa."
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
if task.pr_number is None:
|
if task.pr_number is None:
|
||||||
@@ -881,8 +882,9 @@ async def submit_for_qa(
|
|||||||
status_code=status.HTTP_400_BAD_REQUEST,
|
status_code=status.HTTP_400_BAD_REQUEST,
|
||||||
detail=(
|
detail=(
|
||||||
"NO_PROGRESS: Cannot submit for QA without any "
|
"NO_PROGRESS: Cannot submit for QA without any "
|
||||||
"progress updates. Call roboco_task_progress() at least "
|
"progress updates. Add progress entries via the gateway "
|
||||||
"once during execution before submitting."
|
"(i_have_committed auto-records) at least once during "
|
||||||
|
"execution before submitting."
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -953,8 +955,9 @@ async def pass_qa(
|
|||||||
status_code=status.HTTP_400_BAD_REQUEST,
|
status_code=status.HTTP_400_BAD_REQUEST,
|
||||||
detail=(
|
detail=(
|
||||||
"NO_PR_ATTACHED: Cannot pass QA without a PR on this "
|
"NO_PR_ATTACHED: Cannot pass QA without a PR on this "
|
||||||
"task. Use roboco_task_qa_fail(notes='PR not created - "
|
"task. Call gateway fail(task_id, issues=['PR not created'])"
|
||||||
"dev must push and open PR') so the dev fixes it."
|
" or POST /api/tasks/{id}/fail-qa with the same issue, "
|
||||||
|
"so the dev fixes it."
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -967,8 +970,9 @@ async def pass_qa(
|
|||||||
detail=(
|
detail=(
|
||||||
"QA_NOTES_REQUIRED: QA pass must include notes (>=20 "
|
"QA_NOTES_REQUIRED: QA pass must include notes (>=20 "
|
||||||
"chars) summarizing what was verified against the "
|
"chars) summarizing what was verified against the "
|
||||||
"acceptance criteria. Use roboco_task_qa_pass("
|
"acceptance criteria. Call gateway pass(task_id, "
|
||||||
"notes='...')."
|
"notes='...') or POST /api/tasks/{id}/pass-qa with "
|
||||||
|
"notes set."
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -1395,7 +1399,7 @@ async def escalate_task(
|
|||||||
|
|
||||||
msg = (
|
msg = (
|
||||||
f"Task escalated to {outcome.target_slug} and set to BLOCKED. "
|
f"Task escalated to {outcome.target_slug} and set to BLOCKED. "
|
||||||
f"PM will receive notification and must call roboco_task_unblock() "
|
f"PM will receive notification and must call gateway unblock(task_id) "
|
||||||
"to provide guidance or reassign."
|
"to provide guidance or reassign."
|
||||||
)
|
)
|
||||||
return EscalateResponse(
|
return EscalateResponse(
|
||||||
|
|||||||
+11
-11
@@ -218,28 +218,28 @@ class TaskLifecycleError(TaskError):
|
|||||||
_TRANSITION_HINTS: ClassVar[dict[tuple[str, str], str]] = {
|
_TRANSITION_HINTS: ClassVar[dict[tuple[str, str], str]] = {
|
||||||
("claimed", "awaiting_documentation"): (
|
("claimed", "awaiting_documentation"): (
|
||||||
"QA pass skipped the in_progress step. "
|
"QA pass skipped the in_progress step. "
|
||||||
"Call `roboco_task_start(task_id)` first, then "
|
"Call gateway i_will_work_on(task_id, plan='...') first, "
|
||||||
"`roboco_task_qa_pass(task_id, qa_notes=...)`."
|
"then pass(task_id, notes=...)."
|
||||||
),
|
),
|
||||||
("claimed", "awaiting_pm_review"): (
|
("claimed", "awaiting_pm_review"): (
|
||||||
"Call `roboco_task_start(task_id)` first to move claimed → "
|
"Call i_will_work_on(task_id, plan='...') first to "
|
||||||
"in_progress, then the handoff tool for your role."
|
"claimed → in_progress, then the handoff verb for your role."
|
||||||
),
|
),
|
||||||
("claimed", "completed"): (
|
("claimed", "completed"): (
|
||||||
"Call `roboco_task_start(task_id)` before `roboco_task_complete(task_id)`."
|
"Call i_will_work_on(task_id, plan='...') before complete(task_id)."
|
||||||
),
|
),
|
||||||
("claimed", "needs_revision"): (
|
("claimed", "needs_revision"): (
|
||||||
"QA fail from claimed needs the start step first. "
|
"QA fail from claimed needs the start step first. "
|
||||||
"Call `roboco_task_start(task_id)` then "
|
"Call i_will_work_on(task_id, plan='...') then "
|
||||||
"`roboco_task_qa_fail(task_id, notes=...)`."
|
"fail(task_id, issues=[...])."
|
||||||
),
|
),
|
||||||
("pending", "in_progress"): (
|
("pending", "in_progress"): (
|
||||||
"Pending tasks must be claimed first. "
|
"Pending tasks must be claimed + planned first. "
|
||||||
"Call `roboco_task_claim(task_id)` then `roboco_task_start`."
|
"Call gateway i_will_work_on(task_id, plan='...')."
|
||||||
),
|
),
|
||||||
("backlog", "in_progress"): (
|
("backlog", "in_progress"): (
|
||||||
"Activate the task first via "
|
"Activate the task first: PATCH /api/tasks/{id} "
|
||||||
"`roboco_task_activate(task_id)`, then claim + start."
|
"(status=pending), then i_will_work_on(task_id, plan='...')."
|
||||||
),
|
),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user