codemap-core 0.3.3__tar.gz → 0.3.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 (130) hide show
  1. {codemap_core-0.3.3 → codemap_core-0.3.5}/CHANGELOG.md +71 -0
  2. {codemap_core-0.3.3 → codemap_core-0.3.5}/PKG-INFO +1 -1
  3. {codemap_core-0.3.3 → codemap_core-0.3.5}/pyproject.toml +1 -1
  4. {codemap_core-0.3.3 → codemap_core-0.3.5}/.gitignore +0 -0
  5. {codemap_core-0.3.3 → codemap_core-0.3.5}/LICENSE +0 -0
  6. {codemap_core-0.3.3 → codemap_core-0.3.5}/README.md +0 -0
  7. {codemap_core-0.3.3 → codemap_core-0.3.5}/docs/adr/0000-template.md +0 -0
  8. {codemap_core-0.3.3 → codemap_core-0.3.5}/docs/adr/0001-symbol-id-format.md +0 -0
  9. {codemap_core-0.3.3 → codemap_core-0.3.5}/docs/adr/0002-storage-backend.md +0 -0
  10. {codemap_core-0.3.3 → codemap_core-0.3.5}/docs/adr/0003-module-boundaries.md +0 -0
  11. {codemap_core-0.3.3 → codemap_core-0.3.5}/docs/adr/0004-indexer-bridge-plugin.md +0 -0
  12. {codemap_core-0.3.3 → codemap_core-0.3.5}/docs/adr/0005-exit-codes.md +0 -0
  13. {codemap_core-0.3.3 → codemap_core-0.3.5}/docs/adr/0006-schema-version.md +0 -0
  14. {codemap_core-0.3.3 → codemap_core-0.3.5}/docs/adr/0007-diagnostic-isolation.md +0 -0
  15. {codemap_core-0.3.3 → codemap_core-0.3.5}/docs/adr/0008-atomic-write.md +0 -0
  16. {codemap_core-0.3.3 → codemap_core-0.3.5}/docs/adr/0009-quality-gates.md +0 -0
  17. {codemap_core-0.3.3 → codemap_core-0.3.5}/docs/adr/0010-benchmark-regression.md +0 -0
  18. {codemap_core-0.3.3 → codemap_core-0.3.5}/docs/adr/0011-language-neutrality.md +0 -0
  19. {codemap_core-0.3.3 → codemap_core-0.3.5}/docs/adr/0012-first-language-cohort.md +0 -0
  20. {codemap_core-0.3.3 → codemap_core-0.3.5}/docs/adr/0013-java-engine-tree-sitter-over-scip-java.md +0 -0
  21. {codemap_core-0.3.3 → codemap_core-0.3.5}/docs/bridges/http_route.md +0 -0
  22. {codemap_core-0.3.3 → codemap_core-0.3.5}/docs/cli.md +0 -0
  23. {codemap_core-0.3.3 → codemap_core-0.3.5}/docs/configuration.md +0 -0
  24. {codemap_core-0.3.3 → codemap_core-0.3.5}/docs/indexers/python.md +0 -0
  25. {codemap_core-0.3.3 → codemap_core-0.3.5}/docs/performance.md +0 -0
  26. {codemap_core-0.3.3 → codemap_core-0.3.5}/docs/plugin-guide.md +0 -0
  27. {codemap_core-0.3.3 → codemap_core-0.3.5}/docs/spikes/2026-06-23-scip-java-findings.md +0 -0
  28. {codemap_core-0.3.3 → codemap_core-0.3.5}/docs/spikes/2026-06-24-codemap-refactor-execution-readiness.md +0 -0
  29. {codemap_core-0.3.3 → codemap_core-0.3.5}/docs/spikes/2026-06-24-l1-refactor-next-steps.md +0 -0
  30. {codemap_core-0.3.3 → codemap_core-0.3.5}/src/codemap/__init__.py +0 -0
  31. {codemap_core-0.3.3 → codemap_core-0.3.5}/src/codemap/cli/__init__.py +0 -0
  32. {codemap_core-0.3.3 → codemap_core-0.3.5}/src/codemap/cli/_common.py +0 -0
  33. {codemap_core-0.3.3 → codemap_core-0.3.5}/src/codemap/cli/commands/__init__.py +0 -0
  34. {codemap_core-0.3.3 → codemap_core-0.3.5}/src/codemap/cli/commands/callees.py +0 -0
  35. {codemap_core-0.3.3 → codemap_core-0.3.5}/src/codemap/cli/commands/callers.py +0 -0
  36. {codemap_core-0.3.3 → codemap_core-0.3.5}/src/codemap/cli/commands/config.py +0 -0
  37. {codemap_core-0.3.3 → codemap_core-0.3.5}/src/codemap/cli/commands/diagnostics.py +0 -0
  38. {codemap_core-0.3.3 → codemap_core-0.3.5}/src/codemap/cli/commands/doctor.py +0 -0
  39. {codemap_core-0.3.3 → codemap_core-0.3.5}/src/codemap/cli/commands/get.py +0 -0
  40. {codemap_core-0.3.3 → codemap_core-0.3.5}/src/codemap/cli/commands/index.py +0 -0
  41. {codemap_core-0.3.3 → codemap_core-0.3.5}/src/codemap/cli/commands/routes.py +0 -0
  42. {codemap_core-0.3.3 → codemap_core-0.3.5}/src/codemap/cli/commands/search.py +0 -0
  43. {codemap_core-0.3.3 → codemap_core-0.3.5}/src/codemap/cli/commands/trace.py +0 -0
  44. {codemap_core-0.3.3 → codemap_core-0.3.5}/src/codemap/cli/main.py +0 -0
  45. {codemap_core-0.3.3 → codemap_core-0.3.5}/src/codemap/cli/renderers/__init__.py +0 -0
  46. {codemap_core-0.3.3 → codemap_core-0.3.5}/src/codemap/cli/renderers/json.py +0 -0
  47. {codemap_core-0.3.3 → codemap_core-0.3.5}/src/codemap/cli/renderers/text.py +0 -0
  48. {codemap_core-0.3.3 → codemap_core-0.3.5}/src/codemap/config/__init__.py +0 -0
  49. {codemap_core-0.3.3 → codemap_core-0.3.5}/src/codemap/config/loader.py +0 -0
  50. {codemap_core-0.3.3 → codemap_core-0.3.5}/src/codemap/config/schema.py +0 -0
  51. {codemap_core-0.3.3 → codemap_core-0.3.5}/src/codemap/core/__init__.py +0 -0
  52. {codemap_core-0.3.3 → codemap_core-0.3.5}/src/codemap/core/bridge/__init__.py +0 -0
  53. {codemap_core-0.3.3 → codemap_core-0.3.5}/src/codemap/core/bridge/base.py +0 -0
  54. {codemap_core-0.3.3 → codemap_core-0.3.5}/src/codemap/core/bridge/http_route.py +0 -0
  55. {codemap_core-0.3.3 → codemap_core-0.3.5}/src/codemap/core/bridge/python_cross_module.py +0 -0
  56. {codemap_core-0.3.3 → codemap_core-0.3.5}/src/codemap/core/bridge/registry.py +0 -0
  57. {codemap_core-0.3.3 → codemap_core-0.3.5}/src/codemap/core/git_hotspots.py +0 -0
  58. {codemap_core-0.3.3 → codemap_core-0.3.5}/src/codemap/core/graph.py +0 -0
  59. {codemap_core-0.3.3 → codemap_core-0.3.5}/src/codemap/core/models.py +0 -0
  60. {codemap_core-0.3.3 → codemap_core-0.3.5}/src/codemap/core/store.py +0 -0
  61. {codemap_core-0.3.3 → codemap_core-0.3.5}/src/codemap/core/symbol.py +0 -0
  62. {codemap_core-0.3.3 → codemap_core-0.3.5}/src/codemap/diagnostics/__init__.py +0 -0
  63. {codemap_core-0.3.3 → codemap_core-0.3.5}/src/codemap/diagnostics/exit_codes.py +0 -0
  64. {codemap_core-0.3.3 → codemap_core-0.3.5}/src/codemap/diagnostics/logging.py +0 -0
  65. {codemap_core-0.3.3 → codemap_core-0.3.5}/src/codemap/diagnostics/progress.py +0 -0
  66. {codemap_core-0.3.3 → codemap_core-0.3.5}/src/codemap/emitters/__init__.py +0 -0
  67. {codemap_core-0.3.3 → codemap_core-0.3.5}/src/codemap/emitters/base.py +0 -0
  68. {codemap_core-0.3.3 → codemap_core-0.3.5}/src/codemap/emitters/registry.py +0 -0
  69. {codemap_core-0.3.3 → codemap_core-0.3.5}/src/codemap/indexers/__init__.py +0 -0
  70. {codemap_core-0.3.3 → codemap_core-0.3.5}/src/codemap/indexers/_example_lang.py +0 -0
  71. {codemap_core-0.3.3 → codemap_core-0.3.5}/src/codemap/indexers/base.py +0 -0
  72. {codemap_core-0.3.3 → codemap_core-0.3.5}/src/codemap/indexers/project_base.py +0 -0
  73. {codemap_core-0.3.3 → codemap_core-0.3.5}/src/codemap/indexers/project_registry.py +0 -0
  74. {codemap_core-0.3.3 → codemap_core-0.3.5}/src/codemap/indexers/python.py +0 -0
  75. {codemap_core-0.3.3 → codemap_core-0.3.5}/src/codemap/indexers/registry.py +0 -0
  76. {codemap_core-0.3.3 → codemap_core-0.3.5}/src/codemap/io/__init__.py +0 -0
  77. {codemap_core-0.3.3 → codemap_core-0.3.5}/src/codemap/io/atomic.py +0 -0
  78. {codemap_core-0.3.3 → codemap_core-0.3.5}/src/codemap/io/base.py +0 -0
  79. {codemap_core-0.3.3 → codemap_core-0.3.5}/src/codemap/io/json_store.py +0 -0
  80. {codemap_core-0.3.3 → codemap_core-0.3.5}/src/codemap/io/lock.py +0 -0
  81. {codemap_core-0.3.3 → codemap_core-0.3.5}/src/codemap/io/manifest.py +0 -0
  82. {codemap_core-0.3.3 → codemap_core-0.3.5}/src/codemap/mcp/__init__.py +0 -0
  83. {codemap_core-0.3.3 → codemap_core-0.3.5}/tests/__init__.py +0 -0
  84. {codemap_core-0.3.3 → codemap_core-0.3.5}/tests/bench/__init__.py +0 -0
  85. {codemap_core-0.3.3 → codemap_core-0.3.5}/tests/bench/conftest.py +0 -0
  86. {codemap_core-0.3.3 → codemap_core-0.3.5}/tests/bench/test_index_perf.py +0 -0
  87. {codemap_core-0.3.3 → codemap_core-0.3.5}/tests/bench/test_query_perf.py +0 -0
  88. {codemap_core-0.3.3 → codemap_core-0.3.5}/tests/e2e/__init__.py +0 -0
  89. {codemap_core-0.3.3 → codemap_core-0.3.5}/tests/e2e/test_cli.py +0 -0
  90. {codemap_core-0.3.3 → codemap_core-0.3.5}/tests/e2e/test_config_integration.py +0 -0
  91. {codemap_core-0.3.3 → codemap_core-0.3.5}/tests/e2e/test_cross_module_callers.py +0 -0
  92. {codemap_core-0.3.3 → codemap_core-0.3.5}/tests/e2e/test_diagnostics.py +0 -0
  93. {codemap_core-0.3.3 → codemap_core-0.3.5}/tests/e2e/test_error_experience.py +0 -0
  94. {codemap_core-0.3.3 → codemap_core-0.3.5}/tests/e2e/test_golden_precision.py +0 -0
  95. {codemap_core-0.3.3 → codemap_core-0.3.5}/tests/e2e/test_http_pipeline.py +0 -0
  96. {codemap_core-0.3.3 → codemap_core-0.3.5}/tests/e2e/test_incremental.py +0 -0
  97. {codemap_core-0.3.3 → codemap_core-0.3.5}/tests/e2e/test_query_commands.py +0 -0
  98. {codemap_core-0.3.3 → codemap_core-0.3.5}/tests/fixtures/indexers/python/basics/expected/symbol_ids.txt +0 -0
  99. {codemap_core-0.3.3 → codemap_core-0.3.5}/tests/fixtures/indexers/python/basics/input/pkg/mod.py +0 -0
  100. {codemap_core-0.3.3 → codemap_core-0.3.5}/tests/fixtures/indexers/python/imports/expected/symbol_ids.txt +0 -0
  101. {codemap_core-0.3.3 → codemap_core-0.3.5}/tests/fixtures/indexers/python/imports/input/users.py +0 -0
  102. {codemap_core-0.3.3 → codemap_core-0.3.5}/tests/fixtures/indexers/python/inheritance/expected/symbol_ids.txt +0 -0
  103. {codemap_core-0.3.3 → codemap_core-0.3.5}/tests/fixtures/indexers/python/inheritance/input/shapes.py +0 -0
  104. {codemap_core-0.3.3 → codemap_core-0.3.5}/tests/fixtures/scip-samples/HelloSpring/.gitignore +0 -0
  105. {codemap_core-0.3.3 → codemap_core-0.3.5}/tests/fixtures/scip-samples/HelloSpring/pom.xml +0 -0
  106. {codemap_core-0.3.3 → codemap_core-0.3.5}/tests/fixtures/scip-samples/HelloSpring/settings.xml +0 -0
  107. {codemap_core-0.3.3 → codemap_core-0.3.5}/tests/fixtures/scip-samples/HelloSpring/src/main/java/com/example/hellospring/controller/OrderController.java +0 -0
  108. {codemap_core-0.3.3 → codemap_core-0.3.5}/tests/fixtures/scip-samples/HelloSpring/src/main/java/com/example/hellospring/mapper/CouponMapper.java +0 -0
  109. {codemap_core-0.3.3 → codemap_core-0.3.5}/tests/fixtures/scip-samples/HelloSpring/src/main/java/com/example/hellospring/service/OrderService.java +0 -0
  110. {codemap_core-0.3.3 → codemap_core-0.3.5}/tests/fixtures/scip-samples/HelloSpring/src/main/resources/mapper/CouponMapper.xml +0 -0
  111. {codemap_core-0.3.3 → codemap_core-0.3.5}/tests/fixtures/scip-samples/HelloSpring/web/OrderList.vue +0 -0
  112. {codemap_core-0.3.3 → codemap_core-0.3.5}/tests/fixtures/smoke/a.example +0 -0
  113. {codemap_core-0.3.3 → codemap_core-0.3.5}/tests/fixtures/smoke/b.example +0 -0
  114. {codemap_core-0.3.3 → codemap_core-0.3.5}/tests/integration/__init__.py +0 -0
  115. {codemap_core-0.3.3 → codemap_core-0.3.5}/tests/integration/test_http_route_bridge_e2e.py +0 -0
  116. {codemap_core-0.3.3 → codemap_core-0.3.5}/tests/unit/__init__.py +0 -0
  117. {codemap_core-0.3.3 → codemap_core-0.3.5}/tests/unit/test_config.py +0 -0
  118. {codemap_core-0.3.3 → codemap_core-0.3.5}/tests/unit/test_emitter_registry.py +0 -0
  119. {codemap_core-0.3.3 → codemap_core-0.3.5}/tests/unit/test_git_hotspots.py +0 -0
  120. {codemap_core-0.3.3 → codemap_core-0.3.5}/tests/unit/test_graph.py +0 -0
  121. {codemap_core-0.3.3 → codemap_core-0.3.5}/tests/unit/test_http_route_bridge.py +0 -0
  122. {codemap_core-0.3.3 → codemap_core-0.3.5}/tests/unit/test_indexer_registry.py +0 -0
  123. {codemap_core-0.3.3 → codemap_core-0.3.5}/tests/unit/test_io.py +0 -0
  124. {codemap_core-0.3.3 → codemap_core-0.3.5}/tests/unit/test_models.py +0 -0
  125. {codemap_core-0.3.3 → codemap_core-0.3.5}/tests/unit/test_models_kinds.py +0 -0
  126. {codemap_core-0.3.3 → codemap_core-0.3.5}/tests/unit/test_orchestration_phases.py +0 -0
  127. {codemap_core-0.3.3 → codemap_core-0.3.5}/tests/unit/test_project_indexer_registry.py +0 -0
  128. {codemap_core-0.3.3 → codemap_core-0.3.5}/tests/unit/test_python_cross_module_bridge.py +0 -0
  129. {codemap_core-0.3.3 → codemap_core-0.3.5}/tests/unit/test_python_indexer.py +0 -0
  130. {codemap_core-0.3.3 → codemap_core-0.3.5}/tests/unit/test_symbol.py +0 -0
@@ -8,6 +8,77 @@ During `0.x`, MINOR may introduce breaking changes — they will be marked `BREA
8
8
 
9
9
  ## [Unreleased]
10
10
 
11
+ ## [0.3.5] — 2026-06-26
12
+
13
+ Lockstep version-only bump across all **20 packages**; the only source
14
+ change is in `codemap-aimemory` — first half of the AI-Enterprise-
15
+ Delivery-System roadmap **P3-1**: a CLI that downstream tools (specode)
16
+ can call to recall relevant knowledge before drafting requirements.
17
+
18
+ ### `codemap-aimemory` — `codemap recall <query>` CLI (P3-1, half 1)
19
+
20
+ * New module `codemap_aimemory.recall` with a pure scorer
21
+ `recall(query, project_root, top_k, types)` that scans
22
+ `<project_root>/.ai-memory/knowledge/{rules,business,modules,cases,
23
+ pitfalls}/*.yml` and ranks by token overlap with each yml's
24
+ searchable fields (title / tags / statement / related_code / fix /
25
+ symptom / …). Title hits weighted higher than body hits.
26
+ * New `codemap_aimemory.recall_cli` registers the **`codemap recall`**
27
+ subcommand via the `codemap.cli_commands` entry-point (the same
28
+ group that hosts `enrich` and `llm`). Flags:
29
+ `--project/-p <abs>` (default cwd), `--top-k/-k N` (default 5),
30
+ `--types/-t rules,business,…` (category filter),
31
+ `--output/-o yaml|json` (default yaml).
32
+ * Output carries `query`, parsed `tokens`, `matched_entities` (id-based
33
+ hits against `_global/entities.yml`), and `knowledge` rows
34
+ (`knowledge_id`, `type`, `category`, `title`, `summary`, `score`,
35
+ `file`).
36
+ * Tokenizer is dependency-free: English/digit words ≥ 2 chars +
37
+ Chinese char-bigrams. Good enough for the few-word requirements
38
+ query; embeddings land in P1-3.
39
+ * 18 new unit tests (`test_recall.py`) cover tokenizer edge cases
40
+ (English / Chinese / mixed / empty), ranking, top-k, type filter,
41
+ title-weight, related_code/symptom/fix matching, malformed yml,
42
+ matched_entities, and full output shape.
43
+
44
+ ### Roadmap pairing
45
+
46
+ The companion change in `pluginhub` extends `specode`'s requirements
47
+ phase to invoke `codemap recall` before writing `requirements.md` and
48
+ inject the top hits into the "已知约束 / 历史坑" section — closing the
49
+ P3-1 loop end-to-end.
50
+
51
+ ## [0.3.4] — 2026-06-25
52
+
53
+ Lockstep version-only bump across all **20 packages**; the only source
54
+ change is in `codemap-aimemory` — closes the AI-Enterprise-Delivery-
55
+ System roadmap **P1-2** (global entity index — business ↔ code).
56
+
57
+ ### `codemap-aimemory` — global entity cross-walk (P1-2)
58
+
59
+ * New module `codemap_aimemory.global_entities` with a pure aggregator
60
+ `build_global_entities(out_dir, code_entity_ids)` that walks the
61
+ emitter's own entity vocabulary (`fn-*`, `cls-*`, `tbl-*`, `mod-*`)
62
+ alongside any `<out_dir>/knowledge/{rules,business,modules,cases,
63
+ pitfalls}/*.yml` produced by `spec-distill v2`. Knowledge yml is
64
+ scanned for three reference channels: `related_code[].entity`,
65
+ `related_knowledge[]`, and `affects[]` (pitfalls). Malformed yml
66
+ is silently skipped — a hand-edited knowledge file never crashes
67
+ the build.
68
+ * `AiMemoryEmitter` now writes **`.ai-memory/_global/entities.yml`**:
69
+ one row per entity with `id`, inferred `type` (from id prefix),
70
+ `source` (`code` / `knowledge` / `both`), and `knowledge_refs`
71
+ (every knowledge_id that mentions this entity). Top-level `counts`
72
+ partition: `total` / `code_only` / `knowledge_only` / `both`.
73
+ * Type inference covers all current prefixes: `fn-` → function,
74
+ `cls-` → class, `tbl-` → table, `mod-` → module, `rule-` → rule,
75
+ `biz-` → business_process, `case-` → case, `pit-` → pitfall.
76
+ * Closes the L1 ↔ L2/L3 lookup gap: an Agent answering "where is
77
+ `sf_coupon` referenced?" now hits one yml instead of walking the
78
+ whole knowledge tree.
79
+ * 13 new unit tests (`test_global_entities.py`) + 1 emitter integration
80
+ test cover empty / partial / cross-linked / malformed scenarios.
81
+
11
82
  ## [0.3.3] — 2026-06-25
12
83
 
13
84
  Lockstep version-only bump across all **20 packages**; the only source
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: codemap-core
3
- Version: 0.3.3
3
+ Version: 0.3.5
4
4
  Summary: Language-neutral code index for AI agents
5
5
  Project-URL: Homepage, https://github.com/qxbyte/codemap
6
6
  Project-URL: Repository, https://github.com/qxbyte/codemap
@@ -12,7 +12,7 @@ build-backend = "hatchling.build"
12
12
  # (`codemap-java`, `codemap-go`, …) — this is the engine; the others
13
13
  # are language adapters.
14
14
  name = "codemap-core"
15
- version = "0.3.3"
15
+ version = "0.3.5"
16
16
  description = "Language-neutral code index for AI agents"
17
17
  readme = "README.md"
18
18
  license = { file = "LICENSE" }
File without changes
File without changes
File without changes
File without changes