Code view:

A painting is a person's account of this edit as text, recorded independently of the node mapping - a rendering often has several equally defensible answers where the mapping has one. Deletions and insertions carry no position on the opposite side in a painting, so that panel draws no caret for them.

Before

…lines 1–77 unchanged (77 lines)
78 for key in initial_projected:
79 assert key in reloaded_projected, \
80 f"Projected vectors: Missing item after reload: {key}"
81 assert abs(initial_projected[key] - reloaded_projected[key]) < 0.0001, \
82 f"Projected vectors: Score mismatch for {key}: " + \
83 f"before={initial_projected[key]:.6f}, after={reloaded_projected[key]:.6f}"
84

After

…lines 1–78 unchanged (78 lines)
79 assert key in reloaded_projected, \
80 f"Projected vectors: Missing item after reload: {key}"
81 assert abs(initial_projected[key] - reloaded_projected[key]) < 0.0001, \
82 f"Projected vectors: Score mismatch for {key}: " + \
83 f"before={initial_projected[key]:.6f}, after={reloaded_projected[key]:.6f}"
84
85 self.redis.del(f"{self.test_key}:normal")
86 self.redis.del(f"{self.test_key}:projected")
87

Before

module
import_from_statement
from "from"
dotted_name
identifier "test"
import "import"
dotted_name
identifier "TestCase"
, ","
dotted_name
identifier "fill_redis_with_vectors"
, ","
dotted_name
identifier "generate_random_vector"
import_statement
import "import"
dotted_name
identifier "random"
class_definition
class "class"
identifier "HNSWPersistence"
argument_list
( "("
identifier "TestCase"
) ")"
: ":"
block
function_definition
def "def"
identifier "getname"
parameters
( "("
identifier "self"
) ")"
: ":"
block
return_statement
return "return"
string
string_start "\""
string_content "HNSW Persistence"
string_end "\""
function_definition
def "def"
identifier "estimated_runtime"
parameters
( "("
identifier "self"
) ")"
: ":"
block
return_statement
return "return"
integer "30"
function_definition (+248 nodes collapsed)
function_definition
def "def"
identifier "test"
parameters
( "("
identifier "self"
) ")"
: ":"
comment "# Setup dimensions"
block
expression_statement
assignment
identifier "dim"
= "="
integer "128"
expression_statement
assignment
identifier "reduced_dim"
= "="
integer "32"
expression_statement
assignment
identifier "count"
= "="
integer "5000"
expression_statement
call
attribute
identifier "random"
. "."
identifier "seed"
argument_list
( "("
integer "42"
) ")"
comment "# Create two datasets - one normal and one with dimension re"...
expression_statement (+29 nodes collapsed)
expression_statement (+31 nodes collapsed)
comment "# Generate query vectors we'll use before and after reload"
expression_statement
assignment
identifier "query_vec_normal"
= "="
call
identifier "generate_random_vector"
argument_list
( "("
identifier "dim"
) ")"
expression_statement
assignment
identifier "query_vec_projected"
= "="
call
identifier "generate_random_vector"
argument_list
( "("
identifier "dim"
) ")"
comment "# Get initial results for both sets"
expression_statement (+27 nodes collapsed)
expression_statement (+29 nodes collapsed)
comment "# Force Redis to save and reload the dataset"
expression_statement (+21 nodes collapsed)
comment "# Verify results after reload"
expression_statement (+27 nodes collapsed)
expression_statement (+29 nodes collapsed)
comment "# Verify normal vectors results"
assert_statement (+21 nodes collapsed)
for_statement (+81 nodes collapsed)
comment "# Verify projected vectors results"
assert_statement (+21 nodes collapsed)
for_statement (+81 nodes collapsed)

After

module
import_from_statement
from "from"
dotted_name
identifier "test"
import "import"
dotted_name
identifier "TestCase"
, ","
dotted_name
identifier "fill_redis_with_vectors"
, ","
dotted_name
identifier "generate_random_vector"
import_statement
import "import"
dotted_name
identifier "random"
class_definition
class "class"
identifier "HNSWPersistence"
argument_list
( "("
identifier "TestCase"
) ")"
: ":"
block
function_definition
def "def"
identifier "getname"
parameters
( "("
identifier "self"
) ")"
: ":"
block
return_statement
return "return"
string
string_start "\""
string_content "HNSW Persistence"
string_end "\""
function_definition
def "def"
identifier "estimated_runtime"
parameters
( "("
identifier "self"
) ")"
: ":"
block
return_statement
return "return"
integer "30"
function_definition (+248 nodes collapsed)
function_definition
def "def"
identifier "test"
parameters
( "("
identifier "self"
) ")"
: ":"
comment "# Setup dimensions"
block
expression_statement
assignment
identifier "dim"
= "="
integer "128"
expression_statement
assignment
identifier "reduced_dim"
= "="
integer "32"
expression_statement
assignment
identifier "count"
= "="
integer "5000"
expression_statement
call
attribute
identifier "random"
. "."
identifier "seed"
argument_list
( "("
integer "42"
) ")"
comment "# Create two datasets - one normal and one with dimension re"...
expression_statement (+29 nodes collapsed)
expression_statement (+31 nodes collapsed)
comment "# Generate query vectors we'll use before and after reload"
expression_statement
assignment
identifier "query_vec_normal"
= "="
call
identifier "generate_random_vector"
argument_list
( "("
identifier "dim"
) ")"
expression_statement
assignment
identifier "query_vec_projected"
= "="
call
identifier "generate_random_vector"
argument_list
( "("
identifier "dim"
) ")"
comment "# Get initial results for both sets"
expression_statement (+27 nodes collapsed)
expression_statement (+29 nodes collapsed)
comment "# Force Redis to save and reload the dataset"
expression_statement (+21 nodes collapsed)
comment "# Verify results after reload"
expression_statement (+27 nodes collapsed)
expression_statement (+29 nodes collapsed)
comment "# Verify normal vectors results"
assert_statement (+21 nodes collapsed)
for_statement (+81 nodes collapsed)
comment "# Verify projected vectors results"
assert_statement (+21 nodes collapsed)
for_statement (+81 nodes collapsed)
expression_statement
call
attribute
identifier "self"
. "."
identifier "redis"
ERROR
. "."
del "del"
argument_list
( "("
string
string_start "f\""
interpolation
{ "{"
attribute
identifier "self"
. "."
identifier "test_key"
} "}"
string_content ":normal"
string_end "\""
) ")"
expression_statement
call
attribute
identifier "self"
. "."
identifier "redis"
ERROR
. "."
del "del"
argument_list
( "("
string
string_start "f\""
interpolation
{ "{"
attribute
identifier "self"
. "."
identifier "test_key"
} "}"
string_content ":projected"
string_end "\""
) ")"