Observed since 20 Oct, 22:37 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
An LLM that reads your agent's error and decision logs and drafts root-cause lessons
An LLM that reads your agent's error and decision logs and drafts the root-cause lessons your keyword heuristics can't.
The third member of the agent-memory family. Where agent-error-log records what BROKE (reactive memory) and agent-decision-log records what was CHOSEN (proactive memory), this repo adds the REASONING layer: it sends the distilled clusters and reversal chains to an LLM-compatible endpoint and drafts the why — the root-cause lesson that keyword frequency and reversal counting can only point at.
The two sibling tools turn an agent's history into mechanical memory:
--lessons groups failures by shared keywords, --review counts reversals
by topic. Both are deliberately heuristic — deterministic, testable, free.
But the reasoning is left to you: why did this cluster keep failing?
why did you flip-flop between regex and AST every time the file grew past
200 lines?
That gap is exactly what an LLM is good at. agent-log-ai keeps the
heuristics (they select what matters) and hands the explanation to a model —
so your memory stops being a list of symptoms and starts being a list of
causes.
# 1. Point it at a log and draft lessons for the biggest failure cluster
python check_logs_ai.py --lessons --log errors.txt --dry-run # see the prompt first, costs nothing
# 2. Send it (local-first: no key needed for Ollama/vLLM)
python check_logs_ai.py --lessons --log errors.txt
# 3. Cloud option: any OpenAI-compatible endpoint
OPENAI_API_KEY=sk-... python check_logs_ai.py --lessons --log errors.txt --base-url https://api.openai.com/v1 --model gpt-4o
| Command | Reads | Writes | Notes |
|---|---|---|---|
--lessons | errors.txt | root-cause lesson drafts (→ rules.txt §7 with --apply) | Heuristics pick the top clusters; the LLM explains each cluster's real root cause and proposes the rule |
--review | decisions.txt | reversal analysis (→ rules.txt §7 with --apply) | Reversal chains with their REASONs; the LLM infers the deeper pattern |
--notes | logs + notes.txt | a SESSION NOTE draft (append with --append) | The loop drafts its own closing memory |
--check | — | API connectivity health check | Tiny ping — no real prompt |
--dry-run | — | prints the exact prompt, sends nothing | Free preview |
--init [DIR] | — | scaffolds errors.txt / decisions.txt / rules.txt / notes.txt | One-command adoption — never overwrites existing files; runs the offline self-test |
urllib.request →
POST {base}/chat/completions. No pip packages, same as the siblings.--base-url is
http://localhost:11434/v1 (Ollama); vLLM and any OpenAI-compatible
server work with --base-url. The cloud path
(https://api.openai.com/v1) uses OPENAI_API_KEY from the environment —
never committed.--dry-run suggestion, and a pointer to the sibling heuristics. Never
crashes, never blocks work.--max-entries N, line truncation, and a cheap token
estimate (chars/4 — approximate by design) that warns before any send.--timeout N controls how long a single call waits.| Repo | What it remembers | How it works |
|---|---|---|
| agent-error-log | what BROKE | text log + linter + git gate |
| agent-decision-log | what was CHOSEN and why | append-only decisions + currency chain |
| agent-log-ai (this) | why it kept happening | heuristics select → LLM reasons |
Do I need an API key? No — local-first. With Ollama running
(ollama serve), the default base-url works with no key. A key is only
needed for cloud endpoints.
Does this replace --lessons / --review? No — it uses them. This tool
is the reasoning layer on top of the existing heuristics.
Is my log sent somewhere? Only to the endpoint you point at. Local by
default; cloud only if you pass --base-url https://... and a key.
I copied the tool to a scratch folder — will it read my real logs? No —
the --errors / --decisions / --notes-file defaults resolve relative to
the script location (HERE), so a scratch copy reads next to itself. Point at
your real logs from anywhere with those flags.
Does it handle unicode (café, em-dash) on Windows? Yes — stdin is
reconfigured to UTF-8 like stdout, so piped unicode prompts are handled
without double-encoding.
See CONTRIBUTING.md. Run python _test_logs_ai.py —
all tests are offline (the HTTP layer is mocked; the suite runs green with
no network and no API key) — (104, 100% pass expected).
python check_logs_ai.py must exit 0 on the repo's own log. README test
counts are enforced by a drift-guard CI job, so keep them in sync.
The single-file adoption story is unchanged - copy check_logs_ai.py into
your project and you are done. The tool is also pip-installable with zero
runtime dependencies:
pip install agent-log-ai1
log-ai --help
decisions.txt, errors.txt,
rules.txt, notes.txt) resolve against your current directory; an in-place
copy keeps resolving against the file's folder.--init works identically from an installed copy (built-in templates).Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.5.0 | 11 Aug 2026 | 0 |
This describes our collected data; it is not a security assessment.
Observed since 20 Oct, 22:37 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:cc75910fa0ced4cb6a98b07e83205bc518a8a39a315074631cb65e485ef8d3b9