Skip to content
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .config/dotnet-tools.json
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,12 @@
"commands": [
"reviewmark"
]
},
"demaconsulting.fileassert": {
"version": "0.3.0",
"commands": [
"fileassert"
]
}
}
}
74 changes: 7 additions & 67 deletions .cspell.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,82 +14,22 @@ language: en

# Project-specific technical terms and tool names
words:
- Anson
- Blockquotes
- buildmark
- BuildMark
- build_notes
- camelcase
- Checkmarx
- CodeQL
- code_quality
- code_review_plan
- code_review_report
- copilot
- cspell
- csproj
- dbproj
- dcterms
- compilability
- Dema
- demaconsulting
- DEMACONSULTINGNUGETKEY
- Dependabot
- dependabot
- doctitle
- dotnet
- editorconfig
- filepart
- fsproj
- Gidget
- gitattributes
- ibiqlik
- LINQ
- maintainer
- markdownlint
- mermaid
- fileassert
- msbuild
- mstest
- ncipollo
- nuget
- nupkg
- opencover
- pagetitle
- pandoc
- Propagatable
- Pylint
- Qube
- reqstream
- ReqStream
- requirements_doc
- requirements_report
- reviewmark
- ReviewMark
- Sarif
- SarifMark
- SBOM
- selftest
- SelfTest
- Semgrep
- semver
- slnx
- snupkg
- sarifmark
- SARIF
- sonarmark
- SonarMark
- SonarQube
- spdx
- streetsidesoftware
- testname
- TMPL
- trace_matrix
- triaging
- Trivy
- trx
- vbproj
- vcxproj
- versionmark
- VersionMark
- Weasyprint
- yamllint
- weasyprint
- Weasy
- yamlfix
Comment thread
Malcolmnixon marked this conversation as resolved.

# Exclude common build artifacts, dependencies, and vendored third-party code
ignorePaths:
Expand Down
276 changes: 276 additions & 0 deletions .fileassert.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,276 @@
---
# FileAssert document validation tests for VersionMark.
# Tests are tagged by document group to allow per-group execution during the build pipeline.
# Tags: build-notes, code-quality, code-review, design, user-guide, requirements.
#
# NOTE: build-notes through user-guide tests provide OTS evidence for Pandoc and WeasyPrint
# and run before ReqStream. The requirements tests run after ReqStream and validate the
# final outputs, but do not contribute to OTS requirements evidence.

tests:

# --- BUILD NOTES ---

- name: Pandoc_BuildNotesHtml
description: "Build Notes HTML was generated by Pandoc"
tags: [build-notes]
files:
- pattern: "docs/build_notes/build_notes.html"
count: 1
html:
- query: "//head/title"
count: 1
text:
- contains: "Build Notes"

- name: WeasyPrint_BuildNotesPdf
description: "Build Notes PDF was generated by WeasyPrint"
tags: [build-notes]
files:
- pattern: "docs/VersionMark Build Notes.pdf"
count: 1
pdf:
metadata:
- field: "Title"
contains: "VersionMark"
- field: "Author"
contains: "DEMA Consulting"
- field: "Subject"
contains: "Build notes"
pages:
min: 1
text:
- contains: "Build Notes"

# --- CODE QUALITY ---

- name: Pandoc_CodeQualityHtml
description: "Code Quality HTML was generated by Pandoc"
tags: [code-quality]
files:
- pattern: "docs/code_quality/quality.html"
count: 1
html:
- query: "//head/title"
count: 1
text:
- contains: "CodeQL"

- name: WeasyPrint_CodeQualityPdf
description: "Code Quality PDF was generated by WeasyPrint"
tags: [code-quality]
files:
- pattern: "docs/VersionMark Code Quality.pdf"
count: 1
pdf:
metadata:
- field: "Title"
contains: "Code Quality"
- field: "Author"
contains: "DEMA Consulting"
- field: "Subject"
contains: "Code Quality"
pages:
min: 1
text:
- contains: "CodeQL"

# --- CODE REVIEW PLAN ---

- name: Pandoc_ReviewPlanHtml
description: "Code Review Plan HTML was generated by Pandoc"
tags: [code-review]
files:
- pattern: "docs/code_review_plan/plan.html"
count: 1
html:
- query: "//head/title"
count: 1
text:
- contains: "Review Plan"

- name: WeasyPrint_ReviewPlanPdf
description: "Code Review Plan PDF was generated by WeasyPrint"
tags: [code-review]
files:
- pattern: "docs/VersionMark Review Plan.pdf"
count: 1
pdf:
metadata:
- field: "Title"
contains: "Review Plan"
- field: "Author"
contains: "DEMA Consulting"
- field: "Subject"
contains: "Review Plan"
pages:
min: 1
text:
- contains: "Review Plan"

# --- CODE REVIEW REPORT ---

- name: Pandoc_ReviewReportHtml
description: "Code Review Report HTML was generated by Pandoc"
tags: [code-review]
files:
- pattern: "docs/code_review_report/report.html"
count: 1
html:
- query: "//head/title"
count: 1
text:
- contains: "Review Report"

- name: WeasyPrint_ReviewReportPdf
description: "Code Review Report PDF was generated by WeasyPrint"
tags: [code-review]
files:
- pattern: "docs/VersionMark Review Report.pdf"
count: 1
pdf:
metadata:
- field: "Title"
contains: "Review Report"
- field: "Author"
contains: "DEMA Consulting"
- field: "Subject"
contains: "Review Report"
pages:
min: 1
text:
- contains: "Review Report"

# --- DESIGN DOCUMENT ---

- name: Pandoc_DesignHtml
description: "Design HTML was generated by Pandoc"
tags: [design]
files:
- pattern: "docs/design/design.html"
count: 1
html:
- query: "//head/title"
count: 1
text:
- contains: "Design"

- name: WeasyPrint_DesignPdf
description: "Design PDF was generated by WeasyPrint"
tags: [design]
files:
- pattern: "docs/VersionMark Software Design.pdf"
count: 1
pdf:
metadata:
- field: "Title"
contains: "Design"
- field: "Author"
contains: "DEMA Consulting"
- field: "Subject"
contains: "design document"
pages:
min: 3
text:
- contains: "Design"

# --- USER GUIDE ---

- name: Pandoc_UserGuideHtml
description: "User Guide HTML was generated by Pandoc"
tags: [user-guide]
files:
- pattern: "docs/user_guide/user_guide.html"
count: 1
html:
- query: "//head/title"
count: 1
text:
- contains: "User Guide"

- name: WeasyPrint_UserGuidePdf
description: "User Guide PDF was generated by WeasyPrint"
tags: [user-guide]
files:
- pattern: "docs/VersionMark User Guide.pdf"
count: 1
pdf:
metadata:
- field: "Title"
contains: "User Guide"
- field: "Author"
contains: "DEMA Consulting"
- field: "Subject"
contains: "Reference Implementation"
pages:
min: 3
text:
- contains: "User Guide"

# --- REQUIREMENTS DOCUMENT ---
# Note: these tests run after ReqStream and do not contribute to OTS requirements evidence.

- name: Pandoc_RequirementsHtml
description: "Requirements HTML was generated by Pandoc"
tags: [requirements]
files:
- pattern: "docs/requirements_doc/requirements.html"
count: 1
html:
- query: "//head/title"
count: 1
text:
- contains: "Requirements"

- name: WeasyPrint_RequirementsPdf
description: "Requirements PDF was generated by WeasyPrint"
tags: [requirements]
files:
- pattern: "docs/VersionMark Requirements.pdf"
count: 1
pdf:
metadata:
- field: "Title"
contains: "Requirements"
- field: "Author"
contains: "DEMA Consulting"
- field: "Subject"
contains: "Requirements"
pages:
min: 1
text:
- contains: "Requirements"

# --- TRACE MATRIX ---
# Note: these tests run after ReqStream and do not contribute to OTS requirements evidence.

- name: Pandoc_TraceMatrixHtml
description: "Trace Matrix HTML was generated by Pandoc"
tags: [requirements]
files:
- pattern: "docs/requirements_report/trace_matrix.html"
count: 1
html:
- query: "//head/title"
count: 1
text:
- contains: "Trace Matrix"

- name: WeasyPrint_TraceMatrixPdf
description: "Trace Matrix PDF was generated by WeasyPrint"
tags: [requirements]
files:
- pattern: "docs/VersionMark Trace Matrix.pdf"
count: 1
pdf:
metadata:
- field: "Title"
contains: "Trace Matrix"
- field: "Author"
contains: "DEMA Consulting"
- field: "Subject"
contains: "Traceability"
pages:
min: 1
text:
- contains: "Trace Matrix"
Loading
Loading