perf: preserve conversation prefixes across agent turns
This commit is contained in:
1 parent
1440a1f508
commit
f1bb5d02aa
19 files changed
+552
-205
No files matched your search
@@ -283,13 +283,13 @@ def test_injected_instruction_body_outlives_its_wrapper(mock_context):
|
||||
assert guidance.wrapper.startswith(USER_GUIDANCE_MARKER)
|
||||
assert "don't send messages" not in guidance.wrapper
|
||||
|
||||
# Scrub edge parity: once the turn has left the live position (a newer
|
||||
# committed observation exists) the wrapper is gone and the body is
|
||||
# still in the committed turn.
|
||||
# Normal turns preserve guidance verbatim; an explicit compaction removes
|
||||
# the old wrapper but preserves the user's standing instruction.
|
||||
ledger.stage_turn([tail, AIMessage(content="ok")])
|
||||
ledger.commit_staged(step_key="s1")
|
||||
ledger.stage_turn([runner._build_tail(ledger, 3, b"IMG", "[1] Send"), AIMessage(content="ok")])
|
||||
ledger.commit_staged(step_key="s2")
|
||||
ledger.compact_active()
|
||||
rendered = ledger.render([runner._build_tail(ledger, 4, b"IMG", "[1] Send")])
|
||||
committed = next(
|
||||
m
|
||||
@@ -679,8 +679,8 @@ async def test_run_calibrates_the_ledger_only_from_measured_usage(mock_context):
|
||||
assert record.call_count == 2
|
||||
first_call, second_call = record.call_args_list
|
||||
assert first_call.args[0] == 1200 and first_call.kwargs["messages"] is not None
|
||||
# The report turn carries no usage metadata: estimated, recorded, not calibrated.
|
||||
assert second_call.args[0] >= 1 and second_call.kwargs["messages"] is None
|
||||
# Missing usage stays unknown; the next render computes its own estimate.
|
||||
assert second_call.args[0] is None and second_call.kwargs["messages"] is None
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
|
||||
Reference in new issue
Block a user