Skip to content
Merged
Show file tree
Hide file tree
Changes from 6 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
4 changes: 4 additions & 0 deletions .cspell.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ words:
- DEMA
- Dema
- fileassert
- hotspot
- hotspots
- mstest
- pandoc
Expand All @@ -30,6 +31,8 @@ words:
- sonarmark
- testname
- tracematrix
- xunit
- Xunit
- Unwritable
- venv
- versionmark
Expand All @@ -45,6 +48,7 @@ ignorePaths:
- "**/thirdparty/**"
- "**/third-party/**"
- "**/3rd-party/**"
- "**/generated/**"
- "**/AGENT_REPORT_*.md"
- "**/.agent-logs/**"
- "**/bin/**"
Expand Down
67 changes: 50 additions & 17 deletions .fileassert.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
# FileAssert document validation tests for ReqStream.
# 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.
# Tags: build-notes, code-quality, code-review, design, verification, 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
Expand All @@ -15,7 +15,7 @@ tests:
description: "Build Notes HTML was generated by Pandoc"
tags: [build-notes]
files:
- pattern: "docs/build_notes/build_notes.html"
- pattern: "docs/build_notes/generated/build_notes.html"
count: 1
html:
- query: "//head/title"
Expand All @@ -27,7 +27,7 @@ tests:
description: "Build Notes PDF was generated by WeasyPrint"
tags: [build-notes]
files:
- pattern: "docs/ReqStream Build Notes.pdf"
- pattern: "docs/generated/ReqStream Build Notes.pdf"
count: 1
pdf:
metadata:
Expand All @@ -48,7 +48,7 @@ tests:
description: "Code Quality HTML was generated by Pandoc"
tags: [code-quality]
files:
- pattern: "docs/code_quality/quality.html"
- pattern: "docs/code_quality/generated/quality.html"
count: 1
html:
- query: "//head/title"
Expand All @@ -60,7 +60,7 @@ tests:
description: "Code Quality PDF was generated by WeasyPrint"
tags: [code-quality]
files:
- pattern: "docs/ReqStream Code Quality.pdf"
- pattern: "docs/generated/ReqStream Code Quality.pdf"
count: 1
pdf:
metadata:
Expand All @@ -81,7 +81,7 @@ tests:
description: "Code Review Plan HTML was generated by Pandoc"
tags: [code-review]
files:
- pattern: "docs/code_review_plan/plan.html"
- pattern: "docs/code_review_plan/generated/plan.html"
count: 1
html:
- query: "//head/title"
Expand All @@ -93,7 +93,7 @@ tests:
description: "Code Review Plan PDF was generated by WeasyPrint"
tags: [code-review]
files:
- pattern: "docs/ReqStream Review Plan.pdf"
- pattern: "docs/generated/ReqStream Review Plan.pdf"
count: 1
pdf:
metadata:
Expand All @@ -114,7 +114,7 @@ tests:
description: "Code Review Report HTML was generated by Pandoc"
tags: [code-review]
files:
- pattern: "docs/code_review_report/report.html"
- pattern: "docs/code_review_report/generated/report.html"
count: 1
html:
- query: "//head/title"
Expand All @@ -126,7 +126,7 @@ tests:
description: "Code Review Report PDF was generated by WeasyPrint"
tags: [code-review]
files:
- pattern: "docs/ReqStream Review Report.pdf"
- pattern: "docs/generated/ReqStream Review Report.pdf"
count: 1
pdf:
metadata:
Expand All @@ -147,7 +147,7 @@ tests:
description: "Design HTML was generated by Pandoc"
tags: [design]
files:
- pattern: "docs/design/design.html"
- pattern: "docs/design/generated/design.html"
count: 1
html:
- query: "//head/title"
Expand All @@ -159,7 +159,7 @@ tests:
description: "Design PDF was generated by WeasyPrint"
tags: [design]
files:
- pattern: "docs/ReqStream Software Design.pdf"
- pattern: "docs/generated/ReqStream Software Design.pdf"
count: 1
pdf:
metadata:
Expand All @@ -174,13 +174,46 @@ tests:
text:
- contains: "Design"

# --- VERIFICATION ---

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

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

# --- USER GUIDE ---

- name: Pandoc_UserGuideHtml
description: "User Guide HTML was generated by Pandoc"
tags: [user-guide]
files:
- pattern: "docs/user_guide/user_guide.html"
- pattern: "docs/user_guide/generated/user_guide.html"
count: 1
html:
- query: "//head/title"
Expand All @@ -192,7 +225,7 @@ tests:
description: "User Guide PDF was generated by WeasyPrint"
tags: [user-guide]
files:
- pattern: "docs/ReqStream User Guide.pdf"
- pattern: "docs/generated/ReqStream User Guide.pdf"
count: 1
pdf:
metadata:
Expand All @@ -214,7 +247,7 @@ tests:
description: "Requirements HTML was generated by Pandoc"
tags: [requirements]
files:
- pattern: "docs/requirements_doc/requirements.html"
- pattern: "docs/requirements_doc/generated/requirements.html"
count: 1
html:
- query: "//head/title"
Expand All @@ -226,7 +259,7 @@ tests:
description: "Requirements PDF was generated by WeasyPrint"
tags: [requirements]
files:
- pattern: "docs/ReqStream Requirements.pdf"
- pattern: "docs/generated/ReqStream Requirements.pdf"
count: 1
pdf:
metadata:
Expand All @@ -248,7 +281,7 @@ tests:
description: "Trace Matrix HTML was generated by Pandoc"
tags: [requirements]
files:
- pattern: "docs/requirements_report/trace_matrix.html"
- pattern: "docs/requirements_report/generated/trace_matrix.html"
count: 1
html:
- query: "//head/title"
Expand All @@ -260,7 +293,7 @@ tests:
description: "Trace Matrix PDF was generated by WeasyPrint"
tags: [requirements]
files:
- pattern: "docs/ReqStream Trace Matrix.pdf"
- pattern: "docs/generated/ReqStream Trace Matrix.pdf"
count: 1
pdf:
metadata:
Expand Down
2 changes: 1 addition & 1 deletion .github/agents/developer.agent.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ Perform software development tasks by determining and applying appropriate stand
5. **Formatting**: Run `pwsh ./fix.ps1` to silently apply all
available auto-fixers (dotnet format, markdown, YAML) before committing
6. **Build and test** (code changes only): Run `pwsh ./build.ps1` and confirm it
passes report FAILED if the build or any tests fail
passes - report FAILED if the build or any tests fail
7. **Generate completion report** per the AGENTS.md reporting requirements - save to
`.agent-logs/{agent-name}-{subject}-{unique-id}.md` and return the summary to the caller

Expand Down
2 changes: 2 additions & 0 deletions .github/agents/formal-review.agent.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ Before reviewing, read these standards to inform review judgments:
hierarchy and categorization review judgments
- **`design-documentation.md`** - defines mandatory sections, structural conventions,
and coverage expected at each level; informs all design documentation review judgments
- **`verification-documentation.md`** - defines mandatory sections, structural conventions,
and coverage expected at each level; informs all verification design review judgments

For review sets that include source code or tests, also consult the relevant
standards from the selection matrix in AGENTS.md.
Expand Down
7 changes: 6 additions & 1 deletion .github/agents/lint-fix.agent.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,12 @@ submission, not during normal development.

- **markdownlint MD013 (line length)**: Wrap long lines at natural break points,
after commas, before conjunctions, or at sentence boundaries. Do not break
in the middle of a code span or URL.
in the middle of a code span or URL. **Pipe-tables that cannot be wrapped
without breaking structure** are a special case - convert them to a bullet
list if the data reads naturally that way, or rewrite as a
[grid table](https://pandoc.org/MANUAL.html#tables) if a tabular layout is
essential. Do not get stuck trying to squeeze a wide pipe-table into 120
characters.

- **markdownlint other rules**: Apply the specific fix indicated in the output
(e.g., missing blank lines, heading levels, code fence languages).
Expand Down
77 changes: 0 additions & 77 deletions .github/agents/repo-consistency.agent.md

This file was deleted.

13 changes: 3 additions & 10 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,26 +26,19 @@ Before submitting this pull request, ensure you have completed the following:

### Build and Test

- [ ] Code builds successfully: `dotnet build --configuration Release`
- [ ] All unit tests pass: `dotnet test --configuration Release`
- [ ] Self-validation tests pass:
`dotnet run --project src/DemaConsulting.ReqStream --configuration Release --framework net10.0`
`--no-build -- --validate`
- [ ] Code builds successfully and all tests pass: `pwsh ./build.ps1`
- [ ] Code produces zero warnings

### Code Quality

- [ ] Code formatting is correct: `dotnet format --verify-no-changes`
- [ ] New code has appropriate XML documentation comments
- [ ] Static analyzer warnings have been addressed

### Quality Checks

Please run the following checks before submitting:

- [ ] **Spell checker passes**: `cspell "**/*.{md,cs}"`
- [ ] **Markdown linter passes**: `markdownlint "**/*.md"`
- [ ] **YAML linter passes**: `yamllint .`
- [ ] **All linters pass**: `pwsh ./lint.ps1`

### Testing

Expand All @@ -57,7 +50,7 @@ Please run the following checks before submitting:
### Documentation

- [ ] Updated README.md (if applicable)
- [ ] Updated ARCHITECTURE.md (if applicable)
- [ ] Updated docs/ documentation (if applicable)
- [ ] Added code examples for new features (if applicable)
- [ ] Updated requirements.yaml (if applicable)

Expand Down
Loading
Loading