# Pull Request Template

## Location

The Build Architecture Guard PR template is located at:

- **`pull_request_template.md`** (root directory)

## Usage

When creating a pull request in Gitea, this template will automatically populate the PR description with the required checklist.

## Template Features

### Change Level Classification

- **L1**: Minor changes, documentation updates
- **L2**: Moderate changes, new features, environment changes
- **L3**: Major changes, architecture changes, new platforms

### Required Fields for All Levels

- Change level selection
- Scope and impact description
- Commands executed and their output
- Documentation updates (BUILDING.md)
- Rollback verification steps

### Additional Requirements for L3

- **ADR link**: Must provide URL to Architectural Decision Record
- **Artifacts with SHA256**: Must list artifacts with cryptographic hashes

## Integration

This template works with:

- **Gitea Actions**: `.gitea/workflows/build-guard.yml`
- **Client-side hooks**: `.husky/` pre-commit and pre-push hooks
- **Guard script**: `scripts/build-arch-guard.sh`

## Example Usage

```markdown
### Change Level
- [x] Level: **L2**

**Why:** Adding new build script for Docker deployment

### Scope & Impact
- [x] Files & platforms touched: scripts/build-docker.sh,
  BUILDING.md
- [x] Risk triggers: Docker build process changes
- [x] Mitigations/validation done: Tested on local Docker environment

### Commands Run
- [x] Web: `npm run build:web:docker` ✅
- [x] Docker: `docker build -t test-image .` ✅

### Artifacts
- [x] Names + **sha256** of artifacts/installers:

Artifacts:
```text
test-image.tar  a1b2c3d4e5f6...
```

### Docs
- [x] **BUILDING.md** updated (sections): Docker deployment
- [x] Troubleshooting updated: Added Docker troubleshooting section

### Rollback
- [x] Verified steps to restore previous behavior:
  1. `git revert HEAD`
  2. `docker rmi test-image`
  3. Restore previous BUILDING.md
```

---

**Note**: This template is enforced by the Build Architecture Guard
system. Complete all required fields to ensure your PR can be merged.
