JacobLinCool commited on
Commit
c9f8f52
·
verified ·
1 Parent(s): d1e80bb

fix: expose project index payload

Browse files

Sync GitHub commit 2192785; ProjectIndex retains the validated payload for incremental dashboard refresh reuse.

Files changed (2) hide show
  1. hackathon_advisor/data.py +1 -0
  2. tests/test_data.py +8 -0
hackathon_advisor/data.py CHANGED
@@ -355,6 +355,7 @@ class ProjectIndex:
355
  self.index_generated_at = str(index_payload["generated_at"])
356
  self.index_algorithm = str(index_payload["algorithm"])
357
  self.snapshot_digest = str(index_payload["snapshot_digest"])
 
358
  self.embedding_metadata = dict(index_payload["embedding"])
359
  self.embedding_dimensions = int(self.embedding_metadata["dimensions"])
360
  self._query_embedder = query_embedder
 
355
  self.index_generated_at = str(index_payload["generated_at"])
356
  self.index_algorithm = str(index_payload["algorithm"])
357
  self.snapshot_digest = str(index_payload["snapshot_digest"])
358
+ self.index_payload = index_payload
359
  self.embedding_metadata = dict(index_payload["embedding"])
360
  self.embedding_dimensions = int(self.embedding_metadata["dimensions"])
361
  self._query_embedder = query_embedder
tests/test_data.py CHANGED
@@ -121,3 +121,11 @@ def test_project_index_rejects_mismatched_snapshot(tmp_path: Path) -> None:
121
  assert "different snapshot timestamp" in str(error)
122
  else:
123
  raise AssertionError("mismatched index should be rejected")
 
 
 
 
 
 
 
 
 
121
  assert "different snapshot timestamp" in str(error)
122
  else:
123
  raise AssertionError("mismatched index should be rejected")
124
+
125
+
126
+ def test_project_index_retains_validated_payload() -> None:
127
+ payload = json.loads(Path("data/project_index.json").read_text(encoding="utf-8"))
128
+ index = ProjectIndex.from_files(Path("data/projects.json"), Path("data/project_index.json"))
129
+
130
+ assert index.index_payload["snapshot_digest"] == payload["snapshot_digest"]
131
+ assert len(index.index_payload["documents"]) == len(index.projects)