agent-wiki-cli 2.1.0__tar.gz → 2.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 (499) hide show
  1. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/MANIFEST.in +3 -1
  2. {agent_wiki_cli-2.1.0/src/agent_wiki_cli.egg-info → agent_wiki_cli-2.2.0}/PKG-INFO +6 -2
  3. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/README.md +5 -1
  4. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/docs/cli-reference.md +64 -0
  5. agent_wiki_cli-2.2.0/docs/native-knowledge-provider.md +184 -0
  6. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/docs/wiki-guide.md +13 -0
  7. agent_wiki_cli-2.2.0/examples/plugins/documentation-hooks/README.md +93 -0
  8. agent_wiki_cli-2.2.0/examples/plugins/documentation-hooks/styles.py +29 -0
  9. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/pyproject.toml +3 -1
  10. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0/src/agent_wiki_cli.egg-info}/PKG-INFO +6 -2
  11. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/agent_wiki_cli.egg-info/SOURCES.txt +18 -0
  12. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/api.py +423 -83
  13. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/api_types.py +38 -0
  14. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/cli.py +74 -5
  15. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/commands/generate_prompt_cmd.py +1 -0
  16. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/commands/knowledge_cmd.py +39 -0
  17. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/commands/review_cmd.py +1 -0
  18. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/commands/sync_cmd.py +1 -0
  19. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/commands/trigger_cmd.py +1 -0
  20. agent_wiki_cli-2.2.0/src/llm_wiki_cli/examples/plugins/documentation-hooks/README.md +93 -0
  21. agent_wiki_cli-2.2.0/src/llm_wiki_cli/examples/plugins/documentation-hooks/styles.py +29 -0
  22. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/extractors/go_extractor.py +1 -0
  23. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/extractors/haskell_extractor.py +1 -0
  24. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/extractors/haskell_scripts/Parser.hs +63 -49
  25. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/extractors/rust_extractor.py +1 -0
  26. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/extractors/ts_extractor.py +1 -0
  27. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/extractors/ts_scripts/extract.js +6 -1
  28. agent_wiki_cli-2.2.0/src/llm_wiki_cli/services/__init__.py +0 -0
  29. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/bootstrap_runtime.py +56 -12
  30. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/change_selection.py +1 -0
  31. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/context_budget.py +2 -2
  32. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/context_packet.py +117 -22
  33. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/context_service.py +85 -23
  34. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/contracts.py +4 -0
  35. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/documentation_queries.py +4 -0
  36. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/documentation_query_builder.py +24 -6
  37. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/extraction_service.py +3 -0
  38. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/extractor_helpers.py +3 -0
  39. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/io.py +18 -0
  40. agent_wiki_cli-2.2.0/src/llm_wiki_cli/services/knowledge_coverage.py +130 -0
  41. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/knowledge_envelope.py +4 -0
  42. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/knowledge_evidence.py +1 -1
  43. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/knowledge_freshness.py +9 -5
  44. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/knowledge_projection.py +23 -12
  45. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/maintenance_queue.py +23 -6
  46. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/mcp_server.py +119 -58
  47. agent_wiki_cli-2.2.0/src/llm_wiki_cli/services/native_inspection.py +113 -0
  48. agent_wiki_cli-2.2.0/src/llm_wiki_cli/services/packet_field_policy.py +216 -0
  49. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/site_export.py +4 -2
  50. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/sync_manifest.py +16 -10
  51. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/wiki_git_policy.py +1 -0
  52. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_api.py +10 -5
  53. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_api_exception_taxonomy.py +19 -0
  54. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_bootstrap.py +77 -0
  55. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_cli_error_streams.py +50 -1
  56. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_context_budget.py +46 -0
  57. agent_wiki_cli-2.2.0/tests/test_context_integration.py +256 -0
  58. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_context_packet_knowledge.py +1 -1
  59. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_documentation_projection_policy.py +10 -8
  60. agent_wiki_cli-2.2.0/tests/test_examples.py +340 -0
  61. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_extractor_inventory_contracts.py +1 -0
  62. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_github_action.py +2 -1
  63. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_go_extract.py +82 -50
  64. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_haskell_extract.py +38 -0
  65. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_io.py +26 -0
  66. agent_wiki_cli-2.2.0/tests/test_knowledge_coverage.py +258 -0
  67. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_knowledge_evidence.py +45 -0
  68. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_knowledge_performance.py +11 -1
  69. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_knowledge_projection.py +22 -0
  70. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_maintenance_queue.py +94 -2
  71. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_mcp.py +11 -4
  72. agent_wiki_cli-2.2.0/tests/test_mcp_probe.py +161 -0
  73. agent_wiki_cli-2.2.0/tests/test_mcp_sdk.py +193 -0
  74. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_multilanguage_wiki.py +31 -0
  75. agent_wiki_cli-2.2.0/tests/test_native_inspection.py +154 -0
  76. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_native_knowledge_semantics_docs.py +18 -5
  77. agent_wiki_cli-2.2.0/tests/test_native_query_boundaries.py +158 -0
  78. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_package_metadata.py +5 -2
  79. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_package_validation.py +30 -0
  80. agent_wiki_cli-2.2.0/tests/test_packet_field_policy.py +69 -0
  81. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_plugin_sample.py +51 -1
  82. agent_wiki_cli-2.2.0/tests/test_provider_conformance.py +368 -0
  83. agent_wiki_cli-2.2.0/tests/test_qualified_context_acceptance.py +327 -0
  84. agent_wiki_cli-2.2.0/tests/test_readonly_subprocess_stdin.py +251 -0
  85. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_release_static_checks.py +1 -0
  86. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_release_workflows.py +79 -0
  87. agent_wiki_cli-2.2.0/tests/test_search_rank.py +211 -0
  88. agent_wiki_cli-2.2.0/tests/test_site_root_identity.py +76 -0
  89. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_source_selection.py +3 -2
  90. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_sync.py +24 -0
  91. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_ts_extract.py +113 -1
  92. agent_wiki_cli-2.1.0/examples/plugins/documentation-hooks/styles.py +0 -15
  93. agent_wiki_cli-2.1.0/src/llm_wiki_cli/examples/plugins/documentation-hooks/styles.py +0 -15
  94. agent_wiki_cli-2.1.0/tests/test_mcp_sdk.py +0 -107
  95. agent_wiki_cli-2.1.0/tests/test_search_rank.py +0 -66
  96. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/LICENSE +0 -0
  97. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/docs/automation.md +0 -0
  98. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/docs/security-model.md +0 -0
  99. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/docs/standalone-documentation.md +0 -0
  100. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/examples/plugins/documentation-hooks/detectors.py +0 -0
  101. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/examples/plugins/documentation-hooks/llm-wiki-plugin.json +0 -0
  102. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/release_build_backend.py +0 -0
  103. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/setup.cfg +0 -0
  104. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/agent_wiki_cli.egg-info/dependency_links.txt +0 -0
  105. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/agent_wiki_cli.egg-info/entry_points.txt +0 -0
  106. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/agent_wiki_cli.egg-info/requires.txt +0 -0
  107. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/agent_wiki_cli.egg-info/top_level.txt +0 -0
  108. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/__init__.py +0 -0
  109. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/commands/__init__.py +0 -0
  110. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/commands/api_diff_cmd.py +0 -0
  111. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/commands/bootstrap_cmd.py +0 -0
  112. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/commands/bump_cmd.py +0 -0
  113. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/commands/ci_check_cmd.py +0 -0
  114. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/commands/context_cmd.py +0 -0
  115. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/commands/docs_cmd.py +0 -0
  116. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/commands/doctor_cmd.py +0 -0
  117. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/commands/extract_cmd.py +0 -0
  118. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/commands/hook_cmd.py +0 -0
  119. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/commands/init_cmd.py +0 -0
  120. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/commands/install_ci_cmd.py +0 -0
  121. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/commands/install_cmd.py +0 -0
  122. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/commands/lint_cmd.py +0 -0
  123. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/commands/mcp_cmd.py +0 -0
  124. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/commands/metrics_cmd.py +0 -0
  125. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/commands/migrate_cmd.py +0 -0
  126. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/commands/obsidian_cmd.py +0 -0
  127. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/commands/plugins_cmd.py +0 -0
  128. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/commands/prepare_extractors_cmd.py +0 -0
  129. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/commands/queue_cmd.py +0 -0
  130. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/commands/release_cmd.py +0 -0
  131. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/commands/search_cmd.py +0 -0
  132. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/commands/site_cmd.py +0 -0
  133. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/commands/skills_cmd.py +0 -0
  134. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/commands/status_cmd.py +0 -0
  135. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/commands/team_cmd.py +0 -0
  136. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/commands/uninstall_cmd.py +0 -0
  137. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/commands/upgrade_cmd.py +0 -0
  138. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/config.py +0 -0
  139. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/eval_lite/__init__.py +0 -0
  140. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/eval_lite/planner.py +0 -0
  141. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/examples/plugins/documentation-hooks/detectors.py +0 -0
  142. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/examples/plugins/documentation-hooks/llm-wiki-plugin.json +0 -0
  143. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/extractors/__init__.py +0 -0
  144. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/extractors/common.py +0 -0
  145. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/extractors/fastapi_contracts.py +0 -0
  146. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/extractors/go_scripts/go.mod +0 -0
  147. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/extractors/go_scripts/main.go +0 -0
  148. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/extractors/haskell_scripts/Inventory.hs +0 -0
  149. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/extractors/haskell_scripts/Json.hs +0 -0
  150. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/extractors/haskell_scripts/Main.hs +0 -0
  151. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/extractors/haskell_scripts/Paths.hs +0 -0
  152. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/extractors/python_bindings.py +0 -0
  153. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/extractors/python_contracts.py +0 -0
  154. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/extractors/python_extractor.py +0 -0
  155. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/extractors/rust_scripts/Cargo.lock +0 -0
  156. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/extractors/rust_scripts/Cargo.toml +0 -0
  157. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/extractors/rust_scripts/src/main.rs +0 -0
  158. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/extractors/ts_scripts/package-lock.json +0 -0
  159. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/extractors/ts_scripts/package.json +0 -0
  160. /agent_wiki_cli-2.1.0/src/llm_wiki_cli/services/__init__.py → /agent_wiki_cli-2.2.0/src/llm_wiki_cli/py.typed +0 -0
  161. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/schemas/__init__.py +0 -0
  162. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/schemas/llm-wiki-knowledge-v1.schema.json +0 -0
  163. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/api_contracts.py +0 -0
  164. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/api_diff.py +0 -0
  165. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/bootstrap_service.py +0 -0
  166. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/calibration/__init__.py +0 -0
  167. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/calibration/broker.py +0 -0
  168. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/calibration/contracts.py +0 -0
  169. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/calibration/controller.py +0 -0
  170. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/calibration/host_broker.py +0 -0
  171. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/canonical_pages.py +0 -0
  172. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/capability_diagnostics.py +0 -0
  173. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/ci_installer.py +0 -0
  174. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/ci_report.py +0 -0
  175. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/circuit_breaker.py +0 -0
  176. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/concept_identity.py +0 -0
  177. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/context_knowledge_contract.py +0 -0
  178. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/data_flow.py +0 -0
  179. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/dependencies.py +0 -0
  180. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/dependency_versions.py +0 -0
  181. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/diagrams.py +0 -0
  182. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/doctor_service.py +0 -0
  183. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/documentation_calibration.py +0 -0
  184. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/documentation_calibration_broker.py +0 -0
  185. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/documentation_calibration_controller.py +0 -0
  186. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/documentation_calibration_host_broker.py +0 -0
  187. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/documentation_claim_evidence.py +0 -0
  188. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/documentation_model_policy.py +0 -0
  189. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/documentation_native.py +0 -0
  190. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/documentation_policy.py +0 -0
  191. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/documentation_review.py +0 -0
  192. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/documentation_run/__init__.py +0 -0
  193. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/documentation_run/contracts.py +0 -0
  194. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/documentation_run/dependencies.py +0 -0
  195. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/documentation_run/export.py +0 -0
  196. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/documentation_run/integrity.py +0 -0
  197. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/documentation_run/packet.py +0 -0
  198. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/documentation_run/prepare.py +0 -0
  199. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/documentation_run/record.py +0 -0
  200. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/documentation_run/refresh.py +0 -0
  201. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/documentation_run/schema.py +0 -0
  202. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/documentation_run/verify.py +0 -0
  203. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/documentation_run/workspace.py +0 -0
  204. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/documentation_wiki_input.py +0 -0
  205. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/documentation_worklist.py +0 -0
  206. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/entrypoints.py +0 -0
  207. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/extraction_jobs.py +0 -0
  208. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/filesystem_guard.py +0 -0
  209. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/go_calls.py +0 -0
  210. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/immutable.py +0 -0
  211. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/impact.py +0 -0
  212. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/imports.py +0 -0
  213. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/infrastructure_inventory.py +0 -0
  214. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/infrastructure_sync.py +0 -0
  215. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/instruction_ownership.py +0 -0
  216. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/inventory_cache.py +0 -0
  217. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/knowledge_artifacts.py +0 -0
  218. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/knowledge_consumption.py +0 -0
  219. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/knowledge_generation.py +0 -0
  220. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/knowledge_governance.py +0 -0
  221. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/knowledge_graph.py +0 -0
  222. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/knowledge_index.py +0 -0
  223. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/knowledge_links.py +0 -0
  224. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/knowledge_loader.py +0 -0
  225. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/knowledge_model.py +0 -0
  226. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/knowledge_observability.py +0 -0
  227. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/knowledge_orchestration.py +0 -0
  228. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/knowledge_reuse.py +0 -0
  229. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/knowledge_verification.py +0 -0
  230. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/legacy_hooks.py +0 -0
  231. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/lint_service.py +0 -0
  232. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/lockfile.py +0 -0
  233. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/markdown_sections.py +0 -0
  234. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/metrics.py +0 -0
  235. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/module_maps.py +0 -0
  236. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/obsidian.py +0 -0
  237. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/packages.py +0 -0
  238. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/paths.py +0 -0
  239. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/plugin_samples.py +0 -0
  240. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/plugins.py +0 -0
  241. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/progress.py +0 -0
  242. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/protected_artifacts.py +0 -0
  243. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/python_calls.py +0 -0
  244. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/python_imports.py +0 -0
  245. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/python_observations.py +0 -0
  246. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/python_stdlib.py +0 -0
  247. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/redaction.py +0 -0
  248. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/relationships.py +0 -0
  249. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/rendering_lifecycle.py +0 -0
  250. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/resource_diagnostics.py +0 -0
  251. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/review_service.py +0 -0
  252. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/runtime_output.py +0 -0
  253. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/schema.py +0 -0
  254. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/search_rank.py +0 -0
  255. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/section_ownership.py +0 -0
  256. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/secure_file.py +0 -0
  257. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/site_html_check.py +0 -0
  258. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/skills.py +0 -0
  259. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/source_selection.py +0 -0
  260. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/source_snapshot.py +0 -0
  261. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/sync_analysis.py +0 -0
  262. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/team.py +0 -0
  263. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/token_counting.py +0 -0
  264. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/validation.py +0 -0
  265. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/verification_contracts.py +0 -0
  266. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/versioning.py +0 -0
  267. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/wiki_lifecycle.py +0 -0
  268. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/wiki_media.py +0 -0
  269. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/wiki_scaffold.py +0 -0
  270. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/wiki_surface.py +0 -0
  271. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/services/wiki_surface_index.py +0 -0
  272. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/skills/agent-docs/SKILL.md +0 -0
  273. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/skills/agent-docs/reference.md +0 -0
  274. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/skills/attack-surface/SKILL.md +0 -0
  275. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/skills/attack-surface/reference.md +0 -0
  276. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/skills/dep-audit/SKILL.md +0 -0
  277. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/skills/dep-audit/reference.md +0 -0
  278. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/skills/dep-vuln-triage/SKILL.md +0 -0
  279. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/skills/dep-vuln-triage/reference.md +0 -0
  280. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/skills/doc-hub/SKILL.md +0 -0
  281. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/skills/doc-hub/reference.md +0 -0
  282. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/skills/doc-review/SKILL.md +0 -0
  283. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/skills/doc-review/reference.md +0 -0
  284. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/skills/impact-analysis/SKILL.md +0 -0
  285. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/skills/impact-analysis/reference.md +0 -0
  286. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/skills/infra-review/SKILL.md +0 -0
  287. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/skills/infra-review/reference.md +0 -0
  288. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/skills/onboarding-guide/SKILL.md +0 -0
  289. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/skills/onboarding-guide/reference.md +0 -0
  290. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/skills/publish-docs/SKILL.md +0 -0
  291. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/skills/publish-docs/reference.md +0 -0
  292. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/skills/usage-examples/SKILL.md +0 -0
  293. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/skills/usage-examples/reference.md +0 -0
  294. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/skills/user-docs-author/SKILL.md +0 -0
  295. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/skills/user-docs-author/reference.md +0 -0
  296. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/skills/wiki-bootstrap/SKILL.md +0 -0
  297. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/skills/wiki-bootstrap/reference.md +0 -0
  298. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/skills/wiki-reference/SKILL.md +0 -0
  299. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/skills/wiki-reference/reference.md +0 -0
  300. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/skills/wiki-reference/references/context-query.md +0 -0
  301. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/skills/wiki-reference/references/extractors-dependencies.md +0 -0
  302. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/skills/wiki-reference/references/governance.md +0 -0
  303. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/skills/wiki-reference/references/knowledge-consumption.md +0 -0
  304. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/skills/wiki-reference/references/maintenance.md +0 -0
  305. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/skills/wiki-reference/references/publishing.md +0 -0
  306. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/skills/wiki-reference/references/repository-handoff.md +0 -0
  307. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/skills/wiki-reference/references/resources-context.md +0 -0
  308. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/skills/wiki-reference/references/surfaces-naming.md +0 -0
  309. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/skills/wiki-semantic-enhance/SKILL.md +0 -0
  310. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/skills/wiki-semantic-enhance/reference.md +0 -0
  311. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/skills/wiki-sync/SKILL.md +0 -0
  312. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/src/llm_wiki_cli/skills/wiki-sync/reference.md +0 -0
  313. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_agent_instruction_decisions.py +0 -0
  314. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_api_contracts.py +0 -0
  315. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_api_diff.py +0 -0
  316. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_architecture_layers.py +0 -0
  317. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_bootstrap_api_contracts.py +0 -0
  318. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_bootstrap_service.py +0 -0
  319. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_bump.py +0 -0
  320. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_calibration_cli.py +0 -0
  321. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_calibration_isolation.py +0 -0
  322. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_capability_diagnostics.py +0 -0
  323. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_change_selection.py +0 -0
  324. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_ci_check.py +0 -0
  325. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_ci_runtime_output.py +0 -0
  326. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_ci_toolchain_setup.py +0 -0
  327. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_ci_workflow_wrapper.py +0 -0
  328. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_circuit_breaker.py +0 -0
  329. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_cli.py +0 -0
  330. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_concept_identity.py +0 -0
  331. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_config.py +0 -0
  332. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_context.py +0 -0
  333. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_context_knowledge_contract.py +0 -0
  334. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_context_knowledge_runtime.py +0 -0
  335. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_context_packet.py +0 -0
  336. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_data_flow.py +0 -0
  337. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_dep_vuln_triage_skill.py +0 -0
  338. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_dependencies.py +0 -0
  339. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_dependencies_external.py +0 -0
  340. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_dependency_version_details.py +0 -0
  341. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_diagrams.py +0 -0
  342. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_docker_bootstrap.py +0 -0
  343. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_docker_extract.py +0 -0
  344. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_docker_lint.py +0 -0
  345. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_docs_cli.py +0 -0
  346. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_doctor.py +0 -0
  347. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_documentation_adversarial.py +0 -0
  348. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_documentation_calibration.py +0 -0
  349. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_documentation_calibration_broker.py +0 -0
  350. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_documentation_calibration_controller.py +0 -0
  351. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_documentation_calibration_host_broker.py +0 -0
  352. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_documentation_calibration_oci_integration.py +0 -0
  353. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_documentation_claim_evidence.py +0 -0
  354. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_documentation_control_integrity.py +0 -0
  355. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_documentation_dogfood.py +0 -0
  356. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_documentation_input_recheck.py +0 -0
  357. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_documentation_model_policy.py +0 -0
  358. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_documentation_native.py +0 -0
  359. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_documentation_native_lifecycle.py +0 -0
  360. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_documentation_prepare_transaction.py +0 -0
  361. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_documentation_protocol.py +0 -0
  362. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_documentation_queries.py +0 -0
  363. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_documentation_refresh_continuation.py +0 -0
  364. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_documentation_review.py +0 -0
  365. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_documentation_run_fixtures.py +0 -0
  366. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_documentation_wiki_input.py +0 -0
  367. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_documentation_worklist.py +0 -0
  368. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_documentation_workspace.py +0 -0
  369. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_e2e.py +0 -0
  370. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_enriched_projection_resilience.py +0 -0
  371. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_entrypoints.py +0 -0
  372. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_eval_lite.py +0 -0
  373. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_extract.py +0 -0
  374. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_extract_api_contracts.py +0 -0
  375. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_extract_data_flow_details.py +0 -0
  376. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_extractor_helpers.py +0 -0
  377. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_filesystem_guard.py +0 -0
  378. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_filesystem_guard_windows.py +0 -0
  379. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_filesystem_guard_windows_model.py +0 -0
  380. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_generate_prompt.py +0 -0
  381. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_generated_relationship_pages.py +0 -0
  382. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_go_calls.py +0 -0
  383. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_governance_reconciliation.py +0 -0
  384. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_graph_section_end_to_end.py +0 -0
  385. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_helper_packaging_parity.py +0 -0
  386. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_hook.py +0 -0
  387. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_impact.py +0 -0
  388. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_imports.py +0 -0
  389. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_infra_review_skill.py +0 -0
  390. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_infrastructure_inventory.py +0 -0
  391. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_infrastructure_sync.py +0 -0
  392. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_init.py +0 -0
  393. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_install.py +0 -0
  394. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_install_ci.py +0 -0
  395. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_instruction_ownership.py +0 -0
  396. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_inventory_cache.py +0 -0
  397. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_knowledge_artifacts.py +0 -0
  398. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_knowledge_cmd.py +0 -0
  399. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_knowledge_commands.py +0 -0
  400. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_knowledge_compatibility.py +0 -0
  401. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_knowledge_consumption.py +0 -0
  402. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_knowledge_contract.py +0 -0
  403. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_knowledge_envelope.py +0 -0
  404. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_knowledge_freshness.py +0 -0
  405. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_knowledge_generation.py +0 -0
  406. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_knowledge_governance.py +0 -0
  407. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_knowledge_graph.py +0 -0
  408. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_knowledge_hardening.py +0 -0
  409. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_knowledge_index.py +0 -0
  410. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_knowledge_links.py +0 -0
  411. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_knowledge_lint.py +0 -0
  412. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_knowledge_loader.py +0 -0
  413. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_knowledge_model.py +0 -0
  414. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_knowledge_observability.py +0 -0
  415. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_knowledge_producer_languages.py +0 -0
  416. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_knowledge_projection_e2e.py +0 -0
  417. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_knowledge_queries.py +0 -0
  418. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_knowledge_query_adapters.py +0 -0
  419. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_knowledge_reuse.py +0 -0
  420. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_knowledge_scale.py +0 -0
  421. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_knowledge_verification_view.py +0 -0
  422. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_lint.py +0 -0
  423. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_llm_wiki_convergence_script.py +0 -0
  424. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_llm_wiki_convergence_workflow.py +0 -0
  425. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_lockfile.py +0 -0
  426. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_managed_reference_topics.py +0 -0
  427. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_markdown_sections.py +0 -0
  428. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_metrics.py +0 -0
  429. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_migrate.py +0 -0
  430. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_module_maps.py +0 -0
  431. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_native_reduction_contracts.py +0 -0
  432. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_native_skill_preflight_and_reanchor.py +0 -0
  433. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_navigation_layouts.py +0 -0
  434. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_obsidian.py +0 -0
  435. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_packages.py +0 -0
  436. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_paths.py +0 -0
  437. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_plugins.py +0 -0
  438. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_progress.py +0 -0
  439. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_protected_artifacts.py +0 -0
  440. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_protocol_registry.py +0 -0
  441. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_provisioning_failures.py +0 -0
  442. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_public_docs_vocabulary.py +0 -0
  443. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_publishing_hub_attack_contracts.py +0 -0
  444. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_python_call_bindings.py +0 -0
  445. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_python_import_scopes.py +0 -0
  446. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_python_observation_cache.py +0 -0
  447. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_python_typed_dicts.py +0 -0
  448. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_quality_workflows.py +0 -0
  449. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_redaction.py +0 -0
  450. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_reference_skill_verifier.py +0 -0
  451. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_relationships.py +0 -0
  452. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_release.py +0 -0
  453. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_release_build_backend.py +0 -0
  454. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_release_dogfood.py +0 -0
  455. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_release_qualification.py +0 -0
  456. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_release_supply_chain.py +0 -0
  457. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_rendering_lifecycle.py +0 -0
  458. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_resource_diagnostics.py +0 -0
  459. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_route_projection_regressions.py +0 -0
  460. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_runtime_output.py +0 -0
  461. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_rust_extract.py +0 -0
  462. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_schema.py +0 -0
  463. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_schema_context_baselines.py +0 -0
  464. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_section_ownership.py +0 -0
  465. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_secure_file.py +0 -0
  466. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_site_export.py +0 -0
  467. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_site_knowledge_metadata.py +0 -0
  468. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_skill_contracts.py +0 -0
  469. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_skill_contracts_all.py +0 -0
  470. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_skill_ownership_boundaries.py +0 -0
  471. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_skill_policy_routes.py +0 -0
  472. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_skills.py +0 -0
  473. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_source_snapshot.py +0 -0
  474. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_static_quality_architecture.py +0 -0
  475. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_status.py +0 -0
  476. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_surface_initialization.py +0 -0
  477. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_sync_api_contracts.py +0 -0
  478. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_sync_manifest.py +0 -0
  479. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_sync_no_plugins.py +0 -0
  480. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_sync_runtime_regressions.py +0 -0
  481. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_team.py +0 -0
  482. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_team_policy_regressions.py +0 -0
  483. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_trigger.py +0 -0
  484. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_typed_graph_queries.py +0 -0
  485. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_uninstall.py +0 -0
  486. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_upgrade.py +0 -0
  487. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_validated_knowledge_reuse.py +0 -0
  488. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_validation.py +0 -0
  489. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_verification_contracts.py +0 -0
  490. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_verified_bug_migrations.py +0 -0
  491. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_versioning.py +0 -0
  492. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_wiki_git_policy.py +0 -0
  493. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_wiki_helper_cache.py +0 -0
  494. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_wiki_integrity_action.py +0 -0
  495. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_wiki_lifecycle.py +0 -0
  496. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_wiki_reference_skill.py +0 -0
  497. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_wiki_surface.py +0 -0
  498. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_wiki_surface_index.py +0 -0
  499. {agent_wiki_cli-2.1.0 → agent_wiki_cli-2.2.0}/tests/test_wiki_sync_cleanup.py +0 -0
@@ -1,5 +1,6 @@
1
- recursive-include examples/plugins/documentation-hooks *.py *.json
1
+ recursive-include examples/plugins/documentation-hooks *.py *.json *.md
2
2
  include release_build_backend.py
3
+ include src/llm_wiki_cli/py.typed
3
4
  include src/llm_wiki_cli/schemas/llm-wiki-knowledge-v1.schema.json
4
5
  include src/llm_wiki_cli/extractors/ts_scripts/package-lock.json
5
6
  include docs/standalone-documentation.md
@@ -7,4 +8,5 @@ include docs/wiki-guide.md
7
8
  include docs/cli-reference.md
8
9
  include docs/automation.md
9
10
  include docs/security-model.md
11
+ include docs/native-knowledge-provider.md
10
12
  prune reports
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agent-wiki-cli
3
- Version: 2.1.0
3
+ Version: 2.2.0
4
4
  Summary: CLI tool to maintain hybrid LLM Wikis for multi-language projects.
5
5
  Author-email: Denis Sivagin <denissvgn@gmail.com>
6
6
  License-Expression: MIT
@@ -45,7 +45,7 @@ and guides that static analysis cannot provide.
45
45
  The PyPI package is `agent-wiki-cli`, the command is `llm-wiki`, and the Python
46
46
  import package is `llm_wiki_cli`.
47
47
 
48
- [Quick start](#quick-start) · [Command reference](docs/cli-reference.md) ·
48
+ [Quick start](#quick-start) · [Examples](examples/README.md) · [Command reference](docs/cli-reference.md) ·
49
49
  [Standalone documentation](docs/standalone-documentation.md)
50
50
 
51
51
  ## Installation
@@ -93,6 +93,10 @@ llm-wiki lint --strict --src-dir . --wiki-dir docs/llm_wiki --jobs 1
93
93
  For an isolated documentation workspace from source or an existing enriched
94
94
  wiki, follow the [standalone documentation guide](docs/standalone-documentation.md).
95
95
 
96
+ For a small project you can copy and change, try the
97
+ [Python, FastAPI, Go, and plugin tutorials](examples/README.md). They show the
98
+ generated pages, a source edit, and the next sync without requiring a model service.
99
+
96
100
  ## What It Creates
97
101
 
98
102
  The default `docs/llm_wiki/` contains an index, module and entity pages,
@@ -8,7 +8,7 @@ and guides that static analysis cannot provide.
8
8
  The PyPI package is `agent-wiki-cli`, the command is `llm-wiki`, and the Python
9
9
  import package is `llm_wiki_cli`.
10
10
 
11
- [Quick start](#quick-start) · [Command reference](docs/cli-reference.md) ·
11
+ [Quick start](#quick-start) · [Examples](examples/README.md) · [Command reference](docs/cli-reference.md) ·
12
12
  [Standalone documentation](docs/standalone-documentation.md)
13
13
 
14
14
  ## Installation
@@ -56,6 +56,10 @@ llm-wiki lint --strict --src-dir . --wiki-dir docs/llm_wiki --jobs 1
56
56
  For an isolated documentation workspace from source or an existing enriched
57
57
  wiki, follow the [standalone documentation guide](docs/standalone-documentation.md).
58
58
 
59
+ For a small project you can copy and change, try the
60
+ [Python, FastAPI, Go, and plugin tutorials](examples/README.md). They show the
61
+ generated pages, a source edit, and the next sync without requiring a model service.
62
+
59
63
  ## What It Creates
60
64
 
61
65
  The default `docs/llm_wiki/` contains an index, module and entity pages,
@@ -5,6 +5,10 @@
5
5
  Use `llm-wiki <command> --help` for the complete option list. The sections below
6
6
  explain command behavior, output contracts, and recovery procedures.
7
7
 
8
+ Follow the [runnable examples](../examples/README.md) for a complete Python
9
+ documentation cycle, production FastAPI contracts, Go HTTP analysis, or a custom
10
+ task detector with Mermaid styling.
11
+
8
12
  | Task | Commands |
9
13
  |---|---|
10
14
  | Set up a wiki | [init](#init), [prepare-extractors](#prepare-extractors), [bootstrap](#bootstrap) |
@@ -338,6 +342,8 @@ execution order. Workflow pages require resolved direct calls into at least
338
342
  three other selected project modules; an executable need not meet that threshold.
339
343
  When a receiver type and its method are declared in different files, workflow
340
344
  entry labels and source paths use the file that defines the method.
345
+ The [Go HTTP example](../examples/go-http/README.md) demonstrates helper
346
+ preparation, cross-file handlers, package calls, and sync after a method rename.
341
347
  Haskell file entries are additive under `llm-wiki-extract/v1`. A Haskell entry
342
348
  uses `language: "haskell"`, `imports`, `classes`, and `functions`, with `module`
343
349
  present when the source declares one. Import records use `module`, `qualified`,
@@ -707,6 +713,14 @@ Text output shows these next steps directly.
707
713
 
708
714
  ## `context`
709
715
 
716
+ Use `--request FILE --format packet` to deliver a canonical v1/v2 packet from
717
+ a filter-bearing request file. The file owns semantic options; explicit
718
+ budget, focus, freshness-preference, or knowledge-mode overrides are rejected.
719
+ The file's inner format remains JSON or Markdown. For v3 requests, the declared
720
+ outer format must agree with any explicit format flag. See
721
+ [qualified context packets](qualified-context-packets.md) for request examples,
722
+ error codes, and the distinction between validation and currentness.
723
+
710
724
  Build a token-budgeted source snapshot for agents.
711
725
 
712
726
  ```bash
@@ -792,6 +806,10 @@ same optional `knowledge_mode`. Qualified packet versioning and validation are
792
806
  described in [Qualified context packets](qualified-context-packets.md).
793
807
 
794
808
  `filters.language` and `filters.module` scope the budgeted `files` payload.
809
+ Module filters are glob patterns over extensionless paths or dotted module
810
+ names: use `app/service` or `app.service`, rather than `app/service.py`.
811
+ Check the returned file set and native selection before relying on the result;
812
+ an unmatched valid filter can correctly produce an empty selection.
795
813
  `filters.symbol`, `filters.entrypoint`, and `filters.surface` add bounded
796
814
  `graphs` and `surface` sections without changing the file-priority budget.
797
815
  `filters.freshness` and `filters.evidence` refine concept references and require
@@ -1089,6 +1107,10 @@ plugins cannot inject Markdown, labels, hrefs, or raw Mermaid lines. Core
1089
1107
  renderers keep labels Unicode-safe and bounded, and validate and percent-encode
1090
1108
  relative `click` hrefs.
1091
1109
 
1110
+ Data-flow style contexts also include `flow_id`, `category`, and the entry
1111
+ `symbol` with its original case. Hooks can use `symbol` to match the first
1112
+ numbered node label, such as `1. HANDLE_TASK`.
1113
+
1092
1114
  These hooks are deterministic local extension contracts over explicit inputs;
1093
1115
  they do not perform network discovery and they do not mutate Markdown directly.
1094
1116
  They are not a sandbox, though: installing a plugin runs trusted project-local
@@ -1744,6 +1766,17 @@ of UTF-8 content, with 1–100 returned results. Exceeding a corpus limit fails
1744
1766
  explicitly; narrow `--kind` or choose a smaller wiki. Search is read-only and
1745
1767
  does not require embeddings or a model service.
1746
1768
 
1769
+ The query must contain a non-whitespace character. Nonblank queries retain
1770
+ their original whitespace, including in substring mode. `--limit` accepts a
1771
+ positive integer, defaults to 20, and caps the returned results at 100 even when
1772
+ a larger value is requested. Blank queries and invalid limits exit `2`, leave
1773
+ stdout empty, and print argument diagnostics to stderr in both output formats.
1774
+ A valid query with no matches exits `0` with empty results.
1775
+
1776
+ JSON responses from both the CLI and MCP disclose `mode` (`ranked` or
1777
+ `substring`), `total`, `returned`, and `bounds.results`, including truncation.
1778
+ Ranked scores and provenance remain specific to ranked mode.
1779
+
1747
1780
  ## `queue`
1748
1781
 
1749
1782
  Select advisory maintenance work for a managed wiki:
@@ -1762,6 +1795,20 @@ reuses existing freshness and worklist evidence, loads no project plugins, and
1762
1795
  does not edit pages or change the integrity gate. Prepared helpers are required
1763
1796
  for the selected source languages; `--helper-cache-dir` selects their cache.
1764
1797
 
1798
+ `--limit` accepts integers from 1 through 1000 inclusive and defaults to 30.
1799
+ Invalid limits exit `2` before reading the queue inputs, with empty stdout and
1800
+ an argument diagnostic on stderr in either output format.
1801
+
1802
+ The JSON report includes the requested `limit`, `total`, `returned`, and
1803
+ `omitted`; `returned` equals the number of `items`, and `total` equals
1804
+ `returned + omitted`. The `limit` field is additive metadata in
1805
+ `llm-wiki-maintenance-queue/v1`. Consumers should accept additional fields.
1806
+ The `queue_id` hashes the complete report, including `limit`: identical inputs
1807
+ and limits give the same identity, while different limits give different
1808
+ identities even if every item fits. Reports from versions without this field
1809
+ have different identities. A valid advisory queue exits `0`, including when
1810
+ there is no recommended work.
1811
+
1765
1812
  ## `upgrade`
1766
1813
 
1767
1814
  Refresh framework-managed artifacts in place.
@@ -1808,6 +1855,23 @@ managed instruction block or change its compact/expanded delivery, use
1808
1855
 
1809
1856
  ## `knowledge`
1810
1857
 
1858
+ Read eligibility and freshness diagnostics without enabling governance:
1859
+
1860
+ ```bash
1861
+ llm-wiki knowledge coverage --wiki-dir wiki
1862
+ llm-wiki knowledge coverage --src-dir src --wiki-dir wiki --live --format json
1863
+ ```
1864
+
1865
+ The default reads the committed snapshot only. `--live` performs source
1866
+ extraction with prepared helpers; `--source-selection`, `--helper-cache-dir`
1867
+ and `--allow-external-src` preserve the corresponding source options.
1868
+ The versioned report separates modeled concepts, intentionally unmodeled
1869
+ content, actual comparisons and missing/incompatible bases. It is advisory;
1870
+ `unknown` over all concepts is not a defect rate. Unavailable knowledge has
1871
+ null counts, while a valid empty model has zeroes. JSON failures leave stdout
1872
+ empty and emit a safe code/field record on stderr with exit 1; usage errors
1873
+ retain exit 2. See [coverage diagnostics](native-knowledge.md#coverage-diagnostics).
1874
+
1811
1875
  Initialize durable identity, inspect governance, record explicit lifecycle or
1812
1876
  section review events, stage ambiguous moves, and run application-owned pure
1813
1877
  verification checkers:
@@ -0,0 +1,184 @@
1
+ # Integrating native knowledge
2
+
3
+ Install `agent-wiki-cli` 2.2.0 or newer in your application's environment and use
4
+ `llm_wiki_cli.api` for native reads. `llm_wiki_cli.api_types` defines their
5
+ structured return types. The wheel and source distribution include inline
6
+ annotations with the standard `py.typed` marker. Nested extractor or versioned
7
+ wire records deliberately use `Any` where the narrower shape belongs to that
8
+ separate contract; annotations do not replace runtime validation.
9
+
10
+ The native consumer compatibility contract covers these public modules and
11
+ their documented exports. Importing another service module does not make it
12
+ part of this contract. Extension and documentation-controller interfaces have
13
+ their own guides. See the Python
14
+ [typing distribution specification](https://typing.python.org/en/latest/spec/distributing.html#packaging-type-information)
15
+ for how installed annotations are discovered.
16
+
17
+ ## Choose a read operation
18
+
19
+ | Public operation | Scope and result | Writes |
20
+ |---|---|---|
21
+ | `bootstrap_wiki(source_root, wiki_root)` | Creates initial deterministic Markdown and native projections; always uses source-adapter behavior | Explicit wiki creation; no agent setup |
22
+ | `extract_source(..., deep=True, read_only=True)` | Source inventory with declared extraction scope | No implicit preparation or source edits |
23
+ | `inspect_concept(..., live=False)` | One exact concept, typed edges, sections and coverage from a committed snapshot | None |
24
+ | `inspect_concept(..., live=True)` | The same bounded result with one live full source capture and final input checks | None |
25
+ | `get_knowledge_coverage(..., live=False)` | Eligibility counts; freshness is unevaluated | None |
26
+ | `get_knowledge_coverage(..., live=True)` | Eligibility, actual comparisons and modeled freshness | None |
27
+ | `build_documentation_query_service(...)` | Captures a live full inventory for several queries within one operation | Read-only by default |
28
+ | `get_concept`, `related_concepts`, `list_concept_sections`, `traverse_typed_graph`, `explain_evidence` | Reuse `service=` or construct a live service; preserve each result's qualifiers | Read-only by default |
29
+ | `query_documentation(request)` | Exact snapshot queries, supplied-path impact, or explicitly authorized full inventory | None |
30
+ | `build_context`, `build_qualified_context` | Bounded source context or a canonical qualified packet | Read-only by default |
31
+ | `validate_context_packet`, `compare_context_packet_basis` | Offline structural validation or supplied-basis comparison | None; no live-currentness claim |
32
+ | `reconcile_context_packet` | New read against caller-designated roots | None; does not refresh projections |
33
+
34
+ Only a new live read can evaluate currentness. Reusing a service retains its
35
+ captured scope; rebuild it for later work. `required` knowledge mode requires
36
+ ready native knowledge, not a positive live-currentness verdict. A successful
37
+ unavailable/fallback response is different from a ready model with no matching
38
+ concept. Check availability before interpreting `found=False`.
39
+
40
+ ```python
41
+ from llm_wiki_cli import api
42
+
43
+ result = api.inspect_concept(
44
+ "llm-wiki://entities/Item",
45
+ src_dir="src",
46
+ wiki_dir="wiki",
47
+ live=True,
48
+ helper_cache_dir=".cache",
49
+ )
50
+ assert result["schema_version"] == api.NATIVE_INSPECTION_SCHEMA_VERSION
51
+ coverage = result["coverage"]
52
+ assert coverage["schema_version"] == api.KNOWLEDGE_COVERAGE_SCHEMA_VERSION
53
+ ```
54
+
55
+ Keep availability, source observation, review, verification, analyzer coverage,
56
+ and response truncation separate. `current` means the captured observation is
57
+ unchanged, not that prose or runtime behavior is correct. Intentionally
58
+ unmodeled concepts are not stale concepts. Missing bases remain in the modeled
59
+ population. See [native scopes and result bounds](native-knowledge.md#python-api).
60
+
61
+ ## Workspace and process boundaries
62
+
63
+ The working directory is the allowed workspace boundary. Relative source and
64
+ wiki paths are resolved there. An absolute wiki path must remain within that
65
+ boundary. `allow_external_src=True` authorizes an external **source** root; it
66
+ does not authorize arbitrary wiki roots or weaken symlink containment.
67
+
68
+ The headless `bootstrap_wiki` writer also requires non-overlapping source and
69
+ wiki roots. With a whole-repository source input, place its initial wiki beside
70
+ that input in the consumer workspace. With `src/` as the input, a sibling
71
+ `wiki/` is suitable. Existing read operations can consume a conventional wiki
72
+ inside a repository; this does not relax the headless writer's source protection.
73
+
74
+ A process can read two projects under a common trusted workspace without
75
+ changing its working directory. Pass explicit roots for every operation:
76
+
77
+ ```python
78
+ from pathlib import Path
79
+ from llm_wiki_cli import api
80
+
81
+ workspace = Path.cwd()
82
+ results = {
83
+ project: api.get_knowledge_coverage(
84
+ src_dir=str(workspace / project / "src"),
85
+ wiki_dir=str(workspace / project / "wiki"),
86
+ live=False,
87
+ )
88
+ for project in ("project-a", "project-b")
89
+ }
90
+ ```
91
+
92
+ For unrelated workspace roots, launch a separate process with the consumer
93
+ project as `cwd`. Do not temporarily change process-wide cwd in a threaded
94
+ host. This CLI recipe returns the same coverage contract:
95
+
96
+ ```python
97
+ import json
98
+ from pathlib import Path
99
+ import subprocess
100
+ import sys
101
+
102
+ project = Path("/work/consumer-project")
103
+ completed = subprocess.run(
104
+ [sys.executable, "-I", "-m", "llm_wiki_cli.cli", "knowledge", "coverage",
105
+ "--wiki-dir", "wiki", "--format", "json"],
106
+ cwd=project, capture_output=True, text=True, check=True,
107
+ )
108
+ coverage = json.loads(completed.stdout)
109
+ ```
110
+
111
+ Use separate mutable inventory-cache directories for separate projects.
112
+ Prepared language helpers may share an explicitly selected, trusted cache.
113
+ `--cache-dir BASE` during preparation and `--helper-cache-dir BASE` during reads
114
+ refer to the same **base**: helper storage is placed in `BASE/llm-wiki-extractors`.
115
+ Prepare dependencies explicitly before a read; unavailable helpers produce an
116
+ actionable failure instead of an empty successful inventory.
117
+
118
+ ## Dependencies and optional adoption
119
+
120
+ The base library requires Python 3.10+ and its declared parsing dependencies.
121
+ It does not require an agent configuration, MCP, tokenizers, model-provider
122
+ SDKs, or the provider repository's own wiki. Install `[mcp]` for the advertised
123
+ stdio or local HTTP server, and `[tokens]` only for exact token counting with a
124
+ caller-supplied local tokenizer. External language helpers require their
125
+ documented runtimes and explicit preparation.
126
+
127
+ The [downstream tutorial](../examples/native-knowledge/README.md) demonstrates
128
+ bootstrap, qualified reads, source drift, authored follow-up and sync without
129
+ agent setup. Add managed agent instructions, durable governance, scoped review
130
+ or Site/Obsidian export only when your integration needs them. Existing user
131
+ prose and rules remain consumer-owned. Snapshot readers do not initialize or
132
+ repair those optional components.
133
+ Export writers also enforce a managed wiki's recorded source-selection
134
+ boundary. Carry the consumer's source root and profile into an Obsidian export,
135
+ even when enriched export uses the committed snapshot without extracting source.
136
+
137
+ ## Producer and reader compatibility
138
+
139
+ Static scope matters when judging whether a response answers the task:
140
+
141
+ | Language | Useful boundary |
142
+ |---|---|
143
+ | Python | Declared signatures, members and supported static model metadata; TypedDict key presence is separate from nullability. Runtime validators and dynamic imports are not executed. |
144
+ | TypeScript/JavaScript | Top-level class/interface/type declarations and supported exports; nested namespace members and dynamic initialization can require direct source inspection. A union with `undefined` does not itself make a property optional. |
145
+ | Go | Package declarations, receiver identity and supported call observations; function-valued hooks do not imply a statically resolved target. |
146
+ | Rust | Parsed declarations and impl associations; `cfg`/feature-dependent declarations do not prove which implementation is active at runtime. An omitted return-type field represents no explicit annotation. |
147
+ | Haskell | Module/import/signature and type-oriented declaration inventory; constructor payloads and runtime behavior require additional source evidence. CPP needs an explicitly preprocessed snapshot, with that snapshot's scope and coordinates. |
148
+
149
+ | Input | Reader behavior |
150
+ |---|---|
151
+ | Omitted knowledge mode / context v1 | Retains qualified packet v1 behavior |
152
+ | Explicit `off`, `auto`, `required` / context v2 | Uses qualified packet v2; no implicit v1 reinterpretation |
153
+ | Context v3 accounting envelope | Contains an existing qualified v2 packet; outer accounting is a separate contract |
154
+ | Validated surface-only legacy wiki | Explicit absent native knowledge; supported fallback remains available |
155
+ | Supported committed native schema | Snapshot reads validate commitments; live reads separately compare the producer/source basis |
156
+ | Supported schema from a different producer basis | Snapshot qualification remains distinct from live compatibility; do not assume `current` |
157
+ | Unsupported schema or broken commitments | Explicit unsupported/degraded result where a safe fallback exists, otherwise a structured integrity failure |
158
+
159
+ The inspection and coverage schemas are separate from packet v1/v2 and the
160
+ closed aggregate summary. Their public constants are exported by `api`.
161
+ Preserve omitted-mode behavior when upgrading an existing consumer; use
162
+ explicit `auto` in a native integration that permits fallback.
163
+
164
+ Upgrade through the owning command: run `sync` with the recorded source
165
+ selection and prepared helpers, review its Markdown changes, and rebuild
166
+ handoffs. `--rebuild-knowledge` explicitly forces a new projection. Do not edit
167
+ generated projection hashes to make incompatible inputs appear current.
168
+ Consumers must compare a packet's embedded normalized request with their own
169
+ intent before relying on reconciliation. See [qualified packets](qualified-context-packets.md).
170
+
171
+ ## Errors and authority
172
+
173
+ Catch `api.LlmWikiApiError` or its `InvalidRequestError`, `WorkspaceStateError`
174
+ and `ArtifactIntegrityError` subclasses. Native semantic failures expose safe
175
+ codes and field details; validated wiki-relative recovery paths may be present.
176
+ Raw chained causes are for local debugging. Ordinary Python argument binding,
177
+ CLI usage errors and MCP argument-schema errors retain their native boundaries.
178
+ See the [native error contract](native-knowledge.md#native-query-failures).
179
+
180
+ Read-only native queries and packets use built-in source adapters and do not
181
+ execute the target application or its project-local plugins. Their static
182
+ observations do not establish runtime behavior, authenticated review, or
183
+ secret-free publication. The consumer owns decisions to share prose, metadata
184
+ and source content or to apply a blocking policy to advisory drift.
@@ -5,6 +5,8 @@
5
5
  Use this guide to understand the generated wiki, choose source inputs, and
6
6
  configure an agent. For the shortest setup, start with the
7
7
  [README quick start](../README.md#quick-start).
8
+ The [examples](../examples/README.md) provide complete Python, FastAPI, Go HTTP,
9
+ and plugin projects with commands and expected output.
8
10
 
9
11
  - [Wiki pages and content ownership](#what-it-creates)
10
12
  - [Supported inputs](#supported-inputs), [source selection](#source-selection), and [Haskell details](#haskell-inputs)
@@ -115,6 +117,10 @@ The original `PathPolicyError` name remains an alias for
115
117
  `InvalidRequestError`; `ExtractionError` and `BootstrapError` remain aliases
116
118
  for `WorkspaceStateError`. The original internal exception is available
117
119
  through `__cause__`.
120
+ Native query operations also supply safe machine-readable codes and field
121
+ details; see [native query failures](native-knowledge.md#native-query-failures).
122
+ The [native knowledge tutorial](../examples/native-knowledge/README.md) shows
123
+ a library consumer using shared inspection, coverage and qualified packets.
118
124
 
119
125
  The package has a small required Python runtime footprint. `PyYAML>=6` parses
120
126
  user-supplied OpenAPI YAML, and Python versions older than 3.11 use `tomli` for
@@ -211,6 +217,13 @@ entries.
211
217
  GHC 9.6.x is the supported Haskell helper toolchain for this release. Newer GHC
212
218
  9.x releases are best-effort, and helper preparation fails clearly when GHC
213
219
  version output is malformed or older than 9.6.
220
+ The syntax parser starts with Haskell2010 and applies declared `LANGUAGE`
221
+ options, including multiline pragmas, implied extensions and `No...` overrides.
222
+ Only syntax options are read from `OPTIONS_GHC`; preprocessors, compiler
223
+ plugins and target build actions are never executed. CPP-conditioned source
224
+ requires an explicitly preprocessed input snapshot from the consumer's trusted
225
+ build configuration. The reader does not guess dependency versions or choose
226
+ CPP branches. Source coordinates then refer to the supplied snapshot.
214
227
 
215
228
  ## Agent Support
216
229
 
@@ -0,0 +1,93 @@
1
+ # Documentation hooks sample plugin
2
+
3
+ This plugin adds task entry points and bounded Mermaid style hints to LLM Wiki.
4
+ Use `agent-wiki-cli` 2.2.0 or newer on Python 3.10+. No model service, worker
5
+ framework, or additional Python dependency is required.
6
+
7
+ | File | Role |
8
+ |---|---|
9
+ | `llm-wiki-plugin.json` | Declares the `documentation-hooks` plugin and its two components |
10
+ | `detectors.py` | Implements `documentation-hooks/worker-tasks` through `detectors:detect_worker_tasks` |
11
+ | `styles.py` | Implements `documentation-hooks/brand-flowcharts` through `styles:style_flowcharts` |
12
+
13
+ The detector normalizes path separators and case, then matches paths ending in
14
+ `tasks.py` and function names `handle_task` or `task_handler`. This literal
15
+ suffix rule also matches names such as `worker_tasks.py`. It returns category
16
+ `task` and label `task-handler`; the core assigns the stable entry ID
17
+ `task-task-handler` for the single-handler example. It is a naming convention,
18
+ not a Celery/RQ adapter or proof that a worker schedules the function.
19
+
20
+ ## Try it in a fresh project
21
+
22
+ Run the commands from a new project directory. Create `tasks.py` there:
23
+
24
+ ```python
25
+ def handle_task(title: str) -> str:
26
+ """Normalize a task title without contacting a service."""
27
+ return title.strip()
28
+ ```
29
+
30
+ Create `.gitignore` so generated content and plugin source stay out of the
31
+ application inventory:
32
+
33
+ ```gitignore
34
+ /wiki/
35
+ /vendor/
36
+ /.llm-wiki/
37
+ /AGENTS.md
38
+ __pycache__/
39
+ ```
40
+
41
+ ```sh
42
+ llm-wiki init --agent generic --no-skills --wiki-dir wiki
43
+ llm-wiki plugins samples export documentation-hooks --dest vendor/documentation-hooks
44
+ llm-wiki plugins validate vendor/documentation-hooks
45
+ llm-wiki install vendor/documentation-hooks --yes --wiki-dir wiki
46
+ llm-wiki bootstrap --src-dir . --wiki-dir wiki
47
+ ```
48
+
49
+ If you already exported this README and its three neighboring files to
50
+ `vendor/documentation-hooks`, skip the export command. Export does not replace
51
+ an existing directory by default. Files do not activate a plugin until you run
52
+ `install`; hooks are Python code, so install only a plugin you trust. Here
53
+ `--yes` accepts installation of the bundled sample you have inspected.
54
+
55
+ Open `wiki/flows/task-task-handler.md`. The data-flow diagram contains:
56
+
57
+ ```text
58
+ s1["1. handle_task"]
59
+ classDef entry fill:#2E7D32,stroke:#2E7D32
60
+ class s1 entry
61
+ ```
62
+
63
+ A Mermaid viewer shows the first task node in green. The hook uses the entry
64
+ `symbol` from the style context to match its actual numbered label, including
65
+ case variants such as `1. HANDLE_TASK` and `1. Task_Handler`. It applies only
66
+ when the surface is `data_flow` and its category is `task`. It leaves other task
67
+ steps and unrelated data flows uncolored. Relationship/dependency flowcharts retain the sample's
68
+ `task-handler` label hint and left-to-right direction. Sequence diagrams are
69
+ outside this hook's supported surfaces. These are color, class, and direction
70
+ hints; they do not change graph edges or the renderer's reserved classes.
71
+
72
+ ## Change and repeat
73
+
74
+ Rename the function in `tasks.py` to `task_handler`, keeping its body, then run:
75
+
76
+ ```sh
77
+ llm-wiki sync --jobs 1 --src-dir . --wiki-dir wiki
78
+ llm-wiki lint --jobs 1 --src-dir . --wiki-dir wiki
79
+ ```
80
+
81
+ The same flow page now identifies `task_handler` and colors its first node.
82
+ Use sync for later runs and a fresh working copy for another bootstrap.
83
+
84
+ To install from a source checkout instead of exporting, run
85
+ `llm-wiki install PATH --yes --wiki-dir wiki` from your project directory,
86
+ replacing `PATH` with the absolute path to
87
+ `examples/plugins/documentation-hooks` in that checkout. The
88
+ [full repository tutorial](https://github.com/Denissvgn/python-wiki-llm/tree/main/examples/plugin-hooks)
89
+ adds a storage call to make transfers and filesystem boundaries visible.
90
+
91
+ The older sample name `m4-documentation-hooks` remains an export alias with a
92
+ deprecation warning. Use `documentation-hooks` for new commands; installed
93
+ component references are unchanged.
@@ -0,0 +1,29 @@
1
+ """Sample bounded diagram-style hooks for LLM Wiki plugins."""
2
+
3
+ from __future__ import annotations
4
+
5
+
6
+ def style_flowcharts(context):
7
+ """Return safe Mermaid style hints for generated flowchart surfaces."""
8
+ context = context or {}
9
+ surface = str(context.get("surface", ""))
10
+ if surface not in {"relationships", "dependencies", "data_flow"}:
11
+ return {}
12
+ node_classes = {"task-handler": "entry"}
13
+ if surface == "data_flow":
14
+ # Data-flow nodes use numbered callable labels, not entry-point labels.
15
+ node_classes = (
16
+ {"1. handle_task": "entry", "1. task_handler": "entry"}
17
+ if context.get("category") == "task"
18
+ else {}
19
+ )
20
+ symbol = str(context.get("symbol") or "")
21
+ if context.get("category") == "task" and symbol.lower() in {
22
+ "handle_task", "task_handler",
23
+ }:
24
+ node_classes = {f"1. {symbol}": "entry"}
25
+ return {
26
+ "direction": "LR",
27
+ "node_classes": node_classes,
28
+ "category_colors": {"entry": "#2E7D32"},
29
+ }
@@ -5,7 +5,7 @@ backend-path = ["."]
5
5
 
6
6
  [project]
7
7
  name = "agent-wiki-cli"
8
- version = "2.1.0"
8
+ version = "2.2.0"
9
9
  description = "CLI tool to maintain hybrid LLM Wikis for multi-language projects."
10
10
  readme = "README.md"
11
11
  license = "MIT"
@@ -65,6 +65,7 @@ where = ["src"]
65
65
 
66
66
  [tool.setuptools.package-data]
67
67
  "llm_wiki_cli" = [
68
+ "py.typed",
68
69
  "schemas/llm-wiki-knowledge-v1.schema.json",
69
70
  "extractors/ts_scripts/package.json",
70
71
  "extractors/ts_scripts/package-lock.json",
@@ -81,6 +82,7 @@ where = ["src"]
81
82
  "extractors/rust_scripts/src/main.rs",
82
83
  "examples/plugins/documentation-hooks/detectors.py",
83
84
  "examples/plugins/documentation-hooks/llm-wiki-plugin.json",
85
+ "examples/plugins/documentation-hooks/README.md",
84
86
  "examples/plugins/documentation-hooks/styles.py",
85
87
  "skills/agent-docs/SKILL.md",
86
88
  "skills/agent-docs/reference.md",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agent-wiki-cli
3
- Version: 2.1.0
3
+ Version: 2.2.0
4
4
  Summary: CLI tool to maintain hybrid LLM Wikis for multi-language projects.
5
5
  Author-email: Denis Sivagin <denissvgn@gmail.com>
6
6
  License-Expression: MIT
@@ -45,7 +45,7 @@ and guides that static analysis cannot provide.
45
45
  The PyPI package is `agent-wiki-cli`, the command is `llm-wiki`, and the Python
46
46
  import package is `llm_wiki_cli`.
47
47
 
48
- [Quick start](#quick-start) · [Command reference](docs/cli-reference.md) ·
48
+ [Quick start](#quick-start) · [Examples](examples/README.md) · [Command reference](docs/cli-reference.md) ·
49
49
  [Standalone documentation](docs/standalone-documentation.md)
50
50
 
51
51
  ## Installation
@@ -93,6 +93,10 @@ llm-wiki lint --strict --src-dir . --wiki-dir docs/llm_wiki --jobs 1
93
93
  For an isolated documentation workspace from source or an existing enriched
94
94
  wiki, follow the [standalone documentation guide](docs/standalone-documentation.md).
95
95
 
96
+ For a small project you can copy and change, try the
97
+ [Python, FastAPI, Go, and plugin tutorials](examples/README.md). They show the
98
+ generated pages, a source edit, and the next sync without requiring a model service.
99
+
96
100
  ## What It Creates
97
101
 
98
102
  The default `docs/llm_wiki/` contains an index, module and entity pages,