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