ateam_log_lesson
Record ONE lesson this run learned, so the NEXT run does not relearn it. A building agent starts every run empty — it does not know which tool misled the last run or the workaround that got past it. Log a lesson the moment a tool misleads you AND you find a way through.
APPEND-ONLY. You cannot edit or delete earlier lessons, and you do not supply the timestamp — the server stamps it, so it cannot be forged.
PROVENANCE CAVEAT, stated because the earlier wording over-promised: job_id and actor are recorded ONLY when the caller supplies x-adas-job-id / x-adas-actor-id. An agent calling this tool does not, so those fields are usually null — a lesson cannot currently be traced back to the run that produced it, and the file cannot tell 'three runs hit this' from 'one run hit it three times'. Do not put a job id in error to compensate; keep that field verbatim.
LOG ONLY WHAT YOU OBSERVED. Quote the error VERBATIM; never paraphrase it and never write a theory about platform internals. A wrong lesson is worse than no lesson, because the next run cannot check it and will act on it.
Use kind='misleading_success' when a call REPORTED success while the thing you wanted did not happen — that class is the most expensive to rediscover and it is invisible to a failures-only log.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | failure = it errored; surprise = it worked but not as documented; misleading_success = it REPORTED success while the intended effect did not happen | |
| tool | Yes | The tool that misled you, e.g. "ateam_build_and_run" | |
| error | Yes | The VERBATIM error or failed_steps fragment. Not a paraphrase. | |
| worked | No | Did the workaround work? Omit if you never found out — 'unknown' is a real answer | |
| workaround | No | What you did instead (optional) | |
| solution_id | Yes | The solution this lesson belongs to |