agent-wiki-cli 3.0.0__tar.gz → 3.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 (764) hide show
  1. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/MANIFEST.in +2 -0
  2. {agent_wiki_cli-3.0.0/src/agent_wiki_cli.egg-info → agent_wiki_cli-3.2.0}/PKG-INFO +1 -1
  3. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/docs/automation.md +112 -0
  4. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/docs/cli-reference.md +229 -0
  5. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/pyproject.toml +2 -1
  6. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0/src/agent_wiki_cli.egg-info}/PKG-INFO +1 -1
  7. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/agent_wiki_cli.egg-info/SOURCES.txt +29 -1
  8. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/api.py +45 -1
  9. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/api_types.py +2 -0
  10. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/cli.py +27 -3
  11. agent_wiki_cli-3.2.0/src/llm_wiki_cli/commands/doctor_cmd.py +135 -0
  12. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/commands/knowledge_storage_cmd.py +2 -1
  13. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/commands/maintenance_cmd.py +10 -0
  14. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/commands/query_cmd.py +2 -1
  15. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/commands/sync_cmd.py +337 -17
  16. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/extractors/python_contracts.py +4 -2
  17. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/extractors/python_extractor.py +33 -0
  18. agent_wiki_cli-3.2.0/src/llm_wiki_cli/schemas/llm-wiki-normalization-diagnostic-v1.schema.json +34 -0
  19. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/analysis_contracts.json +7 -0
  20. agent_wiki_cli-3.2.0/src/llm_wiki_cli/services/analysis_targets.py +359 -0
  21. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/api_contracts.py +2 -1
  22. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/bootstrap_runtime.py +9 -4
  23. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/context_budget.py +12 -8
  24. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/context_packet.py +52 -0
  25. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/context_service.py +8 -1
  26. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/contracts.py +2 -0
  27. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/documentation_queries.py +8 -0
  28. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/entrypoints.py +3 -1
  29. agent_wiki_cli-3.2.0/src/llm_wiki_cli/services/evidence_diagnostics.py +120 -0
  30. agent_wiki_cli-3.2.0/src/llm_wiki_cli/services/evidence_explanation.py +81 -0
  31. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/extractor_helpers.py +99 -0
  32. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/instruction_ownership.py +46 -21
  33. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/knowledge_evidence.py +220 -287
  34. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/knowledge_freshness.py +10 -1
  35. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/knowledge_orchestration.py +7 -1
  36. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/knowledge_storage_diagnostics.py +134 -36
  37. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/lint_service.py +10 -0
  38. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/maintenance_service.py +16 -2
  39. agent_wiki_cli-3.2.0/src/llm_wiki_cli/services/normalization_diagnostics.py +101 -0
  40. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/python_imports.py +27 -1
  41. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/relationships.py +7 -6
  42. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/schema.py +102 -18
  43. agent_wiki_cli-3.2.0/src/llm_wiki_cli/services/scoped_sync_repair.py +369 -0
  44. agent_wiki_cli-3.2.0/src/llm_wiki_cli/services/sync_recovery.py +561 -0
  45. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/wiki_write_basis.py +12 -0
  46. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/skills/wiki-reference/SKILL.md +2 -2
  47. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/skills/wiki-reference/references/development-workflow.md +17 -0
  48. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/skills/wiki-reference/references/extractors-dependencies.md +9 -0
  49. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/skills/wiki-reference/references/maintenance.md +116 -0
  50. agent_wiki_cli-3.2.0/tests/fixtures/knowledge-evidence/concept-observation-inventories.json +229 -0
  51. agent_wiki_cli-3.2.0/tests/fixtures/knowledge-evidence/producer-evidence-expectations.json +37 -0
  52. agent_wiki_cli-3.2.0/tests/fixtures/knowledge-evidence/producer-evidence-inventories.json +400 -0
  53. agent_wiki_cli-3.2.0/tests/fixtures/knowledge-evidence/released-2.5.0-large-files.json +801 -0
  54. agent_wiki_cli-3.2.0/tests/fixtures/knowledge-evidence/released-2.5.0-large.json +810 -0
  55. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_agent_instruction_decisions.py +19 -9
  56. agent_wiki_cli-3.2.0/tests/test_analysis_targets.py +336 -0
  57. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_api_exception_taxonomy.py +2 -0
  58. agent_wiki_cli-3.2.0/tests/test_captured_evidence_diagnostics.py +214 -0
  59. agent_wiki_cli-3.2.0/tests/test_committed_projection_recovery.py +197 -0
  60. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_core_shard_runner.py +32 -0
  61. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_current_install_defaults.py +6 -0
  62. agent_wiki_cli-3.2.0/tests/test_evidence_explanation_query.py +239 -0
  63. agent_wiki_cli-3.2.0/tests/test_evidence_recovery_guidance.py +199 -0
  64. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_extractor_helpers.py +13 -0
  65. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_extractor_inventory_contracts.py +44 -0
  66. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_go_extract.py +29 -0
  67. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_haskell_extract.py +32 -0
  68. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_helper_preparation.py +2 -1
  69. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_instruction_ownership.py +39 -1
  70. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_knowledge_evidence.py +61 -0
  71. agent_wiki_cli-3.2.0/tests/test_normalization_diagnostics.py +334 -0
  72. agent_wiki_cli-3.2.0/tests/test_owned_packet_recovery.py +300 -0
  73. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_package_metadata.py +7 -1
  74. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_package_validation.py +30 -1
  75. agent_wiki_cli-3.2.0/tests/test_preflight.py +748 -0
  76. agent_wiki_cli-3.2.0/tests/test_preflight_contracts.py +370 -0
  77. agent_wiki_cli-3.2.0/tests/test_preflight_runner.py +782 -0
  78. agent_wiki_cli-3.2.0/tests/test_preflight_targets.py +249 -0
  79. agent_wiki_cli-3.2.0/tests/test_python_class_imports.py +314 -0
  80. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_python_implementation.py +21 -0
  81. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_release_dogfood.py +29 -7
  82. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_release_static_checks.py +5 -1
  83. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_release_workflows.py +109 -7
  84. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_rust_extract.py +31 -2
  85. agent_wiki_cli-3.2.0/tests/test_scoped_sync_repair.py +557 -0
  86. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_source_selection.py +8 -2
  87. agent_wiki_cli-3.2.0/tests/test_storage_review_pagination.py +276 -0
  88. agent_wiki_cli-3.2.0/tests/test_sync_guard_diagnostics.py +415 -0
  89. agent_wiki_cli-3.2.0/tests/test_sync_recovery.py +484 -0
  90. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_ts_extract.py +154 -2
  91. agent_wiki_cli-3.0.0/src/llm_wiki_cli/commands/doctor_cmd.py +0 -75
  92. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/LICENSE +0 -0
  93. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/README.md +0 -0
  94. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/docs/native-agent-workflow.md +0 -0
  95. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/docs/native-knowledge-provider.md +0 -0
  96. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/docs/security-model.md +0 -0
  97. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/docs/standalone-documentation.md +0 -0
  98. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/docs/wiki-guide.md +0 -0
  99. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/examples/plugins/documentation-hooks/README.md +0 -0
  100. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/examples/plugins/documentation-hooks/detectors.py +0 -0
  101. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/examples/plugins/documentation-hooks/llm-wiki-plugin.json +0 -0
  102. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/examples/plugins/documentation-hooks/styles.py +0 -0
  103. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/release_build_backend.py +0 -0
  104. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/setup.cfg +0 -0
  105. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/agent_wiki_cli.egg-info/dependency_links.txt +0 -0
  106. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/agent_wiki_cli.egg-info/entry_points.txt +0 -0
  107. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/agent_wiki_cli.egg-info/requires.txt +0 -0
  108. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/agent_wiki_cli.egg-info/top_level.txt +0 -0
  109. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/__init__.py +0 -0
  110. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/commands/__init__.py +0 -0
  111. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/commands/api_diff_cmd.py +0 -0
  112. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/commands/bootstrap_cmd.py +0 -0
  113. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/commands/bump_cmd.py +0 -0
  114. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/commands/ci_check_cmd.py +0 -0
  115. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/commands/context_cmd.py +0 -0
  116. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/commands/docs_cmd.py +0 -0
  117. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/commands/extract_cmd.py +0 -0
  118. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/commands/generate_prompt_cmd.py +0 -0
  119. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/commands/hook_cmd.py +0 -0
  120. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/commands/init_cmd.py +0 -0
  121. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/commands/install_ci_cmd.py +0 -0
  122. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/commands/install_cmd.py +0 -0
  123. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/commands/knowledge_cmd.py +0 -0
  124. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/commands/lint_cmd.py +0 -0
  125. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/commands/mcp_cmd.py +0 -0
  126. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/commands/metrics_cmd.py +0 -0
  127. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/commands/migrate_cmd.py +0 -0
  128. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/commands/obsidian_cmd.py +0 -0
  129. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/commands/plugins_cmd.py +0 -0
  130. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/commands/prepare_extractors_cmd.py +0 -0
  131. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/commands/queue_cmd.py +0 -0
  132. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/commands/release_cmd.py +0 -0
  133. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/commands/review_cmd.py +0 -0
  134. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/commands/search_cmd.py +0 -0
  135. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/commands/site_cmd.py +0 -0
  136. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/commands/skills_cmd.py +0 -0
  137. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/commands/status_cmd.py +0 -0
  138. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/commands/task_cmd.py +0 -0
  139. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/commands/team_cmd.py +0 -0
  140. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/commands/trigger_cmd.py +0 -0
  141. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/commands/uninstall_cmd.py +0 -0
  142. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/commands/upgrade_cmd.py +0 -0
  143. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/config.py +0 -0
  144. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/eval_lite/__init__.py +0 -0
  145. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/eval_lite/planner.py +0 -0
  146. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/examples/plugins/documentation-hooks/README.md +0 -0
  147. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/examples/plugins/documentation-hooks/detectors.py +0 -0
  148. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/examples/plugins/documentation-hooks/llm-wiki-plugin.json +0 -0
  149. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/examples/plugins/documentation-hooks/styles.py +0 -0
  150. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/extractors/__init__.py +0 -0
  151. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/extractors/common.py +0 -0
  152. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/extractors/fastapi_contracts.py +0 -0
  153. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/extractors/go_extractor.py +0 -0
  154. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/extractors/go_scripts/go.mod +0 -0
  155. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/extractors/go_scripts/main.go +0 -0
  156. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/extractors/haskell_extractor.py +0 -0
  157. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/extractors/haskell_scripts/Inventory.hs +0 -0
  158. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/extractors/haskell_scripts/Json.hs +0 -0
  159. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/extractors/haskell_scripts/Main.hs +0 -0
  160. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/extractors/haskell_scripts/Parser.hs +0 -0
  161. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/extractors/haskell_scripts/Paths.hs +0 -0
  162. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/extractors/native_diagnostics.py +0 -0
  163. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/extractors/python_bindings.py +0 -0
  164. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/extractors/rust_extractor.py +0 -0
  165. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/extractors/rust_scripts/Cargo.lock +0 -0
  166. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/extractors/rust_scripts/Cargo.toml +0 -0
  167. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/extractors/rust_scripts/src/main.rs +0 -0
  168. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/extractors/ts_extractor.py +0 -0
  169. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/extractors/ts_scripts/extract.js +0 -0
  170. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/extractors/ts_scripts/package-lock.json +0 -0
  171. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/extractors/ts_scripts/package.json +0 -0
  172. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/py.typed +0 -0
  173. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/schemas/__init__.py +0 -0
  174. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/schemas/llm-wiki-implementation-declarations-v1.schema.json +0 -0
  175. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/schemas/llm-wiki-implementation-evidence-v1.schema.json +0 -0
  176. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/schemas/llm-wiki-knowledge-object-v1.schema.json +0 -0
  177. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/schemas/llm-wiki-knowledge-pack-index-v1.schema.json +0 -0
  178. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/schemas/llm-wiki-knowledge-pack-index-v2.schema.json +0 -0
  179. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/schemas/llm-wiki-knowledge-v1.schema.json +0 -0
  180. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/schemas/llm-wiki-knowledge-v2.schema.json +0 -0
  181. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/schemas/llm-wiki-knowledge-v3.schema.json +0 -0
  182. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/schemas/llm-wiki-knowledge-v4.schema.json +0 -0
  183. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/schemas/llm-wiki-maintenance-adoption-v1.schema.json +0 -0
  184. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/schemas/llm-wiki-maintenance-basis-v1.schema.json +0 -0
  185. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/schemas/llm-wiki-maintenance-binding-v1.schema.json +0 -0
  186. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/schemas/llm-wiki-maintenance-event-v1.schema.json +0 -0
  187. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/schemas/llm-wiki-maintenance-record-binding-v1.schema.json +0 -0
  188. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/schemas/llm-wiki-maintenance-state-v1.schema.json +0 -0
  189. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/schemas/llm-wiki-manifest-catalog-v1.schema.json +0 -0
  190. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/schemas/llm-wiki-manifest-v6.schema.json +0 -0
  191. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/schemas/llm-wiki-manifest-v7.schema.json +0 -0
  192. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/schemas/llm-wiki-manifest-v8.schema.json +0 -0
  193. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/__init__.py +0 -0
  194. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/analysis_capture.py +0 -0
  195. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/analysis_compatibility.py +0 -0
  196. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/api_diff.py +0 -0
  197. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/bootstrap_service.py +0 -0
  198. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/calibration/__init__.py +0 -0
  199. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/calibration/broker.py +0 -0
  200. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/calibration/contracts.py +0 -0
  201. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/calibration/controller.py +0 -0
  202. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/calibration/host_broker.py +0 -0
  203. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/canonical_json.py +0 -0
  204. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/canonical_pages.py +0 -0
  205. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/capability_diagnostics.py +0 -0
  206. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/change_selection.py +0 -0
  207. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/ci_installer.py +0 -0
  208. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/ci_report.py +0 -0
  209. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/circuit_breaker.py +0 -0
  210. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/concept_identity.py +0 -0
  211. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/context_knowledge_contract.py +0 -0
  212. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/context_session.py +0 -0
  213. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/current_contracts.py +0 -0
  214. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/data_flow.py +0 -0
  215. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/dependencies.py +0 -0
  216. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/dependency_versions.py +0 -0
  217. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/diagrams.py +0 -0
  218. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/doctor_service.py +0 -0
  219. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/documentation_calibration.py +0 -0
  220. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/documentation_calibration_broker.py +0 -0
  221. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/documentation_calibration_controller.py +0 -0
  222. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/documentation_calibration_host_broker.py +0 -0
  223. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/documentation_claim_evidence.py +0 -0
  224. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/documentation_model_policy.py +0 -0
  225. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/documentation_native.py +0 -0
  226. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/documentation_policy.py +0 -0
  227. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/documentation_query_builder.py +0 -0
  228. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/documentation_review.py +0 -0
  229. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/documentation_run/__init__.py +0 -0
  230. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/documentation_run/contracts.py +0 -0
  231. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/documentation_run/dependencies.py +0 -0
  232. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/documentation_run/export.py +0 -0
  233. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/documentation_run/integrity.py +0 -0
  234. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/documentation_run/packet.py +0 -0
  235. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/documentation_run/prepare.py +0 -0
  236. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/documentation_run/record.py +0 -0
  237. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/documentation_run/refresh.py +0 -0
  238. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/documentation_run/schema.py +0 -0
  239. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/documentation_run/verify.py +0 -0
  240. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/documentation_run/workspace.py +0 -0
  241. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/documentation_wiki_input.py +0 -0
  242. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/documentation_worklist.py +0 -0
  243. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/extraction_jobs.py +0 -0
  244. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/extraction_service.py +0 -0
  245. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/filesystem_guard.py +0 -0
  246. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/flow_overview.py +0 -0
  247. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/freshness_wording.py +0 -0
  248. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/go_calls.py +0 -0
  249. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/health_contract.py +0 -0
  250. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/health_details.py +0 -0
  251. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/health_policy.py +0 -0
  252. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/health_summary.py +0 -0
  253. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/helper_preparation.py +0 -0
  254. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/immutable.py +0 -0
  255. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/impact.py +0 -0
  256. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/implementation_evidence.py +0 -0
  257. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/imports.py +0 -0
  258. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/infrastructure_inventory.py +0 -0
  259. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/infrastructure_sync.py +0 -0
  260. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/inventory_cache.py +0 -0
  261. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/io.py +0 -0
  262. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/knowledge_artifacts.py +0 -0
  263. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/knowledge_audit.py +0 -0
  264. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/knowledge_consumption.py +0 -0
  265. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/knowledge_coverage.py +0 -0
  266. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/knowledge_envelope.py +0 -0
  267. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/knowledge_generation.py +0 -0
  268. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/knowledge_governance.py +0 -0
  269. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/knowledge_graph.py +0 -0
  270. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/knowledge_index.py +0 -0
  271. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/knowledge_links.py +0 -0
  272. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/knowledge_loader.py +0 -0
  273. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/knowledge_maintenance.py +0 -0
  274. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/knowledge_model.py +0 -0
  275. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/knowledge_observability.py +0 -0
  276. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/knowledge_packs.py +0 -0
  277. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/knowledge_projection.py +0 -0
  278. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/knowledge_reuse.py +0 -0
  279. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/knowledge_storage.py +0 -0
  280. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/knowledge_storage_access.py +0 -0
  281. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/knowledge_storage_io.py +0 -0
  282. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/knowledge_storage_lifecycle.py +0 -0
  283. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/knowledge_stream_audit.py +0 -0
  284. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/knowledge_verification.py +0 -0
  285. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/legacy_hooks.py +0 -0
  286. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/lockfile.py +0 -0
  287. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/maintenance_evidence.py +0 -0
  288. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/maintenance_projection.py +0 -0
  289. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/maintenance_protocol.py +0 -0
  290. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/maintenance_queue.py +0 -0
  291. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/maintenance_shapes.py +0 -0
  292. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/maintenance_state.py +0 -0
  293. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/maintenance_status.py +0 -0
  294. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/manifest_storage.py +0 -0
  295. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/markdown_sections.py +0 -0
  296. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/mcp_server.py +0 -0
  297. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/metrics.py +0 -0
  298. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/module_maps.py +0 -0
  299. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/native_inspection.py +0 -0
  300. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/obsidian.py +0 -0
  301. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/packages.py +0 -0
  302. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/packet_field_policy.py +0 -0
  303. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/paths.py +0 -0
  304. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/plugin_samples.py +0 -0
  305. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/plugins.py +0 -0
  306. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/progress.py +0 -0
  307. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/protected_artifacts.py +0 -0
  308. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/python_calls.py +0 -0
  309. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/python_implementation.py +0 -0
  310. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/python_observations.py +0 -0
  311. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/python_stdlib.py +0 -0
  312. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/redaction.py +0 -0
  313. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/rendering_lifecycle.py +0 -0
  314. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/request_json.py +0 -0
  315. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/resource_diagnostics.py +0 -0
  316. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/review_service.py +0 -0
  317. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/runtime_output.py +0 -0
  318. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/search_discovery.py +0 -0
  319. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/search_discovery_capture.py +0 -0
  320. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/search_lexical.py +0 -0
  321. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/search_rank.py +0 -0
  322. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/search_service.py +0 -0
  323. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/search_source.py +0 -0
  324. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/section_ownership.py +0 -0
  325. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/secure_file.py +0 -0
  326. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/site_export.py +0 -0
  327. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/site_html_check.py +0 -0
  328. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/skills.py +0 -0
  329. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/source_path_diagnostics.py +0 -0
  330. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/source_retirement.py +0 -0
  331. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/source_selection.py +0 -0
  332. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/source_snapshot.py +0 -0
  333. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/storage_receipts.py +0 -0
  334. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/storage_sort.py +0 -0
  335. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/storage_spool.py +0 -0
  336. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/sync_analysis.py +0 -0
  337. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/sync_analysis_cache.py +0 -0
  338. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/sync_generated_sections.py +0 -0
  339. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/sync_manifest.py +0 -0
  340. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/sync_retained_links.py +0 -0
  341. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/sync_transition_execution.py +0 -0
  342. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/sync_transitions.py +0 -0
  343. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/task_compact.py +0 -0
  344. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/task_compact_delivery.py +0 -0
  345. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/task_compact_readable.py +0 -0
  346. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/task_context.py +0 -0
  347. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/task_context_v2.py +0 -0
  348. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/task_contract.py +0 -0
  349. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/task_evidence.py +0 -0
  350. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/task_implementation.py +0 -0
  351. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/team.py +0 -0
  352. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/token_counting.py +0 -0
  353. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/validation.py +0 -0
  354. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/verification_contracts.py +0 -0
  355. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/versioning.py +0 -0
  356. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/wiki_git_policy.py +0 -0
  357. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/wiki_lifecycle.py +0 -0
  358. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/wiki_media.py +0 -0
  359. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/wiki_scaffold.py +0 -0
  360. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/wiki_surface.py +0 -0
  361. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/wiki_surface_index.py +0 -0
  362. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/workflow_profile.py +0 -0
  363. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/yaml_formats.py +0 -0
  364. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/services/yaml_syntax.py +0 -0
  365. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/skills/agent-docs/SKILL.md +0 -0
  366. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/skills/agent-docs/reference.md +0 -0
  367. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/skills/attack-surface/SKILL.md +0 -0
  368. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/skills/attack-surface/reference.md +0 -0
  369. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/skills/dep-audit/SKILL.md +0 -0
  370. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/skills/dep-audit/reference.md +0 -0
  371. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/skills/dep-vuln-triage/SKILL.md +0 -0
  372. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/skills/dep-vuln-triage/reference.md +0 -0
  373. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/skills/doc-hub/SKILL.md +0 -0
  374. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/skills/doc-hub/reference.md +0 -0
  375. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/skills/doc-review/SKILL.md +0 -0
  376. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/skills/doc-review/reference.md +0 -0
  377. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/skills/impact-analysis/SKILL.md +0 -0
  378. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/skills/impact-analysis/reference.md +0 -0
  379. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/skills/infra-review/SKILL.md +0 -0
  380. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/skills/infra-review/reference.md +0 -0
  381. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/skills/native-coding/SKILL.md +0 -0
  382. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/skills/native-coding/profile.json +0 -0
  383. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/skills/onboarding-guide/SKILL.md +0 -0
  384. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/skills/onboarding-guide/reference.md +0 -0
  385. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/skills/publish-docs/SKILL.md +0 -0
  386. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/skills/publish-docs/reference.md +0 -0
  387. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/skills/usage-examples/SKILL.md +0 -0
  388. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/skills/usage-examples/reference.md +0 -0
  389. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/skills/user-docs-author/SKILL.md +0 -0
  390. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/skills/user-docs-author/reference.md +0 -0
  391. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/skills/wiki-bootstrap/SKILL.md +0 -0
  392. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/skills/wiki-bootstrap/reference.md +0 -0
  393. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/skills/wiki-reference/reference.md +0 -0
  394. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/skills/wiki-reference/references/context-query.md +0 -0
  395. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/skills/wiki-reference/references/governance.md +0 -0
  396. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/skills/wiki-reference/references/knowledge-consumption.md +0 -0
  397. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/skills/wiki-reference/references/publishing.md +0 -0
  398. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/skills/wiki-reference/references/repository-handoff.md +0 -0
  399. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/skills/wiki-reference/references/resources-context.md +0 -0
  400. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/skills/wiki-reference/references/surfaces-naming.md +0 -0
  401. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/skills/wiki-semantic-enhance/SKILL.md +0 -0
  402. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/skills/wiki-semantic-enhance/reference.md +0 -0
  403. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/skills/wiki-sync/SKILL.md +0 -0
  404. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/src/llm_wiki_cli/skills/wiki-sync/reference.md +0 -0
  405. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_action_runtimes.py +0 -0
  406. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_analysis_compatibility.py +0 -0
  407. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_analysis_input_preflight.py +0 -0
  408. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_analysis_qualification.py +0 -0
  409. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_api.py +0 -0
  410. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_api_contracts.py +0 -0
  411. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_api_diff.py +0 -0
  412. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_architecture_layers.py +0 -0
  413. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_artifact_fixture_clock.py +0 -0
  414. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_bandit_decision.py +0 -0
  415. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_bandit_probe_metadata.py +0 -0
  416. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_bandit_runner.py +0 -0
  417. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_bootstrap.py +0 -0
  418. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_bootstrap_api_contracts.py +0 -0
  419. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_bootstrap_service.py +0 -0
  420. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_bump.py +0 -0
  421. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_calibration_cli.py +0 -0
  422. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_calibration_isolation.py +0 -0
  423. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_capability_diagnostics.py +0 -0
  424. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_change_selection.py +0 -0
  425. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_ci_check.py +0 -0
  426. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_ci_runtime_output.py +0 -0
  427. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_ci_toolchain_setup.py +0 -0
  428. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_ci_workflow_wrapper.py +0 -0
  429. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_circuit_breaker.py +0 -0
  430. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_cli.py +0 -0
  431. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_cli_error_streams.py +0 -0
  432. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_compact_context_session.py +0 -0
  433. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_compact_delivery_interfaces.py +0 -0
  434. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_compact_delivery_policy.py +0 -0
  435. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_compact_first_use.py +0 -0
  436. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_concept_identity.py +0 -0
  437. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_config.py +0 -0
  438. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_constructor_call_interfaces.py +0 -0
  439. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_context.py +0 -0
  440. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_context_budget.py +0 -0
  441. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_context_integration.py +0 -0
  442. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_context_knowledge_contract.py +0 -0
  443. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_context_knowledge_runtime.py +0 -0
  444. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_context_packet.py +0 -0
  445. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_context_packet_knowledge.py +0 -0
  446. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_context_packet_mutation_locks.py +0 -0
  447. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_context_session.py +0 -0
  448. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_core_check_performance.py +0 -0
  449. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_core_shard_workflow.py +0 -0
  450. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_core_shards.py +0 -0
  451. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_credential_named_knowledge.py +0 -0
  452. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_data_flow.py +0 -0
  453. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_default_development_workflow.py +0 -0
  454. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_dep_vuln_triage_skill.py +0 -0
  455. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_dependencies.py +0 -0
  456. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_dependencies_external.py +0 -0
  457. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_dependency_audit.py +0 -0
  458. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_dependency_downloads.py +0 -0
  459. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_dependency_setup_probe.py +0 -0
  460. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_dependency_setup_workflow.py +0 -0
  461. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_dependency_version_details.py +0 -0
  462. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_developer_value_after_change.py +0 -0
  463. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_developer_value_before_change.py +0 -0
  464. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_developer_value_combined_compatibility.py +0 -0
  465. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_developer_value_combined_interfaces.py +0 -0
  466. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_developer_value_combined_workflows.py +0 -0
  467. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_developer_value_compact_experiment.py +0 -0
  468. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_developer_value_comparison.py +0 -0
  469. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_developer_value_complete_workflow.py +0 -0
  470. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_developer_value_composition.py +0 -0
  471. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_developer_value_corpus.py +0 -0
  472. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_developer_value_cost_recorder.py +0 -0
  473. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_developer_value_evaluate.py +0 -0
  474. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_developer_value_evidence_reconciliation.py +0 -0
  475. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_developer_value_frozen_changes.py +0 -0
  476. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_developer_value_guide_review.py +0 -0
  477. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_developer_value_historical_triage.py +0 -0
  478. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_developer_value_measure.py +0 -0
  479. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_developer_value_packed_experiment.py +0 -0
  480. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_developer_value_resume.py +0 -0
  481. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_developer_value_retrieval_experiment.py +0 -0
  482. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_developer_value_search_orientation.py +0 -0
  483. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_developer_value_search_route.py +0 -0
  484. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_developer_value_triage_acceptance.py +0 -0
  485. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_developer_value_triage_oracle.py +0 -0
  486. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_developer_value_triage_workflow_gate.py +0 -0
  487. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_developer_value_workflow_oracles.py +0 -0
  488. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_diagrams.py +0 -0
  489. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_docker_bootstrap.py +0 -0
  490. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_docker_extract.py +0 -0
  491. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_docker_lint.py +0 -0
  492. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_docs_cli.py +0 -0
  493. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_doctor.py +0 -0
  494. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_documentation_adversarial.py +0 -0
  495. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_documentation_calibration.py +0 -0
  496. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_documentation_calibration_broker.py +0 -0
  497. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_documentation_calibration_controller.py +0 -0
  498. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_documentation_calibration_host_broker.py +0 -0
  499. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_documentation_calibration_oci_integration.py +0 -0
  500. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_documentation_claim_evidence.py +0 -0
  501. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_documentation_control_integrity.py +0 -0
  502. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_documentation_dogfood.py +0 -0
  503. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_documentation_input_recheck.py +0 -0
  504. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_documentation_model_policy.py +0 -0
  505. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_documentation_native.py +0 -0
  506. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_documentation_native_lifecycle.py +0 -0
  507. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_documentation_prepare_transaction.py +0 -0
  508. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_documentation_projection_policy.py +0 -0
  509. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_documentation_protocol.py +0 -0
  510. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_documentation_queries.py +0 -0
  511. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_documentation_refresh_continuation.py +0 -0
  512. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_documentation_review.py +0 -0
  513. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_documentation_run_fixtures.py +0 -0
  514. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_documentation_wiki_input.py +0 -0
  515. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_documentation_worklist.py +0 -0
  516. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_documentation_workspace.py +0 -0
  517. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_e2e.py +0 -0
  518. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_enriched_projection_resilience.py +0 -0
  519. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_entity_retirement.py +0 -0
  520. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_entity_retirement_evidence.py +0 -0
  521. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_entrypoints.py +0 -0
  522. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_eval_lite.py +0 -0
  523. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_examples.py +0 -0
  524. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_extract.py +0 -0
  525. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_extract_api_contracts.py +0 -0
  526. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_extract_data_flow_details.py +0 -0
  527. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_filesystem_guard.py +0 -0
  528. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_filesystem_guard_windows.py +0 -0
  529. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_filesystem_guard_windows_model.py +0 -0
  530. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_flow_overview.py +0 -0
  531. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_flow_overview_receiving.py +0 -0
  532. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_freshness_wording.py +0 -0
  533. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_generate_prompt.py +0 -0
  534. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_generated_relationship_pages.py +0 -0
  535. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_github_action.py +0 -0
  536. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_github_action_shell.py +0 -0
  537. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_go_calls.py +0 -0
  538. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_governance_reconciliation.py +0 -0
  539. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_graph_section_end_to_end.py +0 -0
  540. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_guarded_read_metadata.py +0 -0
  541. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_guide_landing_preservation.py +0 -0
  542. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_health_details.py +0 -0
  543. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_helper_packaging_parity.py +0 -0
  544. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_hook.py +0 -0
  545. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_hosted_evidence.py +0 -0
  546. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_impact.py +0 -0
  547. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_implementation_evidence.py +0 -0
  548. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_implementation_integration.py +0 -0
  549. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_implementation_read_view.py +0 -0
  550. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_imports.py +0 -0
  551. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_infra_review_skill.py +0 -0
  552. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_infrastructure_inventory.py +0 -0
  553. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_infrastructure_sync.py +0 -0
  554. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_init.py +0 -0
  555. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_install.py +0 -0
  556. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_install_ci.py +0 -0
  557. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_inventory_cache.py +0 -0
  558. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_io.py +0 -0
  559. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_javascript_module_coverage.py +0 -0
  560. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_knowledge_artifacts.py +0 -0
  561. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_knowledge_benchmark.py +0 -0
  562. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_knowledge_cmd.py +0 -0
  563. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_knowledge_commands.py +0 -0
  564. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_knowledge_compatibility.py +0 -0
  565. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_knowledge_consumption.py +0 -0
  566. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_knowledge_contract.py +0 -0
  567. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_knowledge_coverage.py +0 -0
  568. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_knowledge_envelope.py +0 -0
  569. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_knowledge_freshness.py +0 -0
  570. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_knowledge_generation.py +0 -0
  571. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_knowledge_governance.py +0 -0
  572. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_knowledge_graph.py +0 -0
  573. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_knowledge_hardening.py +0 -0
  574. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_knowledge_health_refresh.py +0 -0
  575. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_knowledge_index.py +0 -0
  576. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_knowledge_links.py +0 -0
  577. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_knowledge_lint.py +0 -0
  578. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_knowledge_loader.py +0 -0
  579. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_knowledge_maintenance.py +0 -0
  580. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_knowledge_model.py +0 -0
  581. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_knowledge_observability.py +0 -0
  582. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_knowledge_packs.py +0 -0
  583. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_knowledge_performance.py +0 -0
  584. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_knowledge_producer_languages.py +0 -0
  585. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_knowledge_projection.py +0 -0
  586. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_knowledge_projection_e2e.py +0 -0
  587. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_knowledge_queries.py +0 -0
  588. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_knowledge_query_adapters.py +0 -0
  589. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_knowledge_reuse.py +0 -0
  590. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_knowledge_scale.py +0 -0
  591. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_knowledge_storage.py +0 -0
  592. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_knowledge_storage_artifacts.py +0 -0
  593. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_knowledge_storage_lifecycle.py +0 -0
  594. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_knowledge_validation_receipt.py +0 -0
  595. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_knowledge_validation_receiving.py +0 -0
  596. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_knowledge_verification_view.py +0 -0
  597. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_lint.py +0 -0
  598. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_lint_advisory_text.py +0 -0
  599. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_llm_wiki_convergence_script.py +0 -0
  600. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_llm_wiki_convergence_workflow.py +0 -0
  601. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_lockfile.py +0 -0
  602. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_maintenance_interfaces.py +0 -0
  603. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_maintenance_lifecycle.py +0 -0
  604. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_maintenance_manifest.py +0 -0
  605. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_maintenance_moves.py +0 -0
  606. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_maintenance_operations.py +0 -0
  607. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_maintenance_preservation.py +0 -0
  608. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_maintenance_queue.py +0 -0
  609. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_maintenance_queue_unadopted.py +0 -0
  610. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_maintenance_read_projections.py +0 -0
  611. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_maintenance_reconciliation.py +0 -0
  612. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_maintenance_state.py +0 -0
  613. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_maintenance_status.py +0 -0
  614. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_managed_reference_topics.py +0 -0
  615. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_manifest_storage.py +0 -0
  616. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_markdown_sections.py +0 -0
  617. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_mcp.py +0 -0
  618. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_mcp_probe.py +0 -0
  619. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_mcp_sdk.py +0 -0
  620. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_metrics.py +0 -0
  621. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_migrate.py +0 -0
  622. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_migration_ignore_transition.py +0 -0
  623. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_module_maps.py +0 -0
  624. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_multilanguage_wiki.py +0 -0
  625. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_native_helper_path_diagnostics.py +0 -0
  626. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_native_inspection.py +0 -0
  627. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_native_knowledge_semantics_docs.py +0 -0
  628. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_native_published_artifacts.py +0 -0
  629. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_native_query_boundaries.py +0 -0
  630. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_native_reduction_contracts.py +0 -0
  631. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_native_session_diagnostics.py +0 -0
  632. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_native_skill_preflight_and_reanchor.py +0 -0
  633. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_native_workflow_baseline.py +0 -0
  634. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_native_workflow_codex_host.py +0 -0
  635. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_native_workflow_executable.py +0 -0
  636. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_native_workflow_oracles.py +0 -0
  637. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_native_workflow_scenarios.py +0 -0
  638. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_native_workflow_trace.py +0 -0
  639. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_navigation_layouts.py +0 -0
  640. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_obsidian.py +0 -0
  641. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_optimization_evidence.py +0 -0
  642. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_optimization_measurements.py +0 -0
  643. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_packages.py +0 -0
  644. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_packet_field_policy.py +0 -0
  645. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_paths.py +0 -0
  646. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_plugin_sample.py +0 -0
  647. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_plugins.py +0 -0
  648. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_policy_activation.py +0 -0
  649. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_policy_renewal.py +0 -0
  650. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_policy_source_freeze.py +0 -0
  651. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_progress.py +0 -0
  652. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_protected_artifacts.py +0 -0
  653. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_protocol_registry.py +0 -0
  654. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_provider_conformance.py +0 -0
  655. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_provider_state_receipts.py +0 -0
  656. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_provisioning_failures.py +0 -0
  657. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_public_docs_performance.py +0 -0
  658. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_public_docs_vocabulary.py +0 -0
  659. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_publishing_hub_attack_contracts.py +0 -0
  660. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_pytest_portability.py +0 -0
  661. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_python_binding_adversaries.py +0 -0
  662. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_python_binding_state_growth.py +0 -0
  663. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_python_call_bindings.py +0 -0
  664. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_python_constructor_bindings.py +0 -0
  665. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_python_constructor_control_flow.py +0 -0
  666. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_python_constructor_resolution.py +0 -0
  667. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_python_go_path_diagnostics.py +0 -0
  668. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_python_import_scopes.py +0 -0
  669. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_python_observation_cache.py +0 -0
  670. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_python_source_inventory.py +0 -0
  671. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_python_typed_dicts.py +0 -0
  672. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_qualification_automation.py +0 -0
  673. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_qualified_context_acceptance.py +0 -0
  674. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_qualified_empty_modules.py +0 -0
  675. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_quality_workflows.py +0 -0
  676. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_readonly_subprocess_stdin.py +0 -0
  677. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_real_caller_action_fixture.py +0 -0
  678. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_redaction.py +0 -0
  679. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_reference_skill_verifier.py +0 -0
  680. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_relationships.py +0 -0
  681. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_release.py +0 -0
  682. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_release_automation_workflow.py +0 -0
  683. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_release_build_backend.py +0 -0
  684. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_release_qualification.py +0 -0
  685. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_release_supply_chain.py +0 -0
  686. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_rendering_lifecycle.py +0 -0
  687. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_resource_diagnostics.py +0 -0
  688. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_route_projection_regressions.py +0 -0
  689. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_runtime_output.py +0 -0
  690. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_schema.py +0 -0
  691. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_schema_context_baselines.py +0 -0
  692. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_search_discovery.py +0 -0
  693. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_search_discovery_capture.py +0 -0
  694. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_search_discovery_interfaces.py +0 -0
  695. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_search_discovery_route.py +0 -0
  696. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_search_lexical.py +0 -0
  697. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_search_rank.py +0 -0
  698. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_search_source_interfaces.py +0 -0
  699. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_section_ownership.py +0 -0
  700. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_secure_file.py +0 -0
  701. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_site_export.py +0 -0
  702. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_site_knowledge_metadata.py +0 -0
  703. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_site_root_identity.py +0 -0
  704. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_skill_contracts.py +0 -0
  705. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_skill_contracts_all.py +0 -0
  706. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_skill_ownership_boundaries.py +0 -0
  707. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_skill_policy_routes.py +0 -0
  708. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_skills.py +0 -0
  709. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_source_snapshot.py +0 -0
  710. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_static_quality_architecture.py +0 -0
  711. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_status.py +0 -0
  712. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_storage_followup_controls.py +0 -0
  713. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_storage_locality.py +0 -0
  714. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_storage_lock_diagnostics.py +0 -0
  715. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_storage_performance.py +0 -0
  716. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_storage_retention_diagnostics.py +0 -0
  717. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_surface_initialization.py +0 -0
  718. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_sync.py +0 -0
  719. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_sync_analysis.py +0 -0
  720. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_sync_analysis_cache.py +0 -0
  721. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_sync_analysis_capture.py +0 -0
  722. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_sync_api_contracts.py +0 -0
  723. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_sync_generated_sections.py +0 -0
  724. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_sync_manifest.py +0 -0
  725. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_sync_missing_pages.py +0 -0
  726. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_sync_no_plugins.py +0 -0
  727. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_sync_page_transitions.py +0 -0
  728. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_sync_retained_links.py +0 -0
  729. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_sync_runtime_regressions.py +0 -0
  730. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_sync_transition_execution.py +0 -0
  731. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_sync_transitions.py +0 -0
  732. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_task_adoption_diagnostics.py +0 -0
  733. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_task_adoption_recipes.py +0 -0
  734. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_task_compact.py +0 -0
  735. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_task_compact_readable.py +0 -0
  736. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_task_compact_receiving.py +0 -0
  737. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_task_context.py +0 -0
  738. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_task_context_v2.py +0 -0
  739. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_team.py +0 -0
  740. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_team_policy_regressions.py +0 -0
  741. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_trigger.py +0 -0
  742. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_typed_graph_queries.py +0 -0
  743. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_ubuntu_shadow.py +0 -0
  744. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_ubuntu_suites.py +0 -0
  745. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_uninstall.py +0 -0
  746. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_upgrade.py +0 -0
  747. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_validated_knowledge_reuse.py +0 -0
  748. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_validation.py +0 -0
  749. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_verification_contracts.py +0 -0
  750. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_verified_bug_migrations.py +0 -0
  751. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_versioning.py +0 -0
  752. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_wiki_git_policy.py +0 -0
  753. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_wiki_helper_cache.py +0 -0
  754. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_wiki_integrity_action.py +0 -0
  755. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_wiki_lifecycle.py +0 -0
  756. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_wiki_reference_skill.py +0 -0
  757. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_wiki_review_snapshot.py +0 -0
  758. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_wiki_surface.py +0 -0
  759. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_wiki_surface_index.py +0 -0
  760. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_wiki_sync_cleanup.py +0 -0
  761. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_workflow_contracts.py +0 -0
  762. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_workflow_interfaces.py +0 -0
  763. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_yaml_formats.py +0 -0
  764. {agent_wiki_cli-3.0.0 → agent_wiki_cli-3.2.0}/tests/test_yaml_syntax.py +0 -0
@@ -2,6 +2,7 @@ prune examples
2
2
  recursive-include examples/plugins/documentation-hooks *.py *.json *.md
3
3
  include release_build_backend.py
4
4
  include src/llm_wiki_cli/py.typed
5
+ include src/llm_wiki_cli/schemas/llm-wiki-normalization-diagnostic-v1.schema.json
5
6
  include src/llm_wiki_cli/schemas/llm-wiki-knowledge-v1.schema.json
6
7
  include src/llm_wiki_cli/schemas/llm-wiki-knowledge-v2.schema.json
7
8
  include src/llm_wiki_cli/schemas/llm-wiki-knowledge-v3.schema.json
@@ -18,5 +19,6 @@ include docs/security-model.md
18
19
  include docs/native-knowledge-provider.md
19
20
  include docs/native-agent-workflow.md
20
21
  prune reports
22
+ recursive-include tests/fixtures/knowledge-evidence *.json
21
23
  include src/llm_wiki_cli/schemas/llm-wiki-manifest-v6.schema.json
22
24
  include src/llm_wiki_cli/schemas/llm-wiki-manifest-catalog-v1.schema.json
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agent-wiki-cli
3
- Version: 3.0.0
3
+ Version: 3.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
@@ -138,6 +138,118 @@ source .git/llm-wiki-ci-toolchains.env
138
138
  --src-dir . --wiki-dir docs/llm_wiki
139
139
  ```
140
140
 
141
+ ### Local release preparation
142
+
143
+ This repository provides `release/preflight.py` for explicit local preparation
144
+ and release rehearsal. Run it from the source checkout with the project virtual
145
+ environment. It keeps source, runtime, dependency and evidence identities bound
146
+ to the selected commit, and reports native or hosted requirements that remain
147
+ outstanding. It has no publication or promotion authority.
148
+
149
+ Choose new output paths already covered by the project's ignore rules. The
150
+ controller refuses unignored output and occupied, unowned work directories;
151
+ existing owned work retains separate attempts. For example:
152
+
153
+ ```bash
154
+ PREFLIGHT_DIR=reports/local-preflight
155
+ RELEASE_CANDIDATE_SHA="$(git rev-parse HEAD)"
156
+ git check-ignore -q -- "$PREFLIGHT_DIR/before-prepare.json"
157
+ git check-ignore -q -- "$PREFLIGHT_DIR/work"
158
+ .venv/bin/python -I release/preflight.py plan \
159
+ --candidate-sha "$RELEASE_CANDIDATE_SHA" --check-registry \
160
+ --output "$PREFLIGHT_DIR/before-prepare.json"
161
+ .venv/bin/python -I release/preflight.py prepare \
162
+ --plan "$PREFLIGHT_DIR/before-prepare.json" --work "$PREFLIGHT_DIR/work"
163
+ ```
164
+
165
+ `plan` inspects the checkout and available capabilities without installing
166
+ anything. `--check-registry` additionally requests read-only remote tag and
167
+ package-registry inspection. An unavailable service stays unavailable; it does
168
+ not establish that a version is free. Already published versions, including
169
+ 3.0.0, and unfinished version or changelog preparation prevent complete release
170
+ rehearsal. Version selection, migration review and issue disposition remain
171
+ explicit maintainer decisions.
172
+
173
+ `prepare` explicitly invokes the maintained locked toolchain and helper setup
174
+ routes on supported hosts. Review its result, activate the prepared Node/npm
175
+ environment as described above, finish authorized source and wiki maintenance,
176
+ and commit the coherent result. Preparation may change the captured environment;
177
+ a fresh plan is required after those changes. The controller refuses stale
178
+ plans instead of silently selecting a different commit or environment.
179
+
180
+ Preparation also screens an archive of the exact committed HEAD against the
181
+ existing hosted source-archive limits before requesting repository health. Its
182
+ `archive-budget/report.json` records compressed and expanded bytes, member count
183
+ and the archive digest when an archive is created. This measures committed
184
+ source scope. An archive above the 64 MiB compressed limit, or another existing
185
+ archive bound, stays blocked for reviewed correction. Preparation never prunes
186
+ storage automatically, and this local screen cannot authenticate the eventual
187
+ hosted archive.
188
+
189
+ For complete rehearsal, first save the actual issue snapshot, dispositions and
190
+ version rationale in an ignored `$PREFLIGHT_DIR/release-review.json`. Its JSON
191
+ object has exactly these fields:
192
+
193
+ - `schema_version`: `agent-wiki-local-release-review/v1`.
194
+ - `candidate_sha` and `version`: the final full commit SHA and its package version.
195
+ - `observed_at`: a timezone-aware ISO 8601 observation time, no more than 24 hours old.
196
+ - `issues`: the observed issue rows, each containing integer `number` and string `title`.
197
+ - `dispositions`: one row for every observed issue, each containing its `number`,
198
+ a `decision` of `blocker`, `resolved`, `deferred`, or `not-a-bug`, and a specific
199
+ nonempty `reason`.
200
+ - `semver`: `baseline` as the previous three-part release version, `target` matching
201
+ the candidate version, and a nonempty `reason` for the version choice.
202
+
203
+ Record the review that was actually performed. This local record does not prove
204
+ independent approval or a complete authenticated GitHub issue inventory. A
205
+ recorded blocker prevents full rehearsal. Omitting `--review-file` leaves review
206
+ pending and still permits the early diagnostic invocation described below.
207
+
208
+ ```bash
209
+ RELEASE_CANDIDATE_SHA="$(git rev-parse HEAD)"
210
+ git check-ignore -q -- "$PREFLIGHT_DIR/release-review.json"
211
+ git check-ignore -q -- "$PREFLIGHT_DIR/final-plan.json"
212
+ .venv/bin/python -I release/preflight.py plan \
213
+ --candidate-sha "$RELEASE_CANDIDATE_SHA" --check-registry \
214
+ --review-file "$PREFLIGHT_DIR/release-review.json" \
215
+ --output "$PREFLIGHT_DIR/final-plan.json"
216
+ .venv/bin/python -I release/preflight.py run \
217
+ --plan "$PREFLIGHT_DIR/final-plan.json" --work "$PREFLIGHT_DIR/work"
218
+ .venv/bin/python -I release/preflight.py status --work "$PREFLIGHT_DIR/work"
219
+ ```
220
+
221
+ Use the returned `receipt_path` with
222
+ `.venv/bin/python -I release/preflight.py verify --receipt RECEIPT_PATH`.
223
+ Verification checks retained evidence and its current applicability without
224
+ executing recorded commands or repairing anything. `status` shows recorded
225
+ attempts; it does not establish their current applicability. Plans expire after
226
+ 24 hours and require a new inspection.
227
+
228
+ For an early diagnostic check before version preparation is complete, append
229
+ `--stage contracts` to `run`. A partial invocation remains `blocked` for release
230
+ readiness even when its checks succeed. Full execution runs the maintained
231
+ host-applicable checks, independent builds and installed-artifact verification
232
+ serially. It reports `failed`, `blocked`, `target-capture-required`,
233
+ `target-runtime-unknown`, or `local-ready-hosted-required`; the last result still requires normal hosted
234
+ qualification and all required target environments.
235
+
236
+ Planning includes `readiness.target_runtime`, derived from the maintained proof
237
+ owner and its composite runtime declarations. It reads committed wiki producer
238
+ metadata without another application inventory. A known runtime mismatch needs
239
+ the authorized target-host capture and review; unresolved declarations remain
240
+ unknown. Local stage success cannot conceal either requirement. Advisory policy
241
+ does not become a new mandatory gate. The generic installed
242
+ [target prerequisite diagnostic](target-runtime-prerequisites.md) can also be
243
+ used by other projects with their own declarations. Matching declared metadata
244
+ is separate from package identity and fresh target-native proof.
245
+
246
+ Local macOS success cannot establish Windows or Linux semantics, an unsupported
247
+ helper or OCI architecture, an authenticated policy proof, or publication
248
+ attestations. A missing capability remains pending. Continue through reviewed
249
+ main changes, current native CI and the existing qualification and publication
250
+ procedure using its verified artifacts. Local rehearsal distributions and
251
+ receipts cannot replace that evidence.
252
+
141
253
  ### Qualification after merging
142
254
 
143
255
  Repository release automation is disabled by default in
@@ -19,6 +19,53 @@ task detector with Mermaid styling.
19
19
  | Extend and collaborate | [install / plugins](#install-and-plugins), [team](#team), [knowledge](#knowledge) |
20
20
  | Manage an installation | [upgrade](#upgrade), [migrate](#migrate), [metrics](#metrics), [status / release / bump / uninstall](#status-release-bump-and-uninstall) |
21
21
 
22
+ ## Recover captured evidence
23
+
24
+ Keep the failure's source, cause and qualifications. Use the same source/wiki
25
+ roots, selection, helper cache and generation options through diagnosis and
26
+ repair. For example, with source `src`, wiki `wiki`, selection
27
+ `config/sources.json` and an existing helper cache `.cache/helpers`, save a
28
+ permitted request file `evidence.json` containing:
29
+
30
+ ```json
31
+ {"operation":"explain","source":"orders.py","limit":5}
32
+ ```
33
+
34
+ ```bash
35
+ llm-wiki query --request evidence.json --src-dir src --wiki-dir wiki --source-selection config/sources.json --helper-cache-dir .cache/helpers
36
+ llm-wiki extract --src-dir src --paths orders.py --deep --read-only --source-selection config/sources.json --helper-cache-dir .cache/helpers
37
+ llm-wiki sync --dry-run --jobs 1 --src-dir src --wiki-dir wiki --source-selection config/sources.json --helper-cache-dir .cache/helpers
38
+ ```
39
+
40
+ Replace these example bindings with the original command's actual values.
41
+ Request `source` and extract `--paths` are canonical POSIX paths relative to
42
+ `--src-dir`; filesystem and cache arguments use native paths. Explanation is
43
+ snapshot-only by default; choose an exact locator from ambiguous results.
44
+ `live:true` plus `allow_full_inventory:true` authorizes full current analysis.
45
+ The [explanation route](#context) separates captured/current source and producer
46
+ bases, helper identity and active runtime. Raw extraction prints JSON, installs
47
+ no dependencies and cannot repair a stored manifest.
48
+
49
+ For a missing/stale helper, use its exact [preparation remedy](#prepare-extractors)
50
+ with setup authority, then retry the original read once with the same selection
51
+ and cache. Preparation takes `--cache-dir`, reads take `--helper-cache-dir`.
52
+ Do not combine explicit `--language` preparation with `--source-selection`.
53
+ A current helper with a runtime mismatch needs the reported runtime selected on
54
+ PATH; preparation does not change PATH. No hand-linked dependencies or internal
55
+ helper-script invocation is required.
56
+
57
+ Fix fresh normalization rejection before repair; invalid evidence stays blocking.
58
+ If raw output is valid but captured evidence is unavailable, the authorized
59
+ [owning sync](#sync) must commit the repair. Review the complete preview, including
60
+ removals. Broad changes require explicit authority for the same invocation with
61
+ `--force` replacing `--dry-run`; never force automatically. Review again after
62
+ any input change. The bounded `--repair-evidence` writer retains its own adoption,
63
+ stable-producer and scope conditions and still performs full analysis.
64
+ Missing/corrupt authority needs its recovery route, not generated JSON edits or
65
+ reinitialization. Review semantic prose, re-anchor edits through owning sync,
66
+ then run strict lint and CI with the same bindings. Keep current defaults and
67
+ strict gates. Storage upgrade and diagnostic reads alone do not establish repair.
68
+
22
69
  ## Resource-aware execution
23
70
 
24
71
  In an interactive IDE or whenever host capacity is unknown, run one heavy gate
@@ -260,6 +307,77 @@ or controlled CI runner with known capacity.
260
307
  Sync repairs
261
308
  manifests with invalid source hashes without touching pages, and stops unusually
262
309
  broad diffs unless `--force` is used.
310
+
311
+ The affected-source count names inputs whose wiki projections may change;
312
+ sync does not rewrite those source files. A generator-version transition can
313
+ refresh every managed source even when source bytes are unchanged. A storage
314
+ repack alone is separate from that generator refresh.
315
+ When a broad update is refused, the message separates source-change reasons
316
+ from additional generator-refresh inputs, identifies captured/current generator
317
+ versions when available, and shows a bounded path sample with omitted counts.
318
+ Reason counts can overlap; the total source-input count is deduplicated.
319
+ Use the supplied `--dry-run` command with the same source/wiki roots, source
320
+ selection and cache bindings to inspect the full page and artifact plan before
321
+ authorizing a broad write. The preview lists complete affected input paths and
322
+ their reasons, including paths omitted from the refusal sample.
323
+ An oversized, control-containing or non-UTF-8 command is not
324
+ printed; repeat the original invocation with `--dry-run` and omit `--force`.
325
+ The path sample bounds the diagnostic output, not extraction or preview work.
326
+
327
+ For a generator upgrade, review the complete dry-run page and artifact actions,
328
+ including removals, before explicitly repeating the same invocation with
329
+ `--force` in place of `--dry-run`. Keep the source/wiki roots, selection,
330
+ helper/cache bindings and generation options unchanged. This is an owning
331
+ refresh: it regenerates evidence with the current provider and commits matching
332
+ projections and provenance. Already matching managed pages keep their bytes and
333
+ are not rewritten. Changed generated content still appears as a page update;
334
+ it is not classified as a source metadata edit merely because sources match.
335
+
336
+ A preview is not a saved approval token. `--force` computes a new plan from
337
+ current inputs; repeat preview and review if source, helper, selection, provider
338
+ or wiki inputs change. It can authorize broad changes and stale generated
339
+ surface removal, including authored Behavior on those retired surfaces. It does
340
+ not waive ownership or integrity checks, adopt foreign state or recover missing
341
+ authority. After the refresh and semantic review, re-anchor any prose edits with
342
+ ordinary sync, then run strict lint and CI integrity validation using the same
343
+ roots and selection. A subsequent sync with unchanged inputs should be a no-op.
344
+ If publication is rejected, follow its explicit recovery diagnostic before
345
+ retrying; do not delete authority files or reinitialize an established wiki.
346
+
347
+ For a narrowly authorized repair of captured invalid evidence, use
348
+ `--repair-evidence` with canonical POSIX source paths relative to `--src-dir`:
349
+
350
+ ```bash
351
+ llm-wiki sync --src-dir src --wiki-dir wiki --no-plugins --repair-evidence package/module.py --dry-run
352
+ llm-wiki sync --src-dir src --wiki-dir wiki --no-plugins --repair-evidence package/module.py
353
+ ```
354
+
355
+ Keep the project's source selection, helper/cache bindings and other applicable
356
+ options on both invocations. This mode requires an already adopted, coherent
357
+ wiki, unchanged source and generation policy, and matching complete built-in
358
+ producer/helper/runtime commitments. Run the authorized ordinary owning update
359
+ first after a generator or producer transition. Missing or corrupt authority
360
+ requires its explicit recovery route; scoped repair never adopts or migrates it.
361
+
362
+ The writer repairs a selected source's existing module and entity evidence
363
+ together, preserves unselected captured failures and review history, and does
364
+ not acknowledge review. It refuses mixed source/prose edits, missing or renamed
365
+ pages, new/retired identities, and any reconciliation that changes unselected
366
+ facts or the global typed graph. `--force` can authorize a reviewed broad input
367
+ count; it cannot override these scope conditions. A selected known basis must
368
+ match the fresh observation; otherwise use ordinary owning sync for full review.
369
+
370
+ This is scoped application after **full analysis**, not one-file extraction.
371
+ Source verification, global graph/projection reconciliation, an isolated wiki
372
+ copy, native objects, log/cache metadata and complete recovery preimages still
373
+ require global work. The command checks its candidate before live application
374
+ and again before publication. A changed source, helper, provider, selection or
375
+ wiki invalidates the prepared operation. Existing publication recovery remains
376
+ active; the isolated preflight does not replace a recoverable owning commit.
377
+ Already matching selected evidence produces no scoped publication. Success
378
+ does not certify the whole wiki: unselected unknown evidence remains unknown,
379
+ so repeat strict lint and CI validation afterward.
380
+
263
381
  `--initialize-surfaces` enters a surface-only backfill mode for `flows`,
264
382
  `dependencies`, and/or `api-contracts`: ordinary entity/module source changes
265
383
  are reported but deferred. `--flow-category` is repeatable, `--exclude-tests`
@@ -576,6 +694,57 @@ Inspect the named source with the read-only
576
694
  single-file extraction command above, repair the underlying producer or source
577
695
  problem, then run owning sync before repeating strict validation. Editing a
578
696
  generated wiki table does not repair invalid extractor evidence.
697
+ Diagnostics distinguish a captured failure with no fresh result, a captured
698
+ failure whose fresh normalization succeeds, and a fresh observation that still
699
+ fails normalization. Where captured source hashes exist, they distinguish
700
+ unchanged bytes from changed or incomparable inputs. Producer metadata and
701
+ version labels do not identify historical package bytes; unavailable provenance
702
+ and rejected-record details remain explicit.
703
+
704
+ Fresh normalization rejections can include `Fresh normalization diagnostic: `
705
+ followed by a JSON object in the existing finding `message` or evidence freshness
706
+ `description`. The object has its own
707
+ [`llm-wiki-normalization-diagnostic/v1` schema](../src/llm_wiki_cli/schemas/llm-wiki-normalization-diagnostic-v1.schema.json).
708
+ It identifies the source, scope and extractor, the entity's named occurrence
709
+ when applicable, a record `pointer`, the failed `rule`, the `expected` shape,
710
+ and redacted `actual` type/summary. For example, an import can identify
711
+ `/imports/0/module` with rule `import-module`; a near-miss explicit dynamic
712
+ import can instead identify its missing `/imports/0/reason`.
713
+
714
+ Exact pointers use JSON Pointer with zero-based array indexes. Entity occurrence
715
+ coordinates remain one-based among declarations with the same name. A missing
716
+ occurrence points to the declaration collection, without inventing an index.
717
+ An unknown recursion/encoding location uses a null pointer. When an arbitrary
718
+ mapping key is redacted, the pointer identifies an ancestor and `pointer_exact`
719
+ is false. Bounded coordinate prefixes are listed in `truncated_fields` and must
720
+ not be treated as exact identities.
721
+
722
+ The rendered diagnostic is limited to 4,096 UTF-8 bytes, including its prefix.
723
+ Rejected string values, container contents and arbitrary mapping keys are redacted;
724
+ actual summaries retain safe shape facts such as type, length, emptiness or
725
+ non-finiteness. No arbitrary object representation is rendered. A surrounding
726
+ query may impose a tighter response bound and disclose truncation separately.
727
+ Missing detail does not establish valid evidence.
728
+
729
+ This versioned object is carried as diagnostic text; existing outer report and
730
+ evidence-basis fields are unchanged. Older decoders can retain that text without
731
+ parsing it. A consumer interpreting the object must recognize its schema version;
732
+ unknown versions are not an inferred current contract. Native comparison data
733
+ still requires its compatible outer report schema. Raw `extract` output remains
734
+ inventory, not an annotated normalization report. Historical reason-only snapshots
735
+ do not acquire reconstructed record pointers: details describe only a rejection
736
+ observed by the current normalization run. Valid observation hashes, reason codes
737
+ and strict failure policy remain unchanged.
738
+
739
+ Fresh extraction and evidence explanation are reads: a valid fresh observation
740
+ does not make an unknown committed baseline current. Ordinary owning sync can
741
+ refresh a captured invalid module/entity basis after current deep normalization
742
+ succeeds, including when the generator version label is unchanged. Its preview
743
+ labels this as `evidence-refresh-additional`, separately from source edits and
744
+ generator transitions. Broad refreshes retain the normal review guards. If fresh
745
+ normalization is still invalid, repair that cause; `--force` does not waive
746
+ evidence validity. If fresh normalization succeeds but owning sync is refused by
747
+ the broad-update guard, follow its complete preview and reviewed apply route.
579
748
  `lint --profile` and `ci-check --format json` additionally include this shape:
580
749
 
581
750
  ```json
@@ -909,6 +1078,40 @@ perform a full inventory only when `allow_full_inventory=true` is supplied.
909
1078
  The context budget and focus bound emitted output after a full deep inventory;
910
1079
  they do not make that scan computationally cheap.
911
1080
 
1081
+ Explain one exact concept using the existing evidence service:
1082
+
1083
+ ```bash
1084
+ printf '%s\n' '{"operation":"explain","value":"llm-wiki://modules/orders"}' | llm-wiki query --request - --src-dir . --wiki-dir docs/llm_wiki
1085
+ printf '%s\n' '{"operation":"explain","source":"src/orders.py","limit":10}' | llm-wiki query --request - --src-dir . --wiki-dir docs/llm_wiki
1086
+ printf '%s\n' '{"operation":"explain","value":"llm-wiki://modules/orders","live":true,"allow_full_inventory":true}' | llm-wiki query --request - --src-dir . --wiki-dir docs/llm_wiki --helper-cache-dir .git
1087
+ ```
1088
+
1089
+ Supply exactly one `value` (exact concept locator, UID or canonical route) or
1090
+ canonical POSIX `source` path relative to `--src-dir`. A source with multiple
1091
+ concepts returns bounded choices; repeat with one exact locator to see evidence.
1092
+ The default reads the committed snapshot without extraction. Set `live:true`
1093
+ and explicitly authorize `allow_full_inventory:true` to compare against a full
1094
+ current source inventory. Existing evidence freshness includes recorded/live
1095
+ source bases, cause and bounded fresh normalization detail when available;
1096
+ snapshot reads never reconstruct historical rejected-record details.
1097
+
1098
+ `provenance` separates stored/live producer records, the installed package
1099
+ fingerprint and version, the structural inventory contract, and active Python
1100
+ runtime. The fingerprint covers installed files and runtime/version inputs; it
1101
+ does not identify the original distribution archive or prove release authenticity.
1102
+ For a selected external extractor, existing preparation receipt source/artifact
1103
+ identities and preparation toolchain are reported separately from active runtime.
1104
+ TypeScript also checks the source copy in the prepared execution directory against
1105
+ the bundled source fingerprint; missing or changed copies require preparation again.
1106
+ Artifact fingerprints cover the receipt's recorded path. For TypeScript this is
1107
+ the `ts-morph` subtree, which does not identify sibling transitive dependencies.
1108
+ Missing or mismatched data stays explicit. Reads do not install dependencies or
1109
+ update source, wiki or helper state. Missing helpers include the existing exact
1110
+ preparation command for the selected cache; setup requires authorization, then
1111
+ retry with the same roots, source selection and cache. A runtime mismatch also
1112
+ requires selecting the matching runtime on PATH. Output limits and truncation
1113
+ disclosures apply to explanation and provenance together.
1114
+
912
1115
  External tools can use the `llm-wiki-context/v1` JSON request protocol:
913
1116
 
914
1117
  ```bash
@@ -2134,6 +2337,32 @@ prepared-adoption and captured-preimage retries need their explicit options.
2134
2337
  See [ordinary review and recovery](maintenance.md) for exact eligibility and
2135
2338
  Python/MCP interfaces.
2136
2339
 
2340
+ ### Recover new pages from a rejected sync
2341
+
2342
+ If sync emits `new_page_recovery`, retain its recovery directory and exact
2343
+ `expected_journal_hash`. Preview the pages before applying recovery:
2344
+
2345
+ ```bash
2346
+ llm-wiki maintenance recover-new-pages --wiki-dir wiki --recovery-dir RECOVERY_DIR --expected-journal-hash JOURNAL_SHA256 --dry-run
2347
+ ```
2348
+
2349
+ After reviewing the list, repeat without `--dry-run` to remove only unchanged
2350
+ Markdown pages created by that rejected operation. Their exact postimages remain
2351
+ in the recovery directory. Existing prose, source files and committed authority
2352
+ are not restored or overwritten. Edited/replaced pages, changed selection or
2353
+ authority, unsafe links, another wiki and altered journals are refused.
2354
+
2355
+ Run the original sync again after recovery. This command does not make an
2356
+ interrupted generation current, repair missing maintenance authority, or replace
2357
+ the complete adopted recovery route above. Recovery is not atomic across pages:
2358
+ an I/O failure can leave a partially removed set, with all original postimages
2359
+ retained for explicit inspection and restoration. A missing or changed candidate
2360
+ is refused; do not blindly replay or manufacture another journal hash.
2361
+ Capture is bounded to 10,000 baseline/created-page entries, an 8 MiB journal
2362
+ and individual postimages, and 64 MiB of postimages per operation. Limits stop
2363
+ the new write rather than authorize unrecorded pages. Without an original
2364
+ rejection journal, this command cannot authorize removal of older stranded pages.
2365
+
2137
2366
  ## `upgrade`
2138
2367
 
2139
2368
  Refresh framework-managed artifacts in place.
@@ -5,7 +5,7 @@ backend-path = ["."]
5
5
 
6
6
  [project]
7
7
  name = "agent-wiki-cli"
8
- version = "3.0.0"
8
+ version = "3.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"
@@ -67,6 +67,7 @@ where = ["src"]
67
67
  "llm_wiki_cli" = [
68
68
  "py.typed",
69
69
  "services/analysis_contracts.json",
70
+ "schemas/llm-wiki-normalization-diagnostic-v1.schema.json",
70
71
  "schemas/llm-wiki-knowledge-v1.schema.json",
71
72
  "schemas/llm-wiki-implementation-evidence-v1.schema.json",
72
73
  "schemas/llm-wiki-maintenance-adoption-v1.schema.json",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agent-wiki-cli
3
- Version: 3.0.0
3
+ Version: 3.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
@@ -114,10 +114,12 @@ src/llm_wiki_cli/schemas/llm-wiki-manifest-catalog-v1.schema.json
114
114
  src/llm_wiki_cli/schemas/llm-wiki-manifest-v6.schema.json
115
115
  src/llm_wiki_cli/schemas/llm-wiki-manifest-v7.schema.json
116
116
  src/llm_wiki_cli/schemas/llm-wiki-manifest-v8.schema.json
117
+ src/llm_wiki_cli/schemas/llm-wiki-normalization-diagnostic-v1.schema.json
117
118
  src/llm_wiki_cli/services/__init__.py
118
119
  src/llm_wiki_cli/services/analysis_capture.py
119
120
  src/llm_wiki_cli/services/analysis_compatibility.py
120
121
  src/llm_wiki_cli/services/analysis_contracts.json
122
+ src/llm_wiki_cli/services/analysis_targets.py
121
123
  src/llm_wiki_cli/services/api_contracts.py
122
124
  src/llm_wiki_cli/services/api_diff.py
123
125
  src/llm_wiki_cli/services/bootstrap_runtime.py
@@ -156,6 +158,8 @@ src/llm_wiki_cli/services/documentation_review.py
156
158
  src/llm_wiki_cli/services/documentation_wiki_input.py
157
159
  src/llm_wiki_cli/services/documentation_worklist.py
158
160
  src/llm_wiki_cli/services/entrypoints.py
161
+ src/llm_wiki_cli/services/evidence_diagnostics.py
162
+ src/llm_wiki_cli/services/evidence_explanation.py
159
163
  src/llm_wiki_cli/services/extraction_jobs.py
160
164
  src/llm_wiki_cli/services/extraction_service.py
161
165
  src/llm_wiki_cli/services/extractor_helpers.py
@@ -221,6 +225,7 @@ src/llm_wiki_cli/services/mcp_server.py
221
225
  src/llm_wiki_cli/services/metrics.py
222
226
  src/llm_wiki_cli/services/module_maps.py
223
227
  src/llm_wiki_cli/services/native_inspection.py
228
+ src/llm_wiki_cli/services/normalization_diagnostics.py
224
229
  src/llm_wiki_cli/services/obsidian.py
225
230
  src/llm_wiki_cli/services/packages.py
226
231
  src/llm_wiki_cli/services/packet_field_policy.py
@@ -242,6 +247,7 @@ src/llm_wiki_cli/services/resource_diagnostics.py
242
247
  src/llm_wiki_cli/services/review_service.py
243
248
  src/llm_wiki_cli/services/runtime_output.py
244
249
  src/llm_wiki_cli/services/schema.py
250
+ src/llm_wiki_cli/services/scoped_sync_repair.py
245
251
  src/llm_wiki_cli/services/search_discovery.py
246
252
  src/llm_wiki_cli/services/search_discovery_capture.py
247
253
  src/llm_wiki_cli/services/search_lexical.py
@@ -264,6 +270,7 @@ src/llm_wiki_cli/services/sync_analysis.py
264
270
  src/llm_wiki_cli/services/sync_analysis_cache.py
265
271
  src/llm_wiki_cli/services/sync_generated_sections.py
266
272
  src/llm_wiki_cli/services/sync_manifest.py
273
+ src/llm_wiki_cli/services/sync_recovery.py
267
274
  src/llm_wiki_cli/services/sync_retained_links.py
268
275
  src/llm_wiki_cli/services/sync_transition_execution.py
269
276
  src/llm_wiki_cli/services/sync_transitions.py
@@ -356,6 +363,7 @@ tests/test_agent_instruction_decisions.py
356
363
  tests/test_analysis_compatibility.py
357
364
  tests/test_analysis_input_preflight.py
358
365
  tests/test_analysis_qualification.py
366
+ tests/test_analysis_targets.py
359
367
  tests/test_api.py
360
368
  tests/test_api_contracts.py
361
369
  tests/test_api_diff.py
@@ -372,6 +380,7 @@ tests/test_bump.py
372
380
  tests/test_calibration_cli.py
373
381
  tests/test_calibration_isolation.py
374
382
  tests/test_capability_diagnostics.py
383
+ tests/test_captured_evidence_diagnostics.py
375
384
  tests/test_change_selection.py
376
385
  tests/test_ci_check.py
377
386
  tests/test_ci_runtime_output.py
@@ -380,6 +389,7 @@ tests/test_ci_workflow_wrapper.py
380
389
  tests/test_circuit_breaker.py
381
390
  tests/test_cli.py
382
391
  tests/test_cli_error_streams.py
392
+ tests/test_committed_projection_recovery.py
383
393
  tests/test_compact_context_session.py
384
394
  tests/test_compact_delivery_interfaces.py
385
395
  tests/test_compact_delivery_policy.py
@@ -473,6 +483,8 @@ tests/test_entity_retirement.py
473
483
  tests/test_entity_retirement_evidence.py
474
484
  tests/test_entrypoints.py
475
485
  tests/test_eval_lite.py
486
+ tests/test_evidence_explanation_query.py
487
+ tests/test_evidence_recovery_guidance.py
476
488
  tests/test_examples.py
477
489
  tests/test_extract.py
478
490
  tests/test_extract_api_contracts.py
@@ -597,9 +609,11 @@ tests/test_native_workflow_oracles.py
597
609
  tests/test_native_workflow_scenarios.py
598
610
  tests/test_native_workflow_trace.py
599
611
  tests/test_navigation_layouts.py
612
+ tests/test_normalization_diagnostics.py
600
613
  tests/test_obsidian.py
601
614
  tests/test_optimization_evidence.py
602
615
  tests/test_optimization_measurements.py
616
+ tests/test_owned_packet_recovery.py
603
617
  tests/test_package_metadata.py
604
618
  tests/test_package_validation.py
605
619
  tests/test_packages.py
@@ -610,6 +624,10 @@ tests/test_plugins.py
610
624
  tests/test_policy_activation.py
611
625
  tests/test_policy_renewal.py
612
626
  tests/test_policy_source_freeze.py
627
+ tests/test_preflight.py
628
+ tests/test_preflight_contracts.py
629
+ tests/test_preflight_runner.py
630
+ tests/test_preflight_targets.py
613
631
  tests/test_progress.py
614
632
  tests/test_protected_artifacts.py
615
633
  tests/test_protocol_registry.py
@@ -623,6 +641,7 @@ tests/test_pytest_portability.py
623
641
  tests/test_python_binding_adversaries.py
624
642
  tests/test_python_binding_state_growth.py
625
643
  tests/test_python_call_bindings.py
644
+ tests/test_python_class_imports.py
626
645
  tests/test_python_constructor_bindings.py
627
646
  tests/test_python_constructor_control_flow.py
628
647
  tests/test_python_constructor_resolution.py
@@ -656,6 +675,7 @@ tests/test_runtime_output.py
656
675
  tests/test_rust_extract.py
657
676
  tests/test_schema.py
658
677
  tests/test_schema_context_baselines.py
678
+ tests/test_scoped_sync_repair.py
659
679
  tests/test_search_discovery.py
660
680
  tests/test_search_discovery_capture.py
661
681
  tests/test_search_discovery_interfaces.py
@@ -682,6 +702,7 @@ tests/test_storage_locality.py
682
702
  tests/test_storage_lock_diagnostics.py
683
703
  tests/test_storage_performance.py
684
704
  tests/test_storage_retention_diagnostics.py
705
+ tests/test_storage_review_pagination.py
685
706
  tests/test_surface_initialization.py
686
707
  tests/test_sync.py
687
708
  tests/test_sync_analysis.py
@@ -689,10 +710,12 @@ tests/test_sync_analysis_cache.py
689
710
  tests/test_sync_analysis_capture.py
690
711
  tests/test_sync_api_contracts.py
691
712
  tests/test_sync_generated_sections.py
713
+ tests/test_sync_guard_diagnostics.py
692
714
  tests/test_sync_manifest.py
693
715
  tests/test_sync_missing_pages.py
694
716
  tests/test_sync_no_plugins.py
695
717
  tests/test_sync_page_transitions.py
718
+ tests/test_sync_recovery.py
696
719
  tests/test_sync_retained_links.py
697
720
  tests/test_sync_runtime_regressions.py
698
721
  tests/test_sync_transition_execution.py
@@ -730,4 +753,9 @@ tests/test_wiki_sync_cleanup.py
730
753
  tests/test_workflow_contracts.py
731
754
  tests/test_workflow_interfaces.py
732
755
  tests/test_yaml_formats.py
733
- tests/test_yaml_syntax.py
756
+ tests/test_yaml_syntax.py
757
+ tests/fixtures/knowledge-evidence/concept-observation-inventories.json
758
+ tests/fixtures/knowledge-evidence/producer-evidence-expectations.json
759
+ tests/fixtures/knowledge-evidence/producer-evidence-inventories.json
760
+ tests/fixtures/knowledge-evidence/released-2.5.0-large-files.json
761
+ tests/fixtures/knowledge-evidence/released-2.5.0-large.json
@@ -2540,6 +2540,7 @@ def explain_evidence(
2540
2540
  DOCUMENTATION_QUERY_SCHEMA_VERSION = "llm-wiki-documentation-query/v1"
2541
2541
  MAX_RAW_QUERY_EVIDENCE_BYTES = 64 * 1024
2542
2542
  _DOCUMENTATION_QUERY_FIELDS = {
2543
+ "explain": frozenset({"operation", "value", "source", "limit", "live", "allow_full_inventory"}),
2543
2544
  "concept": frozenset({"operation", "value", "limit"}),
2544
2545
  "related": frozenset({"operation", "value", "limit", "direction", "kinds"}),
2545
2546
  "surface": frozenset({"operation", "value", "limit"}),
@@ -2706,7 +2707,18 @@ def _validate_documentation_query_request(
2706
2707
  limit = _normalize_query_limit(request.get("limit", 20))
2707
2708
  # Operation-specific transport fields are input validation, not part of
2708
2709
  # loading the query service. Reject them before any workspace access.
2709
- if operation == "impact":
2710
+ if operation == "explain":
2711
+ if type(request.get("live", False)) is not bool:
2712
+ raise InvalidRequestError("live must be a boolean.", code="invalid-request", details={"field": "live"})
2713
+ if type(request.get("allow_full_inventory", False)) is not bool:
2714
+ raise InvalidRequestError("allow_full_inventory must be a boolean.", code="invalid-request", details={"field": "allow_full_inventory"})
2715
+ if ("value" in request) == ("source" in request):
2716
+ raise InvalidRequestError("Supply exactly one of value or source.", code="invalid-request", details={"field": "value"})
2717
+ if request.get("live", False):
2718
+ _require_full_inventory_opt_in(request)
2719
+ elif request.get("allow_full_inventory", False):
2720
+ raise InvalidRequestError("allow_full_inventory requires live=true.", code="invalid-request", details={"field": "allow_full_inventory"})
2721
+ elif operation == "impact":
2710
2722
  _normalize_query_choice(request.get("source_policy", "explicit"), field="source_policy", allowed=("explicit", "discovery"))
2711
2723
  elif operation == "related":
2712
2724
  _normalize_query_choice(request.get("direction", "both"), field="direction", allowed=_KNOWLEDGE_QUERY_DIRECTIONS)
@@ -3050,11 +3062,43 @@ def query_documentation(
3050
3062
  wiki_dir: str = DEFAULT_WIKI_DIR,
3051
3063
  allow_external_src: bool = False,
3052
3064
  source_selection: str | Path | None = None,
3065
+ helper_cache_dir: str | Path | None = None,
3053
3066
  comparison_policy: str | None = None,
3054
3067
  ) -> DocumentationQueryResult:
3055
3068
  """Dispatch one exact bounded read-only documentation query."""
3056
3069
 
3057
3070
  operation, limit = _validate_documentation_query_request(request)
3071
+ if operation == "explain":
3072
+ from .services.evidence_explanation import explain_source, explanation_provenance
3073
+
3074
+ if helper_cache_dir is not None and not isinstance(helper_cache_dir, (str, Path)):
3075
+ raise InvalidRequestError("must be a path", code="invalid-request", details={"field": "helper_cache_dir"})
3076
+ source = "source" in request
3077
+ value = _normalize_query_input(
3078
+ lambda: normalize_supplied_paths((request.get("source"),))[0]
3079
+ if source else normalize_concept_coordinate(request.get("value")),
3080
+ field="source" if source else "value",
3081
+ )
3082
+ source_root = validate_source_root(src_dir, "--src-dir", allow_external=allow_external_src)
3083
+ if request.get("live", False):
3084
+ service = build_documentation_query_service(
3085
+ src_dir, wiki_dir=wiki_dir, limit=limit,
3086
+ allow_external_src=allow_external_src, read_only=True,
3087
+ source_selection=source_selection, helper_cache_dir=helper_cache_dir,
3088
+ )
3089
+ scope = "full-inventory"
3090
+ else:
3091
+ service = _snapshot_query_service(wiki_dir, limit=limit)
3092
+ scope = "snapshot-index-only"
3093
+ payload = explain_source(service, value) if source else service.explain_evidence(value)
3094
+ payload["provenance"] = explanation_provenance(
3095
+ service, payload, source_root=source_root, helper_cache_dir=helper_cache_dir,
3096
+ )
3097
+ payload["limitations"] = [
3098
+ "Live explanation performs a full source inventory; snapshot explanation does not extract source or establish fresh normalization.",
3099
+ "Helper inspection reads existing receipts/bytes and probes runtime versions; it never prepares dependencies.",
3100
+ ]
3101
+ return _with_query_envelope(operation, payload, scope=scope)
3058
3102
  if operation == "impact":
3059
3103
  return _impact_query(
3060
3104
  request,
@@ -456,6 +456,8 @@ class DocumentationQueryResult(_DocumentationQueryRequired, total=False):
456
456
  """Common envelope returned by the shared bounded query dispatcher."""
457
457
 
458
458
  knowledge: KnowledgeStatus | dict[str, Any]
459
+ evidence: dict[str, Any] | None
460
+ provenance: dict[str, Any]
459
461
  concept: dict[str, Any] | None
460
462
  total: int
461
463
  returned: int