agent-wiki-cli 2.0.1__tar.gz → 2.0.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {agent_wiki_cli-2.0.1/src/agent_wiki_cli.egg-info → agent_wiki_cli-2.0.2}/PKG-INFO +50 -2
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/README.md +49 -1
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/pyproject.toml +1 -1
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2/src/agent_wiki_cli.egg-info}/PKG-INFO +50 -2
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/agent_wiki_cli.egg-info/SOURCES.txt +10 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/commands/migrate_cmd.py +43 -2
- agent_wiki_cli-2.0.2/src/llm_wiki_cli/extractors/python_bindings.py +366 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/extractors/python_contracts.py +100 -13
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/extractors/python_extractor.py +59 -6
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/api_contracts.py +37 -12
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/bootstrap_runtime.py +187 -9
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/contracts.py +5 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/dependencies.py +14 -233
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/diagrams.py +27 -12
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/extraction_service.py +136 -45
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/imports.py +37 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/inventory_cache.py +5 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/knowledge_evidence.py +1 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/knowledge_orchestration.py +13 -3
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/packages.py +112 -0
- agent_wiki_cli-2.0.2/src/llm_wiki_cli/services/python_calls.py +176 -0
- agent_wiki_cli-2.0.2/src/llm_wiki_cli/services/python_imports.py +152 -0
- agent_wiki_cli-2.0.2/src/llm_wiki_cli/services/python_stdlib.py +231 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/relationships.py +39 -5
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_api_contracts.py +96 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_bootstrap.py +235 -2
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_context_packet.py +9 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_dependencies.py +27 -8
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_diagrams.py +38 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_extract.py +50 -7
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_extractor_inventory_contracts.py +5 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_graph_section_end_to_end.py +4 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_imports.py +5 -5
- agent_wiki_cli-2.0.2/tests/test_knowledge_producer_languages.py +110 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_migrate.py +19 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_package_metadata.py +1 -1
- agent_wiki_cli-2.0.2/tests/test_python_call_bindings.py +235 -0
- agent_wiki_cli-2.0.2/tests/test_python_import_scopes.py +161 -0
- agent_wiki_cli-2.0.2/tests/test_python_typed_dicts.py +121 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_release_workflows.py +33 -0
- agent_wiki_cli-2.0.2/tests/test_route_projection_regressions.py +155 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_source_selection.py +8 -2
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_sync.py +89 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_sync_runtime_regressions.py +3 -0
- agent_wiki_cli-2.0.2/tests/test_verified_bug_migrations.py +198 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/LICENSE +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/MANIFEST.in +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/docs/standalone-documentation.md +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/examples/plugins/documentation-hooks/detectors.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/examples/plugins/documentation-hooks/llm-wiki-plugin.json +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/examples/plugins/documentation-hooks/styles.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/release_build_backend.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/setup.cfg +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/agent_wiki_cli.egg-info/dependency_links.txt +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/agent_wiki_cli.egg-info/entry_points.txt +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/agent_wiki_cli.egg-info/requires.txt +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/agent_wiki_cli.egg-info/top_level.txt +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/__init__.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/api.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/api_types.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/cli.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/commands/__init__.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/commands/bootstrap_cmd.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/commands/bump_cmd.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/commands/ci_check_cmd.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/commands/context_cmd.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/commands/docs_cmd.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/commands/doctor_cmd.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/commands/extract_cmd.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/commands/generate_prompt_cmd.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/commands/hook_cmd.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/commands/init_cmd.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/commands/install_ci_cmd.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/commands/install_cmd.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/commands/knowledge_cmd.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/commands/lint_cmd.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/commands/mcp_cmd.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/commands/metrics_cmd.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/commands/obsidian_cmd.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/commands/plugins_cmd.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/commands/prepare_extractors_cmd.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/commands/release_cmd.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/commands/review_cmd.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/commands/site_cmd.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/commands/skills_cmd.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/commands/status_cmd.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/commands/sync_cmd.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/commands/team_cmd.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/commands/trigger_cmd.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/commands/uninstall_cmd.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/commands/upgrade_cmd.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/config.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/eval_lite/__init__.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/eval_lite/planner.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/examples/plugins/documentation-hooks/detectors.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/examples/plugins/documentation-hooks/llm-wiki-plugin.json +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/examples/plugins/documentation-hooks/styles.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/extractors/__init__.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/extractors/common.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/extractors/fastapi_contracts.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/extractors/go_extractor.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/extractors/go_scripts/go.mod +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/extractors/go_scripts/main.go +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/extractors/haskell_extractor.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/extractors/haskell_scripts/Inventory.hs +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/extractors/haskell_scripts/Json.hs +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/extractors/haskell_scripts/Main.hs +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/extractors/haskell_scripts/Parser.hs +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/extractors/haskell_scripts/Paths.hs +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/extractors/rust_extractor.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/extractors/rust_scripts/Cargo.lock +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/extractors/rust_scripts/Cargo.toml +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/extractors/rust_scripts/src/main.rs +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/extractors/ts_extractor.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/extractors/ts_scripts/extract.js +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/extractors/ts_scripts/package-lock.json +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/extractors/ts_scripts/package.json +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/schemas/__init__.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/schemas/llm-wiki-knowledge-v1.schema.json +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/__init__.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/bootstrap_service.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/calibration/__init__.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/calibration/broker.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/calibration/contracts.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/calibration/controller.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/calibration/host_broker.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/canonical_pages.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/ci_installer.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/ci_report.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/circuit_breaker.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/concept_identity.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/context_knowledge_contract.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/context_packet.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/context_service.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/data_flow.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/dependency_versions.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/doctor_service.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/documentation_calibration.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/documentation_calibration_broker.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/documentation_calibration_controller.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/documentation_calibration_host_broker.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/documentation_claim_evidence.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/documentation_model_policy.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/documentation_native.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/documentation_policy.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/documentation_queries.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/documentation_query_builder.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/documentation_review.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/documentation_run/__init__.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/documentation_run/contracts.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/documentation_run/dependencies.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/documentation_run/export.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/documentation_run/integrity.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/documentation_run/packet.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/documentation_run/prepare.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/documentation_run/record.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/documentation_run/refresh.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/documentation_run/schema.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/documentation_run/verify.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/documentation_run/workspace.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/documentation_wiki_input.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/documentation_worklist.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/entrypoints.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/extraction_jobs.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/extractor_helpers.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/filesystem_guard.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/immutable.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/infrastructure_inventory.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/infrastructure_sync.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/instruction_ownership.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/io.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/knowledge_artifacts.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/knowledge_consumption.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/knowledge_envelope.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/knowledge_freshness.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/knowledge_generation.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/knowledge_governance.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/knowledge_graph.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/knowledge_index.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/knowledge_links.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/knowledge_loader.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/knowledge_model.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/knowledge_observability.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/knowledge_projection.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/knowledge_reuse.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/knowledge_verification.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/legacy_hooks.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/lint_service.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/lockfile.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/markdown_sections.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/mcp_server.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/metrics.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/module_maps.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/obsidian.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/paths.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/plugin_samples.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/plugins.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/progress.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/protected_artifacts.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/python_observations.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/redaction.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/rendering_lifecycle.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/resource_diagnostics.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/runtime_output.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/schema.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/section_ownership.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/secure_file.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/site_export.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/site_html_check.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/skills.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/source_selection.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/source_snapshot.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/sync_analysis.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/sync_manifest.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/team.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/validation.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/verification_contracts.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/versioning.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/wiki_git_policy.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/wiki_lifecycle.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/wiki_media.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/wiki_scaffold.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/wiki_surface.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/services/wiki_surface_index.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/agent-docs/SKILL.md +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/agent-docs/reference.md +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/attack-surface/SKILL.md +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/attack-surface/reference.md +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/dep-audit/SKILL.md +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/dep-audit/reference.md +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/dep-vuln-triage/SKILL.md +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/dep-vuln-triage/reference.md +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/doc-hub/SKILL.md +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/doc-hub/reference.md +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/doc-review/SKILL.md +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/doc-review/reference.md +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/impact-analysis/SKILL.md +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/impact-analysis/reference.md +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/infra-review/SKILL.md +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/infra-review/reference.md +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/onboarding-guide/SKILL.md +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/onboarding-guide/reference.md +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/publish-docs/SKILL.md +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/publish-docs/reference.md +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/usage-examples/SKILL.md +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/usage-examples/reference.md +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/user-docs-author/SKILL.md +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/user-docs-author/reference.md +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/wiki-bootstrap/SKILL.md +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/wiki-bootstrap/reference.md +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/wiki-reference/SKILL.md +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/wiki-reference/reference.md +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/wiki-reference/references/context-query.md +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/wiki-reference/references/extractors-dependencies.md +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/wiki-reference/references/governance.md +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/wiki-reference/references/knowledge-consumption.md +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/wiki-reference/references/maintenance.md +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/wiki-reference/references/publishing.md +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/wiki-reference/references/repository-handoff.md +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/wiki-reference/references/resources-context.md +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/wiki-reference/references/surfaces-naming.md +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/wiki-semantic-enhance/SKILL.md +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/wiki-semantic-enhance/reference.md +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/wiki-sync/SKILL.md +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/src/llm_wiki_cli/skills/wiki-sync/reference.md +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_agent_instruction_decisions.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_api.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_api_exception_taxonomy.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_architecture_layers.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_bootstrap_api_contracts.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_bootstrap_service.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_bump.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_calibration_cli.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_calibration_isolation.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_ci_check.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_ci_runtime_output.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_ci_toolchain_setup.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_ci_workflow_wrapper.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_circuit_breaker.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_cli.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_concept_identity.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_config.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_context.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_context_knowledge_contract.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_context_knowledge_runtime.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_context_packet_knowledge.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_data_flow.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_dep_vuln_triage_skill.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_dependencies_external.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_dependency_version_details.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_docker_bootstrap.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_docker_extract.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_docker_lint.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_docs_cli.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_doctor.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_documentation_adversarial.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_documentation_calibration.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_documentation_calibration_broker.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_documentation_calibration_controller.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_documentation_calibration_host_broker.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_documentation_calibration_oci_integration.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_documentation_claim_evidence.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_documentation_control_integrity.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_documentation_dogfood.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_documentation_input_recheck.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_documentation_model_policy.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_documentation_native.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_documentation_native_lifecycle.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_documentation_prepare_transaction.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_documentation_projection_policy.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_documentation_protocol.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_documentation_queries.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_documentation_refresh_continuation.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_documentation_review.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_documentation_run_fixtures.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_documentation_wiki_input.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_documentation_worklist.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_documentation_workspace.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_e2e.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_enriched_projection_resilience.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_entrypoints.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_eval_lite.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_extract_api_contracts.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_extract_data_flow_details.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_extractor_helpers.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_filesystem_guard.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_filesystem_guard_windows.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_filesystem_guard_windows_model.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_generate_prompt.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_generated_relationship_pages.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_github_action.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_go_extract.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_governance_reconciliation.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_haskell_extract.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_helper_packaging_parity.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_hook.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_infra_review_skill.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_infrastructure_inventory.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_infrastructure_sync.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_init.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_install.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_install_ci.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_instruction_ownership.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_inventory_cache.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_io.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_knowledge_artifacts.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_knowledge_cmd.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_knowledge_commands.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_knowledge_compatibility.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_knowledge_consumption.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_knowledge_contract.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_knowledge_envelope.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_knowledge_evidence.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_knowledge_freshness.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_knowledge_generation.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_knowledge_governance.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_knowledge_graph.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_knowledge_hardening.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_knowledge_index.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_knowledge_links.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_knowledge_lint.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_knowledge_loader.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_knowledge_model.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_knowledge_observability.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_knowledge_performance.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_knowledge_projection.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_knowledge_projection_e2e.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_knowledge_queries.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_knowledge_query_adapters.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_knowledge_reuse.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_knowledge_scale.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_knowledge_verification_view.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_lint.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_llm_wiki_convergence_script.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_llm_wiki_convergence_workflow.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_lockfile.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_managed_reference_topics.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_markdown_sections.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_mcp.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_mcp_sdk.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_metrics.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_module_maps.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_multilanguage_wiki.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_native_knowledge_semantics_docs.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_native_reduction_contracts.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_native_skill_preflight_and_reanchor.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_navigation_layouts.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_obsidian.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_package_validation.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_packages.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_paths.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_plugin_sample.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_plugins.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_progress.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_protected_artifacts.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_protocol_registry.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_provisioning_failures.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_public_docs_vocabulary.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_publishing_hub_attack_contracts.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_python_observation_cache.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_quality_workflows.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_redaction.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_reference_skill_verifier.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_relationships.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_release.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_release_build_backend.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_release_dogfood.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_release_qualification.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_release_supply_chain.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_rendering_lifecycle.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_resource_diagnostics.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_runtime_output.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_rust_extract.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_schema.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_schema_context_baselines.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_section_ownership.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_secure_file.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_site_export.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_site_knowledge_metadata.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_skill_contracts.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_skill_contracts_all.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_skill_ownership_boundaries.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_skill_policy_routes.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_skills.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_source_snapshot.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_static_quality_architecture.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_status.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_surface_initialization.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_sync_api_contracts.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_sync_manifest.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_sync_no_plugins.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_team.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_team_policy_regressions.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_trigger.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_ts_extract.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_typed_graph_queries.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_uninstall.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_upgrade.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_validated_knowledge_reuse.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_validation.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_verification_contracts.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_versioning.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_wiki_git_policy.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_wiki_helper_cache.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_wiki_integrity_action.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_wiki_lifecycle.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_wiki_reference_skill.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_wiki_surface.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_wiki_surface_index.py +0 -0
- {agent_wiki_cli-2.0.1 → agent_wiki_cli-2.0.2}/tests/test_wiki_sync_cleanup.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: agent-wiki-cli
|
|
3
|
-
Version: 2.0.
|
|
3
|
+
Version: 2.0.2
|
|
4
4
|
Summary: CLI tool to maintain hybrid LLM Wikis for multi-language projects.
|
|
5
5
|
Author-email: Denis Sivagin <denissvgn@gmail.com>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -745,6 +745,21 @@ generated from detected entry points with a call sequence, generated static
|
|
|
745
745
|
generated data-flow section. Large generated call-sequence diagrams are capped
|
|
746
746
|
to the first 30 interactions and include an omitted-interaction note so Mermaid
|
|
747
747
|
output stays readable on large repositories.
|
|
748
|
+
Sequence participants distinguish same-named functions in different modules
|
|
749
|
+
and calls through different receivers. A delegated call such as
|
|
750
|
+
`service.check_wiki()` stays distinct from a `check_wiki` wrapper; genuine
|
|
751
|
+
self-calls retain their self-arrows.
|
|
752
|
+
Calls on returned objects use compact labels such as `ReportBuilder(…).build`
|
|
753
|
+
in both diagrams. Matching compact labels receive context or a number to keep
|
|
754
|
+
their targets distinct. Full captured calls remain in the evidence tables;
|
|
755
|
+
dashed arrows identify external or unresolved calls, including methods whose
|
|
756
|
+
receiver type is unknown.
|
|
757
|
+
Workflow pages require resolved body calls into at least three other project
|
|
758
|
+
modules. Their sequences follow captured source order, without claiming runtime
|
|
759
|
+
branching or evaluation order. Type annotations and docstrings do not create
|
|
760
|
+
call steps. When an upgraded detector no longer recognizes a generated
|
|
761
|
+
workflow, sync retires generated-only pages; it stops before removing a page
|
|
762
|
+
with authored `Behavior` so you can archive that content explicitly.
|
|
748
763
|
Dependency architecture pages are generated as `dependencies.md` and
|
|
749
764
|
`load-order.md`; use `--skip-dependencies` for projects that do not want those
|
|
750
765
|
pages or lint diagnostics. Generated `index.md` is a registry-backed landing
|
|
@@ -756,6 +771,10 @@ Passing `--openapi-file` implies `--api-contracts`; the supplied OpenAPI 3.0 or
|
|
|
756
771
|
3.1 JSON/YAML document is authoritative for wire fields, while syntax-only
|
|
757
772
|
source analysis contributes handler, module, entity, and flow links. The target
|
|
758
773
|
application is never imported or executed.
|
|
774
|
+
Dynamic route expressions remain visible as unknown API-contract evidence.
|
|
775
|
+
Only concrete routes are attached to flow metadata, so unresolved paths do not
|
|
776
|
+
prevent bootstrap or sync and are never replaced with invented URLs. Supply an
|
|
777
|
+
OpenAPI export when authoritative concrete paths are needed.
|
|
759
778
|
`--depth full` is the default and includes
|
|
760
779
|
docstrings, imports, attributes, method signatures, generated relationship
|
|
761
780
|
sections, bounded per-module dependency mini-map summaries, and diagram data
|
|
@@ -908,6 +927,11 @@ test files remain part of normal Python extraction.
|
|
|
908
927
|
JavaScript `.js` and `.jsx` files are handled by the TypeScript extractor
|
|
909
928
|
family and use `language: "javascript"` in inventory output. Prepare the same
|
|
910
929
|
helper with `llm-wiki prepare-extractors --language typescript`.
|
|
930
|
+
Native knowledge records the selected producing extractor independently of this
|
|
931
|
+
language label, including TypeScript-family plugins that emit JavaScript.
|
|
932
|
+
After upgrading from artifacts with unknown JavaScript producer configuration,
|
|
933
|
+
run `llm-wiki sync --rebuild-knowledge` to record a fresh basis, then check health
|
|
934
|
+
with `llm-wiki doctor --strict`. Other health findings retain their usual meaning.
|
|
911
935
|
Plain `.js` files include named top-level function declarations in the
|
|
912
936
|
`functions` list even when they are local CommonJS helpers. Those functions are
|
|
913
937
|
rendered on module pages; JavaScript function declarations do not create entity
|
|
@@ -954,6 +978,21 @@ keyword-only, and variadic-keyword declarations. Python model/type inventory
|
|
|
954
978
|
also carries optional required/nullable/default/factory, alias, constraint,
|
|
955
979
|
description/example, `Annotated`, validator/config, enum-member, literal, and
|
|
956
980
|
type-alias metadata without importing Pydantic or application modules.
|
|
981
|
+
Python call targets follow lexical bindings. Builtins remain file-less calls;
|
|
982
|
+
local declarations, aliases, and imports resolve only when their targets are
|
|
983
|
+
justified. Uncertain rebinding and closures remain unresolved instead of linking
|
|
984
|
+
to unrelated same-named functions. Optional `call_bindings` entries parallel a
|
|
985
|
+
callable's `calls` list, `python_bindings` describes module bindings, and
|
|
986
|
+
`main_block_call_bindings` parallels guarded process-entry calls. Older
|
|
987
|
+
inventories may omit these fields.
|
|
988
|
+
TypedDict classes use `model_kind: "typeddict"`; their fields' `required` flags
|
|
989
|
+
describe whether dictionary keys must be present. `total=False` applies to keys
|
|
990
|
+
declared by that class, while inherited keys retain their original presence
|
|
991
|
+
rules. Resolvable `Required`/`NotRequired` annotations override totality.
|
|
992
|
+
An explicit `total` expression is retained in `class_keywords.total`; when its
|
|
993
|
+
value cannot be determined statically, key presence is unknown unless overridden.
|
|
994
|
+
Entity pages show a separate **Presence** column for TypedDict keys, independently
|
|
995
|
+
of nullability and value defaults.
|
|
957
996
|
The payload also gains an optional top-level
|
|
958
997
|
`entrypoints` array (detected user-reachable entry points: `{id, category, file,
|
|
959
998
|
symbol, label}`), a `data_flows` list for detected user flows, plus a top-level
|
|
@@ -1102,7 +1141,16 @@ and profile JSON but do not make `lint`, `lint --strict`, or `ci-check` fail by
|
|
|
1102
1141
|
themselves. Stale architecture pages with no current source modules remain hard
|
|
1103
1142
|
issues.
|
|
1104
1143
|
Python dependency reconciliation reads `pyproject.toml` and `requirements*.txt`
|
|
1105
|
-
manifests, including nested manifests scoped to their directory.
|
|
1144
|
+
manifests, including nested manifests scoped to their directory. Python imports
|
|
1145
|
+
use the selected source root, conventional `src` layouts, and declared packaging
|
|
1146
|
+
roots; a nested file's basename is not a repository-wide import alias.
|
|
1147
|
+
`python_import_scope` records source-relative project and search roots when
|
|
1148
|
+
packaging metadata is available. Literal setuptools `package-dir`/`find.where`
|
|
1149
|
+
and Poetry package `from` settings support custom layouts. Ambiguous candidates
|
|
1150
|
+
are disclosed without becoming unconditional dependency edges or import cycles.
|
|
1151
|
+
Legitimate local standard-library shadowing and explicit relative imports remain
|
|
1152
|
+
supported; runtime import-hook and `sys.path` changes are not executed.
|
|
1153
|
+
TypeScript and
|
|
1106
1154
|
JavaScript reconciliation reads the nearest scoped `package.json` and resolves
|
|
1107
1155
|
first-party imports through the nearest `tsconfig.json` `baseUrl`/`paths`
|
|
1108
1156
|
aliases before reporting undeclared external packages. Generic internal import
|
|
@@ -710,6 +710,21 @@ generated from detected entry points with a call sequence, generated static
|
|
|
710
710
|
generated data-flow section. Large generated call-sequence diagrams are capped
|
|
711
711
|
to the first 30 interactions and include an omitted-interaction note so Mermaid
|
|
712
712
|
output stays readable on large repositories.
|
|
713
|
+
Sequence participants distinguish same-named functions in different modules
|
|
714
|
+
and calls through different receivers. A delegated call such as
|
|
715
|
+
`service.check_wiki()` stays distinct from a `check_wiki` wrapper; genuine
|
|
716
|
+
self-calls retain their self-arrows.
|
|
717
|
+
Calls on returned objects use compact labels such as `ReportBuilder(…).build`
|
|
718
|
+
in both diagrams. Matching compact labels receive context or a number to keep
|
|
719
|
+
their targets distinct. Full captured calls remain in the evidence tables;
|
|
720
|
+
dashed arrows identify external or unresolved calls, including methods whose
|
|
721
|
+
receiver type is unknown.
|
|
722
|
+
Workflow pages require resolved body calls into at least three other project
|
|
723
|
+
modules. Their sequences follow captured source order, without claiming runtime
|
|
724
|
+
branching or evaluation order. Type annotations and docstrings do not create
|
|
725
|
+
call steps. When an upgraded detector no longer recognizes a generated
|
|
726
|
+
workflow, sync retires generated-only pages; it stops before removing a page
|
|
727
|
+
with authored `Behavior` so you can archive that content explicitly.
|
|
713
728
|
Dependency architecture pages are generated as `dependencies.md` and
|
|
714
729
|
`load-order.md`; use `--skip-dependencies` for projects that do not want those
|
|
715
730
|
pages or lint diagnostics. Generated `index.md` is a registry-backed landing
|
|
@@ -721,6 +736,10 @@ Passing `--openapi-file` implies `--api-contracts`; the supplied OpenAPI 3.0 or
|
|
|
721
736
|
3.1 JSON/YAML document is authoritative for wire fields, while syntax-only
|
|
722
737
|
source analysis contributes handler, module, entity, and flow links. The target
|
|
723
738
|
application is never imported or executed.
|
|
739
|
+
Dynamic route expressions remain visible as unknown API-contract evidence.
|
|
740
|
+
Only concrete routes are attached to flow metadata, so unresolved paths do not
|
|
741
|
+
prevent bootstrap or sync and are never replaced with invented URLs. Supply an
|
|
742
|
+
OpenAPI export when authoritative concrete paths are needed.
|
|
724
743
|
`--depth full` is the default and includes
|
|
725
744
|
docstrings, imports, attributes, method signatures, generated relationship
|
|
726
745
|
sections, bounded per-module dependency mini-map summaries, and diagram data
|
|
@@ -873,6 +892,11 @@ test files remain part of normal Python extraction.
|
|
|
873
892
|
JavaScript `.js` and `.jsx` files are handled by the TypeScript extractor
|
|
874
893
|
family and use `language: "javascript"` in inventory output. Prepare the same
|
|
875
894
|
helper with `llm-wiki prepare-extractors --language typescript`.
|
|
895
|
+
Native knowledge records the selected producing extractor independently of this
|
|
896
|
+
language label, including TypeScript-family plugins that emit JavaScript.
|
|
897
|
+
After upgrading from artifacts with unknown JavaScript producer configuration,
|
|
898
|
+
run `llm-wiki sync --rebuild-knowledge` to record a fresh basis, then check health
|
|
899
|
+
with `llm-wiki doctor --strict`. Other health findings retain their usual meaning.
|
|
876
900
|
Plain `.js` files include named top-level function declarations in the
|
|
877
901
|
`functions` list even when they are local CommonJS helpers. Those functions are
|
|
878
902
|
rendered on module pages; JavaScript function declarations do not create entity
|
|
@@ -919,6 +943,21 @@ keyword-only, and variadic-keyword declarations. Python model/type inventory
|
|
|
919
943
|
also carries optional required/nullable/default/factory, alias, constraint,
|
|
920
944
|
description/example, `Annotated`, validator/config, enum-member, literal, and
|
|
921
945
|
type-alias metadata without importing Pydantic or application modules.
|
|
946
|
+
Python call targets follow lexical bindings. Builtins remain file-less calls;
|
|
947
|
+
local declarations, aliases, and imports resolve only when their targets are
|
|
948
|
+
justified. Uncertain rebinding and closures remain unresolved instead of linking
|
|
949
|
+
to unrelated same-named functions. Optional `call_bindings` entries parallel a
|
|
950
|
+
callable's `calls` list, `python_bindings` describes module bindings, and
|
|
951
|
+
`main_block_call_bindings` parallels guarded process-entry calls. Older
|
|
952
|
+
inventories may omit these fields.
|
|
953
|
+
TypedDict classes use `model_kind: "typeddict"`; their fields' `required` flags
|
|
954
|
+
describe whether dictionary keys must be present. `total=False` applies to keys
|
|
955
|
+
declared by that class, while inherited keys retain their original presence
|
|
956
|
+
rules. Resolvable `Required`/`NotRequired` annotations override totality.
|
|
957
|
+
An explicit `total` expression is retained in `class_keywords.total`; when its
|
|
958
|
+
value cannot be determined statically, key presence is unknown unless overridden.
|
|
959
|
+
Entity pages show a separate **Presence** column for TypedDict keys, independently
|
|
960
|
+
of nullability and value defaults.
|
|
922
961
|
The payload also gains an optional top-level
|
|
923
962
|
`entrypoints` array (detected user-reachable entry points: `{id, category, file,
|
|
924
963
|
symbol, label}`), a `data_flows` list for detected user flows, plus a top-level
|
|
@@ -1067,7 +1106,16 @@ and profile JSON but do not make `lint`, `lint --strict`, or `ci-check` fail by
|
|
|
1067
1106
|
themselves. Stale architecture pages with no current source modules remain hard
|
|
1068
1107
|
issues.
|
|
1069
1108
|
Python dependency reconciliation reads `pyproject.toml` and `requirements*.txt`
|
|
1070
|
-
manifests, including nested manifests scoped to their directory.
|
|
1109
|
+
manifests, including nested manifests scoped to their directory. Python imports
|
|
1110
|
+
use the selected source root, conventional `src` layouts, and declared packaging
|
|
1111
|
+
roots; a nested file's basename is not a repository-wide import alias.
|
|
1112
|
+
`python_import_scope` records source-relative project and search roots when
|
|
1113
|
+
packaging metadata is available. Literal setuptools `package-dir`/`find.where`
|
|
1114
|
+
and Poetry package `from` settings support custom layouts. Ambiguous candidates
|
|
1115
|
+
are disclosed without becoming unconditional dependency edges or import cycles.
|
|
1116
|
+
Legitimate local standard-library shadowing and explicit relative imports remain
|
|
1117
|
+
supported; runtime import-hook and `sys.path` changes are not executed.
|
|
1118
|
+
TypeScript and
|
|
1071
1119
|
JavaScript reconciliation reads the nearest scoped `package.json` and resolves
|
|
1072
1120
|
first-party imports through the nearest `tsconfig.json` `baseUrl`/`paths`
|
|
1073
1121
|
aliases before reporting undeclared external packages. Generic internal import
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: agent-wiki-cli
|
|
3
|
-
Version: 2.0.
|
|
3
|
+
Version: 2.0.2
|
|
4
4
|
Summary: CLI tool to maintain hybrid LLM Wikis for multi-language projects.
|
|
5
5
|
Author-email: Denis Sivagin <denissvgn@gmail.com>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -745,6 +745,21 @@ generated from detected entry points with a call sequence, generated static
|
|
|
745
745
|
generated data-flow section. Large generated call-sequence diagrams are capped
|
|
746
746
|
to the first 30 interactions and include an omitted-interaction note so Mermaid
|
|
747
747
|
output stays readable on large repositories.
|
|
748
|
+
Sequence participants distinguish same-named functions in different modules
|
|
749
|
+
and calls through different receivers. A delegated call such as
|
|
750
|
+
`service.check_wiki()` stays distinct from a `check_wiki` wrapper; genuine
|
|
751
|
+
self-calls retain their self-arrows.
|
|
752
|
+
Calls on returned objects use compact labels such as `ReportBuilder(…).build`
|
|
753
|
+
in both diagrams. Matching compact labels receive context or a number to keep
|
|
754
|
+
their targets distinct. Full captured calls remain in the evidence tables;
|
|
755
|
+
dashed arrows identify external or unresolved calls, including methods whose
|
|
756
|
+
receiver type is unknown.
|
|
757
|
+
Workflow pages require resolved body calls into at least three other project
|
|
758
|
+
modules. Their sequences follow captured source order, without claiming runtime
|
|
759
|
+
branching or evaluation order. Type annotations and docstrings do not create
|
|
760
|
+
call steps. When an upgraded detector no longer recognizes a generated
|
|
761
|
+
workflow, sync retires generated-only pages; it stops before removing a page
|
|
762
|
+
with authored `Behavior` so you can archive that content explicitly.
|
|
748
763
|
Dependency architecture pages are generated as `dependencies.md` and
|
|
749
764
|
`load-order.md`; use `--skip-dependencies` for projects that do not want those
|
|
750
765
|
pages or lint diagnostics. Generated `index.md` is a registry-backed landing
|
|
@@ -756,6 +771,10 @@ Passing `--openapi-file` implies `--api-contracts`; the supplied OpenAPI 3.0 or
|
|
|
756
771
|
3.1 JSON/YAML document is authoritative for wire fields, while syntax-only
|
|
757
772
|
source analysis contributes handler, module, entity, and flow links. The target
|
|
758
773
|
application is never imported or executed.
|
|
774
|
+
Dynamic route expressions remain visible as unknown API-contract evidence.
|
|
775
|
+
Only concrete routes are attached to flow metadata, so unresolved paths do not
|
|
776
|
+
prevent bootstrap or sync and are never replaced with invented URLs. Supply an
|
|
777
|
+
OpenAPI export when authoritative concrete paths are needed.
|
|
759
778
|
`--depth full` is the default and includes
|
|
760
779
|
docstrings, imports, attributes, method signatures, generated relationship
|
|
761
780
|
sections, bounded per-module dependency mini-map summaries, and diagram data
|
|
@@ -908,6 +927,11 @@ test files remain part of normal Python extraction.
|
|
|
908
927
|
JavaScript `.js` and `.jsx` files are handled by the TypeScript extractor
|
|
909
928
|
family and use `language: "javascript"` in inventory output. Prepare the same
|
|
910
929
|
helper with `llm-wiki prepare-extractors --language typescript`.
|
|
930
|
+
Native knowledge records the selected producing extractor independently of this
|
|
931
|
+
language label, including TypeScript-family plugins that emit JavaScript.
|
|
932
|
+
After upgrading from artifacts with unknown JavaScript producer configuration,
|
|
933
|
+
run `llm-wiki sync --rebuild-knowledge` to record a fresh basis, then check health
|
|
934
|
+
with `llm-wiki doctor --strict`. Other health findings retain their usual meaning.
|
|
911
935
|
Plain `.js` files include named top-level function declarations in the
|
|
912
936
|
`functions` list even when they are local CommonJS helpers. Those functions are
|
|
913
937
|
rendered on module pages; JavaScript function declarations do not create entity
|
|
@@ -954,6 +978,21 @@ keyword-only, and variadic-keyword declarations. Python model/type inventory
|
|
|
954
978
|
also carries optional required/nullable/default/factory, alias, constraint,
|
|
955
979
|
description/example, `Annotated`, validator/config, enum-member, literal, and
|
|
956
980
|
type-alias metadata without importing Pydantic or application modules.
|
|
981
|
+
Python call targets follow lexical bindings. Builtins remain file-less calls;
|
|
982
|
+
local declarations, aliases, and imports resolve only when their targets are
|
|
983
|
+
justified. Uncertain rebinding and closures remain unresolved instead of linking
|
|
984
|
+
to unrelated same-named functions. Optional `call_bindings` entries parallel a
|
|
985
|
+
callable's `calls` list, `python_bindings` describes module bindings, and
|
|
986
|
+
`main_block_call_bindings` parallels guarded process-entry calls. Older
|
|
987
|
+
inventories may omit these fields.
|
|
988
|
+
TypedDict classes use `model_kind: "typeddict"`; their fields' `required` flags
|
|
989
|
+
describe whether dictionary keys must be present. `total=False` applies to keys
|
|
990
|
+
declared by that class, while inherited keys retain their original presence
|
|
991
|
+
rules. Resolvable `Required`/`NotRequired` annotations override totality.
|
|
992
|
+
An explicit `total` expression is retained in `class_keywords.total`; when its
|
|
993
|
+
value cannot be determined statically, key presence is unknown unless overridden.
|
|
994
|
+
Entity pages show a separate **Presence** column for TypedDict keys, independently
|
|
995
|
+
of nullability and value defaults.
|
|
957
996
|
The payload also gains an optional top-level
|
|
958
997
|
`entrypoints` array (detected user-reachable entry points: `{id, category, file,
|
|
959
998
|
symbol, label}`), a `data_flows` list for detected user flows, plus a top-level
|
|
@@ -1102,7 +1141,16 @@ and profile JSON but do not make `lint`, `lint --strict`, or `ci-check` fail by
|
|
|
1102
1141
|
themselves. Stale architecture pages with no current source modules remain hard
|
|
1103
1142
|
issues.
|
|
1104
1143
|
Python dependency reconciliation reads `pyproject.toml` and `requirements*.txt`
|
|
1105
|
-
manifests, including nested manifests scoped to their directory.
|
|
1144
|
+
manifests, including nested manifests scoped to their directory. Python imports
|
|
1145
|
+
use the selected source root, conventional `src` layouts, and declared packaging
|
|
1146
|
+
roots; a nested file's basename is not a repository-wide import alias.
|
|
1147
|
+
`python_import_scope` records source-relative project and search roots when
|
|
1148
|
+
packaging metadata is available. Literal setuptools `package-dir`/`find.where`
|
|
1149
|
+
and Poetry package `from` settings support custom layouts. Ambiguous candidates
|
|
1150
|
+
are disclosed without becoming unconditional dependency edges or import cycles.
|
|
1151
|
+
Legitimate local standard-library shadowing and explicit relative imports remain
|
|
1152
|
+
supported; runtime import-hook and `sys.path` changes are not executed.
|
|
1153
|
+
TypeScript and
|
|
1106
1154
|
JavaScript reconciliation reads the nearest scoped `package.json` and resolves
|
|
1107
1155
|
first-party imports through the nearest `tsconfig.json` `baseUrl`/`paths`
|
|
1108
1156
|
aliases before reporting undeclared external packages. Generic internal import
|
|
@@ -59,6 +59,7 @@ src/llm_wiki_cli/extractors/common.py
|
|
|
59
59
|
src/llm_wiki_cli/extractors/fastapi_contracts.py
|
|
60
60
|
src/llm_wiki_cli/extractors/go_extractor.py
|
|
61
61
|
src/llm_wiki_cli/extractors/haskell_extractor.py
|
|
62
|
+
src/llm_wiki_cli/extractors/python_bindings.py
|
|
62
63
|
src/llm_wiki_cli/extractors/python_contracts.py
|
|
63
64
|
src/llm_wiki_cli/extractors/python_extractor.py
|
|
64
65
|
src/llm_wiki_cli/extractors/rust_extractor.py
|
|
@@ -152,7 +153,10 @@ src/llm_wiki_cli/services/plugin_samples.py
|
|
|
152
153
|
src/llm_wiki_cli/services/plugins.py
|
|
153
154
|
src/llm_wiki_cli/services/progress.py
|
|
154
155
|
src/llm_wiki_cli/services/protected_artifacts.py
|
|
156
|
+
src/llm_wiki_cli/services/python_calls.py
|
|
157
|
+
src/llm_wiki_cli/services/python_imports.py
|
|
155
158
|
src/llm_wiki_cli/services/python_observations.py
|
|
159
|
+
src/llm_wiki_cli/services/python_stdlib.py
|
|
156
160
|
src/llm_wiki_cli/services/redaction.py
|
|
157
161
|
src/llm_wiki_cli/services/relationships.py
|
|
158
162
|
src/llm_wiki_cli/services/rendering_lifecycle.py
|
|
@@ -345,6 +349,7 @@ tests/test_knowledge_loader.py
|
|
|
345
349
|
tests/test_knowledge_model.py
|
|
346
350
|
tests/test_knowledge_observability.py
|
|
347
351
|
tests/test_knowledge_performance.py
|
|
352
|
+
tests/test_knowledge_producer_languages.py
|
|
348
353
|
tests/test_knowledge_projection.py
|
|
349
354
|
tests/test_knowledge_projection_e2e.py
|
|
350
355
|
tests/test_knowledge_queries.py
|
|
@@ -381,7 +386,10 @@ tests/test_protocol_registry.py
|
|
|
381
386
|
tests/test_provisioning_failures.py
|
|
382
387
|
tests/test_public_docs_vocabulary.py
|
|
383
388
|
tests/test_publishing_hub_attack_contracts.py
|
|
389
|
+
tests/test_python_call_bindings.py
|
|
390
|
+
tests/test_python_import_scopes.py
|
|
384
391
|
tests/test_python_observation_cache.py
|
|
392
|
+
tests/test_python_typed_dicts.py
|
|
385
393
|
tests/test_quality_workflows.py
|
|
386
394
|
tests/test_redaction.py
|
|
387
395
|
tests/test_reference_skill_verifier.py
|
|
@@ -394,6 +402,7 @@ tests/test_release_supply_chain.py
|
|
|
394
402
|
tests/test_release_workflows.py
|
|
395
403
|
tests/test_rendering_lifecycle.py
|
|
396
404
|
tests/test_resource_diagnostics.py
|
|
405
|
+
tests/test_route_projection_regressions.py
|
|
397
406
|
tests/test_runtime_output.py
|
|
398
407
|
tests/test_rust_extract.py
|
|
399
408
|
tests/test_schema.py
|
|
@@ -427,6 +436,7 @@ tests/test_upgrade.py
|
|
|
427
436
|
tests/test_validated_knowledge_reuse.py
|
|
428
437
|
tests/test_validation.py
|
|
429
438
|
tests/test_verification_contracts.py
|
|
439
|
+
tests/test_verified_bug_migrations.py
|
|
430
440
|
tests/test_versioning.py
|
|
431
441
|
tests/test_wiki_git_policy.py
|
|
432
442
|
tests/test_wiki_helper_cache.py
|
|
@@ -80,6 +80,7 @@ from ..services.bootstrap_runtime import (
|
|
|
80
80
|
)
|
|
81
81
|
from ..services.extraction_service import (
|
|
82
82
|
InventoryResult,
|
|
83
|
+
_workflow_name,
|
|
83
84
|
get_call_graph,
|
|
84
85
|
get_docker_inventory,
|
|
85
86
|
get_inventory_result,
|
|
@@ -506,13 +507,13 @@ def _build_workflow_link_maps(
|
|
|
506
507
|
return {}
|
|
507
508
|
|
|
508
509
|
page_maps: dict[str, dict[str, str]] = {}
|
|
509
|
-
for wf_name,
|
|
510
|
+
for wf_name, source_paths in _workflow_link_sources(inventory, module_page_map).items():
|
|
510
511
|
wf_path = workflow_dir / f"{wf_name}.md"
|
|
511
512
|
if not wf_path.exists():
|
|
512
513
|
continue
|
|
513
514
|
|
|
514
515
|
stem_targets: dict[str, set[str]] = {}
|
|
515
|
-
for source_path in
|
|
516
|
+
for source_path in source_paths:
|
|
516
517
|
page_stem = module_page_map.get(source_path)
|
|
517
518
|
if not page_stem:
|
|
518
519
|
continue
|
|
@@ -531,6 +532,46 @@ def _build_workflow_link_maps(
|
|
|
531
532
|
return page_maps
|
|
532
533
|
|
|
533
534
|
|
|
535
|
+
def _workflow_link_sources(
|
|
536
|
+
inventory: dict, module_page_map: dict[str, str]
|
|
537
|
+
) -> dict[str, set[str]]:
|
|
538
|
+
"""Keep legacy type-reference link repair separate from workflow detection.
|
|
539
|
+
|
|
540
|
+
Older pages may have been generated from annotations without any body
|
|
541
|
+
calls. Those references still help repair links on existing pages; they
|
|
542
|
+
must not create new workflows or be rendered as an execution sequence.
|
|
543
|
+
"""
|
|
544
|
+
workflows = get_call_graph(inventory)
|
|
545
|
+
paths = {
|
|
546
|
+
name: set(workflow.get("modules_touched_paths", []))
|
|
547
|
+
for name, workflow in workflows.items()
|
|
548
|
+
}
|
|
549
|
+
candidates: dict[str, dict[str, set[str]]] = {}
|
|
550
|
+
definitions: dict[str, set[str]] = {}
|
|
551
|
+
for source, data in inventory.items():
|
|
552
|
+
for function in data.get("functions", []):
|
|
553
|
+
name = _workflow_name(function["name"], Path(source).stem)
|
|
554
|
+
definitions.setdefault(name, set()).add(source)
|
|
555
|
+
for (_, target), references in _build_relationships(inventory, module_page_map).items():
|
|
556
|
+
for reference in references:
|
|
557
|
+
function = reference.get("function")
|
|
558
|
+
if not function:
|
|
559
|
+
continue
|
|
560
|
+
source = reference["module_path"]
|
|
561
|
+
name = _workflow_name(function, reference["module"])
|
|
562
|
+
entries = candidates.setdefault(name, {})
|
|
563
|
+
entries.setdefault(source, {source}).add(target)
|
|
564
|
+
for name, entries in candidates.items():
|
|
565
|
+
if name in workflows:
|
|
566
|
+
source = workflows[name].get("entry_module_path")
|
|
567
|
+
paths[name].update(entries.get(source, set()))
|
|
568
|
+
elif len(entries) == 1 and len(definitions.get(name, set())) == 1:
|
|
569
|
+
# A same-named callable in another module is not sufficient proof
|
|
570
|
+
# to rewrite an ambiguous legacy link.
|
|
571
|
+
paths[name] = next(iter(entries.values()))
|
|
572
|
+
return paths
|
|
573
|
+
|
|
574
|
+
|
|
534
575
|
def _unique(values: list[TargetPage]) -> TargetPage | None:
|
|
535
576
|
return values[0] if len(values) == 1 else None
|
|
536
577
|
|