ledger_log_approach
Log the outcome of an approach tried or considered for a task, marking it as dead end, no-go, or works, so future attempts avoid repeating known failures.
Instructions
Record the outcome of an approach tried (or considered) for a task.
Record every failed approach IMMEDIATELY after it fails, and every deliberate NO-GO decision, so future attempts (by you or another agent) skip them instead of re-discovering the same dead end.
Args: task (str): Stable identifier/description of the task. Use the SAME string across approaches to the same underlying task so ledger_check_approaches can find them. approach (str): Short description of the specific approach tried or considered. Must be non-empty. outcome (str): One of "DEAD_END" (tried and failed), "NO_GO" (decided against without trying), or "WORKS" (confirmed working). reason (str): Why the approach failed, was rejected, or worked. Must be non-empty.
Returns: dict: {"id": int} — the new approach record's row id.
Errors: Raises ValueError if task/approach/reason are empty, or outcome is not one of DEAD_END/NO_GO/WORKS, with a message naming the valid values.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| task | Yes | ||
| reason | Yes | ||
| outcome | Yes | ||
| approach | Yes |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||