docassert 1.0.1__tar.gz → 1.0.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. {docassert-1.0.1/docassert.egg-info → docassert-1.0.2}/PKG-INFO +1 -1
  2. {docassert-1.0.1 → docassert-1.0.2}/docassert/__init__.py +1 -1
  3. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/templates/project.template.md +5 -3
  4. {docassert-1.0.1 → docassert-1.0.2/docassert.egg-info}/PKG-INFO +1 -1
  5. {docassert-1.0.1 → docassert-1.0.2}/tests/test_scaffold.py +13 -0
  6. {docassert-1.0.1 → docassert-1.0.2}/LICENSE +0 -0
  7. {docassert-1.0.1 → docassert-1.0.2}/NOTICE +0 -0
  8. {docassert-1.0.1 → docassert-1.0.2}/README.md +0 -0
  9. {docassert-1.0.1 → docassert-1.0.2}/docassert/__main__.py +0 -0
  10. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/consistency.yaml +0 -0
  11. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/criteria/adr.criteria.yaml +0 -0
  12. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/criteria/benefits-realization.criteria.yaml +0 -0
  13. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/criteria/brd.criteria.yaml +0 -0
  14. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/criteria/business-case.criteria.yaml +0 -0
  15. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/criteria/charter.criteria.yaml +0 -0
  16. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/criteria/data-migration-plan.criteria.yaml +0 -0
  17. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/criteria/frnfr.criteria.yaml +0 -0
  18. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/criteria/hypercare-plan.criteria.yaml +0 -0
  19. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/criteria/operations.criteria.yaml +0 -0
  20. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/criteria/post-implementation-review.criteria.yaml +0 -0
  21. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/criteria/prd.criteria.yaml +0 -0
  22. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/criteria/project.criteria.yaml +0 -0
  23. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/criteria/qa-test-plan.criteria.yaml +0 -0
  24. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/criteria/raci-stakeholder.criteria.yaml +0 -0
  25. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/criteria/release-cutover-plan.criteria.yaml +0 -0
  26. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/criteria/risk-register.criteria.yaml +0 -0
  27. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/criteria/rollback-plan.criteria.yaml +0 -0
  28. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/criteria/runbook.criteria.yaml +0 -0
  29. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/criteria/status-report.criteria.yaml +0 -0
  30. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/criteria/test-cases.criteria.yaml +0 -0
  31. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/criteria/user-story.criteria.yaml +0 -0
  32. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/profiles/agile-delivery.yaml +0 -0
  33. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/profiles/lean-startup.yaml +0 -0
  34. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/profiles/operations.yaml +0 -0
  35. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/profiles/regulated-industry.yaml +0 -0
  36. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/schema/adr.schema.json +0 -0
  37. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/schema/benefits-realization.schema.json +0 -0
  38. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/schema/brd.schema.json +0 -0
  39. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/schema/business-case.schema.json +0 -0
  40. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/schema/charter.schema.json +0 -0
  41. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/schema/data-migration-plan.schema.json +0 -0
  42. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/schema/frnfr.schema.json +0 -0
  43. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/schema/hypercare-plan.schema.json +0 -0
  44. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/schema/operations.schema.json +0 -0
  45. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/schema/post-implementation-review.schema.json +0 -0
  46. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/schema/prd.schema.json +0 -0
  47. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/schema/project.schema.json +0 -0
  48. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/schema/qa-test-plan.schema.json +0 -0
  49. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/schema/raci-stakeholder.schema.json +0 -0
  50. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/schema/release-cutover-plan.schema.json +0 -0
  51. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/schema/risk-register.schema.json +0 -0
  52. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/schema/rollback-plan.schema.json +0 -0
  53. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/schema/runbook.schema.json +0 -0
  54. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/schema/status-report.schema.json +0 -0
  55. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/schema/test-cases.schema.json +0 -0
  56. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/schema/user-story.schema.json +0 -0
  57. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/skills/doc-to-pmo/SKILL.md +0 -0
  58. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/templates/adr.template.md +0 -0
  59. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/templates/benefits-realization.template.md +0 -0
  60. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/templates/brd.template.md +0 -0
  61. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/templates/business-case.template.md +0 -0
  62. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/templates/charter.template.md +0 -0
  63. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/templates/data-migration-plan.template.md +0 -0
  64. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/templates/frnfr.template.md +0 -0
  65. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/templates/hypercare-plan.template.md +0 -0
  66. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/templates/operations.template.md +0 -0
  67. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/templates/post-implementation-review.template.md +0 -0
  68. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/templates/prd.template.md +0 -0
  69. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/templates/qa-test-plan.template.md +0 -0
  70. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/templates/raci-stakeholder.template.md +0 -0
  71. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/templates/release-cutover-plan.template.md +0 -0
  72. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/templates/risk-register.template.md +0 -0
  73. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/templates/rollback-plan.template.md +0 -0
  74. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/templates/runbook.template.md +0 -0
  75. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/templates/status-report.template.md +0 -0
  76. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/templates/test-cases.template.md +0 -0
  77. {docassert-1.0.1 → docassert-1.0.2}/docassert/_data/templates/user-story.template.md +0 -0
  78. {docassert-1.0.1 → docassert-1.0.2}/docassert/bridge/__init__.py +0 -0
  79. {docassert-1.0.1 → docassert-1.0.2}/docassert/bridge/board.py +0 -0
  80. {docassert-1.0.1 → docassert-1.0.2}/docassert/bridge/gh.py +0 -0
  81. {docassert-1.0.1 → docassert-1.0.2}/docassert/bridge/ops.py +0 -0
  82. {docassert-1.0.1 → docassert-1.0.2}/docassert/bridge/plan.py +0 -0
  83. {docassert-1.0.1 → docassert-1.0.2}/docassert/cli.py +0 -0
  84. {docassert-1.0.1 → docassert-1.0.2}/docassert/config.py +0 -0
  85. {docassert-1.0.1 → docassert-1.0.2}/docassert/consistency.py +0 -0
  86. {docassert-1.0.1 → docassert-1.0.2}/docassert/extract.py +0 -0
  87. {docassert-1.0.1 → docassert-1.0.2}/docassert/graph.py +0 -0
  88. {docassert-1.0.1 → docassert-1.0.2}/docassert/loader.py +0 -0
  89. {docassert-1.0.1 → docassert-1.0.2}/docassert/models.py +0 -0
  90. {docassert-1.0.1 → docassert-1.0.2}/docassert/profiles.py +0 -0
  91. {docassert-1.0.1 → docassert-1.0.2}/docassert/projects.py +0 -0
  92. {docassert-1.0.1 → docassert-1.0.2}/docassert/report.py +0 -0
  93. {docassert-1.0.1 → docassert-1.0.2}/docassert/rtm.py +0 -0
  94. {docassert-1.0.1 → docassert-1.0.2}/docassert/scaffold.py +0 -0
  95. {docassert-1.0.1 → docassert-1.0.2}/docassert/semantic.py +0 -0
  96. {docassert-1.0.1 → docassert-1.0.2}/docassert/status/__init__.py +0 -0
  97. {docassert-1.0.1 → docassert-1.0.2}/docassert/status/derive.py +0 -0
  98. {docassert-1.0.1 → docassert-1.0.2}/docassert/status/render.py +0 -0
  99. {docassert-1.0.1 → docassert-1.0.2}/docassert/structural.py +0 -0
  100. {docassert-1.0.1 → docassert-1.0.2}/docassert.egg-info/SOURCES.txt +0 -0
  101. {docassert-1.0.1 → docassert-1.0.2}/docassert.egg-info/dependency_links.txt +0 -0
  102. {docassert-1.0.1 → docassert-1.0.2}/docassert.egg-info/entry_points.txt +0 -0
  103. {docassert-1.0.1 → docassert-1.0.2}/docassert.egg-info/requires.txt +0 -0
  104. {docassert-1.0.1 → docassert-1.0.2}/docassert.egg-info/top_level.txt +0 -0
  105. {docassert-1.0.1 → docassert-1.0.2}/pyproject.toml +0 -0
  106. {docassert-1.0.1 → docassert-1.0.2}/setup.cfg +0 -0
  107. {docassert-1.0.1 → docassert-1.0.2}/tests/test_audit_0_20_2.py +0 -0
  108. {docassert-1.0.1 → docassert-1.0.2}/tests/test_badge.py +0 -0
  109. {docassert-1.0.1 → docassert-1.0.2}/tests/test_bridge.py +0 -0
  110. {docassert-1.0.1 → docassert-1.0.2}/tests/test_config.py +0 -0
  111. {docassert-1.0.1 → docassert-1.0.2}/tests/test_consistency.py +0 -0
  112. {docassert-1.0.1 → docassert-1.0.2}/tests/test_defects.py +0 -0
  113. {docassert-1.0.1 → docassert-1.0.2}/tests/test_draft_relaxation.py +0 -0
  114. {docassert-1.0.1 → docassert-1.0.2}/tests/test_extract.py +0 -0
  115. {docassert-1.0.1 → docassert-1.0.2}/tests/test_graph.py +0 -0
  116. {docassert-1.0.1 → docassert-1.0.2}/tests/test_json_report.py +0 -0
  117. {docassert-1.0.1 → docassert-1.0.2}/tests/test_kinds_delivery.py +0 -0
  118. {docassert-1.0.1 → docassert-1.0.2}/tests/test_kinds_governance.py +0 -0
  119. {docassert-1.0.1 → docassert-1.0.2}/tests/test_kinds_operate.py +0 -0
  120. {docassert-1.0.1 → docassert-1.0.2}/tests/test_kinds_reporting.py +0 -0
  121. {docassert-1.0.1 → docassert-1.0.2}/tests/test_profiles.py +0 -0
  122. {docassert-1.0.1 → docassert-1.0.2}/tests/test_projects.py +0 -0
  123. {docassert-1.0.1 → docassert-1.0.2}/tests/test_report_extract.py +0 -0
  124. {docassert-1.0.1 → docassert-1.0.2}/tests/test_semantic.py +0 -0
  125. {docassert-1.0.1 → docassert-1.0.2}/tests/test_status.py +0 -0
  126. {docassert-1.0.1 → docassert-1.0.2}/tests/test_structural.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: docassert
3
- Version: 1.0.1
3
+ Version: 1.0.2
4
4
  Summary: Unit testing for business documents — validate structured Markdown docs against a configurable audit standard.
5
5
  Author: C4G Enterprises Inc.
6
6
  License: Apache-2.0
@@ -5,4 +5,4 @@ standard: deterministic structural checks that gate a merge, plus optional
5
5
  AI-graded semantic checks that advise.
6
6
  """
7
7
 
8
- __version__ = "1.0.1"
8
+ __version__ = "1.0.2"
@@ -9,9 +9,11 @@ status: proposed # proposed | active | on-hold | closed
9
9
 
10
10
  ## Overview
11
11
 
12
- <!-- One paragraph: what this project is and the outcome it exists to deliver.
13
- The charter carries the detail; this anchor just establishes identity. -->
12
+ TODO: one paragraph establishing what this project is and the outcome it
13
+ exists to deliver.
14
+ <!-- The charter carries the detail; this anchor just establishes identity. -->
14
15
 
15
16
  ## Scope
16
17
 
17
- <!-- In scope / out of scope at the project level. -->
18
+ TODO: what is in scope and out of scope at the project level.
19
+ <!-- Keep this at anchor level; the charter and BRD carry the detail. -->
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: docassert
3
- Version: 1.0.1
3
+ Version: 1.0.2
4
4
  Summary: Unit testing for business documents — validate structured Markdown docs against a configurable audit standard.
5
5
  Author: C4G Enterprises Inc.
6
6
  License: Apache-2.0
@@ -145,3 +145,16 @@ def test_cli_new_creates_and_hints(tmp_path, monkeypatch, capsys):
145
145
  assert main(["new", "brd", "--project", "PRJ-001-AAA"]) == 0
146
146
  out = capsys.readouterr().out
147
147
  assert "created" in out and "AAA-BR-001" in out
148
+
149
+
150
+ # ── the adopter path: fresh scaffolds must pass validation ───────────────────
151
+ def test_fresh_scaffold_passes_validate(tmp_path, monkeypatch):
152
+ """The template README's first commands: new project, new charter,
153
+ validate. A fresh scaffold failing its own structural gate was a real
154
+ day-one failure (found 2026-07-05 exercising the adopter path); every
155
+ packaged template's required sections must survive comment-stripping."""
156
+ monkeypatch.chdir(tmp_path)
157
+ assert main(["new", "project", "--code", "AUR", "--name", "Aurora"]) == 0
158
+ assert main(["new", "charter", "--project", "PRJ-001-AUR"]) == 0
159
+ docs = sorted(str(p) for p in (tmp_path / "documents").rglob("*.md"))
160
+ assert main(["validate", *docs]) == 0
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