ai-docs-toolkit 0.4.0__tar.gz → 0.4.1__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.
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/PKG-INFO +18 -5
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/README.md +8 -3
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/packaging/pypi/README.md +17 -4
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/pyproject.toml +1 -1
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/__init__.py +1 -1
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/core/impact.py +3 -1
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/docs/agent-installation.md +63 -1
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit.egg-info/PKG-INFO +18 -5
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/tests/test_cli_baseline.py +2 -2
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/tests/test_impact_analysis.py +72 -1
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/tests/test_impact_cli_json.py +41 -3
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/setup.cfg +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/__main__.py +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/cli/__init__.py +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/context/__init__.py +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/context/markdown_output.py +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/core/__init__.py +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/core/azure_devops_provider.py +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/core/changed_files.py +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/core/code_links.py +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/core/config.py +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/core/context.py +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/core/doctor.py +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/core/file_lookup.py +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/core/frontmatter.py +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/core/graph.py +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/core/init.py +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/core/planning_operations.py +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/core/planning_scaffold.py +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/core/registry.py +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/core/requirement_capture.py +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/core/scanner.py +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/core/schema_validation.py +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/core/section_fix.py +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/core/structure_validation.py +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/core/task_export.py +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/graph/__init__.py +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/graph/json_output.py +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/impact/__init__.py +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/impact/json_output.py +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/mcp/__init__.py +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/mcp/__main__.py +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/mcp/server.py +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/mcp/setup.py +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/review/__init__.py +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/review/check.py +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/review/record.py +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/templates/project/.ai-docs/examples/skills/release-publication/SKILL.md +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/templates/project/.ai-docs/reference/documentation-cascade-authoring-skill.md +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/templates/project/.ai-docs/reference/documentation-change-review-skill.md +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/templates/project/.ai-docs/reference/incoming-request-model.md +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/templates/project/.ai-docs/reference/incoming-request-triage-skill.md +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/templates/project/.ai-docs/reference/init-command-contract.md +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/templates/project/.ai-docs/reference/planning-document-model.md +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/templates/project/.ai-docs/reference/toolkit-maintenance-context-routing.md +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/templates/project/.ai-docs/schemas/document-types/acceptance.schema.yaml +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/templates/project/.ai-docs/schemas/document-types/architecture-decision.schema.yaml +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/templates/project/.ai-docs/schemas/document-types/asset.schema.yaml +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/templates/project/.ai-docs/schemas/document-types/business-rule.schema.yaml +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/templates/project/.ai-docs/schemas/document-types/contract.schema.yaml +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/templates/project/.ai-docs/schemas/document-types/guide.schema.yaml +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/templates/project/.ai-docs/schemas/document-types/implementation-task.schema.yaml +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/templates/project/.ai-docs/schemas/document-types/index.schema.yaml +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/templates/project/.ai-docs/schemas/document-types/inventory.schema.yaml +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/templates/project/.ai-docs/schemas/document-types/module.schema.yaml +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/templates/project/.ai-docs/schemas/document-types/operation.schema.yaml +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/templates/project/.ai-docs/schemas/document-types/plan-stage.schema.yaml +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/templates/project/.ai-docs/schemas/document-types/plan.schema.yaml +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/templates/project/.ai-docs/schemas/document-types/runbook.schema.yaml +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/templates/project/.ai-docs/schemas/document-types/scenario.schema.yaml +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/templates/project/.ai-docs/schemas/document-types/standalone-task.schema.yaml +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/templates/project/.ai-docs/schemas/document-types/task-registry.schema.yaml +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/templates/project/.ai-docs/schemas/document-types/test-case.schema.yaml +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/templates/project/.ai-docs/schemas/frontmatter.schema.yaml +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/templates/project/.ai-docs/skills/documentation-cascade-authoring/SKILL.md +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/templates/project/.ai-docs/skills/documentation-change-review/SKILL.md +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/templates/project/.ai-docs/skills/incoming-request-triage/SKILL.md +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/templates/project/.ai-docs/skills/index.md +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/templates/project/.ai-docs/skills/planning-record-generation/SKILL.md +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/templates/project/.ai-docs/skills/planning-task-execution/SKILL.md +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/templates/project/.ai-docs/skills/toolkit-consumer-policy/SKILL.md +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/templates/project/.ai-docs/skills/update-ai-docs-toolkit/SKILL.md +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/templates/project/.ai-docs/templates/release/agent-context-architecture-beta-18.md +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/templates/project/.ai-docs/templates/release/archive-validation-beta-12.md +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/templates/project/.ai-docs/templates/release/cascade-impact-beta-14.md +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/templates/project/.ai-docs/templates/release/consumer-migration-hardening.md +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/templates/project/.ai-docs/templates/release/decision-visibility-beta-13.md +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/templates/project/.ai-docs/templates/release/doctor-filesystem-traversal-beta-19.md +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/templates/project/.ai-docs/templates/release/doctor-json-provenance-beta-20.md +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/templates/project/.ai-docs/templates/release/documentation-cascade-authoring-beta-23.md +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/templates/project/.ai-docs/templates/release/documentation-change-review-beta-21.md +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/templates/project/.ai-docs/templates/release/incoming-request-storage-beta-17.md +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/templates/project/.ai-docs/templates/release/incoming-request-triage-beta-22.md +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/templates/project/.ai-docs/templates/release/migration-note.md +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/templates/project/.ai-docs/templates/release/post-publication-checks.md +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/templates/project/.ai-docs/templates/release/release-task.md +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/templates/project/.ai-docs/templates/release/routing-restoration-beta-15.md +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/templates/project/.ai-docs/templates/release/task-retirement-beta-16.md +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/templates/project/.ai-docs/templates/release/validation-evidence.md +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/templates/project/.ai-docs/templates/release/version-change-checklist.md +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/templates/project/.ai-docs/workflows/documentation-cascade-adoption.md +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/templates/project/.ai-docs/workflows/plan-stage-workflow.md +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/templates/project/.ai-docs/workflows/toolkit-migration-workflow.md +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/templates/project/AGENTS.md +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/templates/project/ai-docs-index.md +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/templates/project/ai-docs.config.yaml +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/validation/__init__.py +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/validation/human.py +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit.egg-info/SOURCES.txt +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit.egg-info/dependency_links.txt +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit.egg-info/entry_points.txt +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit.egg-info/requires.txt +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit.egg-info/top_level.txt +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/tests/test_azure_devops_provider.py +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/tests/test_bootstrap_templates.py +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/tests/test_code_links.py +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/tests/test_config_loader_and_scanner.py +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/tests/test_consumer_matrix.py +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/tests/test_context_cli_json.py +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/tests/test_context_cli_markdown.py +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/tests/test_context_depth.py +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/tests/test_context_policy.py +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/tests/test_context_selector.py +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/tests/test_document_graph.py +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/tests/test_document_registry.py +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/tests/test_execution_evals.py +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/tests/test_frontmatter_parser.py +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/tests/test_graph_cli_json.py +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/tests/test_impact_cli_human.py +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/tests/test_init_cli.py +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/tests/test_mcp_server.py +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/tests/test_review_check.py +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/tests/test_schema_validation.py +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/tests/test_skill_eval_harness.py +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/tests/test_structure_validation.py +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/tests/test_task_export.py +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/tests/test_validate_cli_human.py +0 -0
- {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/tests/test_validate_cli_json.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ai-docs-toolkit
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.1
|
|
4
4
|
Summary: AI-oriented documentation toolkit.
|
|
5
5
|
Requires-Python: >=3.14
|
|
6
6
|
Description-Content-Type: text/markdown
|
|
@@ -30,7 +30,7 @@ The core idea is that documentation should not be a secondary artifact created a
|
|
|
30
30
|
|
|
31
31
|
## Current Status
|
|
32
32
|
|
|
33
|
-
Version 0.4.
|
|
33
|
+
Version 0.4.1 includes:
|
|
34
34
|
|
|
35
35
|
- schema and structure validation for Markdown documents with YAML front matter;
|
|
36
36
|
- document graph output;
|
|
@@ -48,26 +48,39 @@ Version 0.4.0 includes:
|
|
|
48
48
|
Install this version with Python 3.14 or newer once it is available on PyPI:
|
|
49
49
|
|
|
50
50
|
```bash
|
|
51
|
-
python -m pip install ai-docs-toolkit==0.4.
|
|
51
|
+
python -m pip install ai-docs-toolkit==0.4.1
|
|
52
52
|
ai-docs --version
|
|
53
53
|
```
|
|
54
54
|
|
|
55
55
|
For ephemeral execution with `uvx`:
|
|
56
56
|
|
|
57
57
|
```bash
|
|
58
|
-
uvx --python 3.14 --from ai-docs-toolkit==0.4.
|
|
58
|
+
uvx --python 3.14 --from ai-docs-toolkit==0.4.1 ai-docs --version
|
|
59
59
|
```
|
|
60
60
|
|
|
61
61
|
For the optional local MCP runtime:
|
|
62
62
|
|
|
63
63
|
```bash
|
|
64
|
-
python -m pip install "ai-docs-toolkit[mcp]==0.4.
|
|
64
|
+
python -m pip install "ai-docs-toolkit[mcp]==0.4.1"
|
|
65
65
|
ai-docs-mcp --project-root .
|
|
66
66
|
```
|
|
67
67
|
|
|
68
68
|
For the latest stable release, use `python -m pip install --upgrade ai-docs-toolkit`
|
|
69
69
|
without an exact version pin.
|
|
70
70
|
|
|
71
|
+
## Release 0.4.1
|
|
72
|
+
|
|
73
|
+
Impact now includes test cases explicitly linked to a module, including modules
|
|
74
|
+
selected from changed code through `cascade.module_ownership`. Both incoming
|
|
75
|
+
`related.modules` and outgoing `related.test_cases` links work. Test cases remain
|
|
76
|
+
terminal review candidates; output fields and exit codes are unchanged.
|
|
77
|
+
|
|
78
|
+
No schema, configuration or managed-template content migration is required from
|
|
79
|
+
0.4.0. Upgrade the package, reconnect MCP clients, rerun impact discovery and
|
|
80
|
+
review newly included candidates before reusing saved evidence. Preserve project
|
|
81
|
+
files, IDs, local rules and historical review rounds. See “Migration 0.4.0 To 0.4.1”
|
|
82
|
+
in `ai_docs_toolkit/docs/agent-installation.md` for commands and rollback.
|
|
83
|
+
|
|
71
84
|
## Release 0.4.0
|
|
72
85
|
|
|
73
86
|
`ai-docs code-links-check FILE... --format json` checks documentation paths and
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
AI Docs Toolkit is a documentation toolkit for AI-assisted software development.
|
|
4
4
|
|
|
5
|
-
It treats documentation as an engineering interface between humans, AI agents, code, tests and change management.
|
|
5
|
+
It treats documentation as an engineering interface between humans, AI agents, code, tests and change management. The source tree prepares 0.4.1, extending impact to module-linked test cases, alongside optional code-link checks, test-evidence review, rollback guidance and changed-path coverage. Python 3.14 or newer is required.
|
|
6
6
|
|
|
7
7
|
## Purpose
|
|
8
8
|
|
|
@@ -83,7 +83,12 @@ pipx install ai-docs-toolkit
|
|
|
83
83
|
uvx --from ai-docs-toolkit ai-docs validate
|
|
84
84
|
```
|
|
85
85
|
|
|
86
|
-
|
|
86
|
+
Version 0.4.1 is prepared in source and has not been published yet. After publication,
|
|
87
|
+
follow the [0.4.0 → 0.4.1 migration guide](src/ai_docs_toolkit/docs/agent-installation.md#migration-040-to-041).
|
|
88
|
+
This patch requires no schema, configuration or managed-template content migration;
|
|
89
|
+
repeat impact discovery and review any newly included module-linked test cases.
|
|
90
|
+
Consumers on 0.3.3 must also apply the
|
|
91
|
+
[0.4.0 migration](src/ai_docs_toolkit/docs/agent-installation.md#migration-033-to-040).
|
|
87
92
|
Consumers on 0.3.1 must also read the
|
|
88
93
|
[0.3.2 migration](src/ai_docs_toolkit/docs/agent-installation.md#migration-031-to-032).
|
|
89
94
|
Consumers on 0.3.0 must also read the
|
|
@@ -96,7 +101,7 @@ Use Python 3.14+, review managed-file changes and preserve existing project rule
|
|
|
96
101
|
and task records before refreshing. Completed standalone tasks are archived;
|
|
97
102
|
tasks in a plan remain in place until the whole plan is archived.
|
|
98
103
|
|
|
99
|
-
Version 0.4.0 is
|
|
104
|
+
[Version 0.4.0 is available on Public PyPI](https://pypi.org/project/ai-docs-toolkit/0.4.0/). The
|
|
100
105
|
[test-evidence review rule](.ai-docs/reference/documentation-change-review-skill.md#test-evidence-review)
|
|
101
106
|
connects material requirements to test setup and assertions. A concrete risk of
|
|
102
107
|
masked violations calls for a proportionate check within existing authority.
|
|
@@ -16,7 +16,7 @@ The core idea is that documentation should not be a secondary artifact created a
|
|
|
16
16
|
|
|
17
17
|
## Current Status
|
|
18
18
|
|
|
19
|
-
Version 0.4.
|
|
19
|
+
Version 0.4.1 includes:
|
|
20
20
|
|
|
21
21
|
- schema and structure validation for Markdown documents with YAML front matter;
|
|
22
22
|
- document graph output;
|
|
@@ -34,26 +34,39 @@ Version 0.4.0 includes:
|
|
|
34
34
|
Install this version with Python 3.14 or newer once it is available on PyPI:
|
|
35
35
|
|
|
36
36
|
```bash
|
|
37
|
-
python -m pip install ai-docs-toolkit==0.4.
|
|
37
|
+
python -m pip install ai-docs-toolkit==0.4.1
|
|
38
38
|
ai-docs --version
|
|
39
39
|
```
|
|
40
40
|
|
|
41
41
|
For ephemeral execution with `uvx`:
|
|
42
42
|
|
|
43
43
|
```bash
|
|
44
|
-
uvx --python 3.14 --from ai-docs-toolkit==0.4.
|
|
44
|
+
uvx --python 3.14 --from ai-docs-toolkit==0.4.1 ai-docs --version
|
|
45
45
|
```
|
|
46
46
|
|
|
47
47
|
For the optional local MCP runtime:
|
|
48
48
|
|
|
49
49
|
```bash
|
|
50
|
-
python -m pip install "ai-docs-toolkit[mcp]==0.4.
|
|
50
|
+
python -m pip install "ai-docs-toolkit[mcp]==0.4.1"
|
|
51
51
|
ai-docs-mcp --project-root .
|
|
52
52
|
```
|
|
53
53
|
|
|
54
54
|
For the latest stable release, use `python -m pip install --upgrade ai-docs-toolkit`
|
|
55
55
|
without an exact version pin.
|
|
56
56
|
|
|
57
|
+
## Release 0.4.1
|
|
58
|
+
|
|
59
|
+
Impact now includes test cases explicitly linked to a module, including modules
|
|
60
|
+
selected from changed code through `cascade.module_ownership`. Both incoming
|
|
61
|
+
`related.modules` and outgoing `related.test_cases` links work. Test cases remain
|
|
62
|
+
terminal review candidates; output fields and exit codes are unchanged.
|
|
63
|
+
|
|
64
|
+
No schema, configuration or managed-template content migration is required from
|
|
65
|
+
0.4.0. Upgrade the package, reconnect MCP clients, rerun impact discovery and
|
|
66
|
+
review newly included candidates before reusing saved evidence. Preserve project
|
|
67
|
+
files, IDs, local rules and historical review rounds. See “Migration 0.4.0 To 0.4.1”
|
|
68
|
+
in `ai_docs_toolkit/docs/agent-installation.md` for commands and rollback.
|
|
69
|
+
|
|
57
70
|
## Release 0.4.0
|
|
58
71
|
|
|
59
72
|
`ai-docs code-links-check FILE... --format json` checks documentation paths and
|
|
@@ -7,6 +7,8 @@ from ai_docs_toolkit.core.graph import DocumentGraph, DocumentGraphEdge, Documen
|
|
|
7
7
|
|
|
8
8
|
RULE_DOCUMENT_IMPACT_UNKNOWN_ID = "document.impact.unknown_id"
|
|
9
9
|
|
|
10
|
+
# Select review candidates through explicit links; test cases remain terminal.
|
|
11
|
+
# Docs: MOD-IMPACT-TRAVERSAL-001 | ai-docs/product/modules/impact-analysis/modules/traversal/module.md
|
|
10
12
|
IMPACT_TRANSITIONS: dict[str, frozenset[str]] = {
|
|
11
13
|
"business_rule": frozenset(
|
|
12
14
|
{
|
|
@@ -36,7 +38,7 @@ IMPACT_TRANSITIONS: dict[str, frozenset[str]] = {
|
|
|
36
38
|
{"module", "scenario", "acceptance", "guide", "operation", "runbook"}
|
|
37
39
|
),
|
|
38
40
|
"module": frozenset(
|
|
39
|
-
{"contract", "scenario", "acceptance", "guide", "operation", "runbook"}
|
|
41
|
+
{"contract", "scenario", "acceptance", "test_case", "guide", "operation", "runbook"}
|
|
40
42
|
),
|
|
41
43
|
"scenario": frozenset({"acceptance", "test_case", "guide", "operation", "runbook"}),
|
|
42
44
|
"acceptance": frozenset({"test_case", "operation", "runbook"}),
|
{ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/docs/agent-installation.md
RENAMED
|
@@ -47,7 +47,7 @@ ai-docs --version
|
|
|
47
47
|
Pinned install:
|
|
48
48
|
|
|
49
49
|
```bash
|
|
50
|
-
python -m pip install "ai-docs-toolkit==0.4.
|
|
50
|
+
python -m pip install "ai-docs-toolkit==0.4.1"
|
|
51
51
|
ai-docs --version
|
|
52
52
|
```
|
|
53
53
|
|
|
@@ -89,6 +89,68 @@ bulk task deletion is required. Detailed migration and rollback guidance is in
|
|
|
89
89
|
the installed `.ai-docs/reference/planning-document-model.md`, under
|
|
90
90
|
“Consumer Migration: Proportionate Workflow”.
|
|
91
91
|
|
|
92
|
+
## Migration 0.4.0 To 0.4.1
|
|
93
|
+
|
|
94
|
+
From: `0.4.0`. To: `0.4.1`. Install the target only after it is available on
|
|
95
|
+
Public PyPI. Python 3.14+ remains required.
|
|
96
|
+
|
|
97
|
+
This patch includes test cases explicitly linked to a module in `impact`
|
|
98
|
+
results, including modules selected through `cascade.module_ownership`.
|
|
99
|
+
Use `related.modules` on the test case or `related.test_cases` on the module.
|
|
100
|
+
Test cases remain terminal review candidates; inclusion does not run tests or
|
|
101
|
+
prove coverage. Parent/child module links alone do not expand traversal.
|
|
102
|
+
Output fields and exit codes are unchanged.
|
|
103
|
+
|
|
104
|
+
Record the current version, Git state, independent project checks and saved
|
|
105
|
+
review evidence before upgrading:
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
ai-docs --version
|
|
109
|
+
ai-docs validate --json
|
|
110
|
+
ai-docs doctor --format json
|
|
111
|
+
ai-docs init --check
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
Install in the project's approved environment and update its version pin:
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
python -m pip install --upgrade "ai-docs-toolkit==0.4.1"
|
|
118
|
+
# MCP users install the complete extra instead:
|
|
119
|
+
python -m pip install --upgrade "ai-docs-toolkit[mcp]==0.4.1"
|
|
120
|
+
# Isolated CLI alternatives:
|
|
121
|
+
pipx install --force --python python3.14 "ai-docs-toolkit==0.4.1"
|
|
122
|
+
uvx --python 3.14 --from ai-docs-toolkit==0.4.1 ai-docs --version
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
Reconnect long-lived MCP clients to load the new traversal behavior. No schema,
|
|
126
|
+
configuration, document-layout or init-managed content migration is required
|
|
127
|
+
from 0.4.0. `init` is not needed to activate this fix. If run, it updates managed
|
|
128
|
+
manifest version provenance while preserving unchanged managed content. Preserve
|
|
129
|
+
project documents, IDs, aliases, AGENTS.md, local rules and historical reviews.
|
|
130
|
+
|
|
131
|
+
After upgrading:
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
ai-docs --version
|
|
135
|
+
ai-docs validate --json
|
|
136
|
+
ai-docs doctor --format json
|
|
137
|
+
ai-docs init --check
|
|
138
|
+
# Substitute an actual module ID, or use the original changed/base review scope:
|
|
139
|
+
ai-docs impact --id MOD-YOUR-MODULE-001 --format json
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
Expect version 0.4.1 and no unexpected validation/doctor/init findings. Review
|
|
143
|
+
newly included test cases, their selectors and assertions. Repeat the original
|
|
144
|
+
impact discovery before reusing saved evidence; a new tool identity or candidate
|
|
145
|
+
set requires a new reviewed round, without rewriting historical records. Keep
|
|
146
|
+
independent project gates. Stop for unresolved policy drift, unexplained impact
|
|
147
|
+
changes or project rewrites outside this migration.
|
|
148
|
+
|
|
149
|
+
For rollback, preserve current evidence, revert only this upgrade's committed
|
|
150
|
+
pin/provenance changes and reinstall 0.4.0. Verify the restored version and
|
|
151
|
+
project gates. Module-linked test cases will again require manual discovery.
|
|
152
|
+
See “Rollback Verification” for dependency-restoration and reproducibility limits.
|
|
153
|
+
|
|
92
154
|
## Migration 0.3.3 To 0.4.0
|
|
93
155
|
|
|
94
156
|
From: `0.3.3`. To: `0.4.0`. Install the target only after it is available on
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ai-docs-toolkit
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.1
|
|
4
4
|
Summary: AI-oriented documentation toolkit.
|
|
5
5
|
Requires-Python: >=3.14
|
|
6
6
|
Description-Content-Type: text/markdown
|
|
@@ -30,7 +30,7 @@ The core idea is that documentation should not be a secondary artifact created a
|
|
|
30
30
|
|
|
31
31
|
## Current Status
|
|
32
32
|
|
|
33
|
-
Version 0.4.
|
|
33
|
+
Version 0.4.1 includes:
|
|
34
34
|
|
|
35
35
|
- schema and structure validation for Markdown documents with YAML front matter;
|
|
36
36
|
- document graph output;
|
|
@@ -48,26 +48,39 @@ Version 0.4.0 includes:
|
|
|
48
48
|
Install this version with Python 3.14 or newer once it is available on PyPI:
|
|
49
49
|
|
|
50
50
|
```bash
|
|
51
|
-
python -m pip install ai-docs-toolkit==0.4.
|
|
51
|
+
python -m pip install ai-docs-toolkit==0.4.1
|
|
52
52
|
ai-docs --version
|
|
53
53
|
```
|
|
54
54
|
|
|
55
55
|
For ephemeral execution with `uvx`:
|
|
56
56
|
|
|
57
57
|
```bash
|
|
58
|
-
uvx --python 3.14 --from ai-docs-toolkit==0.4.
|
|
58
|
+
uvx --python 3.14 --from ai-docs-toolkit==0.4.1 ai-docs --version
|
|
59
59
|
```
|
|
60
60
|
|
|
61
61
|
For the optional local MCP runtime:
|
|
62
62
|
|
|
63
63
|
```bash
|
|
64
|
-
python -m pip install "ai-docs-toolkit[mcp]==0.4.
|
|
64
|
+
python -m pip install "ai-docs-toolkit[mcp]==0.4.1"
|
|
65
65
|
ai-docs-mcp --project-root .
|
|
66
66
|
```
|
|
67
67
|
|
|
68
68
|
For the latest stable release, use `python -m pip install --upgrade ai-docs-toolkit`
|
|
69
69
|
without an exact version pin.
|
|
70
70
|
|
|
71
|
+
## Release 0.4.1
|
|
72
|
+
|
|
73
|
+
Impact now includes test cases explicitly linked to a module, including modules
|
|
74
|
+
selected from changed code through `cascade.module_ownership`. Both incoming
|
|
75
|
+
`related.modules` and outgoing `related.test_cases` links work. Test cases remain
|
|
76
|
+
terminal review candidates; output fields and exit codes are unchanged.
|
|
77
|
+
|
|
78
|
+
No schema, configuration or managed-template content migration is required from
|
|
79
|
+
0.4.0. Upgrade the package, reconnect MCP clients, rerun impact discovery and
|
|
80
|
+
review newly included candidates before reusing saved evidence. Preserve project
|
|
81
|
+
files, IDs, local rules and historical review rounds. See “Migration 0.4.0 To 0.4.1”
|
|
82
|
+
in `ai_docs_toolkit/docs/agent-installation.md` for commands and rollback.
|
|
83
|
+
|
|
71
84
|
## Release 0.4.0
|
|
72
85
|
|
|
73
86
|
`ai-docs code-links-check FILE... --format json` checks documentation paths and
|
|
@@ -10,7 +10,7 @@ def test_cli_help(capsys):
|
|
|
10
10
|
assert main(["--help"]) == 0
|
|
11
11
|
|
|
12
12
|
output = capsys.readouterr()
|
|
13
|
-
assert "ai-docs 0.4.
|
|
13
|
+
assert "ai-docs 0.4.1" in output.out
|
|
14
14
|
assert "ai-docs doctor" in output.out
|
|
15
15
|
assert "ai-docs validate" in output.out
|
|
16
16
|
assert "ai-docs validate --json" in output.out
|
|
@@ -24,7 +24,7 @@ def test_cli_version(capsys):
|
|
|
24
24
|
assert main(["--version"]) == 0
|
|
25
25
|
|
|
26
26
|
output = capsys.readouterr()
|
|
27
|
-
assert output.out.strip() == "0.4.
|
|
27
|
+
assert output.out.strip() == "0.4.1"
|
|
28
28
|
assert output.err == ""
|
|
29
29
|
|
|
30
30
|
|
|
@@ -91,6 +91,7 @@ def test_impact_analyzer_reports_direct_impact():
|
|
|
91
91
|
("source_id", "source_type", "relationship"),
|
|
92
92
|
[
|
|
93
93
|
("BR-TEST-001", "business_rule", "business_rules"),
|
|
94
|
+
("MOD-TEST-001", "module", "modules"),
|
|
94
95
|
("SCN-TEST-001", "scenario", "scenarios"),
|
|
95
96
|
("ACC-TEST-001", "acceptance", "acceptance"),
|
|
96
97
|
],
|
|
@@ -118,6 +119,76 @@ def test_test_case_direct_impact_from_supported_sources(source_id, source_type,
|
|
|
118
119
|
)
|
|
119
120
|
|
|
120
121
|
|
|
122
|
+
def test_module_test_case_outgoing_link():
|
|
123
|
+
document_graph = graph(
|
|
124
|
+
nodes=(node("MOD-TEST-001", "module"), node("TC-TEST-001", "test_case")),
|
|
125
|
+
edges=(edge("MOD-TEST-001", "TC-TEST-001", "test_cases"),),
|
|
126
|
+
)
|
|
127
|
+
|
|
128
|
+
result = analyze_document_impact(document_graph, ["MOD-TEST-001"])
|
|
129
|
+
|
|
130
|
+
assert result.ok
|
|
131
|
+
assert [(item.document_id, item.distance) for item in result.impacted] == [
|
|
132
|
+
("TC-TEST-001", 1)
|
|
133
|
+
]
|
|
134
|
+
assert result.impacted[0].reasons == (
|
|
135
|
+
ImpactReason(
|
|
136
|
+
source="MOD-TEST-001",
|
|
137
|
+
via=None,
|
|
138
|
+
relationship="test_cases",
|
|
139
|
+
direction="outgoing",
|
|
140
|
+
message="MOD-TEST-001 references TC-TEST-001 through related.test_cases.",
|
|
141
|
+
),
|
|
142
|
+
)
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
def test_module_test_case_transitive_path_preserves_boundaries():
|
|
146
|
+
document_graph = graph(
|
|
147
|
+
nodes=(
|
|
148
|
+
node("CON-TEST-001", "contract"),
|
|
149
|
+
node("MOD-TEST-001", "module"),
|
|
150
|
+
node("TC-TEST-001", "test_case"),
|
|
151
|
+
node("MOD-OTHER-001", "module"),
|
|
152
|
+
node("MOD-PARENT-001", "module"),
|
|
153
|
+
node("MOD-CHILD-001", "module"),
|
|
154
|
+
node("TC-OTHER-001", "test_case"),
|
|
155
|
+
node("TC-PARENT-001", "test_case"),
|
|
156
|
+
node("TC-CHILD-001", "test_case"),
|
|
157
|
+
node("TC-UNLINKED-001", "test_case"),
|
|
158
|
+
),
|
|
159
|
+
edges=(
|
|
160
|
+
edge("CON-TEST-001", "MOD-TEST-001", "modules"),
|
|
161
|
+
edge("TC-TEST-001", "MOD-TEST-001", "modules"),
|
|
162
|
+
# A shared test must not bridge to another module and its tests.
|
|
163
|
+
edge("TC-TEST-001", "MOD-OTHER-001", "modules"),
|
|
164
|
+
edge("TC-OTHER-001", "MOD-OTHER-001", "modules"),
|
|
165
|
+
# The module tree itself is navigation, not an accepted impact path.
|
|
166
|
+
edge("MOD-PARENT-001", "MOD-TEST-001", "modules"),
|
|
167
|
+
edge("MOD-TEST-001", "MOD-CHILD-001", "modules"),
|
|
168
|
+
edge("TC-PARENT-001", "MOD-PARENT-001", "modules"),
|
|
169
|
+
edge("TC-CHILD-001", "MOD-CHILD-001", "modules"),
|
|
170
|
+
),
|
|
171
|
+
)
|
|
172
|
+
|
|
173
|
+
result = analyze_document_impact(document_graph, ["CON-TEST-001"])
|
|
174
|
+
|
|
175
|
+
assert result.ok
|
|
176
|
+
assert [(item.document_id, item.impact, item.distance) for item in result.impacted] == [
|
|
177
|
+
("MOD-TEST-001", "direct", 1),
|
|
178
|
+
("TC-TEST-001", "transitive", 2),
|
|
179
|
+
]
|
|
180
|
+
assert result.impacted[1].reasons == (
|
|
181
|
+
ImpactReason(
|
|
182
|
+
source="CON-TEST-001",
|
|
183
|
+
via="MOD-TEST-001",
|
|
184
|
+
relationship="modules",
|
|
185
|
+
direction="incoming",
|
|
186
|
+
message="TC-TEST-001 references MOD-TEST-001 through related.modules.",
|
|
187
|
+
),
|
|
188
|
+
)
|
|
189
|
+
assert analyze_document_impact(document_graph, ["TC-TEST-001"]).impacted == ()
|
|
190
|
+
|
|
191
|
+
|
|
121
192
|
def test_test_case_transitive_impact_is_terminal_and_requires_links():
|
|
122
193
|
document_graph = graph(
|
|
123
194
|
nodes=(
|
|
@@ -183,7 +254,7 @@ def test_test_case_shortest_path_is_unique_and_deterministic():
|
|
|
183
254
|
|
|
184
255
|
@pytest.mark.parametrize(
|
|
185
256
|
("source_type", "relationship"),
|
|
186
|
-
[("
|
|
257
|
+
[("contract", "contracts"),
|
|
187
258
|
("architecture_decision", "architecture_decisions"), ("operation", "operations")],
|
|
188
259
|
)
|
|
189
260
|
def test_test_case_direct_impact_excludes_other_source_types(source_type, relationship):
|
|
@@ -225,7 +225,8 @@ def test_impact_changed_warns_for_non_document_files(monkeypatch, capsys, tmp_pa
|
|
|
225
225
|
]
|
|
226
226
|
|
|
227
227
|
|
|
228
|
-
|
|
228
|
+
@pytest.mark.parametrize("committed", [False, True])
|
|
229
|
+
def test_impact_changed_maps_code_file_to_owning_module(monkeypatch, capsys, tmp_path, committed):
|
|
229
230
|
_write_impact_project(tmp_path)
|
|
230
231
|
(tmp_path / "src").mkdir()
|
|
231
232
|
(tmp_path / "src" / "service.py").write_text("VALUE = 1\n", encoding="utf-8")
|
|
@@ -240,6 +241,12 @@ def test_impact_changed_maps_code_file_to_owning_module(monkeypatch, capsys, tmp
|
|
|
240
241
|
document_id="ACC-TEST-001",
|
|
241
242
|
document_type="acceptance",
|
|
242
243
|
)
|
|
244
|
+
_write_document(
|
|
245
|
+
tmp_path / "ai-docs" / "test-case.md",
|
|
246
|
+
document_id="TC-TEST-001",
|
|
247
|
+
document_type="test_case",
|
|
248
|
+
related={"modules": ["MOD-TEST-001"]},
|
|
249
|
+
)
|
|
243
250
|
(tmp_path / "ai-docs.config.yaml").write_text(
|
|
244
251
|
"""version: 1
|
|
245
252
|
project:
|
|
@@ -255,9 +262,13 @@ cascade:
|
|
|
255
262
|
)
|
|
256
263
|
_commit_all(tmp_path)
|
|
257
264
|
(tmp_path / "src" / "service.py").write_text("VALUE = 2\n", encoding="utf-8")
|
|
265
|
+
base_args = []
|
|
266
|
+
if committed:
|
|
267
|
+
_commit_all(tmp_path)
|
|
268
|
+
base_args = ["--base", "HEAD^"]
|
|
258
269
|
monkeypatch.chdir(tmp_path)
|
|
259
270
|
|
|
260
|
-
assert main(["impact", "--changed", "--format", "json"]) == 0
|
|
271
|
+
assert main(["impact", "--changed", *base_args, "--format", "json"]) == 0
|
|
261
272
|
|
|
262
273
|
payload = json.loads(capsys.readouterr().out)
|
|
263
274
|
assert payload["sources"] == [
|
|
@@ -270,10 +281,37 @@ cascade:
|
|
|
270
281
|
}
|
|
271
282
|
]
|
|
272
283
|
assert [item["document_id"] for item in payload["impacted"]] == [
|
|
273
|
-
"ACC-TEST-001"
|
|
284
|
+
"ACC-TEST-001", "TC-TEST-001"
|
|
274
285
|
]
|
|
286
|
+
test_case = payload["impacted"][1]
|
|
287
|
+
assert (test_case["impact"], test_case["distance"]) == ("direct", 1)
|
|
288
|
+
assert test_case["reasons"] == [{
|
|
289
|
+
"source": "MOD-TEST-001",
|
|
290
|
+
"via": None,
|
|
291
|
+
"relationship": "modules",
|
|
292
|
+
"direction": "incoming",
|
|
293
|
+
"message": "TC-TEST-001 references MOD-TEST-001 through related.modules.",
|
|
294
|
+
}]
|
|
295
|
+
assert payload["coverage"] == {
|
|
296
|
+
"status": "available",
|
|
297
|
+
"changed_paths": 1,
|
|
298
|
+
"document_paths": 0,
|
|
299
|
+
"owned_paths": 1,
|
|
300
|
+
"unmapped_paths": 0,
|
|
301
|
+
"unique_source_documents": 1,
|
|
302
|
+
"unmapped": [],
|
|
303
|
+
}
|
|
275
304
|
assert payload["warnings"] == []
|
|
276
305
|
|
|
306
|
+
assert main(["impact", "--changed", *base_args]) == 0
|
|
307
|
+
human = capsys.readouterr()
|
|
308
|
+
assert (
|
|
309
|
+
"- TC-TEST-001 (test_case) distance=1 ai-docs/test-case.md\n"
|
|
310
|
+
" reason: MOD-TEST-001 incoming related.modules: "
|
|
311
|
+
"TC-TEST-001 references MOD-TEST-001 through related.modules.\n"
|
|
312
|
+
) in human.out
|
|
313
|
+
assert human.err == ""
|
|
314
|
+
|
|
277
315
|
|
|
278
316
|
@pytest.mark.parametrize("owner_type", [None, "business_rule"])
|
|
279
317
|
def test_impact_changed_fails_for_unknown_owning_module(monkeypatch, capsys, tmp_path, owner_type):
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/context/markdown_output.py
RENAMED
|
File without changes
|
|
File without changes
|
{ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/core/azure_devops_provider.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/core/planning_operations.py
RENAMED
|
File without changes
|
{ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/core/planning_scaffold.py
RENAMED
|
File without changes
|
|
File without changes
|
{ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/core/requirement_capture.py
RENAMED
|
File without changes
|
|
File without changes
|
{ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/core/schema_validation.py
RENAMED
|
File without changes
|
|
File without changes
|
{ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/core/structure_validation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/templates/project/AGENTS.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
{ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit.egg-info/entry_points.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|