codevanta 0.1.1__tar.gz → 0.2.0__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 (211) hide show
  1. {codevanta-0.1.1 → codevanta-0.2.0}/CHANGELOG.md +39 -0
  2. {codevanta-0.1.1/src/codevanta.egg-info → codevanta-0.2.0}/PKG-INFO +4 -1
  3. {codevanta-0.1.1 → codevanta-0.2.0}/pyproject.toml +5 -1
  4. codevanta-0.2.0/src/codevanta/analysis/adb.py +1358 -0
  5. codevanta-0.2.0/src/codevanta/analysis/apple_ips.py +628 -0
  6. codevanta-0.2.0/src/codevanta/analysis/asar.py +519 -0
  7. codevanta-0.2.0/src/codevanta/analysis/binmeta.py +1520 -0
  8. codevanta-0.2.0/src/codevanta/analysis/cdp_client.py +1154 -0
  9. codevanta-0.2.0/src/codevanta/analysis/compare.py +738 -0
  10. codevanta-0.2.0/src/codevanta/analysis/containers.py +1364 -0
  11. codevanta-0.2.0/src/codevanta/analysis/crash_core.py +676 -0
  12. {codevanta-0.1.1 → codevanta-0.2.0}/src/codevanta/analysis/evidence_bundle.py +25 -8
  13. codevanta-0.2.0/src/codevanta/analysis/fdt.py +436 -0
  14. codevanta-0.2.0/src/codevanta/analysis/nav.py +704 -0
  15. codevanta-0.2.0/src/codevanta/analysis/nav_providers.py +172 -0
  16. codevanta-0.2.0/src/codevanta/analysis/sigrok_cli_wrap.py +319 -0
  17. codevanta-0.2.0/src/codevanta/analysis/sigrok_sr.py +352 -0
  18. {codevanta-0.1.1 → codevanta-0.2.0}/src/codevanta/analysis/solver.py +712 -2
  19. codevanta-0.2.0/src/codevanta/analysis/sqlite_view.py +281 -0
  20. codevanta-0.2.0/src/codevanta/analysis/uart_decode.py +360 -0
  21. codevanta-0.2.0/src/codevanta/cli/containers.py +272 -0
  22. codevanta-0.2.0/src/codevanta/cli/crash.py +234 -0
  23. {codevanta-0.1.1 → codevanta-0.2.0}/src/codevanta/cli/main.py +406 -5
  24. codevanta-0.2.0/src/codevanta/cli/meta.py +107 -0
  25. codevanta-0.2.0/src/codevanta/cli/mobile.py +361 -0
  26. codevanta-0.2.0/src/codevanta/cli/nav.py +268 -0
  27. codevanta-0.2.0/src/codevanta/cli/signal.py +285 -0
  28. codevanta-0.2.0/src/codevanta/cli/web.py +259 -0
  29. codevanta-0.2.0/src/codevanta/core/unknowns.py +340 -0
  30. codevanta-0.2.0/src/codevanta/mcp_server/ext_bin.py +64 -0
  31. codevanta-0.2.0/src/codevanta/mcp_server/ext_crash.py +80 -0
  32. codevanta-0.2.0/src/codevanta/mcp_server/ext_meta.py +25 -0
  33. codevanta-0.2.0/src/codevanta/mcp_server/ext_mobile.py +65 -0
  34. codevanta-0.2.0/src/codevanta/mcp_server/ext_nav.py +214 -0
  35. codevanta-0.2.0/src/codevanta/mcp_server/ext_signal.py +91 -0
  36. codevanta-0.2.0/src/codevanta/mcp_server/ext_solver.py +130 -0
  37. codevanta-0.2.0/src/codevanta/mcp_server/ext_web.py +138 -0
  38. {codevanta-0.1.1 → codevanta-0.2.0}/src/codevanta/mcp_server/server.py +75 -0
  39. {codevanta-0.1.1 → codevanta-0.2.0}/src/codevanta/mcp_server/tools.py +183 -0
  40. {codevanta-0.1.1 → codevanta-0.2.0/src/codevanta.egg-info}/PKG-INFO +4 -1
  41. {codevanta-0.1.1 → codevanta-0.2.0}/src/codevanta.egg-info/SOURCES.txt +41 -0
  42. {codevanta-0.1.1 → codevanta-0.2.0}/src/codevanta.egg-info/requires.txt +4 -0
  43. codevanta-0.2.0/tests/test_adb.py +931 -0
  44. codevanta-0.2.0/tests/test_compare.py +384 -0
  45. codevanta-0.2.0/tests/test_containers.py +776 -0
  46. codevanta-0.2.0/tests/test_crash.py +913 -0
  47. codevanta-0.2.0/tests/test_fdt.py +399 -0
  48. {codevanta-0.1.1 → codevanta-0.2.0}/tests/test_mcp_tools.py +4 -1
  49. codevanta-0.2.0/tests/test_meta.py +1483 -0
  50. codevanta-0.2.0/tests/test_nav.py +903 -0
  51. codevanta-0.2.0/tests/test_signal.py +758 -0
  52. codevanta-0.2.0/tests/test_solver.py +763 -0
  53. codevanta-0.2.0/tests/test_unknowns.py +360 -0
  54. codevanta-0.2.0/tests/test_web.py +1868 -0
  55. codevanta-0.1.1/tests/test_solver.py +0 -310
  56. {codevanta-0.1.1 → codevanta-0.2.0}/LICENSE +0 -0
  57. {codevanta-0.1.1 → codevanta-0.2.0}/MANIFEST.in +0 -0
  58. {codevanta-0.1.1 → codevanta-0.2.0}/README.md +0 -0
  59. {codevanta-0.1.1 → codevanta-0.2.0}/docs/api.md +0 -0
  60. {codevanta-0.1.1 → codevanta-0.2.0}/docs/architecture.md +0 -0
  61. {codevanta-0.1.1 → codevanta-0.2.0}/docs/assets/callgraph.png +0 -0
  62. {codevanta-0.1.1 → codevanta-0.2.0}/docs/assets/cli.png +0 -0
  63. {codevanta-0.1.1 → codevanta-0.2.0}/docs/assets/gui.png +0 -0
  64. {codevanta-0.1.1 → codevanta-0.2.0}/docs/attribution.md +0 -0
  65. {codevanta-0.1.1 → codevanta-0.2.0}/docs/install.md +0 -0
  66. {codevanta-0.1.1 → codevanta-0.2.0}/docs/phase2.md +0 -0
  67. {codevanta-0.1.1 → codevanta-0.2.0}/docs/phase2b.md +0 -0
  68. {codevanta-0.1.1 → codevanta-0.2.0}/docs/phase2c.md +0 -0
  69. {codevanta-0.1.1 → codevanta-0.2.0}/docs/phase2d.md +0 -0
  70. {codevanta-0.1.1 → codevanta-0.2.0}/docs/phase2e.md +0 -0
  71. {codevanta-0.1.1 → codevanta-0.2.0}/docs/phase2f.md +0 -0
  72. {codevanta-0.1.1 → codevanta-0.2.0}/docs/phase2g.md +0 -0
  73. {codevanta-0.1.1 → codevanta-0.2.0}/docs/phase2h.md +0 -0
  74. {codevanta-0.1.1 → codevanta-0.2.0}/docs/phase2i.md +0 -0
  75. {codevanta-0.1.1 → codevanta-0.2.0}/docs/phase2j.md +0 -0
  76. {codevanta-0.1.1 → codevanta-0.2.0}/docs/phase2k.md +0 -0
  77. {codevanta-0.1.1 → codevanta-0.2.0}/docs/phase3.md +0 -0
  78. {codevanta-0.1.1 → codevanta-0.2.0}/docs/phase6.md +0 -0
  79. {codevanta-0.1.1 → codevanta-0.2.0}/docs/release-checklist.md +0 -0
  80. {codevanta-0.1.1 → codevanta-0.2.0}/docs/repository-settings.md +0 -0
  81. {codevanta-0.1.1 → codevanta-0.2.0}/docs/samples.md +0 -0
  82. {codevanta-0.1.1 → codevanta-0.2.0}/requirements.txt +0 -0
  83. {codevanta-0.1.1 → codevanta-0.2.0}/scripts/agent_commit.py +0 -0
  84. {codevanta-0.1.1 → codevanta-0.2.0}/scripts/bench.py +0 -0
  85. {codevanta-0.1.1 → codevanta-0.2.0}/scripts/bench_gate.py +0 -0
  86. {codevanta-0.1.1 → codevanta-0.2.0}/scripts/check_decompiler_backends.py +0 -0
  87. {codevanta-0.1.1 → codevanta-0.2.0}/scripts/fuzz_parsers.py +0 -0
  88. {codevanta-0.1.1 → codevanta-0.2.0}/scripts/install.ps1 +0 -0
  89. {codevanta-0.1.1 → codevanta-0.2.0}/scripts/install.sh +0 -0
  90. {codevanta-0.1.1 → codevanta-0.2.0}/scripts/make_samples.py +0 -0
  91. {codevanta-0.1.1 → codevanta-0.2.0}/scripts/report_bundle.py +0 -0
  92. {codevanta-0.1.1 → codevanta-0.2.0}/setup.cfg +0 -0
  93. {codevanta-0.1.1 → codevanta-0.2.0}/src/codevanta/__init__.py +0 -0
  94. {codevanta-0.1.1 → codevanta-0.2.0}/src/codevanta/analysis/__init__.py +0 -0
  95. {codevanta-0.1.1 → codevanta-0.2.0}/src/codevanta/analysis/binary_diff.py +0 -0
  96. {codevanta-0.1.1 → codevanta-0.2.0}/src/codevanta/analysis/callgraph.py +0 -0
  97. {codevanta-0.1.1 → codevanta-0.2.0}/src/codevanta/analysis/cfg.py +0 -0
  98. {codevanta-0.1.1 → codevanta-0.2.0}/src/codevanta/analysis/dataflow.py +0 -0
  99. {codevanta-0.1.1 → codevanta-0.2.0}/src/codevanta/analysis/debug_session.py +0 -0
  100. {codevanta-0.1.1 → codevanta-0.2.0}/src/codevanta/analysis/debugger.py +0 -0
  101. {codevanta-0.1.1 → codevanta-0.2.0}/src/codevanta/analysis/debuginfo.py +0 -0
  102. {codevanta-0.1.1 → codevanta-0.2.0}/src/codevanta/analysis/decompile.py +0 -0
  103. {codevanta-0.1.1 → codevanta-0.2.0}/src/codevanta/analysis/decompilers/__init__.py +0 -0
  104. {codevanta-0.1.1 → codevanta-0.2.0}/src/codevanta/analysis/decompilers/angr_backend.py +0 -0
  105. {codevanta-0.1.1 → codevanta-0.2.0}/src/codevanta/analysis/decompilers/base.py +0 -0
  106. {codevanta-0.1.1 → codevanta-0.2.0}/src/codevanta/analysis/decompilers/ghidra_backend.py +0 -0
  107. {codevanta-0.1.1 → codevanta-0.2.0}/src/codevanta/analysis/dynamic.py +0 -0
  108. {codevanta-0.1.1 → codevanta-0.2.0}/src/codevanta/analysis/emulate.py +0 -0
  109. {codevanta-0.1.1 → codevanta-0.2.0}/src/codevanta/analysis/function_hash.py +0 -0
  110. {codevanta-0.1.1 → codevanta-0.2.0}/src/codevanta/analysis/graph_export.py +0 -0
  111. {codevanta-0.1.1 → codevanta-0.2.0}/src/codevanta/analysis/html_view.py +0 -0
  112. {codevanta-0.1.1 → codevanta-0.2.0}/src/codevanta/analysis/jump_tables.py +0 -0
  113. {codevanta-0.1.1 → codevanta-0.2.0}/src/codevanta/analysis/symbolic.py +0 -0
  114. {codevanta-0.1.1 → codevanta-0.2.0}/src/codevanta/analysis/trace.py +0 -0
  115. {codevanta-0.1.1 → codevanta-0.2.0}/src/codevanta/analysis/type_propagation.py +0 -0
  116. {codevanta-0.1.1 → codevanta-0.2.0}/src/codevanta/analysis/type_recovery.py +0 -0
  117. {codevanta-0.1.1 → codevanta-0.2.0}/src/codevanta/analysis/vtables.py +0 -0
  118. {codevanta-0.1.1 → codevanta-0.2.0}/src/codevanta/analysis/xrefs.py +0 -0
  119. {codevanta-0.1.1 → codevanta-0.2.0}/src/codevanta/api/__init__.py +0 -0
  120. {codevanta-0.1.1 → codevanta-0.2.0}/src/codevanta/cli/__init__.py +0 -0
  121. {codevanta-0.1.1 → codevanta-0.2.0}/src/codevanta/core/__init__.py +0 -0
  122. {codevanta-0.1.1 → codevanta-0.2.0}/src/codevanta/core/disassembler.py +0 -0
  123. {codevanta-0.1.1 → codevanta-0.2.0}/src/codevanta/core/entropy.py +0 -0
  124. {codevanta-0.1.1 → codevanta-0.2.0}/src/codevanta/core/functions.py +0 -0
  125. {codevanta-0.1.1 → codevanta-0.2.0}/src/codevanta/core/loader.py +0 -0
  126. {codevanta-0.1.1 → codevanta-0.2.0}/src/codevanta/core/report.py +0 -0
  127. {codevanta-0.1.1 → codevanta-0.2.0}/src/codevanta/core/strings.py +0 -0
  128. {codevanta-0.1.1 → codevanta-0.2.0}/src/codevanta/evidence/__init__.py +0 -0
  129. {codevanta-0.1.1 → codevanta-0.2.0}/src/codevanta/evidence/confidence.py +0 -0
  130. {codevanta-0.1.1 → codevanta-0.2.0}/src/codevanta/evidence/models.py +0 -0
  131. {codevanta-0.1.1 → codevanta-0.2.0}/src/codevanta/evidence/provenance.py +0 -0
  132. {codevanta-0.1.1 → codevanta-0.2.0}/src/codevanta/gui/__init__.py +0 -0
  133. {codevanta-0.1.1 → codevanta-0.2.0}/src/codevanta/gui/layout.py +0 -0
  134. {codevanta-0.1.1 → codevanta-0.2.0}/src/codevanta/gui/server.py +0 -0
  135. {codevanta-0.1.1 → codevanta-0.2.0}/src/codevanta/ir/__init__.py +0 -0
  136. {codevanta-0.1.1 → codevanta-0.2.0}/src/codevanta/ir/adapters/__init__.py +0 -0
  137. {codevanta-0.1.1 → codevanta-0.2.0}/src/codevanta/ir/base.py +0 -0
  138. {codevanta-0.1.1 → codevanta-0.2.0}/src/codevanta/ir/instruction.py +0 -0
  139. {codevanta-0.1.1 → codevanta-0.2.0}/src/codevanta/mcp_server/__init__.py +0 -0
  140. {codevanta-0.1.1 → codevanta-0.2.0}/src/codevanta/plugins/__init__.py +0 -0
  141. {codevanta-0.1.1 → codevanta-0.2.0}/src/codevanta/setup/__init__.py +0 -0
  142. {codevanta-0.1.1 → codevanta-0.2.0}/src/codevanta/setup/apply.py +0 -0
  143. {codevanta-0.1.1 → codevanta-0.2.0}/src/codevanta/setup/clients.py +0 -0
  144. {codevanta-0.1.1 → codevanta-0.2.0}/src/codevanta/setup/plan.py +0 -0
  145. {codevanta-0.1.1 → codevanta-0.2.0}/src/codevanta/setup/verify.py +0 -0
  146. {codevanta-0.1.1 → codevanta-0.2.0}/src/codevanta/storage/__init__.py +0 -0
  147. {codevanta-0.1.1 → codevanta-0.2.0}/src/codevanta/storage/session.py +0 -0
  148. {codevanta-0.1.1 → codevanta-0.2.0}/src/codevanta.egg-info/dependency_links.txt +0 -0
  149. {codevanta-0.1.1 → codevanta-0.2.0}/src/codevanta.egg-info/entry_points.txt +0 -0
  150. {codevanta-0.1.1 → codevanta-0.2.0}/src/codevanta.egg-info/top_level.txt +0 -0
  151. {codevanta-0.1.1 → codevanta-0.2.0}/tests/conftest.py +0 -0
  152. {codevanta-0.1.1 → codevanta-0.2.0}/tests/test_agent_commit.py +0 -0
  153. {codevanta-0.1.1 → codevanta-0.2.0}/tests/test_bench.py +0 -0
  154. {codevanta-0.1.1 → codevanta-0.2.0}/tests/test_bench_gate.py +0 -0
  155. {codevanta-0.1.1 → codevanta-0.2.0}/tests/test_binary_diff.py +0 -0
  156. {codevanta-0.1.1 → codevanta-0.2.0}/tests/test_callgraph.py +0 -0
  157. {codevanta-0.1.1 → codevanta-0.2.0}/tests/test_cfg.py +0 -0
  158. {codevanta-0.1.1 → codevanta-0.2.0}/tests/test_cfg_recursive.py +0 -0
  159. {codevanta-0.1.1 → codevanta-0.2.0}/tests/test_cli.py +0 -0
  160. {codevanta-0.1.1 → codevanta-0.2.0}/tests/test_cli_gui.py +0 -0
  161. {codevanta-0.1.1 → codevanta-0.2.0}/tests/test_cli_phase2.py +0 -0
  162. {codevanta-0.1.1 → codevanta-0.2.0}/tests/test_cli_phase2b.py +0 -0
  163. {codevanta-0.1.1 → codevanta-0.2.0}/tests/test_cli_phase2d.py +0 -0
  164. {codevanta-0.1.1 → codevanta-0.2.0}/tests/test_cli_phase2e.py +0 -0
  165. {codevanta-0.1.1 → codevanta-0.2.0}/tests/test_cli_phase2f.py +0 -0
  166. {codevanta-0.1.1 → codevanta-0.2.0}/tests/test_cli_phase2g.py +0 -0
  167. {codevanta-0.1.1 → codevanta-0.2.0}/tests/test_cli_phase2h.py +0 -0
  168. {codevanta-0.1.1 → codevanta-0.2.0}/tests/test_cli_phase2i.py +0 -0
  169. {codevanta-0.1.1 → codevanta-0.2.0}/tests/test_cli_phase2j.py +0 -0
  170. {codevanta-0.1.1 → codevanta-0.2.0}/tests/test_cli_phase2k.py +0 -0
  171. {codevanta-0.1.1 → codevanta-0.2.0}/tests/test_cli_phase3.py +0 -0
  172. {codevanta-0.1.1 → codevanta-0.2.0}/tests/test_cli_phase7.py +0 -0
  173. {codevanta-0.1.1 → codevanta-0.2.0}/tests/test_cli_trace.py +0 -0
  174. {codevanta-0.1.1 → codevanta-0.2.0}/tests/test_dataflow.py +0 -0
  175. {codevanta-0.1.1 → codevanta-0.2.0}/tests/test_debug_session.py +0 -0
  176. {codevanta-0.1.1 → codevanta-0.2.0}/tests/test_debugger.py +0 -0
  177. {codevanta-0.1.1 → codevanta-0.2.0}/tests/test_debuginfo.py +0 -0
  178. {codevanta-0.1.1 → codevanta-0.2.0}/tests/test_decompile.py +0 -0
  179. {codevanta-0.1.1 → codevanta-0.2.0}/tests/test_decompile_backends.py +0 -0
  180. {codevanta-0.1.1 → codevanta-0.2.0}/tests/test_decompiler_parity.py +0 -0
  181. {codevanta-0.1.1 → codevanta-0.2.0}/tests/test_disassembler.py +0 -0
  182. {codevanta-0.1.1 → codevanta-0.2.0}/tests/test_dynamic.py +0 -0
  183. {codevanta-0.1.1 → codevanta-0.2.0}/tests/test_emulate.py +0 -0
  184. {codevanta-0.1.1 → codevanta-0.2.0}/tests/test_entropy.py +0 -0
  185. {codevanta-0.1.1 → codevanta-0.2.0}/tests/test_evidence.py +0 -0
  186. {codevanta-0.1.1 → codevanta-0.2.0}/tests/test_evidence_bundle.py +0 -0
  187. {codevanta-0.1.1 → codevanta-0.2.0}/tests/test_function_hash.py +0 -0
  188. {codevanta-0.1.1 → codevanta-0.2.0}/tests/test_functions.py +0 -0
  189. {codevanta-0.1.1 → codevanta-0.2.0}/tests/test_fuzz_parsers.py +0 -0
  190. {codevanta-0.1.1 → codevanta-0.2.0}/tests/test_graph_export.py +0 -0
  191. {codevanta-0.1.1 → codevanta-0.2.0}/tests/test_gui.py +0 -0
  192. {codevanta-0.1.1 → codevanta-0.2.0}/tests/test_html_view.py +0 -0
  193. {codevanta-0.1.1 → codevanta-0.2.0}/tests/test_jump_tables.py +0 -0
  194. {codevanta-0.1.1 → codevanta-0.2.0}/tests/test_loader.py +0 -0
  195. {codevanta-0.1.1 → codevanta-0.2.0}/tests/test_plugins.py +0 -0
  196. {codevanta-0.1.1 → codevanta-0.2.0}/tests/test_report_bundle.py +0 -0
  197. {codevanta-0.1.1 → codevanta-0.2.0}/tests/test_report_callgraph.py +0 -0
  198. {codevanta-0.1.1 → codevanta-0.2.0}/tests/test_report_phase2.py +0 -0
  199. {codevanta-0.1.1 → codevanta-0.2.0}/tests/test_samples.py +0 -0
  200. {codevanta-0.1.1 → codevanta-0.2.0}/tests/test_session.py +0 -0
  201. {codevanta-0.1.1 → codevanta-0.2.0}/tests/test_setup_plan.py +0 -0
  202. {codevanta-0.1.1 → codevanta-0.2.0}/tests/test_strings.py +0 -0
  203. {codevanta-0.1.1 → codevanta-0.2.0}/tests/test_symbolic.py +0 -0
  204. {codevanta-0.1.1 → codevanta-0.2.0}/tests/test_symbolic_parity.py +0 -0
  205. {codevanta-0.1.1 → codevanta-0.2.0}/tests/test_tooling_config.py +0 -0
  206. {codevanta-0.1.1 → codevanta-0.2.0}/tests/test_trace.py +0 -0
  207. {codevanta-0.1.1 → codevanta-0.2.0}/tests/test_trace_samples.py +0 -0
  208. {codevanta-0.1.1 → codevanta-0.2.0}/tests/test_type_propagation.py +0 -0
  209. {codevanta-0.1.1 → codevanta-0.2.0}/tests/test_type_recovery.py +0 -0
  210. {codevanta-0.1.1 → codevanta-0.2.0}/tests/test_vtables.py +0 -0
  211. {codevanta-0.1.1 → codevanta-0.2.0}/tests/test_xrefs.py +0 -0
@@ -4,6 +4,45 @@ All notable changes to CODEVANTA are documented here. The format follows
4
4
  [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and the project uses
5
5
  [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
6
 
7
+ ## [0.2.0] - 2026-11-13
8
+
9
+ ### Added
10
+
11
+ - **Typed comparators** (`codevanta compare <a.json> <b.json>` + MCP tool
12
+ `codevanta_compare`): function inventories matched by name and by fingerprint,
13
+ string-set diffs, and evidence-bundle membership diffs - all offline, typed,
14
+ evidence-backed.
15
+ - **Residual-unknown ledger** (`codevanta unknowns`): typed `UnknownRecord` with
16
+ deterministic ids and an open/resolve lifecycle, surfaced in the evidence bundle
17
+ and over MCP (`codevanta_unknowns`).
18
+ - **Six REA-parity lanes** (PR #50): ELF-core + Apple `.ips` crash parsers
19
+ (`codevanta core`/`codevanta ips`, MCP `codevanta_crash`); auto-detecting
20
+ format metadata (APK signing v2/v3, Go buildinfo, Rust cargo-auditable, `.pyc`
21
+ headers, Electron fuses, ELF notes/modinfo, desktop classification;
22
+ `codevanta metadata`, MCP `codevanta_metadata`); binary containers (WASM
23
+ sections, EVM disasm-lite, GGUF, safetensors, pcap, firmware magic scan,
24
+ `codevanta binmeta`/`codevanta evm`) and a read-only SQLite viewer
25
+ (`codevanta sqlite`, MCP `codevanta_binmeta`/`codevanta_sqlite`); the ADB
26
+ mobile lane with offline transcript parsers and skip-gated live wrappers
27
+ (`codevanta mobile`, MCP `codevanta_adb`); the Web/Electron lane (stdlib
28
+ CDP client, passive page inspection, screenshot, WebMCP probe, ASAR
29
+ reconstruction; `codevanta web`/`codevanta asar`, MCP
30
+ `codevanta_web_inspect`/`codevanta_asar`); and solver-backed symbolic
31
+ execution gated on optional z3-solver with an unchanged naive fallback
32
+ (`--solver auto`, MCP `codevanta_symbolic_solve`).
33
+ - **Signal/firmware lane** (PR #51): sigrok `.sr` session archives, a pure-Python
34
+ UART decoder-lite with parity/stop validation, flattened devicetree (FDT)
35
+ parsing, and a skip-gated sigrok-cli wrapper (`codevanta signal`/`codevanta dtb`,
36
+ MCP `codevanta_signal_sr`/`codevanta_uart_decode`/`codevanta_dtb`).
37
+ - **Provider-neutral navigation state** (PR #51): bookmarks, comments, cursor and
38
+ goto-history per session over the session store, plus typed external-GUI
39
+ provider probes (`codevanta nav`, MCP `codevanta_nav`/`codevanta_nav_providers`).
40
+
41
+ ### Changed
42
+
43
+ - MCP server now exposes 38 tools (from 22 at v0.1.0); `z3-solver>=4.13` joined
44
+ the dev extras so CI exercises the solver lane for real.
45
+
7
46
  ## [0.1.1] - 2026-11-13
8
47
 
9
48
  ### Added
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: codevanta
3
- Version: 0.1.1
3
+ Version: 0.2.0
4
4
  Summary: CODEVANTA — Advanced Code Intelligence: AI-Powered Reverse Engineering & Binary Analysis Platform
5
5
  Author: kevindoni
6
6
  License-Expression: MIT
@@ -38,6 +38,9 @@ Requires-Dist: ruff>=0.5; extra == "dev"
38
38
  Requires-Dist: build>=1.2; extra == "dev"
39
39
  Requires-Dist: unicorn>=2.0; extra == "dev"
40
40
  Requires-Dist: pyelftools>=0.31; extra == "dev"
41
+ Requires-Dist: z3-solver>=4.13; extra == "dev"
42
+ Provides-Extra: solver
43
+ Requires-Dist: z3-solver>=4.13; extra == "solver"
41
44
  Provides-Extra: emulation
42
45
  Requires-Dist: unicorn>=2.0; extra == "emulation"
43
46
  Provides-Extra: dwarf
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "codevanta"
7
- version = "0.1.1"
7
+ version = "0.2.0"
8
8
  description = "CODEVANTA — Advanced Code Intelligence: AI-Powered Reverse Engineering & Binary Analysis Platform"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
@@ -50,6 +50,10 @@ dev = [
50
50
  "build>=1.2",
51
51
  "unicorn>=2.0",
52
52
  "pyelftools>=0.31",
53
+ "z3-solver>=4.13",
54
+ ]
55
+ solver = [
56
+ "z3-solver>=4.13",
53
57
  ]
54
58
  emulation = [
55
59
  "unicorn>=2.0",