codingest 0.2.4__tar.gz → 0.2.5__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 (94) hide show
  1. {codingest-0.2.4 → codingest-0.2.5}/Cargo.lock +10 -10
  2. {codingest-0.2.4 → codingest-0.2.5}/Cargo.toml +49 -6
  3. {codingest-0.2.4 → codingest-0.2.5}/PKG-INFO +5 -5
  4. {codingest-0.2.4 → codingest-0.2.5}/README.md +3 -3
  5. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest/Cargo.toml +1 -1
  6. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest-cli/Cargo.toml +1 -1
  7. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest-mcp/Cargo.toml +1 -1
  8. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest-py/Cargo.toml +3 -3
  9. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest-py/src/lib.rs +1 -1
  10. {codingest-0.2.4 → codingest-0.2.5}/pyproject.toml +2 -2
  11. {codingest-0.2.4 → codingest-0.2.5}/LICENSE +0 -0
  12. {codingest-0.2.4 → codingest-0.2.5}/codingest/__init__.py +0 -0
  13. {codingest-0.2.4 → codingest-0.2.5}/codingest/__init__.pyi +0 -0
  14. {codingest-0.2.4 → codingest-0.2.5}/codingest/cli.py +0 -0
  15. {codingest-0.2.4 → codingest-0.2.5}/codingest/mcp_server.py +0 -0
  16. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest/src/bin/codingest_bench.rs +0 -0
  17. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest/src/bin/codingest_stats.rs +0 -0
  18. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest/src/builder/call_edges.rs +0 -0
  19. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest/src/builder/js_workspace.rs +0 -0
  20. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest/src/builder/load/edge_frames.rs +0 -0
  21. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest/src/builder/load/entity_frames.rs +0 -0
  22. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest/src/builder/load.rs +0 -0
  23. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest/src/builder/mod.rs +0 -0
  24. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest/src/builder/other_edges.rs +0 -0
  25. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest/src/builder/routes/django.rs +0 -0
  26. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest/src/builder/routes/fastapi.rs +0 -0
  27. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest/src/builder/routes/flask.rs +0 -0
  28. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest/src/builder/routes/mod.rs +0 -0
  29. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest/src/builder/semantic_edges.rs +0 -0
  30. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest/src/builder/type_edges.rs +0 -0
  31. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest/src/cross_lang.rs +0 -0
  32. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest/src/docs/mod.rs +0 -0
  33. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest/src/docs/rst.rs +0 -0
  34. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest/src/lib.rs +0 -0
  35. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest/src/manifest/mod.rs +0 -0
  36. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest/src/models.rs +0 -0
  37. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest/src/parsers/agc.rs +0 -0
  38. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest/src/parsers/cpp.rs +0 -0
  39. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest/src/parsers/csharp.rs +0 -0
  40. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest/src/parsers/css.rs +0 -0
  41. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest/src/parsers/dart.rs +0 -0
  42. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest/src/parsers/go.rs +0 -0
  43. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest/src/parsers/html.rs +0 -0
  44. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest/src/parsers/java.rs +0 -0
  45. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest/src/parsers/julia.rs +0 -0
  46. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest/src/parsers/mod.rs +0 -0
  47. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest/src/parsers/php.rs +0 -0
  48. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest/src/parsers/python.rs +0 -0
  49. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest/src/parsers/r.rs +0 -0
  50. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest/src/parsers/registry.rs +0 -0
  51. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest/src/parsers/rust_lang.rs +0 -0
  52. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest/src/parsers/shared.rs +0 -0
  53. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest/src/parsers/swift.rs +0 -0
  54. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest/src/parsers/typescript.rs +0 -0
  55. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest/src/repo.rs +0 -0
  56. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest/src/rev.rs +0 -0
  57. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest/tests/agc_apollo.rs +0 -0
  58. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest/tests/goldens/README.md +0 -0
  59. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest/tests/goldens/agc_basic.sha256 +0 -0
  60. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest/tests/goldens/cpp_include.sha256 +0 -0
  61. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest/tests/goldens/cross_ts_py.sha256 +0 -0
  62. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest/tests/goldens/dart_import.sha256 +0 -0
  63. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest/tests/goldens/docs_ext_collide.sha256 +0 -0
  64. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest/tests/goldens/docs_mdx.sha256 +0 -0
  65. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest/tests/goldens/dup_minified_assets.sha256 +0 -0
  66. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest/tests/goldens/html_js_lang_group.sha256 +0 -0
  67. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest/tests/goldens/julia_basic.sha256 +0 -0
  68. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest/tests/goldens/py_basic.sha256 +0 -0
  69. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest/tests/goldens/py_import.sha256 +0 -0
  70. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest/tests/goldens/py_inheritance.sha256 +0 -0
  71. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest/tests/goldens/py_nested_defs.sha256 +0 -0
  72. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest/tests/goldens/py_routes_dup.sha256 +0 -0
  73. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest/tests/goldens/r_basic.sha256 +0 -0
  74. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest/tests/goldens/rust_import.sha256 +0 -0
  75. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest/tests/goldens/rust_xfile.sha256 +0 -0
  76. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest/tests/goldens/ts_callback.sha256 +0 -0
  77. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest/tests/goldens/ts_closure_scope.sha256 +0 -0
  78. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest/tests/goldens/ts_hof_binding.sha256 +0 -0
  79. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest/tests/goldens/ts_monorepo.sha256 +0 -0
  80. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest/tests/grammar_kinds.rs +0 -0
  81. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest/tests/parity.rs +0 -0
  82. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest-cli/skills/codingest-code-review/SKILL.md +0 -0
  83. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest-cli/skills/codingest-code-review/references/mcp-upgrade.md +0 -0
  84. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest-cli/skills/codingest-code-review/references/public-repositories.md +0 -0
  85. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest-cli/skills/codingest-code-review/references/queries.md +0 -0
  86. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest-cli/src/code_tree_cli.rs +0 -0
  87. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest-cli/src/lib.rs +0 -0
  88. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest-cli/src/main.rs +0 -0
  89. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest-cli/src/query.rs +0 -0
  90. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest-cli/src/skill.rs +0 -0
  91. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest-cli/src/skill_assets.rs +0 -0
  92. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest-cli/tests/exit_codes.rs +0 -0
  93. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest-mcp/src/lib.rs +0 -0
  94. {codingest-0.2.4 → codingest-0.2.5}/crates/codingest-mcp/src/main.rs +0 -0
@@ -308,7 +308,7 @@ dependencies = [
308
308
 
309
309
  [[package]]
310
310
  name = "codingest"
311
- version = "0.2.4"
311
+ version = "0.2.5"
312
312
  dependencies = [
313
313
  "aho-corasick",
314
314
  "base64 0.22.1",
@@ -342,7 +342,7 @@ dependencies = [
342
342
 
343
343
  [[package]]
344
344
  name = "codingest-cli"
345
- version = "0.2.4"
345
+ version = "0.2.5"
346
346
  dependencies = [
347
347
  "anyhow",
348
348
  "clap",
@@ -354,7 +354,7 @@ dependencies = [
354
354
 
355
355
  [[package]]
356
356
  name = "codingest-mcp"
357
- version = "0.2.4"
357
+ version = "0.2.5"
358
358
  dependencies = [
359
359
  "anyhow",
360
360
  "codingest",
@@ -363,7 +363,7 @@ dependencies = [
363
363
 
364
364
  [[package]]
365
365
  name = "codingest-py"
366
- version = "0.2.4"
366
+ version = "0.2.5"
367
367
  dependencies = [
368
368
  "codingest",
369
369
  "codingest-cli",
@@ -1390,9 +1390,9 @@ dependencies = [
1390
1390
 
1391
1391
  [[package]]
1392
1392
  name = "kglite"
1393
- version = "0.16.2"
1393
+ version = "0.16.5"
1394
1394
  source = "registry+https://github.com/rust-lang/crates.io-index"
1395
- checksum = "e8d8175004ae15c78c32ea60abfa7515dc384ceac8c9dbeb2272884bd24b2401"
1395
+ checksum = "aad05901c820e0054e872d328cb21439e75aa28477e30bd34e76d0fa280970c3"
1396
1396
  dependencies = [
1397
1397
  "bzip2",
1398
1398
  "chrono",
@@ -1425,9 +1425,9 @@ dependencies = [
1425
1425
 
1426
1426
  [[package]]
1427
1427
  name = "kglite-mcp-server"
1428
- version = "0.16.2"
1428
+ version = "0.16.5"
1429
1429
  source = "registry+https://github.com/rust-lang/crates.io-index"
1430
- checksum = "79ff376e0f81bcb1312256c762d3cac9a7665f6340d72f8503b266b0e25eece2"
1430
+ checksum = "ced644743c758a3cf8d407c36374b6d9fc476a68dea52e23cddd9cbedcbf03ec"
1431
1431
  dependencies = [
1432
1432
  "anyhow",
1433
1433
  "bytes",
@@ -1529,9 +1529,9 @@ dependencies = [
1529
1529
 
1530
1530
  [[package]]
1531
1531
  name = "mcp-methods"
1532
- version = "0.4.4"
1532
+ version = "0.4.5"
1533
1533
  source = "registry+https://github.com/rust-lang/crates.io-index"
1534
- checksum = "d6d41f37fa137ea40a0cd505729e41ae1156ed119dcf8f240210579889c5ba29"
1534
+ checksum = "d57b15a27a0f1f90a1d67378012df2a9797ec6fda6dc14051427edacdd99ea1a"
1535
1535
  dependencies = [
1536
1536
  "anyhow",
1537
1537
  "clap",
@@ -3,7 +3,7 @@ members = ["crates/codingest", "crates/codingest-cli", "crates/codingest-mcp", "
3
3
  resolver = "2"
4
4
 
5
5
  [workspace.package]
6
- version = "0.2.4"
6
+ version = "0.2.5"
7
7
  edition = "2021"
8
8
  rust-version = "1.88"
9
9
  license = "MIT"
@@ -12,8 +12,51 @@ repository = "https://github.com/kkollsga/codingest"
12
12
  [workspace.dependencies]
13
13
  base64 = "0.22"
14
14
  sha2 = "0.11"
15
- # kglite engine + MCP server — imported as crates.io libraries. The 0.16.2
16
- # floor fixes the edge-property type registry: `add_connections` the ONLY
15
+ # kglite engine + MCP server — imported as crates.io libraries. The 0.16.5
16
+ # floor is a LOCKSTEP REFRESH, not a fix we need: nothing in 0.16.3-0.16.5
17
+ # reaches a path codingest exercises, and the evidence is the gate rather than
18
+ # the changelog. `golden_parity` is green and `kgl_bytes_are_stable_across_builds`
19
+ # holds, so the frozen goldens are byte-identical across the bump; the fixture
20
+ # corpus builds 405 nodes / 616 edges docs-on and 398 / 596 docs-off on both
21
+ # 0.16.2 and 0.16.5. Perf is flat: three interleaved A/B pairs per docs mode on
22
+ # corpus ad8b3084…, control `defs_per_file` moving +0.0%, every cell flat except
23
+ # `varlen_callers_1_3` at -9.7% in BOTH modes (0.031 -> 0.028 ms) — a small
24
+ # consistent win, plausibly the PropMap refcount clone below. A same-machine
25
+ # before/after pair taken 20 minutes apart instead read +50% on three cells with
26
+ # the control at +15%; that is the instrument, and the interleaved pairs are why
27
+ # the flat reading is the one recorded (doctrine R11).
28
+ #
29
+ # What each release contains, and why none of it lands on us:
30
+ # * 0.16.5 is a BREAKING Rust API change — node, relationship and map
31
+ # properties are a `kglite::datatypes::PropMap`, not a
32
+ # `BTreeMap<String, Value>`. We are not exposed: codingest names neither
33
+ # `NodeValue::properties` nor `RelValue::properties`, and its one
34
+ # `Value::Map` site (docs/mod.rs) matches the wildcard `Value::Map(_)` to
35
+ # stringify a non-scalar, which binds nothing. The workspace compiles clean
36
+ # with no source change. No file format moved — postcard's map framing is
37
+ # identical — which is what lets the goldens hold. Also in 0.16.5:
38
+ # relationship constraints, CDC before-images and selectors, and a
39
+ # re-save determinism fix. codingest declares no constraints, consumes no
40
+ # CDC, and only ever writes FRESH saves, so the re-save fix (and its
41
+ # property-name reordering) cannot reach our bytes.
42
+ # * 0.16.4 adds the opt-in parallel Cypher runtime (off by default and NOT
43
+ # exposed by the MCP server), property-type constraints, and CDC v1. Its
44
+ # one format note — a `.kgl` carrying a property-type constraint does not
45
+ # load on 0.16.3 or earlier — is inert here because codingest declares
46
+ # none, so our files stay readable by an older engine. That is why the
47
+ # Python floor moves for LOCKSTEP, not because the format broke: the
48
+ # `test_kglite_cargo_and_python_floors_are_in_lockstep` gate requires
49
+ # Cargo.toml, pyproject.toml and ci.yml to state one floor, and a
50
+ # "the reader could stay lower" argument is exactly the drift it exists to
51
+ # stop.
52
+ # * 0.16.3 is MCP-side: `reload_graph`, `extensions.graph_watch`, and
53
+ # `extensions.tools_allow`. It also carries mcp-methods 0.4.5, which makes
54
+ # the GitHub tools require an explicit `builtins.github: true` — codingest-mcp
55
+ # registers no GitHub tools and ships no manifest declaring them, so its
56
+ # agent-visible tool surface is unchanged.
57
+ #
58
+ # Floor history below; the 0.16.2 entry is the last one that changed our output.
59
+ # The 0.16.2 floor fixed the edge-property type registry: `add_connections` — the ONLY
17
60
  # edge path codingest uses (builder/load.rs, other_edges.rs, cross_lang.rs,
18
61
  # docs/mod.rs) — registered every property as "Unknown" instead of its observed
19
62
  # type. Measured on a two-function Python corpus: `CALL
@@ -34,7 +77,7 @@ sha2 = "0.11"
34
77
  # which kglite 0.15.14 and earlier refuse by version number. Because
35
78
  # `codingest.build()` writes the bytes with the Rust engine compiled in here and
36
79
  # reads them back through the separately-installed Python `kglite` wheel, the
37
- # two sides must be on the same side of that break — hence `>=0.16.2,<0.17` in
80
+ # two sides must be on the same side of that break — hence `>=0.16.5,<0.17` in
38
81
  # pyproject.toml, and hence a reader on 0.15.x is not "old but workable", it is
39
82
  # a hard failure with `FileFormatError`.
40
83
  # 0.16.0 also removed `DirGraph::enable_columnar` from the public API (every
@@ -99,8 +142,8 @@ sha2 = "0.11"
99
142
  # and no disk storage. Neither 0.15.7 nor 0.15.8 changes the `kglite::api` we
100
143
  # call, graph output, property encoding, or `.kgl` serialization.
101
144
  # Keep both libraries aligned so the graph and server share one engine release.
102
- kglite = { version = "0.16.2", default-features = false }
103
- kglite-mcp-server = { version = "0.16.2", default-features = false }
145
+ kglite = { version = "0.16.5", default-features = false }
146
+ kglite-mcp-server = { version = "0.16.5", default-features = false }
104
147
 
105
148
  # Mirror KGLite's release codegen so the standalone builder has
106
149
  # performance parity with the in-tree component (see KGLite
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: codingest
3
- Version: 0.2.4
3
+ Version: 0.2.5
4
4
  Classifier: Development Status :: 3 - Alpha
5
5
  Classifier: Intended Audience :: Developers
6
6
  Classifier: Programming Language :: Python :: 3
@@ -12,7 +12,7 @@ Classifier: Programming Language :: Python :: 3.14
12
12
  Classifier: Programming Language :: Rust
13
13
  Classifier: Topic :: Software Development
14
14
  Classifier: Topic :: Software Development :: Libraries
15
- Requires-Dist: kglite>=0.16.2,<0.17
15
+ Requires-Dist: kglite>=0.16.5,<0.17
16
16
  License-File: LICENSE
17
17
  Summary: Build fast, queryable code graphs for AI agents, MCP code review, and local or GitHub repository analysis.
18
18
  Keywords: ai-agents,mcp,code-review,knowledge-graph,code-analysis,github,tree-sitter,cypher
@@ -192,7 +192,7 @@ codingest skill install # code-review Agent Skill
192
192
  ```
193
193
 
194
194
  The wheel bundles every grammar plus the `codingest` and `codingest-mcp`
195
- commands. KGLite ≥0.16.2 is installed automatically as the query/storage
195
+ commands. KGLite ≥0.16.5 is installed automatically as the query/storage
196
196
  engine; its MCP server and the transitive `mcp-methods` framework power the
197
197
  builder-aware Codingest server. Nothing else needs to be installed.
198
198
 
@@ -205,7 +205,7 @@ Python prerequisites.
205
205
  ```toml
206
206
  [dependencies]
207
207
  codingest = "0.2"
208
- kglite = "0.16.2"
208
+ kglite = "0.16.5"
209
209
  ```
210
210
 
211
211
  ```rust
@@ -277,7 +277,7 @@ diagnostic.
277
277
  ## Dependency policy
278
278
 
279
279
  `kglite` and `kglite-mcp-server` use matching crates.io requirements with a
280
- 0.16.2 minimum and a shared lockfile. This keeps the builder, persistence
280
+ 0.16.5 minimum and a shared lockfile. This keeps the builder, persistence
281
281
  handoff, and embedded MCP server on one compatible engine patch line.
282
282
 
283
283
  ## Parity with the (now-removed) in-tree component
@@ -165,7 +165,7 @@ codingest skill install # code-review Agent Skill
165
165
  ```
166
166
 
167
167
  The wheel bundles every grammar plus the `codingest` and `codingest-mcp`
168
- commands. KGLite ≥0.16.2 is installed automatically as the query/storage
168
+ commands. KGLite ≥0.16.5 is installed automatically as the query/storage
169
169
  engine; its MCP server and the transitive `mcp-methods` framework power the
170
170
  builder-aware Codingest server. Nothing else needs to be installed.
171
171
 
@@ -178,7 +178,7 @@ Python prerequisites.
178
178
  ```toml
179
179
  [dependencies]
180
180
  codingest = "0.2"
181
- kglite = "0.16.2"
181
+ kglite = "0.16.5"
182
182
  ```
183
183
 
184
184
  ```rust
@@ -250,7 +250,7 @@ diagnostic.
250
250
  ## Dependency policy
251
251
 
252
252
  `kglite` and `kglite-mcp-server` use matching crates.io requirements with a
253
- 0.16.2 minimum and a shared lockfile. This keeps the builder, persistence
253
+ 0.16.5 minimum and a shared lockfile. This keeps the builder, persistence
254
254
  handoff, and embedded MCP server on one compatible engine patch line.
255
255
 
256
256
  ## Parity with the (now-removed) in-tree component
@@ -10,7 +10,7 @@ keywords = ["knowledge-graph", "code-analysis", "tree-sitter", "cypher", "kglite
10
10
  categories = ["development-tools", "parser-implementations"]
11
11
 
12
12
  # Requires the kglite 0.15 engine API (`kglite::api::code_entities`); the
13
- # workspace pins the current engine floor (0.16.2).
13
+ # workspace pins the current engine floor (0.16.5).
14
14
 
15
15
  [lib]
16
16
  name = "codingest"
@@ -14,7 +14,7 @@ name = "codingest"
14
14
  path = "src/main.rs"
15
15
 
16
16
  [dependencies]
17
- codingest = { version = "0.2.4", path = "../codingest" }
17
+ codingest = { version = "0.2.5", path = "../codingest" }
18
18
  kglite = { workspace = true }
19
19
  anyhow = "1.0.104"
20
20
  clap = { version = "4.6.4", features = ["derive"] }
@@ -14,6 +14,6 @@ name = "codingest-mcp"
14
14
  path = "src/main.rs"
15
15
 
16
16
  [dependencies]
17
- codingest = { version = "0.2.4", path = "../codingest" }
17
+ codingest = { version = "0.2.5", path = "../codingest" }
18
18
  kglite-mcp-server = { workspace = true }
19
19
  anyhow = "1.0.104"
@@ -42,7 +42,7 @@ doctest = false
42
42
  pyo3 = { version = "0.29" }
43
43
  # The engine-free builder (parsers, call/type/route edges, rev merge, repo
44
44
  # clone, manifest reader). Docs pass gated by this crate's `docs` feature.
45
- codingest = { version = "0.2.4", path = "../codingest", default-features = false }
45
+ codingest = { version = "0.2.5", path = "../codingest", default-features = false }
46
46
  # `.kgl` persistence (`kglite::api::io::save_graph`) for the serialize half of
47
47
  # the build-then-load handoff, plus the `DirGraph` type the builder returns.
48
48
  kglite = { workspace = true }
@@ -53,9 +53,9 @@ tempfile = "3.27.0"
53
53
  # through `_run_cli`, so `pip install codingest` also installs the `codingest`
54
54
  # command without a second wheel or a duplicated builder build. Mirrors
55
55
  # kglite-py's `kglite-cli` bundling.
56
- codingest-cli = { version = "0.2.4", path = "../codingest-cli" }
56
+ codingest-cli = { version = "0.2.5", path = "../codingest-cli" }
57
57
  # Source-building MCP composition. The graph server and generic MCP lifecycle
58
58
  # remain owned by its existing kglite-mcp-server -> mcp-methods Rust dependency
59
59
  # chain; linking this thin library into the extension gives pip users the same
60
60
  # builder-aware server as the standalone `codingest-mcp` binary.
61
- codingest-mcp = { version = "0.2.4", path = "../codingest-mcp" }
61
+ codingest-mcp = { version = "0.2.5", path = "../codingest-mcp" }
@@ -73,7 +73,7 @@ fn load_via_kglite(py: Python<'_>, path: &Path) -> PyResult<Py<PyAny>> {
73
73
  let kglite = py.import("kglite").map_err(|e| {
74
74
  PyRuntimeError::new_err(format!(
75
75
  "codingest.build() returns a kglite.KnowledgeGraph, but importing \
76
- `kglite` failed ({e}). Install it: `pip install kglite>=0.16.2`."
76
+ `kglite` failed ({e}). Install it: `pip install kglite>=0.16.5`."
77
77
  ))
78
78
  })?;
79
79
  let graph = kglite.call_method1("load", (path.to_string_lossy().as_ref(),))?;
@@ -42,9 +42,9 @@ dynamic = ["version"]
42
42
  # minor releases (e.g. the v3->v4 break, which refuses old files outright), so
43
43
  # pip must never be free to pair our writer with a reader from a different
44
44
  # minor. This range therefore mirrors the Cargo semver range for the pin above
45
- # (`version = "0.16.2"` == `>=0.16.2,<0.17.0`) exactly — bump both together.
45
+ # (`version = "0.16.5"` == `>=0.16.5,<0.17.0`) exactly — bump both together.
46
46
  dependencies = [
47
- "kglite>=0.16.2,<0.17",
47
+ "kglite>=0.16.5,<0.17",
48
48
  ]
49
49
 
50
50
  [project.urls]
File without changes
File without changes