Commit graph

5 commits

Author SHA1 Message Date
Alessandro
27b7df8917 Restore full-response repeat checks for native tool calls
Some checks are pending
Build And Publish Docker Images / plan (push) Waiting to run
Build And Publish Docker Images / build (push) Blocked by required conditions
Compare public commentary together with canonical function calls when
recording and checking the previous response. This restores the historical
full-message policy for native turns, so changed or missing commentary
can distinguish otherwise identical calls.

Keep canonical call history, masking, provider metadata and state
advancement intact. Exclude provider IDs and separate reasoning from the
comparison; identical public text and calls remain guarded.

Cover commentary changes and absence, call changes and batches, provider
metadata round trips, and legacy thoughts/headline behavior. Update the
owning contracts. Verified with 177 passing tests, four recorded Mac
warning replays and a live two-call drill using the Codex II preset.
2026-10-06 18:49:30 +02:00
Alessandro
5602d5c4be Preserve native calls in assistant history and repeat checks
Store canonical function-call content through the existing assistant history and masking path, preserving original provider metadata. Compare that same content when detecting repeated responses so accompanying commentary cannot hide distinct calls.

Validated with 87 focused architecture, result, logging and Context Doctor tests plus a framework runtime history/repeat probe. Native history replay remains a separate change.
2026-09-06 20:10:46 +02:00
linkliti
4634070e95 Own Responses-API state advancement in hist_add_ai_response
Make llm_result required in hist_add_ai_response and move _remember_llm_result_state inside so plugin authors cannot silently break response_id chaining. Drop manual state calls in main loop and _30_repeat_response. Pass empty LLMResult() for greeting and intervention progress. Document invariant in root AGENTS.md and affected extension DOX.
2026-09-04 16:12:38 +03:00
linkliti
ade1489790 Count empty responses toward unusable-response limit
Track consecutive empty model responses in the empty-response handler so the agent stops once the configured unusable-response limit is reached, matching repeat and misformat recovery. Log the empty-response warning for under-limit iterations and switch to the framework limit warning when the loop is forced to stop.
2026-08-25 02:54:56 +00:00
linkliti
dbbdd26cc5 Split unusable response loop control
Handle empty model responses and repeated response content in separate message-loop result extensions. Move the repeat retry log text into a framework prompt.

Cover empty-response logging and repeated content with reasoning.
2026-08-24 22:07:11 +03:00