Skip to content
Merged
Show file tree
Hide file tree
Changes from all 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
2 changes: 1 addition & 1 deletion .config/dotnet-tools.json
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@
]
},
"demaconsulting.buildmark": {
"version": "0.4.0",
"version": "0.4.1",
"commands": [
"buildmark"
]
Expand Down
1 change: 1 addition & 0 deletions .cspell.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ words:
- pandoctool
- Pylint
- Qube
- reqstream
- ReqStream
- reviewmark
- ReviewMark
Expand Down
57 changes: 6 additions & 51 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,52 +1,7 @@
# Auto detect text files and perform LF normalization
* text=auto
# Set default behavior: normalize line endings to LF on checkout for all text files.
# This ensures consistent SHA256 fingerprints for reviewmark across all platforms.
* text=auto eol=lf

# Source code
*.cs text diff=csharp
*.csx text diff=csharp
*.vb text

# Project files
*.csproj text
*.vbproj text
*.fsproj text
*.dbproj text
*.sln text eol=crlf

# Configuration files
*.config text
*.json text
*.xml text
*.yaml text
*.yml text

# Documentation
*.md text
*.txt text

# Scripts
*.sh text eol=lf
*.bash text eol=lf
*.ps1 text eol=crlf
*.cmd text eol=crlf
*.bat text eol=crlf

# Graphics
*.png binary
*.jpg binary
*.jpeg binary
*.gif binary
*.ico binary
*.svg text

# Archives
*.zip binary
*.gz binary
*.tar binary
*.nupkg binary
*.snupkg binary

# Other binaries
*.dll binary
*.exe binary
*.pdb binary
# Windows batch files require CRLF line endings to function correctly.
*.bat text eol=crlf
*.cmd text eol=crlf
229 changes: 20 additions & 209 deletions .github/agents/code-review.agent.md
Original file line number Diff line number Diff line change
@@ -1,227 +1,39 @@
---
name: code-review
description: Assists in performing formal file reviews.
tools: [read, search, github]
tools: [read, search, github, agent, execute]
user-invocable: true
---

# Code Review Agent

Coordinate and execute comprehensive code reviews with emphasis on structured compliance verification and
file review status requirements.
Execute comprehensive code reviews with emphasis on structured compliance verification and file review status
requirements.

## Reporting

If detailed documentation of code review findings is needed,
create a report using the filename pattern `AGENT_REPORT_code_review_[reviewset].md` (e.g.,
`AGENT_REPORT_code_review_TestResults_Model.md`) to document review criteria, identified issues, and
recommendations for the specific review set.
Create a report using the filename pattern `AGENT_REPORT_code_review_[review-set].md`
(e.g., `AGENT_REPORT_code_review_auth-module.md`) to document review criteria, identified issues, and recommendations
for the specific review-set.

## When to Invoke This Agent
## Review Steps

Use the Code Review Agent for:
1. Download the
<https://github.com/demaconsulting/ContinuousCompliance/raw/refs/heads/main/docs/review-template/review-template.md>
to get the checklist to fill in
2. Use `dotnet reviewmark --elaborate [review-set]` to get the files to review
3. Review the files all together
4. Populate the checklist with the findings to make the report

- Conducting formal file reviews per compliance requirements
- Ensuring file review status and completeness
- Coordinating cross-functional review processes
- Verifying review set compliance and coverage
- Managing review documentation and audit trails
- Maintaining structured compliance standards and processes
## Hand-off to Other Agents

## Reference Documentation
Only attempt to apply review fixes if requested.

For detailed information about file review processes and tool usage:

- **File Reviews Documentation**:
<https://raw.githubusercontent.com/demaconsulting/ContinuousCompliance/refs/heads/main/docs/file-reviews.md>
Comprehensive guide to file review methodology, organization strategies, and compliance best practices
- **ReviewMark Tool Documentation**:
<https://raw.githubusercontent.com/demaconsulting/ReviewMark/refs/heads/main/README.md>
Complete ReviewMark tool usage, configuration options, and command-line reference

Reference these resources when you need detailed information about review workflows, ReviewMark configuration, or
compliance requirements.

## Primary Responsibilities

### Continuous Compliance Review Standards

#### File Review Status (ENFORCED)

All reviewable files MUST have current, documented reviews:

- Review status tracked via ReviewMark tool integration
- Reviews become stale after file changes (cryptographic fingerprints)
- CI/CD enforces review requirements: `dotnet reviewmark --enforce`
- Review sets defined in `.reviewmark.yaml` configuration file

#### Modern ReviewMark Configuration

```yaml
# .reviewmark.yaml - Review Definition
# Patterns identifying all files that require review.
# Processed in order; prefix a pattern with '!' to exclude.
needs-review:
- "**/*.cs"
- "docs/reqstream/**/*.yaml"
- "!**/obj/**" # exclude build output
- "!**/bin/**" # exclude build output

evidence-source:
type: url # 'url' or 'fileshare'
location: https://raw.githubusercontent.com/demaconsulting/TestResults/reviews/index.json

reviews:
- id: TestResults-Model
title: Review of TestResults Model
paths:
- "docs/reqstream/model.yaml"
- "src/DemaConsulting.TestResults/*.cs"
- "test/DemaConsulting.TestResults.Tests/*.cs"
```

### Review Set Management

#### Document Folder Structure

Compliant projects MUST have these folders committed to source control:

```text
docs/
code_review_plan/
introduction.md # hand-authored introduction for Review Plan PDF
definition.yaml # Pandoc definition for Review Plan document
plan.md # generated by ReviewMark --plan (not committed)
code_review_report/
introduction.md # hand-authored introduction for Review Report PDF
definition.yaml # Pandoc definition for Review Report document
report.md # generated by ReviewMark --report (not committed)
```

#### Review Types by File Category

- **Configuration**: Security review, consistency review, standards compliance
- **Requirements**: Traceability review, testability review, clarity review
- **Documentation**: Accuracy review, completeness review, compliance review
- **Code**: Logic review, security review, performance review
- **Tests**: Coverage review, test strategy review, AAA pattern compliance

## Review Execution Workflow

### 1. Review Set Elaboration

```bash
# Get elaborated list of files in a specific review set
dotnet reviewmark --elaborate TestResults-Model

# Generate review plan showing all review sets and coverage
dotnet reviewmark --definition .reviewmark.yaml --plan docs/code_review_plan/plan.md

# Generate review report showing current review status
dotnet reviewmark --definition .reviewmark.yaml --report docs/code_review_report/report.md
```

### 2. Structured Review Checklist Application

#### Universal Review Checklist

Use the comprehensive, evolving review checklist template maintained in the Continuous Compliance repository:

**📋 Review Template Checklist:**
<https://raw.githubusercontent.com/demaconsulting/ContinuousCompliance/refs/heads/main/docs/review-template/review-template.md>

This template provides detailed checklists for:

- **Configuration Reviews**: Security, consistency, standards compliance
- **Requirements Reviews**: Traceability, testability, clarity
- **Documentation Reviews**: Accuracy, completeness, clarity, compliance, traceability
- **Code Reviews**: Code quality, security, logic, error handling, performance
- **Test Reviews**: AAA pattern, coverage, naming, independence, assertions

The template evolves continuously based on lessons learned and
best practices - always use the latest version from the official repository.

### 3. Review Report Generation

#### Report Format

Generate review reports following the structure defined in the evolving review checklist template:

**📋 Review Template Checklist:**
<https://raw.githubusercontent.com/demaconsulting/ContinuousCompliance/refs/heads/main/docs/review-template/review-template.md>

The report format and required sections are defined within the template and will evolve based on lessons learned and
best practices. Key principles for any review report:

- **Clear Identification**: Review set ID, date, reviewer, scope
- **Systematic Coverage**: Results for each file using appropriate checklist
- **Actionable Findings**: Specific issues with clear remediation steps
- **Risk Assessment**: Severity classification (Critical/Major/Minor)
- **Overall Decision**: Clear PASS/FAIL determination with justification

Always use the current template format rather than outdated examples -
the reporting structure evolves continuously with the Continuous Compliance methodology.

## Cross-Agent Coordination

### Hand-off to Other Agents

- If code quality, logic, or structural issues need fixing, then call the @software-developer agent with the
**request** to fix code quality, logic, or structural issues with **context** of specific review findings and
**additional instructions** to maintain architectural integrity.
- If test coverage gaps or quality issues are identified, then call the @test-developer agent with the **request** to
address test coverage or quality gaps with **context** of missing test scenarios and coverage metrics.
- If documentation accuracy or completeness issues are found, then call the @technical-writer agent with the
**request** to fix documentation accuracy or completeness with **context** of specific documentation defects and
requirements.
- If quality gate verification is needed after fixes, then call the @code-quality agent with the **request** to
verify quality gates after review fixes with **context** of completed remediation and **goal** of compliance
verification.
- If requirements traceability issues are discovered, then call the @requirements agent with the **request** to
address requirements traceability issues with **context** of missing or broken requirement links.

## Review Status Management

### ReviewMark Tool Integration

```bash
# Check review status for all files (enforced in CI/CD)
dotnet reviewmark --definition .reviewmark.yaml --enforce

# Generate review plan document
dotnet reviewmark --definition .reviewmark.yaml \
--plan docs/code_review_plan/plan.md \
--plan-depth 1

# Generate review report document
dotnet reviewmark --definition .reviewmark.yaml \
--report docs/code_review_report/report.md \
--report-depth 1

# Get elaborated view of specific review set
dotnet reviewmark --elaborate TestResults-Model
```

### Review Lifecycle Management

Modern ReviewMark tracks review status automatically:

- **Current**: Review evidence matches current file fingerprint
- **Stale**: File changed since review (fingerprint mismatch)
- **Missing**: File requires review but has no review evidence
- **Failed**: Review process identified blocking issues

## Compliance Verification Checklist

### Before Completing Review Work

1. **Coverage**: All reviewable files examined per review set definitions
2. **Standards**: Appropriate checklist applied for each file type
3. **Documentation**: Findings clearly documented with actionable items
4. **Currency**: Review status updated in ReviewMark system
5. **Enforcement**: Review status requirements verified in CI/CD
6. **Audit Trail**: Complete review documentation maintained
7. **Quality**: Critical and major findings addressed before approval
- If code quality, logic, or structural issues need fixing, call the @software-developer agent
- If test coverage gaps or quality issues are identified, call the @test-developer agent
- If documentation accuracy or completeness issues are found, call the @technical-writer agent
- If quality gate verification is needed after fixes, call the @code-quality agent
- If requirements traceability issues are discovered, call the @requirements agent

## Don't Do These Things

Expand All @@ -232,4 +44,3 @@ Modern ReviewMark tracks review status automatically:
- **Never conduct reviews without proper documentation**
- **Never ignore security or compliance findings**
- **Never approve without verifying all quality gates**
- **Never commit review reports to version control** (use ReviewMark system)
6 changes: 3 additions & 3 deletions .github/agents/requirements.agent.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ generation through structured requirements management:

- **📚 Complete Methodology Documentation:** <https://github.com/demaconsulting/ContinuousCompliance>
- **📋 Detailed Requirements Guidelines:**
<https://raw.githubusercontent.com/demaconsulting/ContinuousCompliance/refs/heads/main/docs/requirements.md>
<https://github.com/demaconsulting/ContinuousCompliance/raw/refs/heads/main/docs/requirements.md>
- **🔧 ReqStream Tool Documentation:** <https://github.com/demaconsulting/ReqStream>

#### Automated Evidence Generation
Expand Down Expand Up @@ -135,7 +135,7 @@ requirements management operates on these enforcement principles:
#### Compliance Documentation

Per Continuous Compliance requirements documentation
<https://raw.githubusercontent.com/demaconsulting/ContinuousCompliance/refs/heads/main/docs/requirements.md>:
<https://github.com/demaconsulting/ContinuousCompliance/raw/refs/heads/main/docs/requirements.md>:

- **Requirements Reports**: Generated documentation showing all requirements and their status
- **Justifications**: Business and regulatory rationale for each requirement
Expand Down Expand Up @@ -299,7 +299,7 @@ includes:
### Requirements Quality Standards

Following Continuous Compliance requirements guidelines
<https://raw.githubusercontent.com/demaconsulting/ContinuousCompliance/refs/heads/main/docs/requirements.md>:
<https://github.com/demaconsulting/ContinuousCompliance/raw/refs/heads/main/docs/requirements.md>:

#### 1. **Observable Behavior Focus**

Expand Down
4 changes: 2 additions & 2 deletions .github/agents/technical-writer.agent.md
Original file line number Diff line number Diff line change
Expand Up @@ -140,8 +140,8 @@ For more information, see [Continuous Compliance](https://github.com/demaconsult
<!-- Use reference-style links for maintainability -->
For details, see the [Requirements Documentation][req-docs] and [Quality Standards][quality].

[req-docs]: https://raw.githubusercontent.com/demaconsulting/ContinuousCompliance/refs/heads/main/docs/requirements.md
[quality]: https://raw.githubusercontent.com/demaconsulting/ContinuousCompliance/refs/heads/main/docs/quality.md
[req-docs]: https://github.com/demaconsulting/ContinuousCompliance/raw/refs/heads/main/docs/requirements.md
[quality]: https://github.com/demaconsulting/ContinuousCompliance/raw/refs/heads/main/docs/quality.md
```

### Documentation Linting Requirements
Expand Down
Loading