chore: clarify regenerate lifecycle warning wording (T90.2)
The warning said "lifecycle transitions from superseded turn ARE NOT being rolled back". When regenerating an OLDER turn, the listed transitions can include intervening-turn ones that legitimately stand on their own — they weren't authored by the superseded turn itself. Reword to "lifecycle transitions at-or-after turn <id>" so operators reading logs aren't misled into thinking every listed event id was emitted by the target turn. Cosmetic change to a single log message. Test: extends test_regenerate_with_prior_lifecycle_logs_warning to assert the new phrasing is present and the old phrasing is gone.
This commit is contained in:
@@ -182,9 +182,13 @@ async def regenerate_assistant_turn(
|
|||||||
(chat_id, original_assistant_event_id),
|
(chat_id, original_assistant_event_id),
|
||||||
).fetchall()
|
).fetchall()
|
||||||
if unrolled_lifecycle:
|
if unrolled_lifecycle:
|
||||||
|
# T90.2: phrased as "at-or-after turn <id>" rather than "from
|
||||||
|
# superseded turn" because regenerating an OLDER turn lists
|
||||||
|
# intervening-turn transitions that legitimately stand on their
|
||||||
|
# own — those weren't authored by the superseded turn itself.
|
||||||
_log.warning(
|
_log.warning(
|
||||||
"regenerate_assistant_turn: %d lifecycle transition(s) from "
|
"regenerate_assistant_turn: %d lifecycle transition(s) "
|
||||||
"superseded turn %s are NOT being rolled back (Phase 4 "
|
"at-or-after turn %s are NOT being rolled back (Phase 4 "
|
||||||
"follow-up). Affected event ids: %s",
|
"follow-up). Affected event ids: %s",
|
||||||
len(unrolled_lifecycle),
|
len(unrolled_lifecycle),
|
||||||
original_assistant_event_id,
|
original_assistant_event_id,
|
||||||
|
|||||||
@@ -757,6 +757,13 @@ def test_regenerate_with_prior_lifecycle_logs_warning(tmp_path, monkeypatch, cap
|
|||||||
# row's id.
|
# row's id.
|
||||||
assert str(at_id) in msg
|
assert str(at_id) in msg
|
||||||
assert str(completed_id) in msg
|
assert str(completed_id) in msg
|
||||||
|
# T90.2: wording was tightened from "from superseded turn" to
|
||||||
|
# "at-or-after turn <id>" — when regenerating an OLDER turn, the
|
||||||
|
# listed transitions may include legitimate intervening-turn ones
|
||||||
|
# that stand on their own. The new phrasing avoids implying the
|
||||||
|
# warning's target turn directly authored every listed transition.
|
||||||
|
assert "at-or-after turn" in msg
|
||||||
|
assert "from superseded turn" not in msg
|
||||||
|
|
||||||
|
|
||||||
def test_regenerate_sibling_lookup_scoped_to_chat(tmp_path, monkeypatch):
|
def test_regenerate_sibling_lookup_scoped_to_chat(tmp_path, monkeypatch):
|
||||||
|
|||||||
Reference in New Issue
Block a user