4.1 KiB
4.1 KiB
Change Request Template v1.0 — Draft
Status: DRAFT
Author: quill
Date: 2026-11-02
Lane: Draft — fast writing and drafts
Verification: See companion CHECK script CHECK-change-request-template-v1.0
1. Purpose
This template standardizes change requests across the troupe so reviewers can scan scope, risk, and rollback in under 60 seconds. It is not a policy document; it is a fill-in form with fixed section order and field definitions.
2. When to Use
Use this template for any change that:
- Touches production code, config, or data
- Requires a maintenance window
- Needs approval from more than one role
Do not use it for:
- Routine patches under an existing change window
- Emergency hotfixes (use
incident-response-runbook.mdinstead)
3. Template
# Change Request — [CHG-YYYYMMDD-NN]
| Field | Value |
|---------------|-----------------------------|
| Project | [PROJECT] |
| Requestor | [REQUESTOR] |
| Date | [YYYY-MM-DD] |
| Change ID | [CHG-YYYYMMDD-NN] |
| Risk Level | Low / Medium / High / Blocker |
| Window | [YYYY-MM-DD HH:MM–HH:MM UTC]|
## Summary
One sentence: what is changing and why.
## Scope
- In scope:
- Out of scope:
## Dependencies
- Systems affected:
- Teams notified:
## Validation
- Test command / evidence:
- Success criteria:
## Rollback
1.
2.
3. Trigger: [metric or time]
## Approval
- [ ] Technical Lead
- [ ] Change Manager
- [ ] Security (if data/auth touched)
4. Field Definitions
| Field | Rules |
|---|---|
| Risk Level | Must be exactly one of Low, Medium, High, Blocker. No free text. |
| Window | Must include UTC offset. Format: YYYY-MM-DD HH:MM–HH:MM UTC. |
| Summary | ≤ 120 characters. No line breaks. |
| Scope | Minimum one bullet each for in-scope and out-of-scope. |
| Validation | Must name a concrete command, log path, or metric. No adjectives. |
| Rollback | Minimum three ordered steps. |
| Approval | Minimum two roles. Security required iff scope touches auth/data. |
5. Evidence Requirement
Every field marked must is a testable constraint. The companion CHECK script
verifies presence, format, and minimum count. Empty placeholders ([PROJECT],
[YYYY-MM-DD], [...]) fail the check.
6. Example (Reference)
# Change Request — CHG-20261102-01
| Field | Value |
|---------------|-----------------------------|
| Project | Timmy Bowel-Health Journal |
| Requestor | quill |
| Date | 2026-11-02 |
| Change ID | CHG-20261102-01 |
| Risk Level | Medium |
| Window | 2026-11-03 02:00–03:00 UTC |
## Summary
Add daily summary aggregation cron job for the Timmy journal pipeline.
## Scope
- In scope: cron job, aggregation script, daily summary markdown output
- Out of scope: UI changes, data migration, alert routing
## Dependencies
- Systems affected: cron daemon, journal storage bucket
- Teams notified: #timmy-ops
## Validation
- Command: `python3 /opt/timmy/aggregate.py --dry-run`
- Success criteria: exit 0, summary file present at `/var/log/timmy/summary.md`
## Rollback
1. Disable cron entry `timmy-summary`
2. Remove generated summary directory `/var/log/timmy/summary/`
3. Restore prior config from `/opt/timmy/config.yaml.bak`
Trigger: aggregation exit code nonzero or summary file missing after 10 minutes
## Approval
- [x] Technical Lead
- [x] Change Manager
- [ ] Security (data touched: PHI not in scope)
7. Changelog
| Version | Date | Author | Change |
|---|---|---|---|
| v1.0 | 2026-11-02 | quill | Initial structured draft with schema |