agent-wiki-cli 2.0.1__tar.gz → 2.0.2__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 (450) hide show
  1. {agent_wiki_cli-2.0.1/src/agent_wiki_cli.egg-info → agent_wiki_cli-2.0.2}/PKG-INFO +50 -2
  2. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/README.md +49 -1
  3. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/pyproject.toml +1 -1
  4. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2/src/agent_wiki_cli.egg-info}/PKG-INFO +50 -2
  5. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/agent_wiki_cli.egg-info/SOURCES.txt +10 -0
  6. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/commands/migrate_cmd.py +43 -2
  7. agent_wiki_cli-2.0.2/src/llm_wiki_cli/extractors/python_bindings.py +366 -0
  8. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/extractors/python_contracts.py +100 -13
  9. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/extractors/python_extractor.py +59 -6
  10. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/api_contracts.py +37 -12
  11. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/bootstrap_runtime.py +187 -9
  12. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/contracts.py +5 -0
  13. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/dependencies.py +14 -233
  14. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/diagrams.py +27 -12
  15. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/extraction_service.py +136 -45
  16. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/imports.py +37 -0
  17. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/inventory_cache.py +5 -0
  18. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/knowledge_evidence.py +1 -0
  19. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/knowledge_orchestration.py +13 -3
  20. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/packages.py +112 -0
  21. agent_wiki_cli-2.0.2/src/llm_wiki_cli/services/python_calls.py +176 -0
  22. agent_wiki_cli-2.0.2/src/llm_wiki_cli/services/python_imports.py +152 -0
  23. agent_wiki_cli-2.0.2/src/llm_wiki_cli/services/python_stdlib.py +231 -0
  24. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/relationships.py +39 -5
  25. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_api_contracts.py +96 -0
  26. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_bootstrap.py +235 -2
  27. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_context_packet.py +9 -0
  28. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_dependencies.py +27 -8
  29. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_diagrams.py +38 -0
  30. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_extract.py +50 -7
  31. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_extractor_inventory_contracts.py +5 -0
  32. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_graph_section_end_to_end.py +4 -0
  33. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_imports.py +5 -5
  34. agent_wiki_cli-2.0.2/tests/test_knowledge_producer_languages.py +110 -0
  35. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_migrate.py +19 -0
  36. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_package_metadata.py +1 -1
  37. agent_wiki_cli-2.0.2/tests/test_python_call_bindings.py +235 -0
  38. agent_wiki_cli-2.0.2/tests/test_python_import_scopes.py +161 -0
  39. agent_wiki_cli-2.0.2/tests/test_python_typed_dicts.py +121 -0
  40. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_release_workflows.py +33 -0
  41. agent_wiki_cli-2.0.2/tests/test_route_projection_regressions.py +155 -0
  42. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_source_selection.py +8 -2
  43. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_sync.py +89 -0
  44. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_sync_runtime_regressions.py +3 -0
  45. agent_wiki_cli-2.0.2/tests/test_verified_bug_migrations.py +198 -0
  46. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/LICENSE +0 -0
  47. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/MANIFEST.in +0 -0
  48. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/docs/standalone-documentation.md +0 -0
  49. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/examples/plugins/documentation-hooks/detectors.py +0 -0
  50. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/examples/plugins/documentation-hooks/llm-wiki-plugin.json +0 -0
  51. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/examples/plugins/documentation-hooks/styles.py +0 -0
  52. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/release_build_backend.py +0 -0
  53. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/setup.cfg +0 -0
  54. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/agent_wiki_cli.egg-info/dependency_links.txt +0 -0
  55. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/agent_wiki_cli.egg-info/entry_points.txt +0 -0
  56. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/agent_wiki_cli.egg-info/requires.txt +0 -0
  57. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/agent_wiki_cli.egg-info/top_level.txt +0 -0
  58. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/__init__.py +0 -0
  59. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/api.py +0 -0
  60. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/api_types.py +0 -0
  61. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/cli.py +0 -0
  62. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/commands/__init__.py +0 -0
  63. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/commands/bootstrap_cmd.py +0 -0
  64. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/commands/bump_cmd.py +0 -0
  65. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/commands/ci_check_cmd.py +0 -0
  66. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/commands/context_cmd.py +0 -0
  67. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/commands/docs_cmd.py +0 -0
  68. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/commands/doctor_cmd.py +0 -0
  69. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/commands/extract_cmd.py +0 -0
  70. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/commands/generate_prompt_cmd.py +0 -0
  71. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/commands/hook_cmd.py +0 -0
  72. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/commands/init_cmd.py +0 -0
  73. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/commands/install_ci_cmd.py +0 -0
  74. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/commands/install_cmd.py +0 -0
  75. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/commands/knowledge_cmd.py +0 -0
  76. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/commands/lint_cmd.py +0 -0
  77. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/commands/mcp_cmd.py +0 -0
  78. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/commands/metrics_cmd.py +0 -0
  79. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/commands/obsidian_cmd.py +0 -0
  80. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/commands/plugins_cmd.py +0 -0
  81. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/commands/prepare_extractors_cmd.py +0 -0
  82. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/commands/release_cmd.py +0 -0
  83. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/commands/review_cmd.py +0 -0
  84. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/commands/site_cmd.py +0 -0
  85. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/commands/skills_cmd.py +0 -0
  86. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/commands/status_cmd.py +0 -0
  87. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/commands/sync_cmd.py +0 -0
  88. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/commands/team_cmd.py +0 -0
  89. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/commands/trigger_cmd.py +0 -0
  90. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/commands/uninstall_cmd.py +0 -0
  91. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/commands/upgrade_cmd.py +0 -0
  92. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/config.py +0 -0
  93. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/eval_lite/__init__.py +0 -0
  94. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/eval_lite/planner.py +0 -0
  95. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/examples/plugins/documentation-hooks/detectors.py +0 -0
  96. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/examples/plugins/documentation-hooks/llm-wiki-plugin.json +0 -0
  97. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/examples/plugins/documentation-hooks/styles.py +0 -0
  98. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/extractors/__init__.py +0 -0
  99. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/extractors/common.py +0 -0
  100. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/extractors/fastapi_contracts.py +0 -0
  101. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/extractors/go_extractor.py +0 -0
  102. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/extractors/go_scripts/go.mod +0 -0
  103. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/extractors/go_scripts/main.go +0 -0
  104. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/extractors/haskell_extractor.py +0 -0
  105. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/extractors/haskell_scripts/Inventory.hs +0 -0
  106. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/extractors/haskell_scripts/Json.hs +0 -0
  107. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/extractors/haskell_scripts/Main.hs +0 -0
  108. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/extractors/haskell_scripts/Parser.hs +0 -0
  109. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/extractors/haskell_scripts/Paths.hs +0 -0
  110. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/extractors/rust_extractor.py +0 -0
  111. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/extractors/rust_scripts/Cargo.lock +0 -0
  112. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/extractors/rust_scripts/Cargo.toml +0 -0
  113. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/extractors/rust_scripts/src/main.rs +0 -0
  114. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/extractors/ts_extractor.py +0 -0
  115. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/extractors/ts_scripts/extract.js +0 -0
  116. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/extractors/ts_scripts/package-lock.json +0 -0
  117. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/extractors/ts_scripts/package.json +0 -0
  118. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/schemas/__init__.py +0 -0
  119. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/schemas/llm-wiki-knowledge-v1.schema.json +0 -0
  120. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/__init__.py +0 -0
  121. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/bootstrap_service.py +0 -0
  122. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/calibration/__init__.py +0 -0
  123. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/calibration/broker.py +0 -0
  124. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/calibration/contracts.py +0 -0
  125. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/calibration/controller.py +0 -0
  126. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/calibration/host_broker.py +0 -0
  127. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/canonical_pages.py +0 -0
  128. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/ci_installer.py +0 -0
  129. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/ci_report.py +0 -0
  130. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/circuit_breaker.py +0 -0
  131. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/concept_identity.py +0 -0
  132. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/context_knowledge_contract.py +0 -0
  133. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/context_packet.py +0 -0
  134. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/context_service.py +0 -0
  135. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/data_flow.py +0 -0
  136. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/dependency_versions.py +0 -0
  137. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/doctor_service.py +0 -0
  138. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/documentation_calibration.py +0 -0
  139. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/documentation_calibration_broker.py +0 -0
  140. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/documentation_calibration_controller.py +0 -0
  141. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/documentation_calibration_host_broker.py +0 -0
  142. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/documentation_claim_evidence.py +0 -0
  143. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/documentation_model_policy.py +0 -0
  144. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/documentation_native.py +0 -0
  145. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/documentation_policy.py +0 -0
  146. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/documentation_queries.py +0 -0
  147. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/documentation_query_builder.py +0 -0
  148. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/documentation_review.py +0 -0
  149. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/documentation_run/__init__.py +0 -0
  150. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/documentation_run/contracts.py +0 -0
  151. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/documentation_run/dependencies.py +0 -0
  152. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/documentation_run/export.py +0 -0
  153. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/documentation_run/integrity.py +0 -0
  154. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/documentation_run/packet.py +0 -0
  155. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/documentation_run/prepare.py +0 -0
  156. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/documentation_run/record.py +0 -0
  157. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/documentation_run/refresh.py +0 -0
  158. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/documentation_run/schema.py +0 -0
  159. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/documentation_run/verify.py +0 -0
  160. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/documentation_run/workspace.py +0 -0
  161. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/documentation_wiki_input.py +0 -0
  162. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/documentation_worklist.py +0 -0
  163. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/entrypoints.py +0 -0
  164. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/extraction_jobs.py +0 -0
  165. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/extractor_helpers.py +0 -0
  166. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/filesystem_guard.py +0 -0
  167. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/immutable.py +0 -0
  168. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/infrastructure_inventory.py +0 -0
  169. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/infrastructure_sync.py +0 -0
  170. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/instruction_ownership.py +0 -0
  171. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/io.py +0 -0
  172. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/knowledge_artifacts.py +0 -0
  173. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/knowledge_consumption.py +0 -0
  174. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/knowledge_envelope.py +0 -0
  175. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/knowledge_freshness.py +0 -0
  176. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/knowledge_generation.py +0 -0
  177. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/knowledge_governance.py +0 -0
  178. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/knowledge_graph.py +0 -0
  179. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/knowledge_index.py +0 -0
  180. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/knowledge_links.py +0 -0
  181. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/knowledge_loader.py +0 -0
  182. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/knowledge_model.py +0 -0
  183. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/knowledge_observability.py +0 -0
  184. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/knowledge_projection.py +0 -0
  185. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/knowledge_reuse.py +0 -0
  186. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/knowledge_verification.py +0 -0
  187. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/legacy_hooks.py +0 -0
  188. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/lint_service.py +0 -0
  189. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/lockfile.py +0 -0
  190. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/markdown_sections.py +0 -0
  191. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/mcp_server.py +0 -0
  192. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/metrics.py +0 -0
  193. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/module_maps.py +0 -0
  194. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/obsidian.py +0 -0
  195. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/paths.py +0 -0
  196. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/plugin_samples.py +0 -0
  197. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/plugins.py +0 -0
  198. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/progress.py +0 -0
  199. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/protected_artifacts.py +0 -0
  200. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/python_observations.py +0 -0
  201. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/redaction.py +0 -0
  202. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/rendering_lifecycle.py +0 -0
  203. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/resource_diagnostics.py +0 -0
  204. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/runtime_output.py +0 -0
  205. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/schema.py +0 -0
  206. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/section_ownership.py +0 -0
  207. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/secure_file.py +0 -0
  208. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/site_export.py +0 -0
  209. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/site_html_check.py +0 -0
  210. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/skills.py +0 -0
  211. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/source_selection.py +0 -0
  212. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/source_snapshot.py +0 -0
  213. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/sync_analysis.py +0 -0
  214. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/sync_manifest.py +0 -0
  215. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/team.py +0 -0
  216. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/validation.py +0 -0
  217. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/verification_contracts.py +0 -0
  218. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/versioning.py +0 -0
  219. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/wiki_git_policy.py +0 -0
  220. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/wiki_lifecycle.py +0 -0
  221. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/wiki_media.py +0 -0
  222. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/wiki_scaffold.py +0 -0
  223. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/wiki_surface.py +0 -0
  224. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/wiki_surface_index.py +0 -0
  225. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/agent-docs/SKILL.md +0 -0
  226. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/agent-docs/reference.md +0 -0
  227. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/attack-surface/SKILL.md +0 -0
  228. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/attack-surface/reference.md +0 -0
  229. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/dep-audit/SKILL.md +0 -0
  230. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/dep-audit/reference.md +0 -0
  231. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/dep-vuln-triage/SKILL.md +0 -0
  232. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/dep-vuln-triage/reference.md +0 -0
  233. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/doc-hub/SKILL.md +0 -0
  234. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/doc-hub/reference.md +0 -0
  235. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/doc-review/SKILL.md +0 -0
  236. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/doc-review/reference.md +0 -0
  237. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/impact-analysis/SKILL.md +0 -0
  238. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/impact-analysis/reference.md +0 -0
  239. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/infra-review/SKILL.md +0 -0
  240. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/infra-review/reference.md +0 -0
  241. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/onboarding-guide/SKILL.md +0 -0
  242. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/onboarding-guide/reference.md +0 -0
  243. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/publish-docs/SKILL.md +0 -0
  244. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/publish-docs/reference.md +0 -0
  245. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/usage-examples/SKILL.md +0 -0
  246. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/usage-examples/reference.md +0 -0
  247. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/user-docs-author/SKILL.md +0 -0
  248. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/user-docs-author/reference.md +0 -0
  249. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/wiki-bootstrap/SKILL.md +0 -0
  250. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/wiki-bootstrap/reference.md +0 -0
  251. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/wiki-reference/SKILL.md +0 -0
  252. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/wiki-reference/reference.md +0 -0
  253. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/wiki-reference/references/context-query.md +0 -0
  254. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/wiki-reference/references/extractors-dependencies.md +0 -0
  255. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/wiki-reference/references/governance.md +0 -0
  256. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/wiki-reference/references/knowledge-consumption.md +0 -0
  257. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/wiki-reference/references/maintenance.md +0 -0
  258. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/wiki-reference/references/publishing.md +0 -0
  259. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/wiki-reference/references/repository-handoff.md +0 -0
  260. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/wiki-reference/references/resources-context.md +0 -0
  261. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/wiki-reference/references/surfaces-naming.md +0 -0
  262. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/wiki-semantic-enhance/SKILL.md +0 -0
  263. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/wiki-semantic-enhance/reference.md +0 -0
  264. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/wiki-sync/SKILL.md +0 -0
  265. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/wiki-sync/reference.md +0 -0
  266. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_agent_instruction_decisions.py +0 -0
  267. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_api.py +0 -0
  268. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_api_exception_taxonomy.py +0 -0
  269. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_architecture_layers.py +0 -0
  270. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_bootstrap_api_contracts.py +0 -0
  271. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_bootstrap_service.py +0 -0
  272. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_bump.py +0 -0
  273. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_calibration_cli.py +0 -0
  274. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_calibration_isolation.py +0 -0
  275. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_ci_check.py +0 -0
  276. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_ci_runtime_output.py +0 -0
  277. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_ci_toolchain_setup.py +0 -0
  278. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_ci_workflow_wrapper.py +0 -0
  279. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_circuit_breaker.py +0 -0
  280. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_cli.py +0 -0
  281. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_concept_identity.py +0 -0
  282. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_config.py +0 -0
  283. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_context.py +0 -0
  284. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_context_knowledge_contract.py +0 -0
  285. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_context_knowledge_runtime.py +0 -0
  286. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_context_packet_knowledge.py +0 -0
  287. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_data_flow.py +0 -0
  288. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_dep_vuln_triage_skill.py +0 -0
  289. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_dependencies_external.py +0 -0
  290. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_dependency_version_details.py +0 -0
  291. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_docker_bootstrap.py +0 -0
  292. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_docker_extract.py +0 -0
  293. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_docker_lint.py +0 -0
  294. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_docs_cli.py +0 -0
  295. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_doctor.py +0 -0
  296. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_documentation_adversarial.py +0 -0
  297. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_documentation_calibration.py +0 -0
  298. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_documentation_calibration_broker.py +0 -0
  299. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_documentation_calibration_controller.py +0 -0
  300. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_documentation_calibration_host_broker.py +0 -0
  301. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_documentation_calibration_oci_integration.py +0 -0
  302. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_documentation_claim_evidence.py +0 -0
  303. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_documentation_control_integrity.py +0 -0
  304. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_documentation_dogfood.py +0 -0
  305. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_documentation_input_recheck.py +0 -0
  306. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_documentation_model_policy.py +0 -0
  307. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_documentation_native.py +0 -0
  308. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_documentation_native_lifecycle.py +0 -0
  309. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_documentation_prepare_transaction.py +0 -0
  310. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_documentation_projection_policy.py +0 -0
  311. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_documentation_protocol.py +0 -0
  312. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_documentation_queries.py +0 -0
  313. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_documentation_refresh_continuation.py +0 -0
  314. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_documentation_review.py +0 -0
  315. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_documentation_run_fixtures.py +0 -0
  316. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_documentation_wiki_input.py +0 -0
  317. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_documentation_worklist.py +0 -0
  318. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_documentation_workspace.py +0 -0
  319. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_e2e.py +0 -0
  320. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_enriched_projection_resilience.py +0 -0
  321. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_entrypoints.py +0 -0
  322. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_eval_lite.py +0 -0
  323. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_extract_api_contracts.py +0 -0
  324. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_extract_data_flow_details.py +0 -0
  325. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_extractor_helpers.py +0 -0
  326. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_filesystem_guard.py +0 -0
  327. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_filesystem_guard_windows.py +0 -0
  328. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_filesystem_guard_windows_model.py +0 -0
  329. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_generate_prompt.py +0 -0
  330. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_generated_relationship_pages.py +0 -0
  331. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_github_action.py +0 -0
  332. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_go_extract.py +0 -0
  333. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_governance_reconciliation.py +0 -0
  334. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_haskell_extract.py +0 -0
  335. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_helper_packaging_parity.py +0 -0
  336. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_hook.py +0 -0
  337. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_infra_review_skill.py +0 -0
  338. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_infrastructure_inventory.py +0 -0
  339. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_infrastructure_sync.py +0 -0
  340. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_init.py +0 -0
  341. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_install.py +0 -0
  342. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_install_ci.py +0 -0
  343. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_instruction_ownership.py +0 -0
  344. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_inventory_cache.py +0 -0
  345. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_io.py +0 -0
  346. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_knowledge_artifacts.py +0 -0
  347. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_knowledge_cmd.py +0 -0
  348. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_knowledge_commands.py +0 -0
  349. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_knowledge_compatibility.py +0 -0
  350. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_knowledge_consumption.py +0 -0
  351. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_knowledge_contract.py +0 -0
  352. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_knowledge_envelope.py +0 -0
  353. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_knowledge_evidence.py +0 -0
  354. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_knowledge_freshness.py +0 -0
  355. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_knowledge_generation.py +0 -0
  356. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_knowledge_governance.py +0 -0
  357. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_knowledge_graph.py +0 -0
  358. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_knowledge_hardening.py +0 -0
  359. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_knowledge_index.py +0 -0
  360. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_knowledge_links.py +0 -0
  361. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_knowledge_lint.py +0 -0
  362. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_knowledge_loader.py +0 -0
  363. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_knowledge_model.py +0 -0
  364. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_knowledge_observability.py +0 -0
  365. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_knowledge_performance.py +0 -0
  366. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_knowledge_projection.py +0 -0
  367. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_knowledge_projection_e2e.py +0 -0
  368. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_knowledge_queries.py +0 -0
  369. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_knowledge_query_adapters.py +0 -0
  370. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_knowledge_reuse.py +0 -0
  371. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_knowledge_scale.py +0 -0
  372. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_knowledge_verification_view.py +0 -0
  373. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_lint.py +0 -0
  374. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_llm_wiki_convergence_script.py +0 -0
  375. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_llm_wiki_convergence_workflow.py +0 -0
  376. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_lockfile.py +0 -0
  377. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_managed_reference_topics.py +0 -0
  378. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_markdown_sections.py +0 -0
  379. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_mcp.py +0 -0
  380. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_mcp_sdk.py +0 -0
  381. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_metrics.py +0 -0
  382. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_module_maps.py +0 -0
  383. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_multilanguage_wiki.py +0 -0
  384. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_native_knowledge_semantics_docs.py +0 -0
  385. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_native_reduction_contracts.py +0 -0
  386. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_native_skill_preflight_and_reanchor.py +0 -0
  387. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_navigation_layouts.py +0 -0
  388. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_obsidian.py +0 -0
  389. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_package_validation.py +0 -0
  390. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_packages.py +0 -0
  391. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_paths.py +0 -0
  392. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_plugin_sample.py +0 -0
  393. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_plugins.py +0 -0
  394. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_progress.py +0 -0
  395. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_protected_artifacts.py +0 -0
  396. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_protocol_registry.py +0 -0
  397. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_provisioning_failures.py +0 -0
  398. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_public_docs_vocabulary.py +0 -0
  399. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_publishing_hub_attack_contracts.py +0 -0
  400. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_python_observation_cache.py +0 -0
  401. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_quality_workflows.py +0 -0
  402. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_redaction.py +0 -0
  403. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_reference_skill_verifier.py +0 -0
  404. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_relationships.py +0 -0
  405. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_release.py +0 -0
  406. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_release_build_backend.py +0 -0
  407. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_release_dogfood.py +0 -0
  408. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_release_qualification.py +0 -0
  409. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_release_supply_chain.py +0 -0
  410. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_rendering_lifecycle.py +0 -0
  411. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_resource_diagnostics.py +0 -0
  412. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_runtime_output.py +0 -0
  413. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_rust_extract.py +0 -0
  414. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_schema.py +0 -0
  415. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_schema_context_baselines.py +0 -0
  416. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_section_ownership.py +0 -0
  417. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_secure_file.py +0 -0
  418. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_site_export.py +0 -0
  419. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_site_knowledge_metadata.py +0 -0
  420. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_skill_contracts.py +0 -0
  421. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_skill_contracts_all.py +0 -0
  422. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_skill_ownership_boundaries.py +0 -0
  423. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_skill_policy_routes.py +0 -0
  424. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_skills.py +0 -0
  425. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_source_snapshot.py +0 -0
  426. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_static_quality_architecture.py +0 -0
  427. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_status.py +0 -0
  428. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_surface_initialization.py +0 -0
  429. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_sync_api_contracts.py +0 -0
  430. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_sync_manifest.py +0 -0
  431. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_sync_no_plugins.py +0 -0
  432. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_team.py +0 -0
  433. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_team_policy_regressions.py +0 -0
  434. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_trigger.py +0 -0
  435. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_ts_extract.py +0 -0
  436. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_typed_graph_queries.py +0 -0
  437. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_uninstall.py +0 -0
  438. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_upgrade.py +0 -0
  439. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_validated_knowledge_reuse.py +0 -0
  440. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_validation.py +0 -0
  441. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_verification_contracts.py +0 -0
  442. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_versioning.py +0 -0
  443. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_wiki_git_policy.py +0 -0
  444. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_wiki_helper_cache.py +0 -0
  445. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_wiki_integrity_action.py +0 -0
  446. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_wiki_lifecycle.py +0 -0
  447. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_wiki_reference_skill.py +0 -0
  448. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_wiki_surface.py +0 -0
  449. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_wiki_surface_index.py +0 -0
  450. {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_wiki_sync_cleanup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agent-wiki-cli
3
- Version: 2.0.1
3
+ Version: 2.0.2
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
@@ -745,6 +745,21 @@ generated from detected entry points with a call sequence, generated static
745
745
  generated data-flow section. Large generated call-sequence diagrams are capped
746
746
  to the first 30 interactions and include an omitted-interaction note so Mermaid
747
747
  output stays readable on large repositories.
748
+ Sequence participants distinguish same-named functions in different modules
749
+ and calls through different receivers. A delegated call such as
750
+ `service.check_wiki()` stays distinct from a `check_wiki` wrapper; genuine
751
+ self-calls retain their self-arrows.
752
+ Calls on returned objects use compact labels such as `ReportBuilder(…).build`
753
+ in both diagrams. Matching compact labels receive context or a number to keep
754
+ their targets distinct. Full captured calls remain in the evidence tables;
755
+ dashed arrows identify external or unresolved calls, including methods whose
756
+ receiver type is unknown.
757
+ Workflow pages require resolved body calls into at least three other project
758
+ modules. Their sequences follow captured source order, without claiming runtime
759
+ branching or evaluation order. Type annotations and docstrings do not create
760
+ call steps. When an upgraded detector no longer recognizes a generated
761
+ workflow, sync retires generated-only pages; it stops before removing a page
762
+ with authored `Behavior` so you can archive that content explicitly.
748
763
  Dependency architecture pages are generated as `dependencies.md` and
749
764
  `load-order.md`; use `--skip-dependencies` for projects that do not want those
750
765
  pages or lint diagnostics. Generated `index.md` is a registry-backed landing
@@ -756,6 +771,10 @@ Passing `--openapi-file` implies `--api-contracts`; the supplied OpenAPI 3.0 or
756
771
  3.1 JSON/YAML document is authoritative for wire fields, while syntax-only
757
772
  source analysis contributes handler, module, entity, and flow links. The target
758
773
  application is never imported or executed.
774
+ Dynamic route expressions remain visible as unknown API-contract evidence.
775
+ Only concrete routes are attached to flow metadata, so unresolved paths do not
776
+ prevent bootstrap or sync and are never replaced with invented URLs. Supply an
777
+ OpenAPI export when authoritative concrete paths are needed.
759
778
  `--depth full` is the default and includes
760
779
  docstrings, imports, attributes, method signatures, generated relationship
761
780
  sections, bounded per-module dependency mini-map summaries, and diagram data
@@ -908,6 +927,11 @@ test files remain part of normal Python extraction.
908
927
  JavaScript `.js` and `.jsx` files are handled by the TypeScript extractor
909
928
  family and use `language: "javascript"` in inventory output. Prepare the same
910
929
  helper with `llm-wiki prepare-extractors --language typescript`.
930
+ Native knowledge records the selected producing extractor independently of this
931
+ language label, including TypeScript-family plugins that emit JavaScript.
932
+ After upgrading from artifacts with unknown JavaScript producer configuration,
933
+ run `llm-wiki sync --rebuild-knowledge` to record a fresh basis, then check health
934
+ with `llm-wiki doctor --strict`. Other health findings retain their usual meaning.
911
935
  Plain `.js` files include named top-level function declarations in the
912
936
  `functions` list even when they are local CommonJS helpers. Those functions are
913
937
  rendered on module pages; JavaScript function declarations do not create entity
@@ -954,6 +978,21 @@ keyword-only, and variadic-keyword declarations. Python model/type inventory
954
978
  also carries optional required/nullable/default/factory, alias, constraint,
955
979
  description/example, `Annotated`, validator/config, enum-member, literal, and
956
980
  type-alias metadata without importing Pydantic or application modules.
981
+ Python call targets follow lexical bindings. Builtins remain file-less calls;
982
+ local declarations, aliases, and imports resolve only when their targets are
983
+ justified. Uncertain rebinding and closures remain unresolved instead of linking
984
+ to unrelated same-named functions. Optional `call_bindings` entries parallel a
985
+ callable's `calls` list, `python_bindings` describes module bindings, and
986
+ `main_block_call_bindings` parallels guarded process-entry calls. Older
987
+ inventories may omit these fields.
988
+ TypedDict classes use `model_kind: "typeddict"`; their fields' `required` flags
989
+ describe whether dictionary keys must be present. `total=False` applies to keys
990
+ declared by that class, while inherited keys retain their original presence
991
+ rules. Resolvable `Required`/`NotRequired` annotations override totality.
992
+ An explicit `total` expression is retained in `class_keywords.total`; when its
993
+ value cannot be determined statically, key presence is unknown unless overridden.
994
+ Entity pages show a separate **Presence** column for TypedDict keys, independently
995
+ of nullability and value defaults.
957
996
  The payload also gains an optional top-level
958
997
  `entrypoints` array (detected user-reachable entry points: `{id, category, file,
959
998
  symbol, label}`), a `data_flows` list for detected user flows, plus a top-level
@@ -1102,7 +1141,16 @@ and profile JSON but do not make `lint`, `lint --strict`, or `ci-check` fail by
1102
1141
  themselves. Stale architecture pages with no current source modules remain hard
1103
1142
  issues.
1104
1143
  Python dependency reconciliation reads `pyproject.toml` and `requirements*.txt`
1105
- manifests, including nested manifests scoped to their directory. TypeScript and
1144
+ manifests, including nested manifests scoped to their directory. Python imports
1145
+ use the selected source root, conventional `src` layouts, and declared packaging
1146
+ roots; a nested file's basename is not a repository-wide import alias.
1147
+ `python_import_scope` records source-relative project and search roots when
1148
+ packaging metadata is available. Literal setuptools `package-dir`/`find.where`
1149
+ and Poetry package `from` settings support custom layouts. Ambiguous candidates
1150
+ are disclosed without becoming unconditional dependency edges or import cycles.
1151
+ Legitimate local standard-library shadowing and explicit relative imports remain
1152
+ supported; runtime import-hook and `sys.path` changes are not executed.
1153
+ TypeScript and
1106
1154
  JavaScript reconciliation reads the nearest scoped `package.json` and resolves
1107
1155
  first-party imports through the nearest `tsconfig.json` `baseUrl`/`paths`
1108
1156
  aliases before reporting undeclared external packages. Generic internal import
@@ -710,6 +710,21 @@ generated from detected entry points with a call sequence, generated static
710
710
  generated data-flow section. Large generated call-sequence diagrams are capped
711
711
  to the first 30 interactions and include an omitted-interaction note so Mermaid
712
712
  output stays readable on large repositories.
713
+ Sequence participants distinguish same-named functions in different modules
714
+ and calls through different receivers. A delegated call such as
715
+ `service.check_wiki()` stays distinct from a `check_wiki` wrapper; genuine
716
+ self-calls retain their self-arrows.
717
+ Calls on returned objects use compact labels such as `ReportBuilder(…).build`
718
+ in both diagrams. Matching compact labels receive context or a number to keep
719
+ their targets distinct. Full captured calls remain in the evidence tables;
720
+ dashed arrows identify external or unresolved calls, including methods whose
721
+ receiver type is unknown.
722
+ Workflow pages require resolved body calls into at least three other project
723
+ modules. Their sequences follow captured source order, without claiming runtime
724
+ branching or evaluation order. Type annotations and docstrings do not create
725
+ call steps. When an upgraded detector no longer recognizes a generated
726
+ workflow, sync retires generated-only pages; it stops before removing a page
727
+ with authored `Behavior` so you can archive that content explicitly.
713
728
  Dependency architecture pages are generated as `dependencies.md` and
714
729
  `load-order.md`; use `--skip-dependencies` for projects that do not want those
715
730
  pages or lint diagnostics. Generated `index.md` is a registry-backed landing
@@ -721,6 +736,10 @@ Passing `--openapi-file` implies `--api-contracts`; the supplied OpenAPI 3.0 or
721
736
  3.1 JSON/YAML document is authoritative for wire fields, while syntax-only
722
737
  source analysis contributes handler, module, entity, and flow links. The target
723
738
  application is never imported or executed.
739
+ Dynamic route expressions remain visible as unknown API-contract evidence.
740
+ Only concrete routes are attached to flow metadata, so unresolved paths do not
741
+ prevent bootstrap or sync and are never replaced with invented URLs. Supply an
742
+ OpenAPI export when authoritative concrete paths are needed.
724
743
  `--depth full` is the default and includes
725
744
  docstrings, imports, attributes, method signatures, generated relationship
726
745
  sections, bounded per-module dependency mini-map summaries, and diagram data
@@ -873,6 +892,11 @@ test files remain part of normal Python extraction.
873
892
  JavaScript `.js` and `.jsx` files are handled by the TypeScript extractor
874
893
  family and use `language: "javascript"` in inventory output. Prepare the same
875
894
  helper with `llm-wiki prepare-extractors --language typescript`.
895
+ Native knowledge records the selected producing extractor independently of this
896
+ language label, including TypeScript-family plugins that emit JavaScript.
897
+ After upgrading from artifacts with unknown JavaScript producer configuration,
898
+ run `llm-wiki sync --rebuild-knowledge` to record a fresh basis, then check health
899
+ with `llm-wiki doctor --strict`. Other health findings retain their usual meaning.
876
900
  Plain `.js` files include named top-level function declarations in the
877
901
  `functions` list even when they are local CommonJS helpers. Those functions are
878
902
  rendered on module pages; JavaScript function declarations do not create entity
@@ -919,6 +943,21 @@ keyword-only, and variadic-keyword declarations. Python model/type inventory
919
943
  also carries optional required/nullable/default/factory, alias, constraint,
920
944
  description/example, `Annotated`, validator/config, enum-member, literal, and
921
945
  type-alias metadata without importing Pydantic or application modules.
946
+ Python call targets follow lexical bindings. Builtins remain file-less calls;
947
+ local declarations, aliases, and imports resolve only when their targets are
948
+ justified. Uncertain rebinding and closures remain unresolved instead of linking
949
+ to unrelated same-named functions. Optional `call_bindings` entries parallel a
950
+ callable's `calls` list, `python_bindings` describes module bindings, and
951
+ `main_block_call_bindings` parallels guarded process-entry calls. Older
952
+ inventories may omit these fields.
953
+ TypedDict classes use `model_kind: "typeddict"`; their fields' `required` flags
954
+ describe whether dictionary keys must be present. `total=False` applies to keys
955
+ declared by that class, while inherited keys retain their original presence
956
+ rules. Resolvable `Required`/`NotRequired` annotations override totality.
957
+ An explicit `total` expression is retained in `class_keywords.total`; when its
958
+ value cannot be determined statically, key presence is unknown unless overridden.
959
+ Entity pages show a separate **Presence** column for TypedDict keys, independently
960
+ of nullability and value defaults.
922
961
  The payload also gains an optional top-level
923
962
  `entrypoints` array (detected user-reachable entry points: `{id, category, file,
924
963
  symbol, label}`), a `data_flows` list for detected user flows, plus a top-level
@@ -1067,7 +1106,16 @@ and profile JSON but do not make `lint`, `lint --strict`, or `ci-check` fail by
1067
1106
  themselves. Stale architecture pages with no current source modules remain hard
1068
1107
  issues.
1069
1108
  Python dependency reconciliation reads `pyproject.toml` and `requirements*.txt`
1070
- manifests, including nested manifests scoped to their directory. TypeScript and
1109
+ manifests, including nested manifests scoped to their directory. Python imports
1110
+ use the selected source root, conventional `src` layouts, and declared packaging
1111
+ roots; a nested file's basename is not a repository-wide import alias.
1112
+ `python_import_scope` records source-relative project and search roots when
1113
+ packaging metadata is available. Literal setuptools `package-dir`/`find.where`
1114
+ and Poetry package `from` settings support custom layouts. Ambiguous candidates
1115
+ are disclosed without becoming unconditional dependency edges or import cycles.
1116
+ Legitimate local standard-library shadowing and explicit relative imports remain
1117
+ supported; runtime import-hook and `sys.path` changes are not executed.
1118
+ TypeScript and
1071
1119
  JavaScript reconciliation reads the nearest scoped `package.json` and resolves
1072
1120
  first-party imports through the nearest `tsconfig.json` `baseUrl`/`paths`
1073
1121
  aliases before reporting undeclared external packages. Generic internal import
@@ -5,7 +5,7 @@ backend-path = ["."]
5
5
 
6
6
  [project]
7
7
  name = "agent-wiki-cli"
8
- version = "2.0.1"
8
+ version = "2.0.2"
9
9
  description = "CLI tool to maintain hybrid LLM Wikis for multi-language projects."
10
10
  readme = "README.md"
11
11
  license = "MIT"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agent-wiki-cli
3
- Version: 2.0.1
3
+ Version: 2.0.2
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
@@ -745,6 +745,21 @@ generated from detected entry points with a call sequence, generated static
745
745
  generated data-flow section. Large generated call-sequence diagrams are capped
746
746
  to the first 30 interactions and include an omitted-interaction note so Mermaid
747
747
  output stays readable on large repositories.
748
+ Sequence participants distinguish same-named functions in different modules
749
+ and calls through different receivers. A delegated call such as
750
+ `service.check_wiki()` stays distinct from a `check_wiki` wrapper; genuine
751
+ self-calls retain their self-arrows.
752
+ Calls on returned objects use compact labels such as `ReportBuilder(…).build`
753
+ in both diagrams. Matching compact labels receive context or a number to keep
754
+ their targets distinct. Full captured calls remain in the evidence tables;
755
+ dashed arrows identify external or unresolved calls, including methods whose
756
+ receiver type is unknown.
757
+ Workflow pages require resolved body calls into at least three other project
758
+ modules. Their sequences follow captured source order, without claiming runtime
759
+ branching or evaluation order. Type annotations and docstrings do not create
760
+ call steps. When an upgraded detector no longer recognizes a generated
761
+ workflow, sync retires generated-only pages; it stops before removing a page
762
+ with authored `Behavior` so you can archive that content explicitly.
748
763
  Dependency architecture pages are generated as `dependencies.md` and
749
764
  `load-order.md`; use `--skip-dependencies` for projects that do not want those
750
765
  pages or lint diagnostics. Generated `index.md` is a registry-backed landing
@@ -756,6 +771,10 @@ Passing `--openapi-file` implies `--api-contracts`; the supplied OpenAPI 3.0 or
756
771
  3.1 JSON/YAML document is authoritative for wire fields, while syntax-only
757
772
  source analysis contributes handler, module, entity, and flow links. The target
758
773
  application is never imported or executed.
774
+ Dynamic route expressions remain visible as unknown API-contract evidence.
775
+ Only concrete routes are attached to flow metadata, so unresolved paths do not
776
+ prevent bootstrap or sync and are never replaced with invented URLs. Supply an
777
+ OpenAPI export when authoritative concrete paths are needed.
759
778
  `--depth full` is the default and includes
760
779
  docstrings, imports, attributes, method signatures, generated relationship
761
780
  sections, bounded per-module dependency mini-map summaries, and diagram data
@@ -908,6 +927,11 @@ test files remain part of normal Python extraction.
908
927
  JavaScript `.js` and `.jsx` files are handled by the TypeScript extractor
909
928
  family and use `language: "javascript"` in inventory output. Prepare the same
910
929
  helper with `llm-wiki prepare-extractors --language typescript`.
930
+ Native knowledge records the selected producing extractor independently of this
931
+ language label, including TypeScript-family plugins that emit JavaScript.
932
+ After upgrading from artifacts with unknown JavaScript producer configuration,
933
+ run `llm-wiki sync --rebuild-knowledge` to record a fresh basis, then check health
934
+ with `llm-wiki doctor --strict`. Other health findings retain their usual meaning.
911
935
  Plain `.js` files include named top-level function declarations in the
912
936
  `functions` list even when they are local CommonJS helpers. Those functions are
913
937
  rendered on module pages; JavaScript function declarations do not create entity
@@ -954,6 +978,21 @@ keyword-only, and variadic-keyword declarations. Python model/type inventory
954
978
  also carries optional required/nullable/default/factory, alias, constraint,
955
979
  description/example, `Annotated`, validator/config, enum-member, literal, and
956
980
  type-alias metadata without importing Pydantic or application modules.
981
+ Python call targets follow lexical bindings. Builtins remain file-less calls;
982
+ local declarations, aliases, and imports resolve only when their targets are
983
+ justified. Uncertain rebinding and closures remain unresolved instead of linking
984
+ to unrelated same-named functions. Optional `call_bindings` entries parallel a
985
+ callable's `calls` list, `python_bindings` describes module bindings, and
986
+ `main_block_call_bindings` parallels guarded process-entry calls. Older
987
+ inventories may omit these fields.
988
+ TypedDict classes use `model_kind: "typeddict"`; their fields' `required` flags
989
+ describe whether dictionary keys must be present. `total=False` applies to keys
990
+ declared by that class, while inherited keys retain their original presence
991
+ rules. Resolvable `Required`/`NotRequired` annotations override totality.
992
+ An explicit `total` expression is retained in `class_keywords.total`; when its
993
+ value cannot be determined statically, key presence is unknown unless overridden.
994
+ Entity pages show a separate **Presence** column for TypedDict keys, independently
995
+ of nullability and value defaults.
957
996
  The payload also gains an optional top-level
958
997
  `entrypoints` array (detected user-reachable entry points: `{id, category, file,
959
998
  symbol, label}`), a `data_flows` list for detected user flows, plus a top-level
@@ -1102,7 +1141,16 @@ and profile JSON but do not make `lint`, `lint --strict`, or `ci-check` fail by
1102
1141
  themselves. Stale architecture pages with no current source modules remain hard
1103
1142
  issues.
1104
1143
  Python dependency reconciliation reads `pyproject.toml` and `requirements*.txt`
1105
- manifests, including nested manifests scoped to their directory. TypeScript and
1144
+ manifests, including nested manifests scoped to their directory. Python imports
1145
+ use the selected source root, conventional `src` layouts, and declared packaging
1146
+ roots; a nested file's basename is not a repository-wide import alias.
1147
+ `python_import_scope` records source-relative project and search roots when
1148
+ packaging metadata is available. Literal setuptools `package-dir`/`find.where`
1149
+ and Poetry package `from` settings support custom layouts. Ambiguous candidates
1150
+ are disclosed without becoming unconditional dependency edges or import cycles.
1151
+ Legitimate local standard-library shadowing and explicit relative imports remain
1152
+ supported; runtime import-hook and `sys.path` changes are not executed.
1153
+ TypeScript and
1106
1154
  JavaScript reconciliation reads the nearest scoped `package.json` and resolves
1107
1155
  first-party imports through the nearest `tsconfig.json` `baseUrl`/`paths`
1108
1156
  aliases before reporting undeclared external packages. Generic internal import
@@ -59,6 +59,7 @@ src/llm_wiki_cli/extractors/common.py
59
59
  src/llm_wiki_cli/extractors/fastapi_contracts.py
60
60
  src/llm_wiki_cli/extractors/go_extractor.py
61
61
  src/llm_wiki_cli/extractors/haskell_extractor.py
62
+ src/llm_wiki_cli/extractors/python_bindings.py
62
63
  src/llm_wiki_cli/extractors/python_contracts.py
63
64
  src/llm_wiki_cli/extractors/python_extractor.py
64
65
  src/llm_wiki_cli/extractors/rust_extractor.py
@@ -152,7 +153,10 @@ src/llm_wiki_cli/services/plugin_samples.py
152
153
  src/llm_wiki_cli/services/plugins.py
153
154
  src/llm_wiki_cli/services/progress.py
154
155
  src/llm_wiki_cli/services/protected_artifacts.py
156
+ src/llm_wiki_cli/services/python_calls.py
157
+ src/llm_wiki_cli/services/python_imports.py
155
158
  src/llm_wiki_cli/services/python_observations.py
159
+ src/llm_wiki_cli/services/python_stdlib.py
156
160
  src/llm_wiki_cli/services/redaction.py
157
161
  src/llm_wiki_cli/services/relationships.py
158
162
  src/llm_wiki_cli/services/rendering_lifecycle.py
@@ -345,6 +349,7 @@ tests/test_knowledge_loader.py
345
349
  tests/test_knowledge_model.py
346
350
  tests/test_knowledge_observability.py
347
351
  tests/test_knowledge_performance.py
352
+ tests/test_knowledge_producer_languages.py
348
353
  tests/test_knowledge_projection.py
349
354
  tests/test_knowledge_projection_e2e.py
350
355
  tests/test_knowledge_queries.py
@@ -381,7 +386,10 @@ tests/test_protocol_registry.py
381
386
  tests/test_provisioning_failures.py
382
387
  tests/test_public_docs_vocabulary.py
383
388
  tests/test_publishing_hub_attack_contracts.py
389
+ tests/test_python_call_bindings.py
390
+ tests/test_python_import_scopes.py
384
391
  tests/test_python_observation_cache.py
392
+ tests/test_python_typed_dicts.py
385
393
  tests/test_quality_workflows.py
386
394
  tests/test_redaction.py
387
395
  tests/test_reference_skill_verifier.py
@@ -394,6 +402,7 @@ tests/test_release_supply_chain.py
394
402
  tests/test_release_workflows.py
395
403
  tests/test_rendering_lifecycle.py
396
404
  tests/test_resource_diagnostics.py
405
+ tests/test_route_projection_regressions.py
397
406
  tests/test_runtime_output.py
398
407
  tests/test_rust_extract.py
399
408
  tests/test_schema.py
@@ -427,6 +436,7 @@ tests/test_upgrade.py
427
436
  tests/test_validated_knowledge_reuse.py
428
437
  tests/test_validation.py
429
438
  tests/test_verification_contracts.py
439
+ tests/test_verified_bug_migrations.py
430
440
  tests/test_versioning.py
431
441
  tests/test_wiki_git_policy.py
432
442
  tests/test_wiki_helper_cache.py
@@ -80,6 +80,7 @@ from ..services.bootstrap_runtime import (
80
80
  )
81
81
  from ..services.extraction_service import (
82
82
  InventoryResult,
83
+ _workflow_name,
83
84
  get_call_graph,
84
85
  get_docker_inventory,
85
86
  get_inventory_result,
@@ -506,13 +507,13 @@ def _build_workflow_link_maps(
506
507
  return {}
507
508
 
508
509
  page_maps: dict[str, dict[str, str]] = {}
509
- for wf_name, wf_data in get_call_graph(inventory).items():
510
+ for wf_name, source_paths in _workflow_link_sources(inventory, module_page_map).items():
510
511
  wf_path = workflow_dir / f"{wf_name}.md"
511
512
  if not wf_path.exists():
512
513
  continue
513
514
 
514
515
  stem_targets: dict[str, set[str]] = {}
515
- for source_path in wf_data.get("modules_touched_paths", []):
516
+ for source_path in source_paths:
516
517
  page_stem = module_page_map.get(source_path)
517
518
  if not page_stem:
518
519
  continue
@@ -531,6 +532,46 @@ def _build_workflow_link_maps(
531
532
  return page_maps
532
533
 
533
534
 
535
+ def _workflow_link_sources(
536
+ inventory: dict, module_page_map: dict[str, str]
537
+ ) -> dict[str, set[str]]:
538
+ """Keep legacy type-reference link repair separate from workflow detection.
539
+
540
+ Older pages may have been generated from annotations without any body
541
+ calls. Those references still help repair links on existing pages; they
542
+ must not create new workflows or be rendered as an execution sequence.
543
+ """
544
+ workflows = get_call_graph(inventory)
545
+ paths = {
546
+ name: set(workflow.get("modules_touched_paths", []))
547
+ for name, workflow in workflows.items()
548
+ }
549
+ candidates: dict[str, dict[str, set[str]]] = {}
550
+ definitions: dict[str, set[str]] = {}
551
+ for source, data in inventory.items():
552
+ for function in data.get("functions", []):
553
+ name = _workflow_name(function["name"], Path(source).stem)
554
+ definitions.setdefault(name, set()).add(source)
555
+ for (_, target), references in _build_relationships(inventory, module_page_map).items():
556
+ for reference in references:
557
+ function = reference.get("function")
558
+ if not function:
559
+ continue
560
+ source = reference["module_path"]
561
+ name = _workflow_name(function, reference["module"])
562
+ entries = candidates.setdefault(name, {})
563
+ entries.setdefault(source, {source}).add(target)
564
+ for name, entries in candidates.items():
565
+ if name in workflows:
566
+ source = workflows[name].get("entry_module_path")
567
+ paths[name].update(entries.get(source, set()))
568
+ elif len(entries) == 1 and len(definitions.get(name, set())) == 1:
569
+ # A same-named callable in another module is not sufficient proof
570
+ # to rewrite an ambiguous legacy link.
571
+ paths[name] = next(iter(entries.values()))
572
+ return paths
573
+
574
+
534
575
  def _unique(values: list[TargetPage]) -> TargetPage | None:
535
576
  return values[0] if len(values) == 1 else None
536
577