Skip to content

Architectural Review: Units System (REVIEW-2025-12-01) #4

Architectural Review: Units System (REVIEW-2025-12-01)

Architectural Review: Units System (REVIEW-2025-12-01) #4

name: Architectural Review Validation
on:
pull_request:
paths:
- 'docs/reviews/**/*.md'
types: [opened, synchronize, reopened]
jobs:
validate-review-structure:
name: Validate Review Document Structure
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Get changed review files
id: changed-files
uses: tj-actions/changed-files@v40
with:
files: |
docs/reviews/**/*-REVIEW.md
- name: Validate required sections
if: steps.changed-files.outputs.any_changed == 'true'
run: |
echo "Validating review document structure..."
for file in ${{ steps.changed-files.outputs.all_changed_files }}; do
echo "Checking: $file"
# Check for required sections
sections=(
"## Overview"
"## Changes Made"
"## System Architecture"
"## Testing Instructions"
"## Known Limitations"
"## Sign-Off"
)
for section in "${sections[@]}"; do
if ! grep -q "$section" "$file"; then
echo "❌ ERROR: Missing required section '$section' in $file"
exit 1
else
echo "✅ Found: $section"
fi
done
# Check for sign-off table
if ! grep -q "| Role | Name | Date | Status |" "$file"; then
echo "❌ ERROR: Missing sign-off table in $file"
exit 1
else
echo "✅ Sign-off table present"
fi
echo "✅ $file structure is valid"
done
- name: Check tracking index updated
if: steps.changed-files.outputs.any_changed == 'true'
run: |
# Extract year-month from changed file path
REVIEW_FILE="${{ steps.changed-files.outputs.all_changed_files }}"
if [[ $REVIEW_FILE =~ docs/reviews/([0-9]{4}-[0-9]{2})/ ]]; then
YEAR_MONTH="${BASH_REMATCH[1]}"
TRACKING_INDEX="docs/reviews/${YEAR_MONTH}/REVIEW-TRACKING-INDEX.md"
if [ -f "$TRACKING_INDEX" ]; then
echo "✅ Tracking index exists: $TRACKING_INDEX"
# Check if the review is mentioned in tracking index
REVIEW_NAME=$(basename "$REVIEW_FILE" .md)
if grep -q "$REVIEW_NAME" "$TRACKING_INDEX"; then
echo "✅ Review is tracked in index"
else
echo "⚠️ WARNING: Review not found in tracking index"
echo "Please update $TRACKING_INDEX to include this review"
fi
else
echo "⚠️ WARNING: No tracking index found at $TRACKING_INDEX"
fi
fi
create-review-checklist:
name: Post Review Checklist
runs-on: ubuntu-latest
if: github.event.action == 'opened'
permissions:
pull-requests: write
steps:
- name: Create reviewer checklist comment
uses: actions/github-script@v7
with:
script: |
const checklist = `## 🔍 Architectural Review Checklist
Thank you for submitting an architectural review! Reviewers should validate:
### Design & Architecture
- [ ] Design rationale is clear and well-justified
- [ ] Trade-offs are documented with alternatives considered
- [ ] System architecture is comprehensible
- [ ] Integration points are clearly identified
### Implementation
- [ ] Implementation matches documented design
- [ ] Code quality meets project standards
- [ ] Breaking changes are identified and justified
- [ ] Backward compatibility is properly addressed
### Testing & Validation
- [ ] Testing strategy is adequate for the changes
- [ ] Test coverage is sufficient
- [ ] Edge cases are properly covered
- [ ] Performance impact has been assessed
### Documentation
- [ ] Known limitations are clearly documented
- [ ] Benefits are quantified with metrics
- [ ] User-facing changes are documented
- [ ] Migration guide provided (if needed)
---
**Review Process**: See [CODE-REVIEW-PROCESS.md](../blob/main/docs/developer/CODE-REVIEW-PROCESS.md)
**Approval**: This PR merge = Review formally approved`;
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: checklist
});
run-tests:
name: Run Test Suite
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Pixi
uses: prefix-dev/[email protected]
with:
pixi-version: latest
- name: Run tests
run: |
# Note: This is a placeholder - adjust based on your CI setup
# For architectural reviews, you may want to run only specific test suites
echo "Testing validation would run here"
echo "pixi run underworld-test"
- name: Post test status
if: always()
uses: actions/github-script@v7
with:
script: |
const status = '${{ job.status }}';
const icon = status === 'success' ? '✅' : '❌';
const message = `${icon} **Test Suite**: ${status}`;
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: message
});
# Reviewed for: Review System Infrastructure & GitHub Integration (Review #10, 2025-11-17)
# Part of formal architectural review process implementation
# REVIEW HISTORY:
# - Review #10 (2025-11-17): Workflow created as part of Review System Infrastructure review