Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion hindsight-api-slim/tests/test_chunking.py
Original file line number Diff line number Diff line change
Expand Up @@ -455,4 +455,3 @@ def test_merged_json_array_routes_to_conversation_chunking():
assert isinstance(parsed, list), f"Chunk must be a JSON array: {chunk[:60]}"
assert all(isinstance(e, dict) for e in parsed), f"Every element must be a dict: {chunk[:60]}"
assert all("role" in e for e in parsed), f"Every element must have a role key: {chunk[:60]}"

31 changes: 18 additions & 13 deletions hindsight-api-slim/tests/test_retain_append_mode.py
Original file line number Diff line number Diff line change
Expand Up @@ -254,10 +254,12 @@ async def test_append_mode_conversation_arrays_produce_valid_json(memory, reques

try:
# First retain - JSON conversation array
turn1 = json.dumps([
{"role": "user", "content": "Hello"},
{"role": "assistant", "content": "Hi there"},
])
turn1 = json.dumps(
[
{"role": "user", "content": "Hello"},
{"role": "assistant", "content": "Hi there"},
]
)
await memory.retain_batch_async(
bank_id=bank_id,
contents=[
Expand All @@ -271,10 +273,12 @@ async def test_append_mode_conversation_arrays_produce_valid_json(memory, reques
)

# Second retain - append more turns
turn2 = json.dumps([
{"role": "user", "content": "How are you"},
{"role": "assistant", "content": "Doing well"},
])
turn2 = json.dumps(
[
{"role": "user", "content": "How are you"},
{"role": "assistant", "content": "Doing well"},
]
)
await memory.retain_batch_async(
bank_id=bank_id,
contents=[
Expand All @@ -300,10 +304,12 @@ async def test_append_mode_conversation_arrays_produce_valid_json(memory, reques
assert len(parsed) == 4, "Should contain all 4 messages from both retains"

# Third retain - append again, verify no degradation
turn3 = json.dumps([
{"role": "user", "content": "What is new"},
{"role": "assistant", "content": "Not much"},
])
turn3 = json.dumps(
[
{"role": "user", "content": "What is new"},
{"role": "assistant", "content": "Not much"},
]
)
await memory.retain_batch_async(
bank_id=bank_id,
contents=[
Expand All @@ -329,4 +335,3 @@ async def test_append_mode_conversation_arrays_produce_valid_json(memory, reques

finally:
await memory.delete_bank(bank_id, request_context=request_context)

2 changes: 2 additions & 0 deletions hindsight-cli/src/commands/mental_model.rs
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,7 @@ pub fn create(
Some(types::MentalModelTriggerInput {
mode: types::Mode::Full,
refresh_after_consolidation: true,
refresh_cron: None,
exclude_mental_models: false,
exclude_mental_model_ids: None,
fact_types: None,
Expand Down Expand Up @@ -198,6 +199,7 @@ pub fn update(
let trigger = trigger_refresh_after_consolidation.map(|refresh| types::MentalModelTriggerInput {
mode: types::Mode::Full,
refresh_after_consolidation: refresh,
refresh_cron: None,
exclude_mental_models: false,
exclude_mental_model_ids: None,
fact_types: None,
Expand Down
Loading