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.
Files changed (138) hide show
  1. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/PKG-INFO +18 -5
  2. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/README.md +8 -3
  3. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/packaging/pypi/README.md +17 -4
  4. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/pyproject.toml +1 -1
  5. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/__init__.py +1 -1
  6. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/core/impact.py +3 -1
  7. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/docs/agent-installation.md +63 -1
  8. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit.egg-info/PKG-INFO +18 -5
  9. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/tests/test_cli_baseline.py +2 -2
  10. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/tests/test_impact_analysis.py +72 -1
  11. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/tests/test_impact_cli_json.py +41 -3
  12. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/setup.cfg +0 -0
  13. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/__main__.py +0 -0
  14. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/cli/__init__.py +0 -0
  15. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/context/__init__.py +0 -0
  16. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/context/markdown_output.py +0 -0
  17. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/core/__init__.py +0 -0
  18. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/core/azure_devops_provider.py +0 -0
  19. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/core/changed_files.py +0 -0
  20. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/core/code_links.py +0 -0
  21. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/core/config.py +0 -0
  22. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/core/context.py +0 -0
  23. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/core/doctor.py +0 -0
  24. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/core/file_lookup.py +0 -0
  25. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/core/frontmatter.py +0 -0
  26. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/core/graph.py +0 -0
  27. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/core/init.py +0 -0
  28. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/core/planning_operations.py +0 -0
  29. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/core/planning_scaffold.py +0 -0
  30. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/core/registry.py +0 -0
  31. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/core/requirement_capture.py +0 -0
  32. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/core/scanner.py +0 -0
  33. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/core/schema_validation.py +0 -0
  34. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/core/section_fix.py +0 -0
  35. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/core/structure_validation.py +0 -0
  36. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/core/task_export.py +0 -0
  37. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/graph/__init__.py +0 -0
  38. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/graph/json_output.py +0 -0
  39. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/impact/__init__.py +0 -0
  40. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/impact/json_output.py +0 -0
  41. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/mcp/__init__.py +0 -0
  42. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/mcp/__main__.py +0 -0
  43. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/mcp/server.py +0 -0
  44. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/mcp/setup.py +0 -0
  45. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/review/__init__.py +0 -0
  46. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/review/check.py +0 -0
  47. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/review/record.py +0 -0
  48. {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
  49. {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
  50. {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
  51. {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
  52. {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
  53. {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
  54. {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
  55. {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
  56. {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
  57. {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
  58. {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
  59. {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
  60. {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
  61. {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
  62. {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
  63. {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
  64. {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
  65. {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
  66. {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
  67. {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
  68. {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
  69. {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
  70. {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
  71. {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
  72. {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
  73. {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
  74. {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
  75. {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
  76. {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
  77. {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
  78. {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
  79. {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
  80. {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
  81. {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
  82. {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
  83. {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
  84. {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
  85. {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
  86. {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
  87. {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
  88. {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
  89. {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
  90. {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
  91. {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
  92. {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
  93. {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
  94. {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
  95. {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
  96. {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
  97. {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
  98. {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
  99. {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
  100. {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
  101. {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
  102. {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
  103. {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
  104. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/templates/project/AGENTS.md +0 -0
  105. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/templates/project/ai-docs-index.md +0 -0
  106. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/templates/project/ai-docs.config.yaml +0 -0
  107. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/validation/__init__.py +0 -0
  108. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit/validation/human.py +0 -0
  109. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit.egg-info/SOURCES.txt +0 -0
  110. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit.egg-info/dependency_links.txt +0 -0
  111. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit.egg-info/entry_points.txt +0 -0
  112. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit.egg-info/requires.txt +0 -0
  113. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/src/ai_docs_toolkit.egg-info/top_level.txt +0 -0
  114. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/tests/test_azure_devops_provider.py +0 -0
  115. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/tests/test_bootstrap_templates.py +0 -0
  116. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/tests/test_code_links.py +0 -0
  117. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/tests/test_config_loader_and_scanner.py +0 -0
  118. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/tests/test_consumer_matrix.py +0 -0
  119. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/tests/test_context_cli_json.py +0 -0
  120. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/tests/test_context_cli_markdown.py +0 -0
  121. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/tests/test_context_depth.py +0 -0
  122. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/tests/test_context_policy.py +0 -0
  123. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/tests/test_context_selector.py +0 -0
  124. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/tests/test_document_graph.py +0 -0
  125. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/tests/test_document_registry.py +0 -0
  126. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/tests/test_execution_evals.py +0 -0
  127. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/tests/test_frontmatter_parser.py +0 -0
  128. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/tests/test_graph_cli_json.py +0 -0
  129. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/tests/test_impact_cli_human.py +0 -0
  130. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/tests/test_init_cli.py +0 -0
  131. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/tests/test_mcp_server.py +0 -0
  132. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/tests/test_review_check.py +0 -0
  133. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/tests/test_schema_validation.py +0 -0
  134. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/tests/test_skill_eval_harness.py +0 -0
  135. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/tests/test_structure_validation.py +0 -0
  136. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/tests/test_task_export.py +0 -0
  137. {ai_docs_toolkit-0.4.0 → ai_docs_toolkit-0.4.1}/tests/test_validate_cli_human.py +0 -0
  138. {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.0
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.0 includes:
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.0
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.0 ai-docs --version
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.0"
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. Version 0.4.0 adds an optional checker for documentation IDs and paths in Python comments, alongside test-evidence review, rollback guidance, linked test cases, changed-path coverage and optional review evidence checks. Python 3.14 or newer is required.
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
- For upgrades from 0.3.3 to 0.4.0, follow the [consumer migration guide](src/ai_docs_toolkit/docs/agent-installation.md#migration-033-to-040).
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 prepared for publication; [0.3.3 remains available on Public PyPI](https://pypi.org/project/ai-docs-toolkit/0.3.3/). The
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.0 includes:
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.0
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.0 ai-docs --version
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.0"
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
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "ai-docs-toolkit"
7
- version = "0.4.0"
7
+ version = "0.4.1"
8
8
  description = "AI-oriented documentation toolkit."
9
9
  readme = "packaging/pypi/README.md"
10
10
  requires-python = ">=3.14"
@@ -1,3 +1,3 @@
1
1
  """AI Docs Toolkit package baseline."""
2
2
 
3
- __version__ = "0.4.0"
3
+ __version__ = "0.4.1"
@@ -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"}),
@@ -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.0"
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.0
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.0 includes:
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.0
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.0 ai-docs --version
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.0"
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.0" in output.out
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.0"
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
- [("module", "modules"), ("contract", "contracts"),
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
- def test_impact_changed_maps_code_file_to_owning_module(monkeypatch, capsys, tmp_path):
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):