Files
liqiang b119135836
Build latest book artifacts / build (push) Canceled after 0s
dependency resolution / resolve (3.11) (push) Canceled after 0s
dependency resolution / resolve (3.13) (push) Canceled after 0s
deploy-pages / build (push) Canceled after 0s
deploy-pages / deploy (push) Canceled after 0s
i18n consistency check / check (push) Canceled after 0s
provider adoption tests / test (chapter2/context-compression) (push) Canceled after 0s
provider adoption tests / test (chapter2/prompt-injection) (push) Canceled after 0s
provider adoption tests / test (chapter2/system-hint) (push) Canceled after 0s
provider adoption tests / test (chapter3/log-sanitization) (push) Canceled after 0s
web-search-agent tests / test (push) Canceled after 0s
web-search-agent tests / agentbook (push) Canceled after 0s
ai-agent-book 精选快照(<2MB 代码与文档,来自 github.com/bojieli/ai-agent-book)
2026-08-20 13:12:50 +00:00

1.6 KiB

Fourth independent review: tool-result replay and output bound

The terminal acceptance reviewer rejected the current candidate after running the requested tests and inspecting the production path. Continue the same self-update and correct these exact defects without expanding scope:

  1. Status is currently appended to source_messages[-1] / api_messages[-1] without requiring a user message. After a tool call the newest message is a tool result, but production replay restores api_content sidecars only for user and assistant messages. A sidecar attached to the tool result therefore disappears on the next request, breaking the claimed byte-identical replay. Make attachment and replay behavior consistent with the real persisted message contract. Preserve role ordering and keep clean transcript content unchanged.
  2. build_model_status_context() converts the TODO item_id to a string without truncating or otherwise bounding it. Enforce a deterministic total output bound, including adversarially long identifiers and descriptions.
  3. Add behavior-contract tests that would have caught both defects: a successive-request sequence whose newest message is a tool result, and an oversized TODO identifier. Exercise the same production helpers/type checks used by conversation_loop.py.

Run the focused tests, the existing replay/cache regression set, compilation, and git diff --check. Update BOOK_SELF_EVOLUTION_REPORT.md with this fourth review round and exact results. Do not edit the book, commit, push, or claim downstream task improvement.