kingmadoc 0.3.0.dev14__tar.gz → 0.3.0.dev15__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 (194) hide show
  1. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/PKG-INFO +1 -1
  2. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/skill/codex.md +19 -13
  3. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/skill/copilot.md +19 -13
  4. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/skill/cursor.md +19 -13
  5. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/skill/reference/diagram-rules.md +18 -12
  6. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/skill/reference/formats.md +1 -1
  7. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/.featuredoc.yml +0 -0
  8. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  9. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  10. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/.github/workflows/ci.yml +0 -0
  11. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/.github/workflows/release.yml +0 -0
  12. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/.gitignore +0 -0
  13. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/CHANGELOG.md +0 -0
  14. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/CLAUDE.md +0 -0
  15. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/CONTRIBUTING.md +0 -0
  16. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/LICENSE +0 -0
  17. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/README.md +0 -0
  18. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/docs/conventions.md +0 -0
  19. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/docs/index.md +0 -0
  20. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/docs/releasing.md +0 -0
  21. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/docs/roadmap.md +0 -0
  22. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/docs/test-plan.md +0 -0
  23. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/evals/README.md +0 -0
  24. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/evals/fixtures/shop/manage.py +0 -0
  25. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/evals/fixtures/shop/requirements.txt +0 -0
  26. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/evals/fixtures/shop/shop/__init__.py +0 -0
  27. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/evals/fixtures/shop/shop/models.py +0 -0
  28. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/evals/fixtures/shop/shop/services.py +0 -0
  29. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/evals/fixtures/shop/shop/settings.py +0 -0
  30. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/evals/fixtures/shop/shop/urls.py +0 -0
  31. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/evals/fixtures/shop/shop/views.py +0 -0
  32. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/evals/fixtures/shop-discount/shop/discounts.py +0 -0
  33. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/evals/fixtures/shop-discount/shop/services.py +0 -0
  34. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/evals/results/2026-09-27T111837Z.json +0 -0
  35. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/evals/results/2026-09-27T112600Z.json +0 -0
  36. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/evals/results/2026-09-27T162715Z.json +0 -0
  37. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/evals/results/2026-09-28T064505Z.json +0 -0
  38. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/evals/results/2026-09-28T092643Z.json +0 -0
  39. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/evals/results/2026-09-28T093046Z.json +0 -0
  40. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/evals/scenarios/explain-branch.yml +0 -0
  41. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/evals/scenarios/explain-feature.yml +0 -0
  42. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/evals/scenarios/explain-fo-to.yml +0 -0
  43. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/evals/scenarios/plan-feature.yml +0 -0
  44. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/examples/verify-mode-plan.md +0 -0
  45. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/pyproject.toml +0 -0
  46. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/scripts/build_skill_variants.py +0 -0
  47. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/scripts/build_threat_reference.py +0 -0
  48. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/scripts/import_tmt_knowledge_base.py +0 -0
  49. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/scripts/run_evals.py +0 -0
  50. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/skill/SKILL.md +0 -0
  51. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/skill/explaining-code/SKILL.md +0 -0
  52. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/skill/explaining-code/reference/arc42.md +0 -0
  53. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/skill/explaining-code/reference/c4-model.md +0 -0
  54. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/skill/explaining-code/reference/c4.md +0 -0
  55. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/skill/explaining-code/reference/models.md +0 -0
  56. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/skill/explaining-code/reference/split.md +0 -0
  57. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/skill/explaining-code/reference/stories.md +0 -0
  58. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/skill/explaining-code/reference/threat-model.md +0 -0
  59. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/skill/explaining-code/reference/threats.md +0 -0
  60. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/src/kingmadoc/__init__.py +0 -0
  61. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/src/kingmadoc/about.py +0 -0
  62. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/src/kingmadoc/adr.py +0 -0
  63. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/src/kingmadoc/cli.py +0 -0
  64. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/src/kingmadoc/config.py +0 -0
  65. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/src/kingmadoc/d2_binary.py +0 -0
  66. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/src/kingmadoc/diagrams/__init__.py +0 -0
  67. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/src/kingmadoc/diagrams/base.py +0 -0
  68. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/src/kingmadoc/diagrams/d2.py +0 -0
  69. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/src/kingmadoc/diagrams/mermaid.py +0 -0
  70. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/src/kingmadoc/diagrams/plantuml.py +0 -0
  71. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/src/kingmadoc/documents.py +0 -0
  72. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/src/kingmadoc/exceptions.py +0 -0
  73. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/src/kingmadoc/explain.py +0 -0
  74. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/src/kingmadoc/facts/__init__.py +0 -0
  75. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/src/kingmadoc/facts/branch.py +0 -0
  76. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/src/kingmadoc/facts/collect.py +0 -0
  77. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/src/kingmadoc/facts/data_model.py +0 -0
  78. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/src/kingmadoc/facts/dominators.py +0 -0
  79. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/src/kingmadoc/facts/js_modules.py +0 -0
  80. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/src/kingmadoc/facts/projects.py +0 -0
  81. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/src/kingmadoc/facts/routes.py +0 -0
  82. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/src/kingmadoc/facts/services.py +0 -0
  83. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/src/kingmadoc/git.py +0 -0
  84. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/src/kingmadoc/naming.py +0 -0
  85. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/src/kingmadoc/plan/__init__.py +0 -0
  86. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/src/kingmadoc/plan/analyzer.py +0 -0
  87. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/src/kingmadoc/plan/dependencies.py +0 -0
  88. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/src/kingmadoc/plan/generator.py +0 -0
  89. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/src/kingmadoc/plan/models.py +0 -0
  90. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/src/kingmadoc/plandoc.py +0 -0
  91. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/src/kingmadoc/raster.py +0 -0
  92. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/src/kingmadoc/render.py +0 -0
  93. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/src/kingmadoc/scaffold.py +0 -0
  94. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/src/kingmadoc/screenshots.py +0 -0
  95. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/src/kingmadoc/skills.py +0 -0
  96. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/src/kingmadoc/templates/adr.md.j2 +0 -0
  97. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/src/kingmadoc/templates/domain_design.md.j2 +0 -0
  98. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/src/kingmadoc/templates/functional_design.md.j2 +0 -0
  99. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/src/kingmadoc/templates/plan_default.md.j2 +0 -0
  100. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/src/kingmadoc/templates/security_design.md.j2 +0 -0
  101. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/src/kingmadoc/templates/technical_design.md.j2 +0 -0
  102. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/src/kingmadoc/templating.py +0 -0
  103. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/src/kingmadoc/threats/__init__.py +0 -0
  104. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/src/kingmadoc/threats/filters.py +0 -0
  105. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/src/kingmadoc/threats/knowledge_base.py +0 -0
  106. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/src/kingmadoc/threats/model.py +0 -0
  107. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/src/kingmadoc/threats/report.py +0 -0
  108. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/src/kingmadoc/threats/sdl_knowledge_base.json +0 -0
  109. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/src/kingmadoc/verify/__init__.py +0 -0
  110. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/src/kingmadoc/verify/changes.py +0 -0
  111. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/src/kingmadoc/verify/commands.py +0 -0
  112. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/src/kingmadoc/verify/deviations.py +0 -0
  113. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/src/kingmadoc/verify/locate.py +0 -0
  114. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/src/kingmadoc/verify/report.py +0 -0
  115. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/src/kingmadoc/vscode.py +0 -0
  116. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/conftest.py +0 -0
  117. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/data/d2-sample.svg +0 -0
  118. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/fixtures/backends/d2/class.d2 +0 -0
  119. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/fixtures/backends/d2/component.d2 +0 -0
  120. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/fixtures/backends/d2/container.d2 +0 -0
  121. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/fixtures/backends/d2/context.d2 +0 -0
  122. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/fixtures/backends/d2/sequence.d2 +0 -0
  123. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/fixtures/backends/mermaid/class.mmd +0 -0
  124. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/fixtures/backends/mermaid/component.mmd +0 -0
  125. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/fixtures/backends/mermaid/container.mmd +0 -0
  126. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/fixtures/backends/mermaid/context.mmd +0 -0
  127. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/fixtures/backends/mermaid/sequence.mmd +0 -0
  128. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/fixtures/backends/plantuml/class.puml +0 -0
  129. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/fixtures/backends/plantuml/component.puml +0 -0
  130. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/fixtures/backends/plantuml/container.puml +0 -0
  131. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/fixtures/backends/plantuml/context.puml +0 -0
  132. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/fixtures/backends/plantuml/sequence.puml +0 -0
  133. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/fixtures/mermaid/component.mmd +0 -0
  134. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/fixtures/mermaid/container.mmd +0 -0
  135. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/fixtures/mermaid/context.mmd +0 -0
  136. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/test_adr.py +0 -0
  137. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/test_adr_numbering.py +0 -0
  138. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/test_analyzer.py +0 -0
  139. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/test_cli.py +0 -0
  140. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/test_cli_encoding.py +0 -0
  141. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/test_cli_init.py +0 -0
  142. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/test_cli_plan_custom_template.py +0 -0
  143. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/test_cli_sigint.py +0 -0
  144. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/test_cli_verify_config.py +0 -0
  145. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/test_config.py +0 -0
  146. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/test_config_poetry.py +0 -0
  147. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/test_config_shape.py +0 -0
  148. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/test_d2_download.py +0 -0
  149. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/test_dependencies.py +0 -0
  150. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/test_dependency_graph_model.py +0 -0
  151. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/test_design_diagrams_compile.py +0 -0
  152. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/test_design_models.py +0 -0
  153. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/test_diagram_backends.py +0 -0
  154. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/test_diagrams_mermaid.py +0 -0
  155. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/test_documents.py +0 -0
  156. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/test_duplicate_names.py +0 -0
  157. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/test_evals.py +0 -0
  158. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/test_explain.py +0 -0
  159. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/test_explain_check.py +0 -0
  160. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/test_explain_config.py +0 -0
  161. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/test_explain_status.py +0 -0
  162. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/test_extra_designs_coverage.py +0 -0
  163. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/test_facts.py +0 -0
  164. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/test_facts_code.py +0 -0
  165. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/test_facts_data_model.py +0 -0
  166. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/test_facts_dominators.py +0 -0
  167. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/test_functional_design.py +0 -0
  168. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/test_generator.py +0 -0
  169. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/test_grep_performance.py +0 -0
  170. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/test_manifests.py +0 -0
  171. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/test_max_lines_per_file.py +0 -0
  172. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/test_output_dir.py +0 -0
  173. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/test_plan_e2e.py +0 -0
  174. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/test_plandoc.py +0 -0
  175. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/test_properties.py +0 -0
  176. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/test_raster.py +0 -0
  177. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/test_render.py +0 -0
  178. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/test_scaffold.py +0 -0
  179. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/test_screenshots.py +0 -0
  180. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/test_security_domain_designs.py +0 -0
  181. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/test_skill.py +0 -0
  182. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/test_skill_explaining_code.py +0 -0
  183. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/test_skill_models.py +0 -0
  184. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/test_skills_install.py +0 -0
  185. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/test_source_dirs.py +0 -0
  186. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/test_summary_slug_diagram_defaults.py +0 -0
  187. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/test_technical_design.py +0 -0
  188. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/test_templating_security.py +0 -0
  189. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/test_threats.py +0 -0
  190. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/test_verify.py +0 -0
  191. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/test_verify_locate.py +0 -0
  192. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/test_version.py +0 -0
  193. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/tests/test_vscode_preview.py +0 -0
  194. {kingmadoc-0.3.0.dev14 → kingmadoc-0.3.0.dev15}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: kingmadoc
3
- Version: 0.3.0.dev14
3
+ Version: 0.3.0.dev15
4
4
  Summary: Feature docs for AI coding agents: a plan with C4 diagrams before the code, a verification doc after.
5
5
  Project-URL: Homepage, https://github.com/ATkingma/KingmaDoc
6
6
  Project-URL: Issues, https://github.com/ATkingma/KingmaDoc/issues
@@ -233,8 +233,8 @@ Show the user the path, the number of deviations, and any failing check.
233
233
  - **Always Mermaid** (ignore `diagram_format`; PlantUML/D2 are CLI-only). Mermaid is
234
234
  the source of truth; every diagram is also rendered to a PNG and embedded in the
235
235
  Markdown (see [Rendering](#rendering)).
236
- - **Always fenced**: every diagram is a complete ` ```mermaid ` … ` ``` `
237
- block, with nothing else inside it.
236
+ - **Always complete**: every diagram is a complete Mermaid diagram (a ` ```mermaid `
237
+ block, or its `.mmd` file once rendered), with nothing else in it.
238
238
  - **Always labeled**:
239
239
  - C4 and `sequenceDiagram`: the first line after the diagram type is `title <text>`
240
240
  (`System Context: <project>`, `Containers: <project>`);
@@ -292,7 +292,7 @@ this line: _Disabled in `.featuredoc.yml` (`diagrams`)._
292
292
 
293
293
  `diagrams_png` in `.featuredoc.yml` [`embed`]: `embed` (below), `file` (the PNG goes to
294
294
  `<output_dir>/img/<slug>-<diagram>.png`, linked with `![<title>](img/<slug>-<diagram>.png)`)
295
- or `off` (no image, only the Mermaid block).
295
+ or `off` (no image; the ` ```mermaid ` block stays in the document).
296
296
 
297
297
  - **Mode comes only from `.featuredoc.yml`.** No file or no `diagrams_png` key → `embed`.
298
298
  Never infer the mode from existing files (an `img/` folder, how an earlier doc did it).
@@ -300,26 +300,32 @@ or `off` (no image, only the Mermaid block).
300
300
  `![...](data:image/png;base64,`. A relative path such as `](img/` is an error: embed it and
301
301
  delete the loose PNG.
302
302
  - Embed the PNG with a script (read file → base64 → replace the line), never by hand.
303
+ - **No Mermaid source in the document** once its PNG is there: no ` ```mermaid ` block
304
+ and no `<details>` with the source. The source lives in
305
+ `<output_dir>/diagrams/<slug>-<diagram>.mmd`.
303
306
 
304
- 1. Write each ` ```mermaid ` block to a temporary `.mmd` file outside the repo and run:
305
- `npx -y @mermaid-js/mermaid-cli -i <tmp>.mmd -o <tmp>.png -s 2 -b white -t default -p <puppeteer.json>`
307
+ 1. Write each diagram to `<output_dir>/diagrams/<slug>-<diagram>.mmd` (`<diagram>`:
308
+ `c4-context`, `c4-container`, `class`, `sequence-current`, `sequence-new`) and run:
309
+ `npx -y @mermaid-js/mermaid-cli -i <that>.mmd -o <tmp>.png -s 2 -b white -t default -p <puppeteer.json>`
306
310
  (`-t default`: Mermaid's normal theme; newer versions otherwise colour every shape).
307
311
  2. Set `PUPPETEER_SKIP_DOWNLOAD=true`, and let `puppeteer.json` point at an installed
308
312
  browser, so no Chromium is downloaded:
309
313
  `{"executablePath": "C:/Program Files (x86)/Microsoft/Edge/Application/msedge.exe"}`
310
314
  (or Chrome). Ask the user once before the first npm download: package
311
315
  `@mermaid-js/mermaid-cli`, from the npm registry, about 50 MB with dependencies.
312
- 3. Directly below the block, after one empty line:
316
+ 3. In the document, in place of the block, two lines:
317
+ `<!-- kingmadoc:diagram diagrams/<slug>-<diagram>.mmd -->` and
313
318
  `![<diagram title>](data:image/png;base64,<base64 of the PNG>)`.
314
- No separate image files go into the repo.
315
- 4. The ` ```mermaid ` block always stays (GitHub shows no data URIs; the block is the
316
- source for the next render). On a new render, replace only the image line below
317
- the same block.
319
+ No separate image files go into the repo (`file` mode aside).
320
+ 4. To change a diagram, edit its `.mmd` file and render again; replace only the image
321
+ line below its comment. (GitHub shows no data-URI images; there the `.mmd` file is
322
+ the readable version.)
318
323
  5. Look at every PNG after rendering (Read): not empty, no labels cut off at the edge,
319
324
  no unexpected extra participants. If needed, fix the Mermaid (split or shorten a
320
325
  label) and render again.
321
- 6. If rendering fails, write `_TODO: PNG not generated: <reason>._` below the block
322
- (in `language`) and carry on; the document stays valid.
326
+ 6. If rendering fails, keep the ` ```mermaid ` block in the document, write
327
+ `_TODO: PNG not generated: <reason>._` below it (in `language`) and carry on; the
328
+ document stays valid.
323
329
 
324
330
  ## Output format
325
331
 
@@ -449,7 +455,7 @@ The classes this feature touches and their direct collaborators.
449
455
 
450
456
  Omit "**Answered while planning**" when nothing was answered.
451
457
 
452
- - Every diagram is a ` ```mermaid ` block with its PNG below it (see
458
+ - Every diagram is its PNG, with the Mermaid source in a `.mmd` file (see
453
459
  [Rendering](diagram-rules.md#rendering)); a disabled diagram keeps its section with
454
460
  _Disabled in `.featuredoc.yml` (`diagrams`)._
455
461
  - **Generated** is the real system time (`date -Iminutes`), never a guess.
@@ -233,8 +233,8 @@ Show the user the path, the number of deviations, and any failing check.
233
233
  - **Always Mermaid** (ignore `diagram_format`; PlantUML/D2 are CLI-only). Mermaid is
234
234
  the source of truth; every diagram is also rendered to a PNG and embedded in the
235
235
  Markdown (see [Rendering](#rendering)).
236
- - **Always fenced**: every diagram is a complete ` ```mermaid ` … ` ``` `
237
- block, with nothing else inside it.
236
+ - **Always complete**: every diagram is a complete Mermaid diagram (a ` ```mermaid `
237
+ block, or its `.mmd` file once rendered), with nothing else in it.
238
238
  - **Always labeled**:
239
239
  - C4 and `sequenceDiagram`: the first line after the diagram type is `title <text>`
240
240
  (`System Context: <project>`, `Containers: <project>`);
@@ -292,7 +292,7 @@ this line: _Disabled in `.featuredoc.yml` (`diagrams`)._
292
292
 
293
293
  `diagrams_png` in `.featuredoc.yml` [`embed`]: `embed` (below), `file` (the PNG goes to
294
294
  `<output_dir>/img/<slug>-<diagram>.png`, linked with `![<title>](img/<slug>-<diagram>.png)`)
295
- or `off` (no image, only the Mermaid block).
295
+ or `off` (no image; the ` ```mermaid ` block stays in the document).
296
296
 
297
297
  - **Mode comes only from `.featuredoc.yml`.** No file or no `diagrams_png` key → `embed`.
298
298
  Never infer the mode from existing files (an `img/` folder, how an earlier doc did it).
@@ -300,26 +300,32 @@ or `off` (no image, only the Mermaid block).
300
300
  `![...](data:image/png;base64,`. A relative path such as `](img/` is an error: embed it and
301
301
  delete the loose PNG.
302
302
  - Embed the PNG with a script (read file → base64 → replace the line), never by hand.
303
+ - **No Mermaid source in the document** once its PNG is there: no ` ```mermaid ` block
304
+ and no `<details>` with the source. The source lives in
305
+ `<output_dir>/diagrams/<slug>-<diagram>.mmd`.
303
306
 
304
- 1. Write each ` ```mermaid ` block to a temporary `.mmd` file outside the repo and run:
305
- `npx -y @mermaid-js/mermaid-cli -i <tmp>.mmd -o <tmp>.png -s 2 -b white -t default -p <puppeteer.json>`
307
+ 1. Write each diagram to `<output_dir>/diagrams/<slug>-<diagram>.mmd` (`<diagram>`:
308
+ `c4-context`, `c4-container`, `class`, `sequence-current`, `sequence-new`) and run:
309
+ `npx -y @mermaid-js/mermaid-cli -i <that>.mmd -o <tmp>.png -s 2 -b white -t default -p <puppeteer.json>`
306
310
  (`-t default`: Mermaid's normal theme; newer versions otherwise colour every shape).
307
311
  2. Set `PUPPETEER_SKIP_DOWNLOAD=true`, and let `puppeteer.json` point at an installed
308
312
  browser, so no Chromium is downloaded:
309
313
  `{"executablePath": "C:/Program Files (x86)/Microsoft/Edge/Application/msedge.exe"}`
310
314
  (or Chrome). Ask the user once before the first npm download: package
311
315
  `@mermaid-js/mermaid-cli`, from the npm registry, about 50 MB with dependencies.
312
- 3. Directly below the block, after one empty line:
316
+ 3. In the document, in place of the block, two lines:
317
+ `<!-- kingmadoc:diagram diagrams/<slug>-<diagram>.mmd -->` and
313
318
  `![<diagram title>](data:image/png;base64,<base64 of the PNG>)`.
314
- No separate image files go into the repo.
315
- 4. The ` ```mermaid ` block always stays (GitHub shows no data URIs; the block is the
316
- source for the next render). On a new render, replace only the image line below
317
- the same block.
319
+ No separate image files go into the repo (`file` mode aside).
320
+ 4. To change a diagram, edit its `.mmd` file and render again; replace only the image
321
+ line below its comment. (GitHub shows no data-URI images; there the `.mmd` file is
322
+ the readable version.)
318
323
  5. Look at every PNG after rendering (Read): not empty, no labels cut off at the edge,
319
324
  no unexpected extra participants. If needed, fix the Mermaid (split or shorten a
320
325
  label) and render again.
321
- 6. If rendering fails, write `_TODO: PNG not generated: <reason>._` below the block
322
- (in `language`) and carry on; the document stays valid.
326
+ 6. If rendering fails, keep the ` ```mermaid ` block in the document, write
327
+ `_TODO: PNG not generated: <reason>._` below it (in `language`) and carry on; the
328
+ document stays valid.
323
329
 
324
330
  ## Output format
325
331
 
@@ -449,7 +455,7 @@ The classes this feature touches and their direct collaborators.
449
455
 
450
456
  Omit "**Answered while planning**" when nothing was answered.
451
457
 
452
- - Every diagram is a ` ```mermaid ` block with its PNG below it (see
458
+ - Every diagram is its PNG, with the Mermaid source in a `.mmd` file (see
453
459
  [Rendering](diagram-rules.md#rendering)); a disabled diagram keeps its section with
454
460
  _Disabled in `.featuredoc.yml` (`diagrams`)._
455
461
  - **Generated** is the real system time (`date -Iminutes`), never a guess.
@@ -234,8 +234,8 @@ Show the user the path, the number of deviations, and any failing check.
234
234
  - **Always Mermaid** (ignore `diagram_format`; PlantUML/D2 are CLI-only). Mermaid is
235
235
  the source of truth; every diagram is also rendered to a PNG and embedded in the
236
236
  Markdown (see [Rendering](#rendering)).
237
- - **Always fenced**: every diagram is a complete ` ```mermaid ` … ` ``` `
238
- block, with nothing else inside it.
237
+ - **Always complete**: every diagram is a complete Mermaid diagram (a ` ```mermaid `
238
+ block, or its `.mmd` file once rendered), with nothing else in it.
239
239
  - **Always labeled**:
240
240
  - C4 and `sequenceDiagram`: the first line after the diagram type is `title <text>`
241
241
  (`System Context: <project>`, `Containers: <project>`);
@@ -293,7 +293,7 @@ this line: _Disabled in `.featuredoc.yml` (`diagrams`)._
293
293
 
294
294
  `diagrams_png` in `.featuredoc.yml` [`embed`]: `embed` (below), `file` (the PNG goes to
295
295
  `<output_dir>/img/<slug>-<diagram>.png`, linked with `![<title>](img/<slug>-<diagram>.png)`)
296
- or `off` (no image, only the Mermaid block).
296
+ or `off` (no image; the ` ```mermaid ` block stays in the document).
297
297
 
298
298
  - **Mode comes only from `.featuredoc.yml`.** No file or no `diagrams_png` key → `embed`.
299
299
  Never infer the mode from existing files (an `img/` folder, how an earlier doc did it).
@@ -301,26 +301,32 @@ or `off` (no image, only the Mermaid block).
301
301
  `![...](data:image/png;base64,`. A relative path such as `](img/` is an error: embed it and
302
302
  delete the loose PNG.
303
303
  - Embed the PNG with a script (read file → base64 → replace the line), never by hand.
304
+ - **No Mermaid source in the document** once its PNG is there: no ` ```mermaid ` block
305
+ and no `<details>` with the source. The source lives in
306
+ `<output_dir>/diagrams/<slug>-<diagram>.mmd`.
304
307
 
305
- 1. Write each ` ```mermaid ` block to a temporary `.mmd` file outside the repo and run:
306
- `npx -y @mermaid-js/mermaid-cli -i <tmp>.mmd -o <tmp>.png -s 2 -b white -t default -p <puppeteer.json>`
308
+ 1. Write each diagram to `<output_dir>/diagrams/<slug>-<diagram>.mmd` (`<diagram>`:
309
+ `c4-context`, `c4-container`, `class`, `sequence-current`, `sequence-new`) and run:
310
+ `npx -y @mermaid-js/mermaid-cli -i <that>.mmd -o <tmp>.png -s 2 -b white -t default -p <puppeteer.json>`
307
311
  (`-t default`: Mermaid's normal theme; newer versions otherwise colour every shape).
308
312
  2. Set `PUPPETEER_SKIP_DOWNLOAD=true`, and let `puppeteer.json` point at an installed
309
313
  browser, so no Chromium is downloaded:
310
314
  `{"executablePath": "C:/Program Files (x86)/Microsoft/Edge/Application/msedge.exe"}`
311
315
  (or Chrome). Ask the user once before the first npm download: package
312
316
  `@mermaid-js/mermaid-cli`, from the npm registry, about 50 MB with dependencies.
313
- 3. Directly below the block, after one empty line:
317
+ 3. In the document, in place of the block, two lines:
318
+ `<!-- kingmadoc:diagram diagrams/<slug>-<diagram>.mmd -->` and
314
319
  `![<diagram title>](data:image/png;base64,<base64 of the PNG>)`.
315
- No separate image files go into the repo.
316
- 4. The ` ```mermaid ` block always stays (GitHub shows no data URIs; the block is the
317
- source for the next render). On a new render, replace only the image line below
318
- the same block.
320
+ No separate image files go into the repo (`file` mode aside).
321
+ 4. To change a diagram, edit its `.mmd` file and render again; replace only the image
322
+ line below its comment. (GitHub shows no data-URI images; there the `.mmd` file is
323
+ the readable version.)
319
324
  5. Look at every PNG after rendering (Read): not empty, no labels cut off at the edge,
320
325
  no unexpected extra participants. If needed, fix the Mermaid (split or shorten a
321
326
  label) and render again.
322
- 6. If rendering fails, write `_TODO: PNG not generated: <reason>._` below the block
323
- (in `language`) and carry on; the document stays valid.
327
+ 6. If rendering fails, keep the ` ```mermaid ` block in the document, write
328
+ `_TODO: PNG not generated: <reason>._` below it (in `language`) and carry on; the
329
+ document stays valid.
324
330
 
325
331
  ## Output format
326
332
 
@@ -450,7 +456,7 @@ The classes this feature touches and their direct collaborators.
450
456
 
451
457
  Omit "**Answered while planning**" when nothing was answered.
452
458
 
453
- - Every diagram is a ` ```mermaid ` block with its PNG below it (see
459
+ - Every diagram is its PNG, with the Mermaid source in a `.mmd` file (see
454
460
  [Rendering](diagram-rules.md#rendering)); a disabled diagram keeps its section with
455
461
  _Disabled in `.featuredoc.yml` (`diagrams`)._
456
462
  - **Generated** is the real system time (`date -Iminutes`), never a guess.
@@ -3,8 +3,8 @@
3
3
  - **Always Mermaid** (ignore `diagram_format`; PlantUML/D2 are CLI-only). Mermaid is
4
4
  the source of truth; every diagram is also rendered to a PNG and embedded in the
5
5
  Markdown (see [Rendering](#rendering)).
6
- - **Always fenced**: every diagram is a complete ` ```mermaid ` … ` ``` `
7
- block, with nothing else inside it.
6
+ - **Always complete**: every diagram is a complete Mermaid diagram (a ` ```mermaid `
7
+ block, or its `.mmd` file once rendered), with nothing else in it.
8
8
  - **Always labeled**:
9
9
  - C4 and `sequenceDiagram`: the first line after the diagram type is `title <text>`
10
10
  (`System Context: <project>`, `Containers: <project>`);
@@ -62,7 +62,7 @@ this line: _Disabled in `.featuredoc.yml` (`diagrams`)._
62
62
 
63
63
  `diagrams_png` in `.featuredoc.yml` [`embed`]: `embed` (below), `file` (the PNG goes to
64
64
  `<output_dir>/img/<slug>-<diagram>.png`, linked with `![<title>](img/<slug>-<diagram>.png)`)
65
- or `off` (no image, only the Mermaid block).
65
+ or `off` (no image; the ` ```mermaid ` block stays in the document).
66
66
 
67
67
  - **Mode comes only from `.featuredoc.yml`.** No file or no `diagrams_png` key → `embed`.
68
68
  Never infer the mode from existing files (an `img/` folder, how an earlier doc did it).
@@ -70,23 +70,29 @@ or `off` (no image, only the Mermaid block).
70
70
  `![...](data:image/png;base64,`. A relative path such as `](img/` is an error: embed it and
71
71
  delete the loose PNG.
72
72
  - Embed the PNG with a script (read file → base64 → replace the line), never by hand.
73
+ - **No Mermaid source in the document** once its PNG is there: no ` ```mermaid ` block
74
+ and no `<details>` with the source. The source lives in
75
+ `<output_dir>/diagrams/<slug>-<diagram>.mmd`.
73
76
 
74
- 1. Write each ` ```mermaid ` block to a temporary `.mmd` file outside the repo and run:
75
- `npx -y @mermaid-js/mermaid-cli -i <tmp>.mmd -o <tmp>.png -s 2 -b white -t default -p <puppeteer.json>`
77
+ 1. Write each diagram to `<output_dir>/diagrams/<slug>-<diagram>.mmd` (`<diagram>`:
78
+ `c4-context`, `c4-container`, `class`, `sequence-current`, `sequence-new`) and run:
79
+ `npx -y @mermaid-js/mermaid-cli -i <that>.mmd -o <tmp>.png -s 2 -b white -t default -p <puppeteer.json>`
76
80
  (`-t default`: Mermaid's normal theme; newer versions otherwise colour every shape).
77
81
  2. Set `PUPPETEER_SKIP_DOWNLOAD=true`, and let `puppeteer.json` point at an installed
78
82
  browser, so no Chromium is downloaded:
79
83
  `{"executablePath": "C:/Program Files (x86)/Microsoft/Edge/Application/msedge.exe"}`
80
84
  (or Chrome). Ask the user once before the first npm download: package
81
85
  `@mermaid-js/mermaid-cli`, from the npm registry, about 50 MB with dependencies.
82
- 3. Directly below the block, after one empty line:
86
+ 3. In the document, in place of the block, two lines:
87
+ `<!-- kingmadoc:diagram diagrams/<slug>-<diagram>.mmd -->` and
83
88
  `![<diagram title>](data:image/png;base64,<base64 of the PNG>)`.
84
- No separate image files go into the repo.
85
- 4. The ` ```mermaid ` block always stays (GitHub shows no data URIs; the block is the
86
- source for the next render). On a new render, replace only the image line below
87
- the same block.
89
+ No separate image files go into the repo (`file` mode aside).
90
+ 4. To change a diagram, edit its `.mmd` file and render again; replace only the image
91
+ line below its comment. (GitHub shows no data-URI images; there the `.mmd` file is
92
+ the readable version.)
88
93
  5. Look at every PNG after rendering (Read): not empty, no labels cut off at the edge,
89
94
  no unexpected extra participants. If needed, fix the Mermaid (split or shorten a
90
95
  label) and render again.
91
- 6. If rendering fails, write `_TODO: PNG not generated: <reason>._` below the block
92
- (in `language`) and carry on; the document stays valid.
96
+ 6. If rendering fails, keep the ` ```mermaid ` block in the document, write
97
+ `_TODO: PNG not generated: <reason>._` below it (in `language`) and carry on; the
98
+ document stays valid.
@@ -126,7 +126,7 @@ The classes this feature touches and their direct collaborators.
126
126
 
127
127
  Omit "**Answered while planning**" when nothing was answered.
128
128
 
129
- - Every diagram is a ` ```mermaid ` block with its PNG below it (see
129
+ - Every diagram is its PNG, with the Mermaid source in a `.mmd` file (see
130
130
  [Rendering](diagram-rules.md#rendering)); a disabled diagram keeps its section with
131
131
  _Disabled in `.featuredoc.yml` (`diagrams`)._
132
132
  - **Generated** is the real system time (`date -Iminutes`), never a guess.
File without changes
File without changes