codewiki-plus 5.2.2__tar.gz → 5.4.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 (198) hide show
  1. {codewiki_plus-5.2.2/codewiki_plus.egg-info → codewiki_plus-5.4.0}/PKG-INFO +171 -21
  2. codewiki_plus-5.2.2/PKG-INFO → codewiki_plus-5.4.0/README.md +1099 -1016
  3. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/__init__.py +1 -1
  4. codewiki_plus-5.4.0/codewiki/agents/distill-worker.md +30 -0
  5. codewiki_plus-5.4.0/codewiki/cli/commands/__init__.py +6 -0
  6. codewiki_plus-5.4.0/codewiki/cli/commands/install_hooks.py +107 -0
  7. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/cli/main.py +2 -0
  8. codewiki_plus-5.4.0/codewiki/cli/utils/ide_config.py +254 -0
  9. codewiki_plus-5.4.0/codewiki/hooks/__init__.py +12 -0
  10. codewiki_plus-5.4.0/codewiki/hooks/task_session_start.py +340 -0
  11. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/_ide_hook.py +16 -1
  12. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/cache.py +353 -22
  13. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/prompts.py +375 -64
  14. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/registry.py +2433 -1822
  15. codewiki_plus-5.4.0/codewiki/mcp/tools/adoption.py +196 -0
  16. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/tools/agents_md.py +31 -4
  17. codewiki_plus-5.4.0/codewiki/mcp/tools/aggregation_state.py +222 -0
  18. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/tools/analysis.py +9 -3
  19. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/tools/capture_conversation.py +217 -20
  20. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/tools/close_session.py +50 -2
  21. codewiki_plus-5.4.0/codewiki/mcp/tools/distill_conversation.py +1620 -0
  22. codewiki_plus-5.4.0/codewiki/mcp/tools/doc_description.py +135 -0
  23. codewiki_plus-5.4.0/codewiki/mcp/tools/doc_update_notify.py +139 -0
  24. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/tools/doc_writer.py +104 -32
  25. codewiki_plus-5.4.0/codewiki/mcp/tools/doctrine.py +360 -0
  26. codewiki_plus-5.4.0/codewiki/mcp/tools/friction.py +176 -0
  27. codewiki_plus-5.4.0/codewiki/mcp/tools/index_freshness.py +260 -0
  28. codewiki_plus-5.4.0/codewiki/mcp/tools/injection_budget.py +134 -0
  29. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/tools/knowledge_loop.py +993 -178
  30. codewiki_plus-5.4.0/codewiki/mcp/tools/note_consolidation.py +543 -0
  31. codewiki_plus-5.4.0/codewiki/mcp/tools/note_merge.py +172 -0
  32. codewiki_plus-5.4.0/codewiki/mcp/tools/note_types.py +194 -0
  33. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/tools/prompt_server.py +1246 -1246
  34. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/tools/reading_guide.py +11 -1
  35. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/tools/schema_generator.py +32 -1
  36. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/tools/source_ingest.py +14 -18
  37. codewiki_plus-5.4.0/codewiki/mcp/tools/task_manager.py +798 -0
  38. codewiki_plus-5.4.0/codewiki/mcp/tools/telemetry.py +299 -0
  39. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/tools/wiki_index.py +32 -2
  40. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/tools/wiki_lint.py +490 -87
  41. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/tools/wiki_search.py +158 -18
  42. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/config.py +87 -4
  43. codewiki_plus-5.4.0/codewiki/src/frontmatter.py +181 -0
  44. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/templates/ontology.yaml +1 -3
  45. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/templates/schema.yaml +216 -169
  46. codewiki_plus-5.2.2/README.md → codewiki_plus-5.4.0/codewiki_plus.egg-info/PKG-INFO +237 -20
  47. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki_plus.egg-info/SOURCES.txt +38 -1
  48. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/pyproject.toml +2 -2
  49. codewiki_plus-5.4.0/tests/test_adoption.py +276 -0
  50. codewiki_plus-5.4.0/tests/test_authority_p0.py +137 -0
  51. codewiki_plus-5.4.0/tests/test_consolidation_p2.py +318 -0
  52. codewiki_plus-5.4.0/tests/test_distill_cleanup.py +228 -0
  53. codewiki_plus-5.4.0/tests/test_distill_p1.py +356 -0
  54. codewiki_plus-5.4.0/tests/test_doctrine_p3.py +223 -0
  55. codewiki_plus-5.4.0/tests/test_freshness.py +332 -0
  56. codewiki_plus-5.4.0/tests/test_friction.py +469 -0
  57. codewiki_plus-5.4.0/tests/test_index_freshness.py +208 -0
  58. codewiki_plus-5.4.0/tests/test_install_hooks.py +265 -0
  59. codewiki_plus-5.4.0/tests/test_l0_archive.py +230 -0
  60. codewiki_plus-5.4.0/tests/test_low_adoption.py +228 -0
  61. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/tests/test_ontology_graph.py +13 -1
  62. codewiki_plus-5.4.0/tests/test_openviking_borrowings.py +314 -0
  63. codewiki_plus-5.4.0/tests/test_promotion.py +358 -0
  64. codewiki_plus-5.4.0/tests/test_query_transparency.py +233 -0
  65. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/tests/test_strip_system_injection.py +25 -0
  66. codewiki_plus-5.4.0/tests/test_task_manager.py +484 -0
  67. codewiki_plus-5.4.0/tests/test_task_session_start.py +130 -0
  68. codewiki_plus-5.4.0/tests/test_team_telemetry.py +195 -0
  69. codewiki_plus-5.4.0/tests/test_transcript_filters.py +106 -0
  70. codewiki_plus-5.4.0/tests/test_usage_ranking.py +452 -0
  71. codewiki_plus-5.2.2/codewiki/cli/commands/__init__.py +0 -4
  72. codewiki_plus-5.2.2/codewiki/hooks/__init__.py +0 -8
  73. codewiki_plus-5.2.2/codewiki/mcp/tools/distill_conversation.py +0 -900
  74. codewiki_plus-5.2.2/tests/test_distill_cleanup.py +0 -101
  75. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/__main__.py +0 -0
  76. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/cli/__init__.py +0 -0
  77. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/cli/adapters/__init__.py +0 -0
  78. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/cli/adapters/doc_generator.py +0 -0
  79. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/cli/commands/config.py +0 -0
  80. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/cli/commands/generate.py +0 -0
  81. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/cli/config_manager.py +0 -0
  82. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/cli/git_manager.py +0 -0
  83. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/cli/html_generator.py +0 -0
  84. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/cli/models/__init__.py +0 -0
  85. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/cli/models/config.py +0 -0
  86. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/cli/models/job.py +0 -0
  87. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/cli/utils/__init__.py +0 -0
  88. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/cli/utils/api_errors.py +0 -0
  89. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/cli/utils/errors.py +0 -0
  90. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/cli/utils/fs.py +0 -0
  91. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/cli/utils/instructions.py +0 -0
  92. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/cli/utils/logging.py +0 -0
  93. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/cli/utils/progress.py +0 -0
  94. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/cli/utils/repo_validator.py +0 -0
  95. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/cli/utils/validation.py +0 -0
  96. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/hooks/capture_session_end.py +0 -0
  97. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/__init__.py +0 -0
  98. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/cbm_client.py +0 -0
  99. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/resources.py +0 -0
  100. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/server.py +0 -0
  101. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/session.py +0 -0
  102. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/tools/__init__.py +0 -0
  103. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/tools/batch_ingest.py +0 -0
  104. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/tools/cbm_integration.py +0 -0
  105. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/tools/code_reader.py +0 -0
  106. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/tools/component_list.py +0 -0
  107. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/tools/cross_service.py +0 -0
  108. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/tools/crosslink.py +0 -0
  109. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/tools/file_param.py +0 -0
  110. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/tools/file_viewer.py +0 -0
  111. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/tools/html_export.py +0 -0
  112. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/tools/impact.py +0 -0
  113. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/tools/init_wiki.py +0 -0
  114. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/tools/issue_tracker.py +0 -0
  115. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/tools/legacy_tools.py +0 -0
  116. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/tools/module_tree.py +0 -0
  117. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/tools/page_router.py +0 -0
  118. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/tools/workspace_analyzer.py +0 -0
  119. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/tools/workspace_result.py +0 -0
  120. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/mcp/workspace.py +0 -0
  121. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/py.typed +0 -0
  122. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/run_web_app.py +0 -0
  123. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/__init__.py +0 -0
  124. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/__init__.py +0 -0
  125. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/agent_tools/__init__.py +0 -0
  126. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/agent_tools/deps.py +0 -0
  127. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/agent_tools/generate_sub_module_documentations.py +0 -0
  128. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/agent_tools/read_code_components.py +0 -0
  129. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/agent_tools/str_replace_editor.py +0 -0
  130. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/backend.py +0 -0
  131. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/caw_backend.py +0 -0
  132. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/caw_toolkit.py +0 -0
  133. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/cluster_modules.py +0 -0
  134. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/__init__.py +0 -0
  135. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/analysis/__init__.py +0 -0
  136. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/analysis/analysis_service.py +0 -0
  137. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/analysis/call_graph_analyzer.py +0 -0
  138. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/analysis/cloning.py +0 -0
  139. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/analysis/cross_service_matcher.py +0 -0
  140. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/analysis/infra_scanner.py +0 -0
  141. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/analysis/repo_analyzer.py +0 -0
  142. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/analysis/service_detector.py +0 -0
  143. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/analysis/topology_visualizer.py +0 -0
  144. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/analyzers/__init__.py +0 -0
  145. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/analyzers/c.py +0 -0
  146. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/analyzers/cpp.py +0 -0
  147. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/analyzers/csharp.py +0 -0
  148. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/analyzers/go.py +0 -0
  149. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/analyzers/java.py +0 -0
  150. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/analyzers/javascript.py +0 -0
  151. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/analyzers/kotlin.py +0 -0
  152. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/analyzers/php.py +0 -0
  153. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/analyzers/python.py +0 -0
  154. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/analyzers/route_extractors/__init__.py +0 -0
  155. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/analyzers/route_extractors/go_routes.py +0 -0
  156. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/analyzers/route_extractors/java_routes.py +0 -0
  157. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/analyzers/route_extractors/js_routes.py +0 -0
  158. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/analyzers/route_extractors/mq_patterns.py +0 -0
  159. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/analyzers/route_extractors/python_routes.py +0 -0
  160. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/analyzers/typescript.py +0 -0
  161. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/ast_parser.py +0 -0
  162. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/dependency_graphs_builder.py +0 -0
  163. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/models/__init__.py +0 -0
  164. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/models/analysis.py +0 -0
  165. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/models/core.py +0 -0
  166. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/models/cross_service.py +0 -0
  167. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/topo_sort.py +0 -0
  168. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/utils/__init__.py +0 -0
  169. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/utils/external_symbols.py +0 -0
  170. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/utils/logging_config.py +0 -0
  171. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/utils/path_canonicalizer.py +0 -0
  172. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/utils/patterns.py +0 -0
  173. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/dependency_analyzer/utils/security.py +0 -0
  174. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/documentation_generator.py +0 -0
  175. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/llm_services.py +0 -0
  176. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/main.py +0 -0
  177. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/prompt_template.py +0 -0
  178. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/pydantic_ai_backend.py +0 -0
  179. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/be/utils.py +0 -0
  180. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/fe/__init__.py +0 -0
  181. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/fe/background_worker.py +0 -0
  182. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/fe/cache_manager.py +0 -0
  183. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/fe/config.py +0 -0
  184. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/fe/github_processor.py +0 -0
  185. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/fe/models.py +0 -0
  186. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/fe/routes.py +0 -0
  187. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/fe/template_utils.py +0 -0
  188. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/fe/templates.py +0 -0
  189. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/fe/visualise_docs.py +0 -0
  190. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/fe/web_app.py +0 -0
  191. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/src/utils.py +0 -0
  192. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki/templates/github_pages/viewer_template.html +0 -0
  193. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki_plus.egg-info/dependency_links.txt +0 -0
  194. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki_plus.egg-info/entry_points.txt +0 -0
  195. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki_plus.egg-info/requires.txt +0 -0
  196. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/codewiki_plus.egg-info/top_level.txt +0 -0
  197. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/setup.cfg +0 -0
  198. {codewiki_plus-5.2.2 → codewiki_plus-5.4.0}/tests/test_ide_hook_capture.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: codewiki-plus
3
- Version: 5.2.2
3
+ Version: 5.4.0
4
4
  Summary: Transform codebases into comprehensive documentation using AI-powered analysis
5
5
  Author: CodeWiki Contributors
6
6
  License: MIT
@@ -93,6 +93,15 @@ Requires-Dist: ruff>=0.1.0; extra == "dev"
93
93
 
94
94
  ## 中文
95
95
 
96
+ ### 专栏文章
97
+
98
+ 「迎风追日 / WanderingBug」公众号发布的本项目系列技术专栏,欢迎阅读:
99
+
100
+ - [专栏开篇词:从代码文档到 AI 知识引擎](https://mp.weixin.qq.com/s/WpjiDAs62_81mytBWUsDQw)(2026-07-26)
101
+ - [第 2 篇:双层 Prompt 架构同时服务人和模型](https://mp.weixin.qq.com/s/1lNjR_SsrU5Fw2NKnkxnMA)(2026-08-01)
102
+ - [第 3 篇:零依赖检索设计](https://mp.weixin.qq.com/s/T7r-ojyWC-YOpM_U5BNbEw)(2026-08-06)
103
+ - [第 4 篇:知识写入方式全景](https://mp.weixin.qq.com/s/V90mghqB5wttKd25eXA-Pw)(2026-08-09)
104
+
96
105
  ### 这个项目是什么?
97
106
 
98
107
  CodeWiki-Plus 是 [FSoft-AI4Code/CodeWiki](https://github.com/FSoft-AI4Code/CodeWiki) 的增强分支,核心改动是**让 CodeWiki 无需配置任何大模型 API,直接由 AI IDE(CodeBuddy、Cursor、Claude Desktop 等)自身的模型驱动 Wiki 文档生成**,并在此基础上构建了完整的知识管理引擎。
@@ -103,7 +112,7 @@ CodeWiki-Plus 是 [FSoft-AI4Code/CodeWiki](https://github.com/FSoft-AI4Code/Code
103
112
 
104
113
  实际上,CodeWiki 的核心工具链——AST 解析、依赖图、Mermaid 校验——完全不需要 LLM。真正需要 LLM 智能的 4 个环节(模块聚类、文档撰写、子模块递归、总览合成),恰好是 AI IDE 的 Agent 最擅长做的事情。
105
114
 
106
- 因此,我们将 CodeWiki 的 MCP Server 从"黑盒式一键生成"拆分为**28 个细粒度工具**,让它退化为纯工具链服务器。AI IDE 的 Agent 通过 MCP 协议调用这些工具,用自己的推理能力完成全部文档生成工作:
115
+ 因此,我们将 CodeWiki 的 MCP Server 从"黑盒式一键生成"拆分为**40 个细粒度工具**,让它退化为纯工具链服务器。AI IDE 的 Agent 通过 MCP 协议调用这些工具,用自己的推理能力完成全部文档生成工作:
107
116
 
108
117
  ```
109
118
  改造前:
@@ -119,15 +128,16 @@ CodeWiki-Plus 是 [FSoft-AI4Code/CodeWiki](https://github.com/FSoft-AI4Code/Code
119
128
  | 能力维度 | 原版 CodeWiki | CodeWiki-Plus |
120
129
  |----------|--------------|---------------|
121
130
  | LLM 配置 | 必须自行配置 API Key | 零配置,IDE 自身模型驱动 |
122
- | 生成模式 | 黑盒一键生成 | 28 个细粒度工具,Agent 全程可控 |
131
+ | 生成模式 | 黑盒一键生成 | 40 个细粒度工具,Agent 全程可控 |
123
132
  | 文档质量 | 通用描述 | Evidence-Based 断言(代码引用 + 置信度) |
124
133
  | 生成效率 | 所有组件同等处理 | 代码路由分类,boilerplate 仅保留签名 |
125
134
  | 上下文精度 | 模块内组件 | BFS 1-hop 调用图扩展 + 约束索引表 |
126
135
  | 增量更新 | 文件级 Git diff | 方法级 content_hash 精确检测 |
127
136
  | 知识管理 | 无 | 结构化 Wiki + 笔记飞轮 + 外部文档管理 |
137
+ | 任务记忆 | 无 | 跨会话任务上下文 + 任务记忆暂存确认 |
128
138
  | 搜索能力 | 无 | BM25 + wikilink 图谱多跳 + 渐进式阅读 |
129
139
  | 跨服务分析 | 无 | Monorepo 子服务检测 + 跨服务调用追踪 |
130
- | 质量保障 | 无 | 16 项 lint 检查 + health score + 问题追踪 |
140
+ | 质量保障 | 无 | 18 项 lint 检查 + health score + 问题追踪 |
131
141
 
132
142
  ### 前置条件
133
143
 
@@ -175,7 +185,7 @@ codewiki --version
175
185
  }
176
186
  ```
177
187
 
178
- 配置完成后,CodeBuddy 的 MCP 工具列表中应出现 `codewiki` 相关的 28 个工具。
188
+ 配置完成后,CodeBuddy 的 MCP 工具列表中应出现 `codewiki` 相关的 40 个工具。
179
189
 
180
190
  **第 3 步:在 Agent 模式中输入提示词**
181
191
 
@@ -230,6 +240,9 @@ repowiki/
230
240
  │ ├── pitfall-xxx.md # 踩坑记录
231
241
  │ ├── workaround-xxx.md # 临时方案
232
242
  │ └── ...
243
+ ├── tasks/ # 任务记忆(跨会话长线工作上下文)
244
+ │ ├── .index.json # 任务索引
245
+ │ └── <task_id>/ # task.md + memories.md + pending-memories.json
233
246
  ├── .meta/
234
247
  │ ├── project.json # 项目映射(repo_path/output_dir/cache_db 路径)
235
248
  │ ├── symbol_map.json # 符号→源文件映射(SQLite 主存储的 JSON 兼容副本)
@@ -244,7 +257,7 @@ repowiki/
244
257
 
245
258
  ### MCP 工具速查
246
259
 
247
- 所有工具均不需要 LLM 配置,由 IDE Agent 通过 MCP 协议调用。MCP Server 内置 **instructions**(能力概览与工作流指南)、**14 个工作流 Prompt**(覆盖初始化、生成、增量、搜索、质检、跨服务、团队记忆融合等全流程)和 **6 个 Resource**(wiki-catalog / module-tree / index-status 等)。
260
+ 所有工具均不需要 LLM 配置,由 IDE Agent 通过 MCP 协议调用。MCP Server 内置 **instructions**(能力概览与工作流指南)、**19 个工作流 Prompt**(覆盖初始化、生成、增量、搜索、质检、跨服务、团队记忆融合、任务记忆等全流程)和 **6 个 Resource**(wiki-catalog / module-tree / index-status 等)。
248
261
 
249
262
  **代码分析(6 个):**
250
263
 
@@ -268,7 +281,7 @@ repowiki/
268
281
  | `get_prompt` | 获取各阶段的提示词模板(含 16 种 prompt_type) |
269
282
  | `close_session` | 关闭会话释放资源,构建 BM25 索引 + wikilink 图谱,写入生成元数据 |
270
283
 
271
- **知识管理(7 个):**
284
+ **知识管理(10 个):**
272
285
 
273
286
  | 工具 | 用途 |
274
287
  |------|------|
@@ -276,15 +289,18 @@ repowiki/
276
289
  | `ingest_note` | 将开发笔记归档到 notes/,支持 8 种类型 + aliases + source_ref;默认写入为 candidate 状态 |
277
290
  | `confirm_note` | 将 candidate 笔记升级为 confirmed(正式领域知识) |
278
291
  | `reject_note` | 否决 candidate 笔记,后续 query_wiki 不再返回 |
292
+ | `batch_set_status` | 批量流转笔记状态(确认/否决多条笔记一次完成) |
279
293
  | `ingest_source` | 导入第三方文档到 `raw/sources/`,注册到 `source_registry.json` |
280
294
  | `retract_source` | 撤回已导入的外部文档(flag_stale / remove_refs 两种模式) |
281
295
  | `batch_ingest` | 批量导入:一次调用处理多个笔记/文档 |
296
+ | `init_wiki` | 初始化 Wiki 工作区目录结构与项目级 schema.yaml |
297
+ | `wiki_stats` | Wiki 知识库统计(页面数、笔记状态分布、覆盖率概览) |
282
298
 
283
299
  **质量保障(2 个):**
284
300
 
285
301
  | 工具 | 用途 |
286
302
  |------|------|
287
- | `lint_wiki` | 文档-代码一致性检查:**16 项检查**(含 unsupported_claims 无证据断言检测) |
303
+ | `lint_wiki` | 文档-代码一致性检查:**18 项检查**(含 unsupported_claims 无证据断言检测、low_adoption 低采纳检测) |
288
304
  | `flag_issue` | 标记 Wiki 质量问题,驱动 health score 计算 |
289
305
 
290
306
  **跨服务分析(1 个):**
@@ -300,6 +316,23 @@ repowiki/
300
316
  | `capture_conversation` | 采集对话转录到 repowiki/raw/,仅落盘不蒸馏,支持 session 覆盖去重 |
301
317
  | `distill_conversation` | 蒸馏 raw 对话为 Wiki 笔记:Mode C prepare → Agent 提取 → submit 入库(status=draft),需 confirm_note 确认 |
302
318
 
319
+ **任务管理(12 个):**
320
+
321
+ | 工具 | 用途 |
322
+ |------|------|
323
+ | `create_task` | 创建长线任务(task_id 由标题 slugify 生成,不可变、不允许重名) |
324
+ | `list_tasks` | 列出任务,支持 status 过滤(active / completed) |
325
+ | `get_task` | 查看单个任务详情 |
326
+ | `get_task_context` | 拉取任务描述 + 记忆 + 关联笔记,作为继续工作的上下文;返回 pending_raw_count 提示补蒸馏 |
327
+ | `set_session_task` | 将当前会话绑定到任务,后续采集/蒸馏自动携带 task_id |
328
+ | `add_task_memory` | 手动向任务追加进度记忆 |
329
+ | `stage_task_memories` | 暂存候选任务记忆(待确认) |
330
+ | `list_pending_memories` | 列出待确认的任务记忆 |
331
+ | `confirm_task_memories` | 确认暂存记忆,落盘到任务 memories.md |
332
+ | `reject_task_memories` | 否决暂存记忆 |
333
+ | `complete_task` | 完成任务 |
334
+ | `delete_task` | 删除任务(级联删除任务目录与绑定,但不删已打 task_id 标签的笔记) |
335
+
303
336
  > 另有 2 个遗留工具(`generate_docs`、`get_module_tree`)保留向后兼容,需先通过 `codewiki config set` 配置 LLM API。
304
337
 
305
338
  ### 文档生成质量增强
@@ -417,6 +450,49 @@ LLM 发现跨功能约束
417
450
  - 自动采集 Hook 只落 raw,永不自动蒸馏;蒸馏须显式调用 `distill_conversation`。
418
451
  - `repowiki/raw/` 是暂存区,不进 `query_wiki` 检索;蒸馏完成后由工具自动清理(除非 `keep_raw`)。
419
452
  - 触发形态为 **both**:手动命令(主)+ IDE Hook(可选)。
453
+ - 自动采集/任务引导 Hook 接线支持 **CodeBuddy(`.codebuddy/`)、Qoder(`.qoder/`)、Claude Code(`.claude/`)**,启用时运行 `codewiki install-hooks --repo-path <repo>` 自动检测项目根目录存在哪些 IDE 配置目录,检测到哪些就为哪些接线(拷贝 hook 脚本与 distill-worker subagent、幂等合并 settings.json、写入 AGENTS.md 引导段);采集脚本对事件载荷做了通用化处理。
454
+
455
+ **隐私语义(T2 团队遥测):** `query_wiki` 的检索命中与 `capture_conversation` 的采纳记录会以 `user_id`(优先 `CODEWIKI_USER` 环境变量,回退 `git config user.name` / 系统登录名)署名写入 `repowiki/.meta/telemetry/<user_id>.jsonl` 并随仓库共享——此前这是 gitignore 的本机私有数据。`user_id` 不做鉴权(信任模型与 confirm 闸门一致:能提交即团队可信成员),仅作命名空间;不愿以 git 真名署名的成员可用 `CODEWIKI_USER` 设置花名,或在 `schema.yaml` 中设 `conventions.telemetry.enabled: false` 退回纯本机模式(写入 `repowiki/.meta/telemetry-local/`,已 gitignore,聚合逻辑不变)。
456
+
457
+ ### 任务记忆(Task Memory)
458
+
459
+ 任务记忆解决"长线工作跨会话断片"的问题:一个任务往往持续数天、横跨多个会话,Agent 每次重启都要从零了解"上次做到哪了"。任务记忆与 Wiki 笔记互补——**Wiki 笔记沉淀跨任务的通用经验,任务记忆保存任务范围内的进度知识**(本次做了什么、下一步、待办)。
460
+
461
+ **工作流:**
462
+
463
+ ```
464
+ 会话开始:
465
+ list_tasks(status="active") → 选择关联已有任务或新建
466
+ → set_session_task 绑定会话(后续采集自动携带 task_id)
467
+ → get_task_context 拉取任务描述 + 记忆 + 关联笔记
468
+ → 若 pending_raw_count > 0:委托「蒸馏 worker」subagent 后台补蒸馏,不阻塞开始工作
469
+
470
+ 会话过程中:
471
+ distill_conversation 双轨产出:
472
+ notes → 通用知识笔记(走 confirm_note 评审)
473
+ memories → 任务进度记忆(先暂存 pending)
474
+ → confirm_task_memories 确认后落盘 memories.md
475
+ ```
476
+
477
+ **存储结构:**
478
+
479
+ ```
480
+ repowiki/
481
+ ├── tasks/
482
+ │ ├── .index.json # 任务索引
483
+ │ └── <task_id>/
484
+ │ ├── task.md # 任务描述
485
+ │ ├── memories.md # 已确认的任务记忆(追加式原子写)
486
+ │ └── pending-memories.json # 待确认记忆暂存
487
+ └── .meta/
488
+ └── task_bindings/ # 会话 ↔ 任务绑定
489
+ ```
490
+
491
+ **关键约束:**
492
+
493
+ - task_id 由标题 slugify 生成且不可变;同名任务被拒绝;无重命名(删除后重建)。
494
+ - 任务记忆先暂存、经 `confirm_task_memories` 确认后才落盘,与笔记评审闸门对齐。
495
+ - 可选的 IDE SessionStart Hook(默认关闭)在会话开始时自动提示关联任务。
420
496
 
421
497
  ### 渐进式阅读协议
422
498
 
@@ -510,7 +586,7 @@ CodeWiki-Plus 采用 **SQLite 主存储 + JSON 兼容副本** 的双层架构:
510
586
 
511
587
  #### 文档健康检查
512
588
 
513
- `lint_wiki` 提供 **16 项检查**,覆盖结构完整性和内容质量:
589
+ `lint_wiki` 提供 **18 项检查**,覆盖结构完整性和内容质量:
514
590
 
515
591
  | 检查项 | 说明 |
516
592
  |--------|------|
@@ -529,7 +605,10 @@ CodeWiki-Plus 采用 **SQLite 主存储 + JSON 兼容副本** 的双层架构:
529
605
  | `isolated_components` | 零依赖零被依赖的孤立组件 |
530
606
  | `stale_notes` | 超过 90 天且 60 天内未被检索的已确认笔记 |
531
607
  | `note_clusters` | 同模块同类型笔记 ≥3 条,建议合并 |
608
+ | `low_adoption` | 高频召回(≥5 次)但零采纳的 stable 笔记——内容相关但不够 actionable,建议按「步骤/命令/预期结果」重写 |
532
609
  | `okf_conformance` | OKF v0.2 合规审计:缺失 type/frontmatter、旧版状态词、verified 格式错误、stale_after 过期、缺 okf_version |
610
+ | `scenario_capacity` | L2 场景块数量达到/超过容量上限(error/warning 分级),需先 MERGE 腾位再新增 |
611
+ | `scenario_orphan` | 无来源标注(metadata.source_notes)且长期未被检索的孤儿场景块,可能冗余或过时 |
533
612
 
534
613
  `lint_wiki` 返回 **health_score**(0-100),计算方式为 `100 - Σ(error×10 + warning×3 + info×1)`。
535
614
 
@@ -579,7 +658,7 @@ CodeWiki-Plus 采用 **SQLite 主存储 + JSON 兼容副本** 的双层架构:
579
658
 
580
659
  #### 工作流 Prompt
581
660
 
582
- MCP Server 内置 **14 个工作流 Prompt**,在 AI IDE 中通过 Prompt 面板直接触发,Agent 自动编排多工具调用:
661
+ MCP Server 内置 **19 个工作流 Prompt**,在 AI IDE 中通过 Prompt 面板直接触发,Agent 自动编排多工具调用:
583
662
 
584
663
  | Prompt 名称 | 面向场景 | 核心步骤 |
585
664
  |-------------|----------|----------|
@@ -593,10 +672,11 @@ MCP Server 内置 **14 个工作流 Prompt**,在 AI IDE 中通过 Prompt 面
593
672
  | `architecture-review` | 架构审查与热点分析 | 依赖图分析 → 核心层/服务层/应用层识别 → Top 5 热点 → 耦合风险 → 入口点 |
594
673
  | `extract-knowledge` | 外部文档知识提取 | ingest_source 导入 → extraction_scan 候选提取 → 实体/概念页面生成 → wikilink 图谱 |
595
674
  | `search-wiki` | 知识库搜索策略指引 | query_wiki(BM25)→ 图谱多跳扩展 → 渐进式阅读(overview → directory → detail) |
596
- | `quality-check` | Wiki 质量全面检查 | lint_wiki(16 项检查)→ health_score → flag_issue 标记 → 修复建议 |
675
+ | `quality-check` | Wiki 质量全面检查 | lint_wiki(18 项检查)→ health_score → flag_issue 标记 → 修复建议 |
597
676
  | `ingest-note` | 经验知识归档 | ingest_note(8 种类型)→ candidate 状态 → confirm/reject 流转 → BM25 索引 |
598
677
  | `team-memory-hook` | 对话自动采集管理 | 检查状态 → 启用(注册 SessionEnd 事件)/ 关闭 → 验证 |
599
678
  | `distill-conversations` | 对话蒸馏提取经验 | prepare 取 transcript → Agent 提取知识 → submit 去重入库 → confirm/reject 评审 |
679
+ | `task-workflow` | 任务记忆完整工作流 | 会话开始关联任务 → 补蒸馏 → get_task_context → 工作中沉淀 memories → confirm 落盘 |
600
680
 
601
681
  ### 使用场景示例
602
682
 
@@ -650,7 +730,7 @@ Agent 调用 `confirm_note(note_file="pitfall-redis-connection-pool.md")`,升
650
730
  检查一下 Wiki 文档的健康状况。
651
731
  ```
652
732
 
653
- Agent 调用 `lint_wiki`,返回 16 项诊断报告和 health_score。
733
+ Agent 调用 `lint_wiki`,返回 18 项诊断报告和 health_score。
654
734
 
655
735
  **场景 8:跨服务调用分析**
656
736
 
@@ -660,6 +740,14 @@ Agent 调用 `lint_wiki`,返回 16 项诊断报告和 health_score。
660
740
 
661
741
  Agent 调用 `analyze_repo`(自动检测子服务)→ `query_cross_service(filter_type="all")`。
662
742
 
743
+ **场景 9:跨会话延续长线任务**
744
+
745
+ ```
746
+ 继续上次的"支付重构"任务。
747
+ ```
748
+
749
+ Agent 调用 `list_tasks` 找到任务 → `set_session_task` 绑定会话 → `get_task_context` 恢复上下文(做了什么、下一步),若有未蒸馏对话委托「蒸馏 worker」subagent 后台补蒸馏(不阻塞),然后无缝继续工作。
750
+
663
751
  ### 支持的其他 AI IDE
664
752
 
665
753
  除 CodeBuddy 外,任何支持 MCP stdio 协议的 AI IDE 均可使用:
@@ -700,7 +788,7 @@ Python、Java、JavaScript、TypeScript、C、C++、C#、Kotlin、Go、PHP
700
788
  - [Tencent/WeKnora](https://github.com/Tencent/WeKnora) — 外部文档管理、文档健康检查、自适应分块思路
701
789
  - [CodingHub](https://github.com/mambo-wang/CodingHub) — MCP Server 最佳实践(instructions / prompts / resources)
702
790
 
703
- 我们在上游基础上将 MCP Server 从黑盒模式拆分为 **28 个细粒度工具**,并新增结构化 Wiki、Evidence-Based 断言、代码路由分类、知识飞轮、渐进式阅读、方法级增量检测、monorepo 跨服务分析、团队记忆融合等能力。
791
+ 我们在上游基础上将 MCP Server 从黑盒模式拆分为 **40 个细粒度工具**,并新增结构化 Wiki、Evidence-Based 断言、代码路由分类、知识飞轮、渐进式阅读、方法级增量检测、monorepo 跨服务分析、团队记忆融合、任务记忆等能力。
704
792
 
705
793
  上游论文:[CodeWiki: Evaluating AI's Ability to Generate Holistic Documentation for Large-Scale Codebases](https://arxiv.org/abs/2510.24428)
706
794
 
@@ -732,7 +820,7 @@ The original CodeWiki is an excellent repository-level documentation framework.
732
820
 
733
821
  In practice, CodeWiki's core toolchain—Tree-sitter AST parsing, dependency graph construction, topological sorting, and Mermaid validation—does not need an LLM at all. The 4 stages that do require LLM intelligence (module clustering, document writing, sub-module recursion, and overview synthesis) are exactly what AI IDE Agents excel at.
734
822
 
735
- We refactored CodeWiki's MCP Server from a "one-click black box" into **28 fine-grained tools**, turning it into a pure toolchain server. The AI IDE's Agent calls these tools via MCP and uses its own reasoning to complete all documentation work:
823
+ We refactored CodeWiki's MCP Server from a "one-click black box" into **40 fine-grained tools**, turning it into a pure toolchain server. The AI IDE's Agent calls these tools via MCP and uses its own reasoning to complete all documentation work:
736
824
 
737
825
  ```
738
826
  Before:
@@ -748,15 +836,16 @@ After:
748
836
  | Dimension | Upstream CodeWiki | CodeWiki-Plus |
749
837
  |-----------|------------------|---------------|
750
838
  | LLM config | Must configure API key | Zero-config, IDE model driven |
751
- | Generation mode | Black-box one-click | 28 fine-grained tools, full Agent control |
839
+ | Generation mode | Black-box one-click | 40 fine-grained tools, full Agent control |
752
840
  | Doc quality | Generic descriptions | Evidence-Based assertions (code quotes + confidence) |
753
841
  | Generation efficiency | All components equal | Code routing: boilerplate gets signature-only |
754
842
  | Context precision | Intra-module components | BFS 1-hop call graph + constraint index table |
755
843
  | Incremental update | File-level Git diff | Method-level content_hash detection |
756
844
  | Knowledge management | None | Structured Wiki + note flywheel + external docs |
845
+ | Task memory | None | Cross-session task context + pending-confirm task memories |
757
846
  | Search | None | BM25 + wikilink graph multi-hop + progressive reading |
758
847
  | Cross-service | None | Monorepo sub-service detection + call tracing |
759
- | Quality assurance | None | 16 lint checks + health score + issue tracking |
848
+ | Quality assurance | None | 17 lint checks + health score + issue tracking |
760
849
 
761
850
  ### Prerequisites
762
851
 
@@ -827,7 +916,7 @@ Stage 5: Call close_session to free resources, build search index
827
916
 
828
917
  ### MCP Tools
829
918
 
830
- All tools require zero LLM config. The IDE Agent invokes them via MCP. The server includes built-in **instructions**, **14 Workflow Prompts** (covering init, generation, incremental update, search, quality check, cross-service analysis, team memory fusion), and **6 Resources**.
919
+ All tools require zero LLM config. The IDE Agent invokes them via MCP. The server includes built-in **instructions**, **19 Workflow Prompts** (covering init, generation, incremental update, search, quality check, cross-service analysis, team memory fusion, task memory), and **6 Resources**.
831
920
 
832
921
  **Code Analysis (6):**
833
922
 
@@ -851,7 +940,7 @@ All tools require zero LLM config. The IDE Agent invokes them via MCP. The serve
851
940
  | `get_prompt` | Retrieve prompt templates (23 prompt_types) |
852
941
  | `close_session` | Close session, build BM25 index + wikilink graph, write metadata |
853
942
 
854
- **Knowledge Management (7):**
943
+ **Knowledge Management (10):**
855
944
 
856
945
  | Tool | Purpose |
857
946
  |------|---------|
@@ -859,15 +948,18 @@ All tools require zero LLM config. The IDE Agent invokes them via MCP. The serve
859
948
  | `ingest_note` | File structured notes (8 types) with aliases + source_ref; default candidate status |
860
949
  | `confirm_note` | Promote candidate note to confirmed knowledge |
861
950
  | `reject_note` | Reject candidate note, exclude from future searches |
951
+ | `batch_set_status` | Batch transition note statuses (confirm/reject multiple at once) |
862
952
  | `ingest_source` | Import third-party docs into `raw/sources/` |
863
953
  | `retract_source` | Retract imported docs (flag_stale / remove_refs) |
864
954
  | `batch_ingest` | Batch import multiple notes/sources in one call |
955
+ | `init_wiki` | Initialize Wiki workspace directories and project-level schema.yaml |
956
+ | `wiki_stats` | Wiki statistics (page counts, note status distribution, coverage overview) |
865
957
 
866
958
  **Quality Assurance (2):**
867
959
 
868
960
  | Tool | Purpose |
869
961
  |------|---------|
870
- | `lint_wiki` | Doc-code consistency: **16 checks** (incl. unsupported_claims evidence detection) |
962
+ | `lint_wiki` | Doc-code consistency: **18 checks** (incl. unsupported_claims evidence detection, low_adoption utility check, and L2 scenario hygiene) |
871
963
  | `flag_issue` | Flag quality issues, drives health score |
872
964
 
873
965
  **Cross-Service Analysis (1):**
@@ -883,6 +975,23 @@ All tools require zero LLM config. The IDE Agent invokes them via MCP. The serve
883
975
  | `capture_conversation` | Capture conversation transcripts to repowiki/raw/ (persistence only, no distillation); session-level supersede dedup |
884
976
  | `distill_conversation` | Distill raw conversations into Wiki notes: Mode C prepare → Agent extracts → submit (status=draft); requires confirm_note |
885
977
 
978
+ **Task Management (12):**
979
+
980
+ | Tool | Purpose |
981
+ |------|---------|
982
+ | `create_task` | Create a long-running task (task_id slugified from title, immutable, no duplicates) |
983
+ | `list_tasks` | List tasks with status filtering (active / completed) |
984
+ | `get_task` | Inspect a single task |
985
+ | `get_task_context` | Fetch task description + memories + related notes as working context; reports pending_raw_count for catch-up distillation |
986
+ | `set_session_task` | Bind the current session to a task; subsequent captures/distillations carry task_id automatically |
987
+ | `add_task_memory` | Manually append a progress memory to a task |
988
+ | `stage_task_memories` | Stage candidate task memories (pending confirmation) |
989
+ | `list_pending_memories` | List pending task memories |
990
+ | `confirm_task_memories` | Confirm staged memories, persist to the task's memories.md |
991
+ | `reject_task_memories` | Reject staged memories |
992
+ | `complete_task` | Mark a task complete |
993
+ | `delete_task` | Delete a task (cascades task dir and bindings, but keeps tagged notes) |
994
+
886
995
  > 2 legacy tools (`generate_docs`, `get_module_tree`) retained for backward compatibility.
887
996
 
888
997
  ### Documentation Quality Enhancements
@@ -955,6 +1064,46 @@ Inspired by Team-Agent-Memory's "extract retrievable experience from conversatio
955
1064
  - The automatic capture hook only writes raw; it never distills. Distillation must be invoked explicitly via `distill_conversation`.
956
1065
  - `repowiki/raw/` is a staging area excluded from `query_wiki`; it is cleaned up after distillation automatically (unless `keep_raw`).
957
1066
  - Trigger form is **both**: manual command (primary) + IDE hook (optional).
1067
+ - The capture / task-guidance hooks are wired for **CodeBuddy (`.codebuddy/`), Qoder (`.qoder/`) and Claude Code (`.claude/`)**. To enable, run `codewiki install-hooks --repo-path <repo>`: it auto-detects which IDE config dirs exist in the project root and wires each one found (copies the hook scripts and the distill-worker subagent, idempotently merges `settings.json` hook registrations, and upserts the AGENTS.md task-guidance section). The capture script parses generic event payloads.
1068
+
1069
+ **Privacy semantics (T2 team telemetry):** `query_wiki` retrieval hits and `capture_conversation` adoption records are written to `repowiki/.meta/telemetry/<user_id>.jsonl` (committed to the repo) under a `user_id` resolved from the `CODEWIKI_USER` env var, falling back to `git config user.name` / the OS login name — this data used to be a gitignored local file. The `user_id` is not an auth mechanism (trust model equals the confirm gate: anyone who can commit is a trusted teammate), it is a namespace only. Members who prefer not to sign telemetry with their git name can set a pseudonym via `CODEWIKI_USER`, or set `conventions.telemetry.enabled: false` in `schema.yaml` to fall back to local-only mode (written to `repowiki/.meta/telemetry-local/`, gitignored; aggregation is unchanged).
1070
+
1071
+ ### Task Memory
1072
+
1073
+ Task Memory solves the "cross-session amnesia" problem for long-running work: a task often spans days and multiple sessions, and the Agent normally restarts from zero. Task Memory complements Wiki notes — **Wiki notes capture cross-task general knowledge, while task memories hold task-scoped progress** (what was done, what's next, todos).
1074
+
1075
+ **Workflow:**
1076
+
1077
+ ```
1078
+ Session start:
1079
+ list_tasks(status="active") → pick an existing task or create one
1080
+ → set_session_task binds the session (captures carry task_id automatically)
1081
+ → get_task_context restores description + memories + related notes
1082
+ → if pending_raw_count > 0: catch-up distillation before working
1083
+
1084
+ During the session:
1085
+ distill_conversation produces two tracks:
1086
+ notes → general knowledge notes (confirm_note review)
1087
+ memories → task progress memories (staged as pending first)
1088
+ → confirm_task_memories persists them to memories.md
1089
+ ```
1090
+
1091
+ **Storage layout:**
1092
+
1093
+ ```
1094
+ repowiki/
1095
+ ├── tasks/
1096
+ │ ├── .index.json # task index
1097
+ │ └── <task_id>/ # task.md + memories.md + pending-memories.json
1098
+ └── .meta/
1099
+ └── task_bindings/ # session ↔ task bindings
1100
+ ```
1101
+
1102
+ **Key constraints:**
1103
+
1104
+ - task_id is slugified from the title and immutable; duplicate titles are rejected; no rename (delete and recreate).
1105
+ - Task memories are staged first and only persisted after `confirm_task_memories`, aligned with the note review gate.
1106
+ - An optional IDE SessionStart hook (off by default) can prompt task association at session start.
958
1107
 
959
1108
  ### Progressive Reading Protocol
960
1109
 
@@ -969,7 +1118,7 @@ Inspired by Team-Agent-Memory's "extract retrievable experience from conversatio
969
1118
 
970
1119
  ### Workflow Prompts
971
1120
 
972
- The MCP server includes **14 built-in workflow prompts** that can be triggered from the AI IDE's prompt panel. The Agent automatically orchestrates multi-tool calls:
1121
+ The MCP server includes **19 built-in workflow prompts** that can be triggered from the AI IDE's prompt panel. The Agent automatically orchestrates multi-tool calls:
973
1122
 
974
1123
  | Prompt | Scenario | Core Steps |
975
1124
  |--------|----------|------------|
@@ -983,10 +1132,11 @@ The MCP server includes **14 built-in workflow prompts** that can be triggered f
983
1132
  | `architecture-review` | Architecture review & hotspot analysis | Dependency graph → layer identification → Top 5 hotspots → coupling risks → entry points |
984
1133
  | `extract-knowledge` | External document knowledge extraction | ingest_source → extraction_scan → entity/concept pages → wikilink graph |
985
1134
  | `search-wiki` | Knowledge base search strategy | query_wiki (BM25) → graph multi-hop expansion → progressive reading |
986
- | `quality-check` | Comprehensive Wiki quality check | lint_wiki (16 checks) → health_score → flag_issue → fix suggestions |
1135
+ | `quality-check` | Comprehensive Wiki quality check | lint_wiki (18 checks) → health_score → flag_issue → fix suggestions |
987
1136
  | `ingest-note` | Experience knowledge archiving | ingest_note (8 types) → candidate status → confirm/reject → BM25 index |
988
1137
  | `team-memory-hook` | Conversation capture hook management | Check status → enable (register SessionEnd event) / disable → verify |
989
1138
  | `distill-conversations` | Conversation distillation | prepare fetch transcripts → Agent extracts → submit ingest → confirm/reject review |
1139
+ | `task-workflow` | Full task memory workflow | Associate task at session start → catch-up distillation → get_task_context → accumulate memories → confirm |
990
1140
 
991
1141
  ### Supported Languages
992
1142