snowflake-code-unit-registry 0.5.2__tar.gz → 0.5.9__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. {snowflake_code_unit_registry-0.5.2 → snowflake_code_unit_registry-0.5.9}/Cargo.lock +86 -92
  2. {snowflake_code_unit_registry-0.5.2 → snowflake_code_unit_registry-0.5.9}/Cargo.toml +1 -1
  3. {snowflake_code_unit_registry-0.5.2 → snowflake_code_unit_registry-0.5.9}/PKG-INFO +1 -1
  4. snowflake_code_unit_registry-0.5.9/crates/scai-state-core/schemas/history/README.md +14 -0
  5. {snowflake_code_unit_registry-0.5.2 → snowflake_code_unit_registry-0.5.9}/crates/scai-state-core/src/error.rs +23 -1
  6. {snowflake_code_unit_registry-0.5.2 → snowflake_code_unit_registry-0.5.9}/crates/scai-state-core/src/lib.rs +4 -0
  7. snowflake_code_unit_registry-0.5.9/crates/scai-state-core/src/migration/mod.rs +390 -0
  8. snowflake_code_unit_registry-0.5.9/crates/scai-state-core/src/migration/versions/mod.rs +32 -0
  9. {snowflake_code_unit_registry-0.5.2 → snowflake_code_unit_registry-0.5.9}/crates/scai-state-core/src/registry/loader.rs +1 -9
  10. {snowflake_code_unit_registry-0.5.2 → snowflake_code_unit_registry-0.5.9}/crates/scai-state-core/src/registry/paths.rs +14 -1
  11. {snowflake_code_unit_registry-0.5.2 → snowflake_code_unit_registry-0.5.9}/crates/scai-state-core/src/registry/tests.rs +154 -3
  12. {snowflake_code_unit_registry-0.5.2 → snowflake_code_unit_registry-0.5.9}/crates/scai-state-core/src/registry.rs +65 -2
  13. {snowflake_code_unit_registry-0.5.2 → snowflake_code_unit_registry-0.5.9}/crates/scai-state-core/src/validation.rs +53 -9
  14. {snowflake_code_unit_registry-0.5.2 → snowflake_code_unit_registry-0.5.9}/crates/scai-state-python/src/lib.rs +21 -0
  15. snowflake_code_unit_registry-0.5.9/crates/scai-state-python/tests/test_migration.py +95 -0
  16. {snowflake_code_unit_registry-0.5.2 → snowflake_code_unit_registry-0.5.9}/crates/scai-state-python/tests/test_validation.py +23 -1
  17. {snowflake_code_unit_registry-0.5.2 → snowflake_code_unit_registry-0.5.9}/pyproject.toml +1 -1
  18. {snowflake_code_unit_registry-0.5.2 → snowflake_code_unit_registry-0.5.9}/python/snowflake_code_unit_registry/__init__.py +37 -3
  19. {snowflake_code_unit_registry-0.5.2 → snowflake_code_unit_registry-0.5.9}/python/snowflake_code_unit_registry/types.py +1 -1
  20. {snowflake_code_unit_registry-0.5.2 → snowflake_code_unit_registry-0.5.9}/README.md +0 -0
  21. {snowflake_code_unit_registry-0.5.2 → snowflake_code_unit_registry-0.5.9}/crates/scai-error-derive/Cargo.toml +0 -0
  22. {snowflake_code_unit_registry-0.5.2 → snowflake_code_unit_registry-0.5.9}/crates/scai-error-derive/src/lib.rs +0 -0
  23. {snowflake_code_unit_registry-0.5.2 → snowflake_code_unit_registry-0.5.9}/crates/scai-error-derive/tests/derive_integration.rs +0 -0
  24. {snowflake_code_unit_registry-0.5.2 → snowflake_code_unit_registry-0.5.9}/crates/scai-state-core/Cargo.toml +0 -0
  25. {snowflake_code_unit_registry-0.5.2 → snowflake_code_unit_registry-0.5.9}/crates/scai-state-core/build.rs +0 -0
  26. {snowflake_code_unit_registry-0.5.2 → snowflake_code_unit_registry-0.5.9}/crates/scai-state-core/examples/code-unit.example.json +0 -0
  27. {snowflake_code_unit_registry-0.5.2 → snowflake_code_unit_registry-0.5.9}/crates/scai-state-core/schemas/code-unit.schema.json +0 -0
  28. {snowflake_code_unit_registry-0.5.2 → snowflake_code_unit_registry-0.5.9}/crates/scai-state-core/schemas/query-reference.rs.tmpl +0 -0
  29. {snowflake_code_unit_registry-0.5.2 → snowflake_code_unit_registry-0.5.9}/crates/scai-state-core/schemas/query-reference.tmpl +0 -0
  30. {snowflake_code_unit_registry-0.5.2 → snowflake_code_unit_registry-0.5.9}/crates/scai-state-core/src/checksum.rs +0 -0
  31. {snowflake_code_unit_registry-0.5.2 → snowflake_code_unit_registry-0.5.9}/crates/scai-state-core/src/error_trace.rs +0 -0
  32. {snowflake_code_unit_registry-0.5.2 → snowflake_code_unit_registry-0.5.9}/crates/scai-state-core/src/filter.rs +0 -0
  33. {snowflake_code_unit_registry-0.5.2 → snowflake_code_unit_registry-0.5.9}/crates/scai-state-core/src/generated/file_path_fields.rs +0 -0
  34. {snowflake_code_unit_registry-0.5.2 → snowflake_code_unit_registry-0.5.9}/crates/scai-state-core/src/generated/mod.rs +0 -0
  35. {snowflake_code_unit_registry-0.5.2 → snowflake_code_unit_registry-0.5.9}/crates/scai-state-core/src/generated/query_reference.rs +0 -0
  36. {snowflake_code_unit_registry-0.5.2 → snowflake_code_unit_registry-0.5.9}/crates/scai-state-core/src/generated/updated_at_paths.rs +0 -0
  37. {snowflake_code_unit_registry-0.5.2 → snowflake_code_unit_registry-0.5.9}/crates/scai-state-core/src/identity.rs +0 -0
  38. {snowflake_code_unit_registry-0.5.2 → snowflake_code_unit_registry-0.5.9}/crates/scai-state-core/src/registry/README.md +0 -0
  39. {snowflake_code_unit_registry-0.5.2 → snowflake_code_unit_registry-0.5.9}/crates/scai-state-core/src/registry/graph.rs +0 -0
  40. {snowflake_code_unit_registry-0.5.2 → snowflake_code_unit_registry-0.5.9}/crates/scai-state-core/src/registry/in_memory.rs +0 -0
  41. {snowflake_code_unit_registry-0.5.2 → snowflake_code_unit_registry-0.5.9}/crates/scai-state-core/src/registry/query.rs +0 -0
  42. {snowflake_code_unit_registry-0.5.2 → snowflake_code_unit_registry-0.5.9}/crates/scai-state-core/src/registry/test_helpers.rs +0 -0
  43. {snowflake_code_unit_registry-0.5.2 → snowflake_code_unit_registry-0.5.9}/crates/scai-state-python/Cargo.toml +0 -0
  44. {snowflake_code_unit_registry-0.5.2 → snowflake_code_unit_registry-0.5.9}/crates/scai-state-python/README.md +0 -0
  45. {snowflake_code_unit_registry-0.5.2 → snowflake_code_unit_registry-0.5.9}/crates/scai-state-python/tests/conftest.py +0 -0
  46. {snowflake_code_unit_registry-0.5.2 → snowflake_code_unit_registry-0.5.9}/crates/scai-state-python/tests/test_batch.py +0 -0
  47. {snowflake_code_unit_registry-0.5.2 → snowflake_code_unit_registry-0.5.9}/crates/scai-state-python/tests/test_checksum.py +0 -0
  48. {snowflake_code_unit_registry-0.5.2 → snowflake_code_unit_registry-0.5.9}/crates/scai-state-python/tests/test_crud.py +0 -0
  49. {snowflake_code_unit_registry-0.5.2 → snowflake_code_unit_registry-0.5.9}/crates/scai-state-python/tests/test_errors.py +0 -0
  50. {snowflake_code_unit_registry-0.5.2 → snowflake_code_unit_registry-0.5.9}/crates/scai-state-python/tests/test_query.py +0 -0
  51. {snowflake_code_unit_registry-0.5.2 → snowflake_code_unit_registry-0.5.9}/crates/scai-state-python/tests/test_refresh.py +0 -0
  52. {snowflake_code_unit_registry-0.5.2 → snowflake_code_unit_registry-0.5.9}/crates/scai-state-python/tests/test_serialization.py +0 -0
@@ -161,9 +161,9 @@ checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33"
161
161
 
162
162
  [[package]]
163
163
  name = "cc"
164
- version = "1.2.58"
164
+ version = "1.2.59"
165
165
  source = "registry+https://github.com/rust-lang/crates.io-index"
166
- checksum = "e1e928d4b69e3077709075a938a05ffbedfa53a84c8f766efbf8220bb1ff60e1"
166
+ checksum = "b7a4d3ec6524d28a329fc53654bbadc9bdd7b0431f5d65f1a56ffb28a1ee5283"
167
167
  dependencies = [
168
168
  "find-msvc-tools",
169
169
  "jobserver",
@@ -499,9 +499,9 @@ dependencies = [
499
499
 
500
500
  [[package]]
501
501
  name = "fastrand"
502
- version = "2.3.0"
502
+ version = "2.4.0"
503
503
  source = "registry+https://github.com/rust-lang/crates.io-index"
504
- checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be"
504
+ checksum = "a043dc74da1e37d6afe657061213aa6f425f855399a11d3463c6ecccc4dfda1f"
505
505
 
506
506
  [[package]]
507
507
  name = "find-msvc-tools"
@@ -834,9 +834,9 @@ dependencies = [
834
834
 
835
835
  [[package]]
836
836
  name = "hyper"
837
- version = "1.8.1"
837
+ version = "1.9.0"
838
838
  source = "registry+https://github.com/rust-lang/crates.io-index"
839
- checksum = "2ab2d4f250c3d7b1c9fcdff1cece94ea4e2dfbec68614f7b87cb205f24ca9d11"
839
+ checksum = "6299f016b246a94207e63da54dbe807655bf9e00044f73ded42c3ac5305fbcca"
840
840
  dependencies = [
841
841
  "atomic-waker",
842
842
  "bytes",
@@ -848,7 +848,6 @@ dependencies = [
848
848
  "httparse",
849
849
  "itoa",
850
850
  "pin-project-lite",
851
- "pin-utils",
852
851
  "smallvec",
853
852
  "tokio",
854
853
  "want",
@@ -919,12 +918,13 @@ dependencies = [
919
918
 
920
919
  [[package]]
921
920
  name = "icu_collections"
922
- version = "2.1.1"
921
+ version = "2.2.0"
923
922
  source = "registry+https://github.com/rust-lang/crates.io-index"
924
- checksum = "4c6b649701667bbe825c3b7e6388cb521c23d88644678e83c0c4d0a621a34b43"
923
+ checksum = "2984d1cd16c883d7935b9e07e44071dca8d917fd52ecc02c04d5fa0b5a3f191c"
925
924
  dependencies = [
926
925
  "displaydoc",
927
926
  "potential_utf",
927
+ "utf8_iter",
928
928
  "yoke",
929
929
  "zerofrom",
930
930
  "zerovec",
@@ -932,9 +932,9 @@ dependencies = [
932
932
 
933
933
  [[package]]
934
934
  name = "icu_locale_core"
935
- version = "2.1.1"
935
+ version = "2.2.0"
936
936
  source = "registry+https://github.com/rust-lang/crates.io-index"
937
- checksum = "edba7861004dd3714265b4db54a3c390e880ab658fec5f7db895fae2046b5bb6"
937
+ checksum = "92219b62b3e2b4d88ac5119f8904c10f8f61bf7e95b640d25ba3075e6cac2c29"
938
938
  dependencies = [
939
939
  "displaydoc",
940
940
  "litemap",
@@ -945,9 +945,9 @@ dependencies = [
945
945
 
946
946
  [[package]]
947
947
  name = "icu_normalizer"
948
- version = "2.1.1"
948
+ version = "2.2.0"
949
949
  source = "registry+https://github.com/rust-lang/crates.io-index"
950
- checksum = "5f6c8828b67bf8908d82127b2054ea1b4427ff0230ee9141c54251934ab1b599"
950
+ checksum = "c56e5ee99d6e3d33bd91c5d85458b6005a22140021cc324cea84dd0e72cff3b4"
951
951
  dependencies = [
952
952
  "icu_collections",
953
953
  "icu_normalizer_data",
@@ -959,15 +959,15 @@ dependencies = [
959
959
 
960
960
  [[package]]
961
961
  name = "icu_normalizer_data"
962
- version = "2.1.1"
962
+ version = "2.2.0"
963
963
  source = "registry+https://github.com/rust-lang/crates.io-index"
964
- checksum = "7aedcccd01fc5fe81e6b489c15b247b8b0690feb23304303a9e560f37efc560a"
964
+ checksum = "da3be0ae77ea334f4da67c12f149704f19f81d1adf7c51cf482943e84a2bad38"
965
965
 
966
966
  [[package]]
967
967
  name = "icu_properties"
968
- version = "2.1.2"
968
+ version = "2.2.0"
969
969
  source = "registry+https://github.com/rust-lang/crates.io-index"
970
- checksum = "020bfc02fe870ec3a66d93e677ccca0562506e5872c650f893269e08615d74ec"
970
+ checksum = "bee3b67d0ea5c2cca5003417989af8996f8604e34fb9ddf96208a033901e70de"
971
971
  dependencies = [
972
972
  "icu_collections",
973
973
  "icu_locale_core",
@@ -979,15 +979,15 @@ dependencies = [
979
979
 
980
980
  [[package]]
981
981
  name = "icu_properties_data"
982
- version = "2.1.2"
982
+ version = "2.2.0"
983
983
  source = "registry+https://github.com/rust-lang/crates.io-index"
984
- checksum = "616c294cf8d725c6afcd8f55abc17c56464ef6211f9ed59cccffe534129c77af"
984
+ checksum = "8e2bbb201e0c04f7b4b3e14382af113e17ba4f63e2c9d2ee626b720cbce54a14"
985
985
 
986
986
  [[package]]
987
987
  name = "icu_provider"
988
- version = "2.1.1"
988
+ version = "2.2.0"
989
989
  source = "registry+https://github.com/rust-lang/crates.io-index"
990
- checksum = "85962cf0ce02e1e0a629cc34e7ca3e373ce20dda4c4d7294bbd0bf1fdb59e614"
990
+ checksum = "139c4cf31c8b5f33d7e199446eff9c1e02decfc2f0eec2c8d71f65befa45b421"
991
991
  dependencies = [
992
992
  "displaydoc",
993
993
  "icu_locale_core",
@@ -1069,9 +1069,9 @@ dependencies = [
1069
1069
 
1070
1070
  [[package]]
1071
1071
  name = "indexmap"
1072
- version = "2.13.0"
1072
+ version = "2.13.1"
1073
1073
  source = "registry+https://github.com/rust-lang/crates.io-index"
1074
- checksum = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017"
1074
+ checksum = "45a8a2b9cb3e0b0c1803dbb0758ffac5de2f425b23c28f518faabd9d805342ff"
1075
1075
  dependencies = [
1076
1076
  "equivalent",
1077
1077
  "hashbrown 0.16.1",
@@ -1204,9 +1204,9 @@ dependencies = [
1204
1204
 
1205
1205
  [[package]]
1206
1206
  name = "js-sys"
1207
- version = "0.3.92"
1207
+ version = "0.3.94"
1208
1208
  source = "registry+https://github.com/rust-lang/crates.io-index"
1209
- checksum = "cc4c90f45aa2e6eacbe8645f77fdea542ac97a494bcd117a67df9ff4d611f995"
1209
+ checksum = "2e04e2ef80ce82e13552136fabeef8a5ed1f985a96805761cbb9a2c34e7664d9"
1210
1210
  dependencies = [
1211
1211
  "cfg-if",
1212
1212
  "futures-util",
@@ -1216,9 +1216,9 @@ dependencies = [
1216
1216
 
1217
1217
  [[package]]
1218
1218
  name = "jsonschema"
1219
- version = "0.45.0"
1219
+ version = "0.45.1"
1220
1220
  source = "registry+https://github.com/rust-lang/crates.io-index"
1221
- checksum = "6f29616f6e19415398eb186964fb7cbbeef572c79bede3622a8277667924bbe3"
1221
+ checksum = "257eb0e588b76827bbddc9e73945a9743693dd2adeaee9da26420f93cfedb798"
1222
1222
  dependencies = [
1223
1223
  "ahash",
1224
1224
  "bytecount",
@@ -1257,9 +1257,9 @@ checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2"
1257
1257
 
1258
1258
  [[package]]
1259
1259
  name = "libc"
1260
- version = "0.2.183"
1260
+ version = "0.2.184"
1261
1261
  source = "registry+https://github.com/rust-lang/crates.io-index"
1262
- checksum = "b5b646652bf6661599e1da8901b3b9522896f01e736bad5f723fe7a3a27f899d"
1262
+ checksum = "48f5d2a454e16a5ea0f4ced81bd44e4cfc7bd3a507b61887c99fd3538b28e4af"
1263
1263
 
1264
1264
  [[package]]
1265
1265
  name = "libloading"
@@ -1285,9 +1285,9 @@ checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53"
1285
1285
 
1286
1286
  [[package]]
1287
1287
  name = "litemap"
1288
- version = "0.8.1"
1288
+ version = "0.8.2"
1289
1289
  source = "registry+https://github.com/rust-lang/crates.io-index"
1290
- checksum = "6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77"
1290
+ checksum = "92daf443525c4cce67b150400bc2316076100ce0b3686209eb8cf3c31612e6f0"
1291
1291
 
1292
1292
  [[package]]
1293
1293
  name = "lock_api"
@@ -1617,12 +1617,6 @@ version = "0.2.17"
1617
1617
  source = "registry+https://github.com/rust-lang/crates.io-index"
1618
1618
  checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd"
1619
1619
 
1620
- [[package]]
1621
- name = "pin-utils"
1622
- version = "0.1.0"
1623
- source = "registry+https://github.com/rust-lang/crates.io-index"
1624
- checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
1625
-
1626
1620
  [[package]]
1627
1621
  name = "portable-atomic"
1628
1622
  version = "1.13.1"
@@ -1631,9 +1625,9 @@ checksum = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49"
1631
1625
 
1632
1626
  [[package]]
1633
1627
  name = "potential_utf"
1634
- version = "0.1.4"
1628
+ version = "0.1.5"
1635
1629
  source = "registry+https://github.com/rust-lang/crates.io-index"
1636
- checksum = "b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77"
1630
+ checksum = "0103b1cef7ec0cf76490e969665504990193874ea05c85ff9bab8b911d0a0564"
1637
1631
  dependencies = [
1638
1632
  "zerovec",
1639
1633
  ]
@@ -1678,9 +1672,9 @@ dependencies = [
1678
1672
 
1679
1673
  [[package]]
1680
1674
  name = "pyo3"
1681
- version = "0.28.2"
1675
+ version = "0.28.3"
1682
1676
  source = "registry+https://github.com/rust-lang/crates.io-index"
1683
- checksum = "cf85e27e86080aafd5a22eae58a162e133a589551542b3e5cee4beb27e54f8e1"
1677
+ checksum = "91fd8e38a3b50ed1167fb981cd6fd60147e091784c427b8f7183a7ee32c31c12"
1684
1678
  dependencies = [
1685
1679
  "libc",
1686
1680
  "once_cell",
@@ -1692,9 +1686,9 @@ dependencies = [
1692
1686
 
1693
1687
  [[package]]
1694
1688
  name = "pyo3-build-config"
1695
- version = "0.28.2"
1689
+ version = "0.28.3"
1696
1690
  source = "registry+https://github.com/rust-lang/crates.io-index"
1697
- checksum = "8bf94ee265674bf76c09fa430b0e99c26e319c945d96ca0d5a8215f31bf81cf7"
1691
+ checksum = "e368e7ddfdeb98c9bca7f8383be1648fd84ab466bf2bc015e94008db6d35611e"
1698
1692
  dependencies = [
1699
1693
  "python3-dll-a",
1700
1694
  "target-lexicon",
@@ -1702,9 +1696,9 @@ dependencies = [
1702
1696
 
1703
1697
  [[package]]
1704
1698
  name = "pyo3-ffi"
1705
- version = "0.28.2"
1699
+ version = "0.28.3"
1706
1700
  source = "registry+https://github.com/rust-lang/crates.io-index"
1707
- checksum = "491aa5fc66d8059dd44a75f4580a2962c1862a1c2945359db36f6c2818b748dc"
1701
+ checksum = "7f29e10af80b1f7ccaf7f69eace800a03ecd13e883acfacc1e5d0988605f651e"
1708
1702
  dependencies = [
1709
1703
  "libc",
1710
1704
  "pyo3-build-config",
@@ -1712,9 +1706,9 @@ dependencies = [
1712
1706
 
1713
1707
  [[package]]
1714
1708
  name = "pyo3-macros"
1715
- version = "0.28.2"
1709
+ version = "0.28.3"
1716
1710
  source = "registry+https://github.com/rust-lang/crates.io-index"
1717
- checksum = "f5d671734e9d7a43449f8480f8b38115df67bef8d21f76837fa75ee7aaa5e52e"
1711
+ checksum = "df6e520eff47c45997d2fc7dd8214b25dd1310918bbb2642156ef66a67f29813"
1718
1712
  dependencies = [
1719
1713
  "proc-macro2",
1720
1714
  "pyo3-macros-backend",
@@ -1724,9 +1718,9 @@ dependencies = [
1724
1718
 
1725
1719
  [[package]]
1726
1720
  name = "pyo3-macros-backend"
1727
- version = "0.28.2"
1721
+ version = "0.28.3"
1728
1722
  source = "registry+https://github.com/rust-lang/crates.io-index"
1729
- checksum = "22faaa1ce6c430a1f71658760497291065e6450d7b5dc2bcf254d49f66ee700a"
1723
+ checksum = "c4cdc218d835738f81c2338f822078af45b4afdf8b2e33cbb5916f108b813acb"
1730
1724
  dependencies = [
1731
1725
  "heck",
1732
1726
  "proc-macro2",
@@ -1737,9 +1731,9 @@ dependencies = [
1737
1731
 
1738
1732
  [[package]]
1739
1733
  name = "python3-dll-a"
1740
- version = "0.2.14"
1734
+ version = "0.2.15"
1741
1735
  source = "registry+https://github.com/rust-lang/crates.io-index"
1742
- checksum = "d381ef313ae70b4da5f95f8a4de773c6aa5cd28f73adec4b4a31df70b66780d8"
1736
+ checksum = "d80ba7540edb18890d444c5aa8e1f1f99b1bdf26fb26ae383135325f4a36042b"
1743
1737
  dependencies = [
1744
1738
  "cc",
1745
1739
  ]
@@ -1876,9 +1870,9 @@ dependencies = [
1876
1870
 
1877
1871
  [[package]]
1878
1872
  name = "referencing"
1879
- version = "0.45.0"
1873
+ version = "0.45.1"
1880
1874
  source = "registry+https://github.com/rust-lang/crates.io-index"
1881
- checksum = "b8a618c14f8ba29d8193bb55e2bf13e4fb2b1115313ecb7ae94b43100c7ac7d5"
1875
+ checksum = "e2f38748ceca8d0b0013e60f534d94a6e23dfd89fd2a88318fc5a2d04fda1010"
1882
1876
  dependencies = [
1883
1877
  "ahash",
1884
1878
  "fluent-uri",
@@ -2101,7 +2095,7 @@ dependencies = [
2101
2095
 
2102
2096
  [[package]]
2103
2097
  name = "scai-error-derive"
2104
- version = "0.5.2"
2098
+ version = "0.5.9"
2105
2099
  dependencies = [
2106
2100
  "err_code",
2107
2101
  "heck",
@@ -2115,7 +2109,7 @@ dependencies = [
2115
2109
 
2116
2110
  [[package]]
2117
2111
  name = "scai-state-core"
2118
- version = "0.5.2"
2112
+ version = "0.5.9"
2119
2113
  dependencies = [
2120
2114
  "chrono",
2121
2115
  "err_code",
@@ -2140,7 +2134,7 @@ dependencies = [
2140
2134
 
2141
2135
  [[package]]
2142
2136
  name = "scai-state-csharp"
2143
- version = "0.5.2"
2137
+ version = "0.5.9"
2144
2138
  dependencies = [
2145
2139
  "interoptopus",
2146
2140
  "interoptopus_backend_csharp",
@@ -2151,7 +2145,7 @@ dependencies = [
2151
2145
 
2152
2146
  [[package]]
2153
2147
  name = "scai-state-node"
2154
- version = "0.5.2"
2148
+ version = "0.5.9"
2155
2149
  dependencies = [
2156
2150
  "napi",
2157
2151
  "napi-build",
@@ -2163,7 +2157,7 @@ dependencies = [
2163
2157
 
2164
2158
  [[package]]
2165
2159
  name = "scai-state-python"
2166
- version = "0.5.2"
2160
+ version = "0.5.9"
2167
2161
  dependencies = [
2168
2162
  "pyo3",
2169
2163
  "pythonize",
@@ -2236,9 +2230,9 @@ dependencies = [
2236
2230
 
2237
2231
  [[package]]
2238
2232
  name = "semver"
2239
- version = "1.0.27"
2233
+ version = "1.0.28"
2240
2234
  source = "registry+https://github.com/rust-lang/crates.io-index"
2241
- checksum = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2"
2235
+ checksum = "8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd"
2242
2236
  dependencies = [
2243
2237
  "serde",
2244
2238
  "serde_core",
@@ -2574,9 +2568,9 @@ dependencies = [
2574
2568
 
2575
2569
  [[package]]
2576
2570
  name = "tinystr"
2577
- version = "0.8.2"
2571
+ version = "0.8.3"
2578
2572
  source = "registry+https://github.com/rust-lang/crates.io-index"
2579
- checksum = "42d3e9c45c09de15d06dd8acf5f4e0e399e85927b7f00711024eb7ae10fa4869"
2573
+ checksum = "c8323304221c2a851516f22236c5722a72eaa19749016521d6dff0824447d96d"
2580
2574
  dependencies = [
2581
2575
  "displaydoc",
2582
2576
  "zerovec",
@@ -2584,9 +2578,9 @@ dependencies = [
2584
2578
 
2585
2579
  [[package]]
2586
2580
  name = "tokio"
2587
- version = "1.50.0"
2581
+ version = "1.51.0"
2588
2582
  source = "registry+https://github.com/rust-lang/crates.io-index"
2589
- checksum = "27ad5e34374e03cfffefc301becb44e9dc3c17584f414349ebe29ed26661822d"
2583
+ checksum = "2bd1c4c0fc4a7ab90fc15ef6daaa3ec3b893f004f915f2392557ed23237820cd"
2590
2584
  dependencies = [
2591
2585
  "bytes",
2592
2586
  "libc",
@@ -2874,9 +2868,9 @@ dependencies = [
2874
2868
 
2875
2869
  [[package]]
2876
2870
  name = "wasm-bindgen"
2877
- version = "0.2.115"
2871
+ version = "0.2.117"
2878
2872
  source = "registry+https://github.com/rust-lang/crates.io-index"
2879
- checksum = "6523d69017b7633e396a89c5efab138161ed5aafcbc8d3e5c5a42ae38f50495a"
2873
+ checksum = "0551fc1bb415591e3372d0bc4780db7e587d84e2a7e79da121051c5c4b89d0b0"
2880
2874
  dependencies = [
2881
2875
  "cfg-if",
2882
2876
  "once_cell",
@@ -2887,9 +2881,9 @@ dependencies = [
2887
2881
 
2888
2882
  [[package]]
2889
2883
  name = "wasm-bindgen-futures"
2890
- version = "0.4.65"
2884
+ version = "0.4.67"
2891
2885
  source = "registry+https://github.com/rust-lang/crates.io-index"
2892
- checksum = "2d1faf851e778dfa54db7cd438b70758eba9755cb47403f3496edd7c8fc212f0"
2886
+ checksum = "03623de6905b7206edd0a75f69f747f134b7f0a2323392d664448bf2d3c5d87e"
2893
2887
  dependencies = [
2894
2888
  "js-sys",
2895
2889
  "wasm-bindgen",
@@ -2897,9 +2891,9 @@ dependencies = [
2897
2891
 
2898
2892
  [[package]]
2899
2893
  name = "wasm-bindgen-macro"
2900
- version = "0.2.115"
2894
+ version = "0.2.117"
2901
2895
  source = "registry+https://github.com/rust-lang/crates.io-index"
2902
- checksum = "4e3a6c758eb2f701ed3d052ff5737f5bfe6614326ea7f3bbac7156192dc32e67"
2896
+ checksum = "7fbdf9a35adf44786aecd5ff89b4563a90325f9da0923236f6104e603c7e86be"
2903
2897
  dependencies = [
2904
2898
  "quote",
2905
2899
  "wasm-bindgen-macro-support",
@@ -2907,9 +2901,9 @@ dependencies = [
2907
2901
 
2908
2902
  [[package]]
2909
2903
  name = "wasm-bindgen-macro-support"
2910
- version = "0.2.115"
2904
+ version = "0.2.117"
2911
2905
  source = "registry+https://github.com/rust-lang/crates.io-index"
2912
- checksum = "921de2737904886b52bcbb237301552d05969a6f9c40d261eb0533c8b055fedf"
2906
+ checksum = "dca9693ef2bab6d4e6707234500350d8dad079eb508dca05530c85dc3a529ff2"
2913
2907
  dependencies = [
2914
2908
  "bumpalo",
2915
2909
  "proc-macro2",
@@ -2920,9 +2914,9 @@ dependencies = [
2920
2914
 
2921
2915
  [[package]]
2922
2916
  name = "wasm-bindgen-shared"
2923
- version = "0.2.115"
2917
+ version = "0.2.117"
2924
2918
  source = "registry+https://github.com/rust-lang/crates.io-index"
2925
- checksum = "a93e946af942b58934c604527337bad9ae33ba1d5c6900bbb41c2c07c2364a93"
2919
+ checksum = "39129a682a6d2d841b6c429d0c51e5cb0ed1a03829d8b3d1e69a011e62cb3d3b"
2926
2920
  dependencies = [
2927
2921
  "unicode-ident",
2928
2922
  ]
@@ -2963,9 +2957,9 @@ dependencies = [
2963
2957
 
2964
2958
  [[package]]
2965
2959
  name = "web-sys"
2966
- version = "0.3.92"
2960
+ version = "0.3.94"
2967
2961
  source = "registry+https://github.com/rust-lang/crates.io-index"
2968
- checksum = "84cde8507f4d7cfcb1185b8cb5890c494ffea65edbe1ba82cfd63661c805ed94"
2962
+ checksum = "cd70027e39b12f0849461e08ffc50b9cd7688d942c1c8e3c7b22273236b4dd0a"
2969
2963
  dependencies = [
2970
2964
  "js-sys",
2971
2965
  "wasm-bindgen",
@@ -3317,9 +3311,9 @@ dependencies = [
3317
3311
 
3318
3312
  [[package]]
3319
3313
  name = "writeable"
3320
- version = "0.6.2"
3314
+ version = "0.6.3"
3321
3315
  source = "registry+https://github.com/rust-lang/crates.io-index"
3322
- checksum = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9"
3316
+ checksum = "1ffae5123b2d3fc086436f8834ae3ab053a283cfac8fe0a0b8eaae044768a4c4"
3323
3317
 
3324
3318
  [[package]]
3325
3319
  name = "xxhash-rust"
@@ -3329,9 +3323,9 @@ checksum = "fdd20c5420375476fbd4394763288da7eb0cc0b8c11deed431a91562af7335d3"
3329
3323
 
3330
3324
  [[package]]
3331
3325
  name = "yoke"
3332
- version = "0.8.1"
3326
+ version = "0.8.2"
3333
3327
  source = "registry+https://github.com/rust-lang/crates.io-index"
3334
- checksum = "72d6e5c6afb84d73944e5cedb052c4680d5657337201555f9f2a16b7406d4954"
3328
+ checksum = "abe8c5fda708d9ca3df187cae8bfb9ceda00dd96231bed36e445a1a48e66f9ca"
3335
3329
  dependencies = [
3336
3330
  "stable_deref_trait",
3337
3331
  "yoke-derive",
@@ -3340,9 +3334,9 @@ dependencies = [
3340
3334
 
3341
3335
  [[package]]
3342
3336
  name = "yoke-derive"
3343
- version = "0.8.1"
3337
+ version = "0.8.2"
3344
3338
  source = "registry+https://github.com/rust-lang/crates.io-index"
3345
- checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d"
3339
+ checksum = "de844c262c8848816172cef550288e7dc6c7b7814b4ee56b3e1553f275f1858e"
3346
3340
  dependencies = [
3347
3341
  "proc-macro2",
3348
3342
  "quote",
@@ -3372,18 +3366,18 @@ dependencies = [
3372
3366
 
3373
3367
  [[package]]
3374
3368
  name = "zerofrom"
3375
- version = "0.1.6"
3369
+ version = "0.1.7"
3376
3370
  source = "registry+https://github.com/rust-lang/crates.io-index"
3377
- checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5"
3371
+ checksum = "69faa1f2a1ea75661980b013019ed6687ed0e83d069bc1114e2cc74c6c04c4df"
3378
3372
  dependencies = [
3379
3373
  "zerofrom-derive",
3380
3374
  ]
3381
3375
 
3382
3376
  [[package]]
3383
3377
  name = "zerofrom-derive"
3384
- version = "0.1.6"
3378
+ version = "0.1.7"
3385
3379
  source = "registry+https://github.com/rust-lang/crates.io-index"
3386
- checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502"
3380
+ checksum = "11532158c46691caf0f2593ea8358fed6bbf68a0315e80aae9bd41fbade684a1"
3387
3381
  dependencies = [
3388
3382
  "proc-macro2",
3389
3383
  "quote",
@@ -3399,9 +3393,9 @@ checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0"
3399
3393
 
3400
3394
  [[package]]
3401
3395
  name = "zerotrie"
3402
- version = "0.2.3"
3396
+ version = "0.2.4"
3403
3397
  source = "registry+https://github.com/rust-lang/crates.io-index"
3404
- checksum = "2a59c17a5562d507e4b54960e8569ebee33bee890c70aa3fe7b97e85a9fd7851"
3398
+ checksum = "0f9152d31db0792fa83f70fb2f83148effb5c1f5b8c7686c3459e361d9bc20bf"
3405
3399
  dependencies = [
3406
3400
  "displaydoc",
3407
3401
  "yoke",
@@ -3410,9 +3404,9 @@ dependencies = [
3410
3404
 
3411
3405
  [[package]]
3412
3406
  name = "zerovec"
3413
- version = "0.11.5"
3407
+ version = "0.11.6"
3414
3408
  source = "registry+https://github.com/rust-lang/crates.io-index"
3415
- checksum = "6c28719294829477f525be0186d13efa9a3c602f7ec202ca9e353d310fb9a002"
3409
+ checksum = "90f911cbc359ab6af17377d242225f4d75119aec87ea711a880987b18cd7b239"
3416
3410
  dependencies = [
3417
3411
  "yoke",
3418
3412
  "zerofrom",
@@ -3421,9 +3415,9 @@ dependencies = [
3421
3415
 
3422
3416
  [[package]]
3423
3417
  name = "zerovec-derive"
3424
- version = "0.11.2"
3418
+ version = "0.11.3"
3425
3419
  source = "registry+https://github.com/rust-lang/crates.io-index"
3426
- checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3"
3420
+ checksum = "625dc425cab0dca6dc3c3319506e6593dcb08a9f387ea3b284dbd52a92c40555"
3427
3421
  dependencies = [
3428
3422
  "proc-macro2",
3429
3423
  "quote",
@@ -3,7 +3,7 @@ resolver = "2"
3
3
  members = ["crates/scai-error-derive", "crates/scai-state-core", "crates/scai-state-python"]
4
4
 
5
5
  [workspace.package]
6
- version = "0.5.2"
6
+ version = "0.5.9"
7
7
  edition = "2021"
8
8
  license = "SEE LICENSE IN LICENSE"
9
9
  repository = "https://github.com/snowflake-eng/scai-state"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: snowflake-code-unit-registry
3
- Version: 0.5.2
3
+ Version: 0.5.9
4
4
  Classifier: Development Status :: 3 - Alpha
5
5
  Classifier: Intended Audience :: Developers
6
6
  Classifier: License :: OSI Approved :: Apache Software License
@@ -0,0 +1,14 @@
1
+ # Schema History
2
+
3
+ Frozen snapshots of previous schema versions. Each snapshot captures the
4
+ schema as it was *before* bumping to the next version, providing a reference
5
+ for migration correctness and regression testing.
6
+
7
+ This directory is currently empty — it will contain its first snapshot when
8
+ `CURRENT_SCHEMA_VERSION` is bumped from 1 to 2.
9
+
10
+ **Rules:**
11
+
12
+ - Files are IMMUTABLE — never modify a frozen schema after it has been committed.
13
+ - Naming: `code-unit.v{N}.schema.json` (snapshot of the schema that was current for version N).
14
+ - See `schema-workflow.mdc` step 1 for when to create a snapshot.
@@ -168,6 +168,26 @@ pub enum Error {
168
168
  #[snafu(implicit)]
169
169
  location: snafu::Location,
170
170
  },
171
+
172
+ #[snafu(display(
173
+ "Schema version {document_version} is newer than supported version {supported_version}. \
174
+ Upgrade the library to read this document."
175
+ ))]
176
+ #[error_code(1020)]
177
+ SchemaVersionNewerThanSupported {
178
+ document_version: i64,
179
+ supported_version: i64,
180
+ #[snafu(implicit)]
181
+ location: snafu::Location,
182
+ },
183
+
184
+ #[snafu(display("Schema migration failed: {message}"))]
185
+ #[error_code(1021)]
186
+ SchemaMigrationError {
187
+ message: String,
188
+ #[snafu(implicit)]
189
+ location: snafu::Location,
190
+ },
171
191
  }
172
192
 
173
193
  impl ErrorTrace for Error {
@@ -234,7 +254,7 @@ pub struct TraceEntry {
234
254
 
235
255
  /// Bump this when adding or removing a variant.
236
256
  #[cfg(test)]
237
- const EXPECTED_VARIANT_COUNT: usize = 18;
257
+ const EXPECTED_VARIANT_COUNT: usize = 20;
238
258
 
239
259
  /// Result type alias for SCAI state operations
240
260
  pub type Result<T> = std::result::Result<T, Error>;
@@ -302,6 +322,8 @@ mod tests {
302
322
  #[test_case(WriteSucceededRefreshFailedSnafu.into_error(Box::new(ValidationSnafu { message: "msg" }.build())) => 1015 ; "WriteSucceededRefreshFailed")]
303
323
  #[test_case(ScopedRefreshRequiresFullRefreshSnafu { message: "run" }.build() => 1016 ; "ScopedRefreshRequiresFullRefresh")]
304
324
  #[test_case(ScopedRefreshUnresolvedDependencySnafu { id: "id" }.build() => 1017 ; "ScopedRefreshUnresolvedDependency")]
325
+ #[test_case(SchemaVersionNewerThanSupportedSnafu { document_version: 3i64, supported_version: 2i64 }.build() => 1020 ; "SchemaVersionNewerThanSupported")]
326
+ #[test_case(SchemaMigrationSnafu { message: "failed" }.build() => 1021 ; "SchemaMigrationError")]
305
327
  fn error_code_is_stable(err: Error) -> i32 {
306
328
  err.error_code_i32()
307
329
  }
@@ -9,6 +9,7 @@ pub mod error_trace;
9
9
  pub mod filter;
10
10
  pub mod generated;
11
11
  pub mod identity;
12
+ pub mod migration;
12
13
  pub mod registry;
13
14
  pub mod validation;
14
15
 
@@ -43,5 +44,8 @@ pub use validation::ValidationIssue;
43
44
  pub use validation::ValidationIssueKind;
44
45
  pub use validation::ValidationReport;
45
46
 
47
+ // Re-export migration constants
48
+ pub use migration::CURRENT_SCHEMA_VERSION;
49
+
46
50
  // Re-export identity helpers
47
51
  pub use identity::generate_id;